From 7a0c7de021aebbef3ec137f2f94ff73ab41014d7 Mon Sep 17 00:00:00 2001 From: 王旭 <1377869194@qq.com> Date: 星期三, 10 五月 2023 14:44:47 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.20.39:8989/r/LFWEB_NEW --- src/views/datamanage/uploadmanage.vue | 10 src/views/exportMap/index.vue | 62 ++++++ src/views/Synthesis/LeftMenu.vue | 6 src/components/mapsdk.vue | 189 ++++++++++++++++++++ src/views/datamanage/layerManagement.vue | 68 +++++-- src/views/PackageTwo/WareInspection.vue | 41 +++- src/views/Tools/maplayer.vue | 7 src/api/api.js | 12 + src/assets/lang/zh.js | 12 + src/views/Tools/LayerTree.vue | 69 +++++++ src/views/datamanage/dictionaryManage.vue | 6 src/components/preview_map.vue | 20 ++ src/assets/lang/en.js | 17 + src/components/navMenu.vue | 4 14 files changed, 462 insertions(+), 61 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 65fd19c..8219aa6 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -547,6 +547,16 @@ export function inquiry_SelectTabs(params) { return request.get('/inquiry/selectTabs', { params: params }); } + +//缁煎悎灞曠ず=>鏌ヨ=>涓嬭浇鐡︾墖 +export function inquiry_downloadTiles(params) { + return service.post('/inquiry/downloadTiles', params); +} + + + + + //杩愮淮绠$悊=>鐢ㄦ埛绠$悊=>鑾峰彇鍒楄〃 export function userSelectByPageAndCount(params) { return request.get('/user/selectByPageAndCount', { params: params }); @@ -618,8 +628,6 @@ export function dataUpload_selectPageAndCountByPid(params) { return request.get('/dataUpload/selectPageAndCountByPid', { params: params }); } - - //鏁版嵁涓婁紶=鍒犻櫎鏁版嵁 diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index efb5511..3a85e64 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -76,10 +76,10 @@ dataStatistics: 'data Statistics', layerManage: 'Layer Management', layerObj: { - menuName: 'Menu name', - menuType: 'Menu type', - layerName: 'Layer name', - layerType: 'Layer type', + menuName: 'menu name', + menuType: 'Menu Type', + menuName: 'Layer Name', + menuType: 'Layer Type', serviceName: 'service name', serviceType: 'service type', serviceAddress: 'Service Address', @@ -88,6 +88,15 @@ dataType: 'data type', istrue: 'true', isfalse: 'false', + enTableName: 'English Table Name', + prompt1: 'Please enter a layer name', + prompt2: 'Please select a layer type', + prompt3: 'Please select a service type', + prompt4: 'Please enter the service address', + + prompt6: 'Please enter the name of the English table (eg: m_geocontrollpoint)', + prompt7: 'Please enter note information', + prompt8: 'Please select a data type', }, dataStaticObj: { diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index a3126e4..ee89852 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -77,8 +77,8 @@ layerObj: { menuName: '鑿滃崟鍚嶇О', menuType: '鑿滃崟绫诲瀷', - layerName: '鍥惧眰鍚嶇О', - layerType: '鍥惧眰绫诲瀷', + menuName: '鍥惧眰鍚嶇О', + menuType: '鍥惧眰绫诲瀷', serviceName: '鏈嶅姟鍚嶇О', serviceType: '鏈嶅姟绫诲瀷', serviceAddress: '鏈嶅姟鍦板潃', @@ -87,7 +87,15 @@ dataType: '鏁版嵁绫诲瀷', istrue: '鏄�', isfalse: '鍚�', + enTableName: '鑻辨枃琛ㄥ悕绉�', + prompt1: '璇疯緭鍏ュ浘灞傚悕绉�', + prompt2: '璇烽�夋嫨鍥惧眰绫诲瀷', + prompt3: '璇烽�夋嫨鏈嶅姟绫诲瀷', + prompt4: '璇疯緭鍏ユ湇鍔″湴鍧�', + prompt6: '璇疯緭鍏ヨ嫳鏂囪〃鍚嶇О(濡�:m_geocontrolpoint)', + prompt7: '璇疯緭鍏ュ娉ㄤ俊鎭�', + prompt8: '璇烽�夋嫨鏁版嵁绫诲瀷', }, dataStaticObj: { type1: '鏈嶅姟鍚嶇О', diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 7723b34..c8a7364 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -1,5 +1,10 @@ <template> - <div class="mapBox"> + <div + class="mapBox" + v-loading="loading" + :element-loading-text="loadingText" + element-loading-background="rgba(0, 0, 0, 0.8)" + > <div id="mapdiv"> <div class="menu_Top box_divm" @@ -646,6 +651,72 @@ </div> </el-dialog> + <el-dialog + title="鐡︾墖涓嬭浇" + :append-to-body="false" + :visible.sync="downTitleFlag" + :close-on-click-modal="false" + :show-close="false" + width="30%" + > + <el-form + :model="ruleForm" + status-icon + :rules="rules" + ref="ruleForm" + label-width="100px" + class="demo-ruleForm" + > + <el-form-item + label="鍚嶇О" + prop="title" + > + <el-input + v-model="ruleForm.title" + size="small" + placeholder="璇疯緭鍏ユ暟鎹悕绉�..." + ></el-input> + </el-form-item> + <el-form-item + label="瀵嗙爜" + prop="pass" + > + <el-input + show-password + type="password" + v-model="ruleForm.pass" + autocomplete="off" + size="small" + placeholder="璇疯緭鍏ュ瘑鐮�..." + ></el-input> + </el-form-item> + <el-form-item + label="纭瀵嗙爜" + prop="checkPass" + > + <el-input + show-password + type="password" + v-model="ruleForm.checkPass" + autocomplete="off" + size="small" + placeholder="纭瀵嗙爜..." + ></el-input> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + size="small" + @click='submitTitleDown("ruleForm")' + >鎻愪氦</el-button> + <el-button + size="small" + @click='cannelTitleDown("ruleForm")' + >鍙栨秷</el-button> + </el-form-item> + </el-form> + </el-dialog> <!-- <div--> <!-- @click="changeMenulayer"--> <!-- class="center CenDiv"--> @@ -659,6 +730,11 @@ </div> <model-property ref='modelProperty'></model-property> + <iframe + id="downFrame" + src="" + style="display: none; border: 0; padding: 0; height: 0; width: 0" + ></iframe> </div> </template> @@ -673,7 +749,8 @@ comprehensive_selectRoute, dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains, dataQuery_selectByPage, - comprehensive_selectPubById, comprehensive_selectModelByGuid + comprehensive_selectPubById, comprehensive_selectModelByGuid, decr, + encr, inquiry_downloadTiles, sign_getPublicKey } from '../api/api' import { getToken } from '@/utils/auth' @@ -701,6 +778,35 @@ } } } + callback(); + } + }; + var checkAge = (rule, value, callback) => { + if (!value) { + return callback(new Error('鏁版嵁鍚嶇О涓嶈兘涓虹┖')); + } + callback(); + + }; + var validatePass = (rule, value, callback) => { + if (value === '') { + callback(new Error('璇疯緭鍏ュ瘑鐮�')); + } else { + 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浣�")) + } + callback(); + } + }; + var validatePass2 = (rule, value, callback) => { + if (value === '') { + callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�')); + } else if (value !== this.ruleForm.pass) { + callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); + } else { callback(); } }; @@ -733,6 +839,15 @@ message: "鍧愭爣鐐圭粡绾害閿欒,鍧愭爣搴斿湪[116.xxx, 39.yyy]鑼冨洿", }, ], + pass: [ + { validator: validatePass, trigger: 'blur' } + ], + checkPass: [ + { validator: validatePass2, trigger: 'blur' } + ], + title: [ + { validator: checkAge, trigger: 'blur' } + ] }, bufFrom: { val: 50, @@ -786,6 +901,15 @@ valueX: 0, valueY: 0, terrainflag: false, + downTitleFlag: false, + downTitleData: null, + ruleForm: { + pass: '', + checkPass: '', + title: '' + }, + loadingText: '', + loading: false, }; }, mounted() { @@ -812,13 +936,72 @@ }); //妯″瀷鎹曟崏 this.catchmodel() - + this.$bus.$on("titleDown", res => { + this.setDownLoadTitle(res); + }) window.localStorage.setItem('slider_x', this.valueX); window.localStorage.setItem('slider_y', this.valueY); window.localStorage.setItem('slider_z', this.valueZ); }, methods: { + setDownLoadTitle(res) { + this.signGetPublicKey() + this.downTitleFlag = true; + this.downTitleData = res; + }, + async signGetPublicKey() { + const res = await sign_getPublicKey() + if (res && res.code == 200) { + window.encrypt = new JSEncrypt() + encrypt.setPublicKey(res.result) + } + }, + submitTitleDown(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + + this.downTitleData.title = this.ruleForm.title + // this.downTitleData.pwd = encr(this.ruleForm.pass) + this.downTitleData.pwd = encrypt.encrypt(this.ruleForm.pass) + this.getDownLoadTile(this.downTitleData); + this.cannelTitleDown(); + } else { + + console.log('error submit!!'); + return false; + } + }); + }, + async getDownLoadTile(res) { + this.loading = true; + this.loadingText = "鏁版嵁涓嬭浇涓�,璇风◢绛�..." + $.ajax({ + url: BASE_URL + "/inquiry/downloadTiles?token=" + getToken(), + type: "POST", + data: JSON.stringify(res), + dataType: 'json', // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: "application/json", // "application/x-www-form-urlencoded" + success: (data) => { + var token = getToken() + var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + res.pwd; + $("#downFrame").attr("src", url).click(); + this.loading = false; + this.loadingText = "" + }, + error: function (e) { + } + }); + }, + cannelTitleDown(formName) { + this.downTitleFlag = false; + // this.$refs[formName].resetFields(); + this.ruleForm = { + pass: '', + checkPass: '', + title: '' + } + }, catchmodel() { var that = this; window.pickedFeature; diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 7de5719..ee0583c 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -152,9 +152,13 @@ document.body.addEventListener('click', () => { this.showFlag = null; }, false); + }, computed: {}, methods: { + closeSecondMenu() { + this.showFlag = null + }, themeChange() { this.$store.state.themeflag = !this.$store.state.themeflag; if (this.$store.state.themeflag == true) { diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index 34eaa1d..c2a5c09 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -917,7 +917,23 @@ if (this.$store.state.previewLayer) { var res = this.$store.state.previewLayer; var type = res.type; - if (res.url.indexOf('.png') != -1) { + if (type == 'DEM') { + window.terrainLayer.deleteObject(); + window.terrainLayer = null; + window.terrainLayer = new Cesium.CesiumTerrainProvider({ + url: res.url + }); + Viewer.terrainProvider = window.terrainLayer + Viewer.camera.flyTo({ + destination: Cesium.Cartesian3.fromDegrees(113.229279, 31.215949, 1000), + orientation: { + heading: 6.08434611923462, + pitch: Cesium.Math.toRadians(-45.0), + roll: 0.0 + } + }); + + } else if (res.url.indexOf('.png') != -1) { var wkt = this.$wkt.parse(res.geom); var height = this.getHeight(wkt.coordinates[2]) window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( @@ -929,7 +945,7 @@ Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), }); - } else if (res.url.indexOf('.json') != -1) { + } else if (type == '3dml') { if (this.app.tileset) viewer.scene.primitives.remove(this.app.tileset); this.app.tileset = this.createTileset(res); var that = this; diff --git a/src/views/PackageTwo/WareInspection.vue b/src/views/PackageTwo/WareInspection.vue index 32d3b85..c716574 100644 --- a/src/views/PackageTwo/WareInspection.vue +++ b/src/views/PackageTwo/WareInspection.vue @@ -1,8 +1,11 @@ <!--鍏ュ簱璐ㄦ---> <template> - <div class="wareBox"> + <div + class="wareBox" + id="wareBox" + > <iframe - id="ifream" + id="iframeContainer" style="border:none" width="100%" height="100%" @@ -10,7 +13,8 @@ ></iframe> </div> </template> - + + <script> import { getToken } from "@/utils/auth"; export default { @@ -38,15 +42,18 @@ } }, methods: { + closeNaveMenu() { + this.$bus.$emit('closeNaveMenu', true) + }, langreash(res) { - this.$router.push('/QualityInspection') + this.$router.push('/QualityInspection') }, refreash(res) { - this.$router.push('/QualityInspection') - + this.$router.push('/QualityInspection') + }, showChangeIfream(res) { // @@ -89,9 +96,9 @@ setLiClick(res, index) { var timer = setTimeout(function () { if (res.indexOf('http') != -1) { - this.$store.reporturl = res; - // sessionStorage.setItem('iframehttpurl', this.$store.reporturl) - this.$router.push('/QualityInspection'); + this.$store.reporturl = res; + // sessionStorage.setItem('iframehttpurl', this.$store.reporturl) + this.$router.push('/QualityInspection'); // if (location.href.indexOf('/WareInspection') == -1) { // this.$store.reporturl = res.url; // this.$router.push('/WareInspection'); @@ -114,10 +121,20 @@ }, }, mounted() { - // console.log(sessionStorage.getItem('iframehttpurl')) - // + + // var iframe = document.getElementById('iframeContainer'); + // iframe.onload = function (res) { + + // } + + // $('#iframeContainer').click = function () { + // console.log('鐐瑰嚮浜唅frame椤甸潰') + // // if (window.sessionStorage.getItem('xxxLastTime') !== null) { + // // window.sessionStorage.setItem('xxxLastTime', new Date().getTime()) + // // } + // }; if (sessionStorage.getItem('routerName') === '/WareInspection') { - + this.showChangeIfream(sessionStorage.getItem('iframehttpurl')) this.setLiClick(sessionStorage.getItem('iframehttpurl')) diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index a593fbf..716a4f1 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -441,6 +441,12 @@ name: "鍦颁笅妯″紡", css: "twoMenu_imge29", }, + { + id: "b10", + label: "synthesis.undergroundMode", + name: "鐡︾墖涓嬭浇", + css: "twoMenu_imge29", + }, ], [ { diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index 3b587fb..cd3b9aa 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -126,6 +126,14 @@ > <i class="el-icon-tickets"></i> 閽诲瓟鏌辩姸鍥� </div> + <div + class="edit" + v-show="shwoTitle" + @click="tileDownload()" + > + <i class="el-icon-download"></i> 鐡︾墖涓嬭浇 + + </div> <!-- <div class="edit" v-show="showModelAttach" @@ -220,6 +228,7 @@ perms_selectLayers, inquiry_selectDomains, comprehensive_selectPubById, project_selectDirAll, project_selectByDirid, dataQuerySelectWktById } from "../../api/api.js"; +import { conditions } from '../Archive/Archive.js'; export default { name: "tree", components: { queryinfo }, @@ -271,11 +280,47 @@ mptLayer: [], optionts: [], proValue: null, - setCheeckedLayer: [] + setCheeckedLayer: [], + shwoTitle: false, }; }, methods: { + //鐡︾墖涓嬭浇 + tileDownload() { + var that = this; + this.menuVisible = false + sgworld.Creator.createSimpleGraphic( + "rectangle", + {}, + function (entity) { + that.getTileRectangle(entity); + sgworld.Creator.SimpleGraphic.clear() + } + ); + }, + getTileRectangle(res) { + var value = res.rectangle.coordinates.getValue(); + var val = { + pubid: this.currentData.pubid, + pwd: "", + title: "", + xmax: Cesium.Math.toDegrees( + value.east + ), + xmin: Cesium.Math.toDegrees( + value.west + ), + ymax: Cesium.Math.toDegrees( + value.north + ), + ymin: Cesium.Math.toDegrees( + value.south + ) + } + this.$bus.$emit("titleDown", val) + + }, //杞瓟鏌辩姸鍥� async histogram() { this.menuVisible = false @@ -325,10 +370,14 @@ this.currentNode = Node; this.$store.state.propertiesName = this.currentData; - if (this.currentData.serveType == "Tileset") { + this.showModelAttach = false; + this.shwoTitle = false; + + + if (this.currentData.serveType == 'TMS') { + this.shwoTitle = true + } else if (this.currentData.serveType == "Tileset") { this.showModelAttach = true; - } else { - this.showModelAttach = false; } if (this.currentData.enName == "s_explorationpoint") { this.shwoHistogram = true; @@ -1081,7 +1130,15 @@ let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 - let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + let branchArr = cloneData.filter((child) => father.id == child.pid); + 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锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� @@ -1391,7 +1448,9 @@ if (this.$store.state.showAllLayers == true) { this.layersStart(); this.$store.state.showAllLayers = false; + } else { + this.treeData = this.$store.state.treeData; this.$refs.tree.setCheckedKeys(this.$store.state.checkedKeys); } diff --git a/src/views/Tools/maplayer.vue b/src/views/Tools/maplayer.vue index 4afa171..1da7dd5 100644 --- a/src/views/Tools/maplayer.vue +++ b/src/views/Tools/maplayer.vue @@ -5,14 +5,13 @@ v-for="(data, index) in PopupData" :key="data.id" title="鍥惧眰绠$悊" - :maxHeight="data.maxHeight || '400px'" + :maxHeight="data.maxHeight || '700px'" @close="close(data.id)" :left="data.left || left" - :top="data.top || top + index * 42 + 'px'" + :top="data.top || top + index * 30 + 'px'" > - <div> + <div id="eagleMapContainer"> <div - id="eagleMapContainer" style="width:300px;height:400px;" v-drag @mousedown="dragEagle" diff --git a/src/views/datamanage/dictionaryManage.vue b/src/views/datamanage/dictionaryManage.vue index fd185b6..3dc8e52 100644 --- a/src/views/datamanage/dictionaryManage.vue +++ b/src/views/datamanage/dictionaryManage.vue @@ -472,7 +472,8 @@ v-model="insertform.tab" autocomplete="off" style="width:85%" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetableName')" + :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetableName')" + disabled ></el-input> </el-form-item> <el-form-item @@ -720,7 +721,8 @@ //淇敼璇︽儏寮规 handleEdit(index, row) { this.dialogFormVisible = true; - this.upform = row; + var val = JSON.parse(JSON.stringify(row)) + this.upform = val; }, //鍒犻櫎鍒楄〃 DelFormData() { diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue index de9a168..9caeb2c 100644 --- a/src/views/datamanage/layerManagement.vue +++ b/src/views/datamanage/layerManagement.vue @@ -12,8 +12,11 @@ style="border: 1px solid #dcdfe6;" > <div> - <el-input v-model="filterText" suffix-icon="el-icon-search" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')"> - </el-input> + <el-input + v-model="filterText" + :placeholder="$t('dataManage.layerObj.prompt1')" + suffix-icon="el-icon-search" + ></el-input> <el-tree ref="tree" @@ -105,18 +108,20 @@ <!-- 鑿滃崟鍚嶇О --> <el-form-item :label="$t('dataManage.layerObj.layerName')"> <el-input + :placeholder="$t('dataManage.layerObj.prompt1')" style="width: 60%;" v-model="formInline.cnName" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')" + ></el-input> </el-form-item> <!-- 鑿滃崟绫诲瀷 --> <el-form-item :label="$t('dataManage.layerObj.layerType')"> <el-select + :placeholder="$t('dataManage.layerObj.prompt2')" clearable style="width: 60%;" v-model="formInline.type" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerType')" + > <el-option label="鐩綍" @@ -137,7 +142,7 @@ clearable style="width: 60%;" v-model="formInline.serveType" - + :placeholder="$t('dataManage.layerObj.prompt3')" > <el-option v-for="item in serveType" @@ -154,8 +159,20 @@ :label="$t('dataManage.layerObj.serviceAddress')" > <el-input + :placeholder="$t('dataManage.layerObj.prompt4')" style="width: 60%;" v-model="formInline.url" + ></el-input> + </el-form-item> + <!-- 鑻辨枃琛ㄥ悕 --> + <el-form-item + v-show="formInline.type == 2 && formInline.serveType =='WMS'" + :label="$t('dataManage.layerObj.enTableName')" + > + <el-input + :placeholder="$t('dataManage.layerObj.prompt6')" + style="width: 60%;" + v-model="formInline.enName" ></el-input> </el-form-item> <!-- 鏁版嵁绫诲瀷 --> @@ -164,7 +181,7 @@ clearable style="width: 60%;" v-model="formInline.dataType" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.selectDataType')" + :placeholder="$t('dataManage.layerObj.prompt8')" > <el-option v-for="item in dataType" @@ -208,7 +225,7 @@ <el-input style="width: 60%;" v-model="formInline.bak" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueRemarks')" + :placeholder="$t('dataManage.layerObj.prompt7')" ></el-input> </el-form-item> <el-form-item v-show="menuStatus.update"> @@ -243,7 +260,7 @@ <el-input style="width: 80%;" v-model="insertData.cnName" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')" + :placeholder="$t('dataManage.layerObj.prompt1')" ></el-input> </el-form-item> <!-- 鑿滃崟绫诲瀷 --> @@ -252,7 +269,7 @@ clearable style="width: 80%;" v-model="insertData.type" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerType')" + :placeholder="$t('dataManage.layerObj.prompt2')" > <el-option label="鐩綍" @@ -273,7 +290,7 @@ clearable style="width: 80%;" v-model="insertData.serveType" - placeholder=" " + :placeholder="$t('dataManage.layerObj.prompt3')" > <el-option v-for="item in serveType" @@ -290,8 +307,20 @@ :label="$t('dataManage.layerObj.serviceAddress')" > <el-input + :placeholder="$t('dataManage.layerObj.prompt4')" style="width: 80%;" v-model="insertData.url" + ></el-input> + </el-form-item> + <!-- 鑻辨枃琛ㄥ悕 --> + <el-form-item + v-show="insertData.type == 2 && insertData.serveType =='WMS'" + :label="$t('dataManage.layerObj.enTableName')" + > + <el-input + :placeholder="$t('dataManage.layerObj.prompt6')" + style="width: 80%;" + v-model="insertData.enName" ></el-input> </el-form-item> <!-- 鏁版嵁绫诲瀷 --> @@ -300,7 +329,7 @@ clearable style="width: 80%;" v-model="insertData.dataType" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.selectDataType')" + :placeholder="$t('dataManage.layerObj.prompt8')" > <el-option v-for="item in dataType" @@ -342,9 +371,10 @@ <!-- 鎻忚堪 --> <el-form-item :label="$t('common.bak')"> <el-input + :placeholder="$t('dataManage.layerObj.prompt7')" style="width: 80%;" v-model="insertData.bak" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueRemarks')" + ></el-input> </el-form-item> <el-form-item v-show="menuStatus.update"> @@ -639,13 +669,13 @@ var val = JSON.parse(JSON.stringify(res)) var data = this.$refs.tree.getNode(val.id).data; - - this.backUpData = JSON.stringify(data) - this.currentData = JSON.stringify(data) - this.formInline = data; - this.formInline.type = data.type.toString(); - this.formInline.isShow = data.isShow.toString(); - this.formInline.isProject = data.isProject.toString(); + var result = JSON.parse(JSON.stringify(data)) + this.backUpData = JSON.stringify(result) + this.currentData = JSON.stringify(result) + this.formInline = result; + this.formInline.type = result.type.toString(); + this.formInline.isShow = result.isShow.toString(); + this.formInline.isProject = result.isProject.toString(); }, //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢 handleNodeClick(data, node) { diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index f31e72a..a6d3a59 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -460,7 +460,10 @@ v-model="insertLayer.number" ></el-input> </el-form-item> - <el-form-item :label="$t('dataManage.vmobj.labe14')"> + <el-form-item + :label="$t('dataManage.vmobj.labe14')" + v-show="formInline.type =='DOM'" + > <el-select style="width:100%" v-model="insertLayer.noData" @@ -600,6 +603,9 @@ value: 'DOM', label: '褰卞儚鏁版嵁(.tif, .img)' }, { + value: 'DEM', + label: '楂樼▼鏁版嵁(.tif)' + }, { value: 'MPT', label: '鍦烘櫙鏁版嵁(.mpt)' }, { @@ -728,7 +734,7 @@ this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁") return } - if (this.formInline.type == "DOM") { + if (this.formInline.type == "DOM" || this.formInline.type == "DEM") { this.insertLayer.name = this.formInline.dirName; this.insertLayer.number = this.multipleSelection.length this.insertLayer.noData = '0'; diff --git a/src/views/exportMap/index.vue b/src/views/exportMap/index.vue index ed7d7bc..6af9cac 100644 --- a/src/views/exportMap/index.vue +++ b/src/views/exportMap/index.vue @@ -36,7 +36,7 @@ <el-form-item> <el-link - @click="setMapAddDraw()" + @click="drawRegularPolygon()" :underline="false" ><i class="el-icon-edit-outline"></i>缁樺埗</el-link> </el-form-item> @@ -75,13 +75,13 @@ :underline="false" >鐭㈤噺</el-link> </el-form-item> - <el-form-item label="鏃嬭浆瑙掑害"> + <!-- <el-form-item label="鏃嬭浆瑙掑害"> <el-input v-model="formInline.role" placeholder="璇疯緭鍏ュ唴瀹�" @change="setMapRole" ></el-input> - </el-form-item> + </el-form-item> --> </el-form> </div> <div @@ -131,6 +131,12 @@ > <el-form-item label="鍑哄浘鍚嶇О"> <el-input v-model="form.name"></el-input> + </el-form-item> + <el-form-item label="鏃嬭浆瑙掑害"> + <el-input + v-model="formInline.role" + placeholder="璇疯緭鍏ユ棆杞搴�(0-360)" + ></el-input> </el-form-item> <el-form-item> <div style="padding: 1%; "> @@ -279,6 +285,8 @@ import TileLayer from "ol/layer/Tile" import { transform } from "ol/proj" import Draw, { createRegularPolygon, createBox } from "ol/interaction/Draw.js" + + import { OSM, Vector as VectorSource } from "ol/source" import { Vector as VectorLayer } from "ol/layer" import LayerVector from "ol/layer/Vector" @@ -500,7 +508,7 @@ resolution: "20绫�", date: this.getYMD(), layers: res.toString(), - rotation: 0, + rotation: this.form.role, xmin: this.layerExtent.xmin, ymin: this.layerExtent.ymin, xmax: this.layerExtent.xmax, @@ -548,7 +556,53 @@ } this.layerExtent = null }, + stopDraw() { + // if (this.draw !== null) { + // this.map.removeInteraction(this.draw) + // } + if (this.draw != null) { + mapView.removeLayer(this.vector) + } + this.layerExtent = null + }, + drawRegularPolygon() { + this.stopDraw(); + + this.source = new VectorSource({ wrapX: false }) + + this.vector = new VectorLayer({ + source: this.source, + }) + mapView.addLayer(this.vector) + + let type = 'Circle' + let geometryFunction2 = createRegularPolygon(4) + this.draw = new Draw({ + source: this.source, + type: type, + geometryFunction: geometryFunction2 + }) + mapView.addInteraction(this.draw) + this.draw.on("drawend", e => { + let feature = e.feature + let geom = feature.getGeometry() + var extent = geom.getExtent() + var a1 = transform([extent[0], extent[1]], "EPSG:3857", "EPSG:4326") + var a2 = transform([extent[2], extent[3]], "EPSG:3857", "EPSG:4326") + + this.layerExtent = { + xmin: a1[0], + ymin: a1[1], + xmax: a2[0], + ymax: a2[1], + } + + mapView.removeInteraction(this.draw) + }) + + }, + //缁樺埗鍥惧舰 setMapAddDraw() { this.setMapRemoveDraw() -- Gitblit v1.9.3