From fb98e10c76d7e6c2d01f3a9f8c1b727f905cbdca Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 05 二月 2024 15:30:50 +0800 Subject: [PATCH] 代码更新 --- src/views/Synthesis/LeftMenu.vue | 469 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 452 insertions(+), 17 deletions(-) diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index ce5f276..a19ffd7 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -192,6 +192,156 @@ </div> </el-dialog> + <el-dialog + title="鏁版嵁鐢宠" + :visible.sync="dialogInsertVisible" + width="30%" + top="35vh" + :modal="false" + :before-close="handleInsertClose" + > + <div style="width: 100%; max-height: 450px; overflow-y: auto"> + <el-form + ref="form" + :model="ruleForm" + label-width="100px" + > + <el-form-item label="瀹℃牳鍗曚綅"> + <div> + <ul> + <li v-for="item in ruleForm.depid"> + {{ item.name }} + </li> + </ul> + </div> + </el-form-item> + <el-form-item label="琛ㄥ悕"> + <div> + <ul> + <li v-for="item in ruleForm.tabs"> + {{ item.tabDesc }} + </li> + </ul> + </div> + </el-form-item> + <el-form-item label="鏉′欢"> + <el-input + :title="ruleForm.wkt" + v-model="ruleForm.wkt" + disabled + ></el-input> + </el-form-item> + <el-form-item label="鎻忚堪"> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="ruleForm.descr" + maxlength="50" + show-word-limit + > + </el-input> + </el-form-item> + <el-form-item> + <el-button + class="primary" + size="small" + @click="getInsertDownz()" + >{{ + $t("common.confirm") + }}</el-button> + <el-button + type="info" + size="small" + @click="closeInsertDown" + >{{ + $t("common.cancel") + }}</el-button> + </el-form-item> + </el-form> + </div> + </el-dialog> + <el-dialog + :title="$t('common.passworld')" + :visible.sync="dialogVisible1" + width="30%" + top="35vh" + :modal="false" + :before-close="handleCloseDown1" + > + <el-form + :model="codeForm" + :rules="rules" + ref="codeForm" + label-width="100px" + class="codeForm" + > + <el-form-item + :label="$t('common.passworld')" + prop="password" + > + <el-input + type="password" + v-model="codeForm.password" + show-password + ></el-input> + </el-form-item> + <el-form-item + :label="$t('common.SPassword')" + prop="repassword" + > + <el-input + type="password" + v-model="codeForm.repassword" + show-password + ></el-input> + </el-form-item> + <el-form-item> + <el-button + class="primary" + size="small" + @click="downloadx('codeForm')" + >{{ $t("common.confirm") }}</el-button> + <el-button + type="info" + size="small" + @click="closeDownx('codeForm')" + >{{ + $t("common.cancel") + }}</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog + title="鑼冨洿" + :visible.sync="dialogExtentVisible" + width="30%" + :before-close="handleExtentClose" + :modal="false" + :lock-scroll="false" + :close-on-click-modal="false" + > + + <el-row :gutter="20"> + <el-col :span="16"> + <el-input v-model="setExtent"></el-input> + </el-col> + <el-col :span="6"> + <div> + 鍗曚綅锛氾紙m锛� + </div> + </el-col> + </el-row> + <span + slot="footer" + class="dialog-footer" + > + <el-button @click="handleExtentClose">鍙� 娑�</el-button> + <el-button + @click="handleExtentinsert" + type="primary" + >纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -237,7 +387,38 @@ export default { components: { mapinfo, maplayer, queryinfo, terrainDig, modelAttach, undergroundModel, setPellucidity }, data() { + var repasswordValidator = (rule, value, callback) => { + if (value === '') { + callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�')); + } else if (value !== this.codeForm.password) { + callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); + } else { + callback(); + } + }; + var passwordValidator = (rule, value, callback) => { + var passwordreg = + /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; + if (!passwordreg.test(value)) { + callback( + new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�') + ); + } else { + callback(); + } + }; return { + rules: { + password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], + repassword: [ + { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' }, + { validator: repasswordValidator, trigger: 'blur' }, + ], + }, + codeForm: { + password: '', + repassword: '', + }, showTwoMenuFlag: false, setListTwoMenu: [], setListTwoMenuAll: [ @@ -260,6 +441,12 @@ name: "鍦颁笅妯″紡", css: "twoMenu_imge29", }, + // { + // id: "b10", + // label: "synthesis.undergroundMode", + // name: "鐡︾墖涓嬭浇", + // css: "twoMenu_imge29", + // }, ], [ { @@ -641,6 +828,18 @@ }], modelClip: false, showPickUp: false, + dialogInsertVisible: false, + dialogVisible1: false, + ruleForm: { + depname: [], + tabs: [], + pwd: null, + repwd: null, + wkt: null, + descr: null, + }, + dialogExtentVisible: false, + setExtent: 10, }; }, methods: { @@ -1530,7 +1729,7 @@ new Cesium.Cesium3DTileset({ name: res.cnName, url: modelUrl + "/tileset/m/SN/tileset.json", - maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16 + maximumScreenSpaceError: modelUrl.indexOf("/pnts/") > -1 ? 16 : 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16 maximumMemoryUsage: 768, // 鏈�澶у唴瀛橈細512 dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false @@ -1597,6 +1796,7 @@ new Cesium.UrlTemplateImageryProvider({ url: localUrl, maximumLevel: 22, + enablePickFeatures: false }) ); Viewer.imageryLayers.lowerToBottom(window.contRastLayer);//灏嗗浘灞傜Щ鍒版渶搴曞眰 @@ -1835,10 +2035,10 @@ // } // } window.model.clippingPlanes = clippingPlanes; - if (window.modelHeight && window.modelHeight != 0){ + if (window.modelHeight && window.modelHeight != 0) { // console.log("window.modelHeight---",window.modelHeight) window.model.clippingPlanes.modelMatrix = Cesium.Matrix4.fromTranslation( - new Cesium.Cartesian3(0.0, 0.0, window.modelHeight) + new Cesium.Cartesian3(0.0, 0.0, window.modelHeight) ); } // 缁戝畾涓婄Щ鍔ㄤ簨浠� @@ -2036,11 +2236,16 @@ } }, addAnalysisFlood() { + var url = window.location.href; + var testurl = ""; + if (url.indexOf("web") != -1) { + testurl = "/web"; + } var method = { pointSelect: true, spood: 20, GroupID: 0, - url: "/SmartEarthSDK/Workers/image/33.gif", + url: testurl + "/SmartEarthSDK/Workers/image/33.gif", }; window.AnalysisFlood = sgworld.Command.execute( 2, @@ -2241,6 +2446,8 @@ var that = this; var checkKey = []; let checkedLayers = []; + this.$store.state.isProjectLayer = []; + var val = std.filter((str) => { if (str.type == 1) { return str; @@ -2256,12 +2463,17 @@ if (str.url != null && str.type == 2 && str.isShow == 1) { return str; } + + }) + var layer = std.filter((str) => { + if (str.isProject == 1 && str.type == 2) { + this.$store.state.isProjectLayer.push(str); + } }) this.setAddLayers(value); - var res = this.setTreeData(val); - + this.$store.state.pigCode = null; //瀛樺偍閫変腑鍥惧眰 // sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers)); @@ -2272,7 +2484,7 @@ // } // }); // } - + this.$store.state.oldTree = val; this.$store.state.treeData = res; this.$store.state.checkedKeys = checkKey; @@ -2282,6 +2494,12 @@ return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + if (branchArr.length > 0) { + branchArr.sort(function (a, b) { + + return a.orderNum - b.orderNum + }) + } branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� @@ -2299,9 +2517,77 @@ } } if (std[0].length != 0) { - this.setAddWmsLayer(std[0]) + if (this.$store.state.pigCode) { + + this.setPrjidWmsLayer(std[0]) + } else { + + this.setAddWmsLayer(std[0]) + } + } }, + setPrjidWmsLayer(res) { + var layer = []; + var sql = []; + var dirid = this.$store.state.pigCode + var that = this; + for (var i in res) { + layer.push(res[i].url) + + if (res[i].isProject == 1) { + var val = "dirid like '" + dirid + "%'" + sql.push(val) + } else { + sql.push("1 = 1") + } + } + layer = layer.reverse(); + sql = sql.reverse().join(";") + var getFeatureInfoFormat = new Cesium.GetFeatureInfoFormat("html", null, function (html) { + + that.getFeatureInfo(html) + }); + window.layerWMS = new Cesium.WebMapServiceImageryProvider({ + url: geoServerURl, + layers: layer.toString(), + getFeatureInfoParameters: { info_format: 'text/html' }, + enablePickFeatures: true, + getFeatureInfoFormats: [getFeatureInfoFormat], + parameters: { + transparent: true, + format: "image/png", + srs: "EPSG:4490", + styles: "", + cql_filter: sql + }, + tileWidth: 512, + tileHeight: 512, + }); + layerWMS.name = "Wms_Layer"; + + window.Viewer.imageryLayers.addImageryProvider(window.layerWMS); + var layer2 = new Image({ + name: "Wms_Layer", + source: new ImageWMS({ + crossOrigin: "anonymous", + url: geoServerURl, + params: { + FORMAT: "image/png", + VERSION: "1.1.1", + LAYERS: layer.toString(), + cql_filter: sql + }, + }), + }); + if (res.opacity) { + layer2.setOpacity(parseInt(res.opacity) / 100); + } + window.map.addLayer(layer2); + }, + + + setClearWmsLayer() { for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { var val_id = window.Viewer.imageryLayers._layers[i].imageryProvider.name; @@ -2320,6 +2606,7 @@ } }, setAddWmsLayer(res) { + var url = []; for (var i in res) { if (res[i].url) { @@ -2348,7 +2635,7 @@ tileHeight: 512, }); layerWMS.name = "Wms_Layer"; - window.Viewer.scene.imageryLayers.addImageryProvider(window.layerWMS); + window.Viewer.imageryLayers.addImageryProvider(window.layerWMS); var layer2 = new Image({ name: "Wms_Layer", source: new ImageWMS({ @@ -2373,12 +2660,19 @@ start = html.lastIndexOf(tab) + tab.length + 1; end = html.indexOf("</td>", start); var gid = html.substr(start, end - start); + if (gid && tab) { this.$store.state.pickoption = { gid: gid, name: tab.replaceAll("_", "") } - + if (tab == 'm_surface_deformation_data') { + this.$store.state.surfaceDeForm.flag = true; + this.$store.state.surfaceDeForm.gid = gid; + } else { + this.$store.state.surfaceDeForm.flag = false; + this.$store.state.surfaceDeForm.gid = null; + } const res = await dataQuery_selectTabByEntity({ name: this.$store.state.pickoption.name }) @@ -2405,6 +2699,7 @@ this.attributeData = [] var valadata = data.result var laydomain = data1.result + this.optionx = data1.result for (var i in valadata) { if (valadata[i].showtype == 1) { if ( @@ -2413,17 +2708,45 @@ ) { for (var j in laydomain) { if (laydomain[j].domName == valadata[i].domainNa) { - valadata[i].domainNa = laydomain[j].codeDesc + // valadata[i].domainNa = laydomain[j].codeDesc } } } - this.optionx.push(valadata[i]) + // this.optionx.push(valadata[i]) this.attributeData.push(valadata[i]) } } this.getTableData() } + }, + //鏍煎紡鍖栨椂闂� + format(shijianchuo) { + //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 + var time = new Date(shijianchuo); + var y = time.getFullYear(); + var m = time.getMonth() + 1; + var d = time.getDate(); + var h = time.getHours(); + var mm = time.getMinutes(); + var s = time.getSeconds(); + return ( + y + + '-' + + this.add0(m) + + '-' + + this.add0(d) + + ' ' + + h + + ':' + + mm + + ':' + + s + ); + }, + //鏍煎紡鍖栨椂闂� + add0(m) { + return m < 10 ? '0' + m : m; }, async getTableData() { this.tableData = [] @@ -2433,7 +2756,17 @@ } var valste = data.result - + valste.dirid = valste.dirName; + valste.depid = valste.depName; + valste.verid = valste.verName; + valste.createuser = valste.createName; + valste.updateuser = valste.updateName; + if (valste.createtime) { + valste.createtime = this.format(valste.createtime) + } + if (valste.updatetime) { + valste.updatetime = this.format(valste.updatetime) + } for (var j in this.optionx) { if ( @@ -2447,9 +2780,30 @@ var arr = {} for (var i = (this.attributeData.length - 1); i >= 0; i--) { var vla = this.attributeData[i] - arr[vla.alias] = valste[vla.field] + + + if (vla.domainNa) { + + var val = this.optionx.filter(res => { + if (res.domName == vla.domainNa && res.domCode == valste[vla.field]) { + return res; + } + }) + var vlue = null + if (val.length > 0) { + vlue = val[0].codeDesc + } else { + vlue = '' + } + arr[vla.alias] = vlue + } else { + arr[vla.alias] = valste[vla.field] + } } + arr['eventid'] = valste.eventid + + this.$store.state.propertiesInfo = arr; this.$store.state.propertiesFlag = '1' @@ -2731,8 +3085,6 @@ if (this.$store.state.showPopBoxFlag == true) { this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close(); - - this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("灞炴��", null, { @@ -2753,8 +3105,65 @@ setPellucidity() { this.$refs && this.$refs.setPellucidity && this.$refs.setPellucidity.open(); }, + setDialogInsertVisible(res) { + this.ruleForm = res; + this.dialogInsertVisible = true; + }, + downloadx() { + this.$bus.$emit("setInsertDown1", this.codeForm) + this.closeDownx(); + }, + handleCloseDown1() { + this.$confirm("纭鍏抽棴锛�") + .then(_ => { + this.closeDownx(); + }) + .catch(_ => { }) + }, + closeDownx() { + this.dialogVisible1 = false; + this.codeForm = { + password: '', + repassword: '', + } + }, + closeInsertDown() { + this.ruleForm = { + depname: [], + tabs: [], + pwd: null, + repwd: null, + wkt: null, + descr: null, + } + this.dialogInsertVisible = false + }, + handleInsertClose() { + this.$confirm("纭鍏抽棴锛�") + .then(_ => { + this.closeInsertDown() + }) + .catch(_ => { }) + }, + getInsertDownz() { + this.dialogInsertVisible = false; + // this.dialogVisible1 = true; + // + + this.$bus.$emit("setInsertApply1", this.ruleForm) + }, + handleExtentClose() { + this.dialogExtentVisible = false + this.setExtent = 10; + }, + handleExtentinsert() { + this.$bus.$emit("setExtentBUff", this.setExtent) + this.handleExtentClose(); + + } }, mounted() { + this.$bus.$off(); this.measureData = new Map(); this.colorAll = { point: Cesium.Color.fromCssColorString("#ff0000"), @@ -2776,12 +3185,38 @@ this.$bus.$on("showPellucidity", res => { this.setPellucidity(); }); + + + this.$store.state.isProjectLayer = []; + this.$store.state.pigCode = null; this.$store.state.showAllLayers = true; this.$store.state.layerMnage = false; this.$store.state.treeData = null; this.$store.state.checkedKeys = []; // this.setCoverage("a1"); - this.layersStart(); + // this.layersStart(); + + this.$bus.$on('addImageLayer', (res)=>{ + if(res){ + this.layersStart(); + } + }); + + this.$bus.$on("setDialogInsertVisible", (res) => { + if (res == true) { + this.dialogVisible1 = true; + } else { + this.setDialogInsertVisible(res); + } + }) + this.$bus.$on('showExtentLayer', res => { + this.dialogExtentVisible = res; + }); + + + + + }, watch: { Obj(newVal, oldVal) { -- Gitblit v1.9.3