From 1befcc5e506a191e8b157338ca9a93a15dcf7eb7 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期三, 22 三月 2023 18:04:37 +0800 Subject: [PATCH] 服务发布模型挂接附件,一张图修改 --- src/components/Screen/bottom.vue | 7 src/views/datamanage/uploadmanage.vue | 46 ++ src/assets/lang/zh.js | 3 src/views/Tools/LayerTree.vue | 24 - src/components/preview_map.vue | 600 +++++++++++++++++++++++++++++++++++++++++++++ src/assets/lang/en.js | 3 src/components/Screen/ProjectTree.vue | 26 + src/components/Screen/mapsdk.vue | 48 ++- src/views/datamanage/SpatialData.vue | 2 9 files changed, 692 insertions(+), 67 deletions(-) diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index a120f96..308c192 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -127,7 +127,8 @@ uploadManage: 'Release management', uploadObj: { dataRelease: 'Data release', - releaseList: 'Release list' + releaseList: 'Release list', + modelAttachMount: 'Model attachment mounting' }, dataLoading: 'dataLoading', SpatialData: 'SpatialData', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index 2b90dff..9c60be6 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -129,7 +129,8 @@ uploadManage: '鍙戝竷绠$悊', uploadObj: { dataRelease: '鏁版嵁鍙戝竷', - releaseList: '鍙戝竷娓呭崟' + releaseList: '鍙戝竷娓呭崟', + modelAttachMount: '妯″瀷闄勪欢鎸傝浇' }, dataLoading: '鏁版嵁鍏ュ簱', diff --git a/src/components/Screen/ProjectTree.vue b/src/components/Screen/ProjectTree.vue index 7fec0d7..5ce4970 100644 --- a/src/components/Screen/ProjectTree.vue +++ b/src/components/Screen/ProjectTree.vue @@ -1,5 +1,8 @@ <template> - <div class="project_tree" :class="{ left_main_show: !leftMenuOpen }"> + <div + class="project_tree" + :class="{ left_main_show: !leftMenuOpen }" + > <div class="project_tree__title">宸ョ▼椤圭洰</div> <el-input style="width: 80%" @@ -32,7 +35,11 @@ style="color: yellow" class="el-icon-folder-opened" ></i> - <i v-else style="color: skyblue" class="el-icon-folder-opened"></i> + <i + v-else + style="color: skyblue" + class="el-icon-folder-opened" + ></i> </div> <!-- <div style=""> <i @@ -102,6 +109,9 @@ this.changeSelectli = this.rightList[0].id this.changeSelectStyle = this.rightMenu[0].id this.addImageLayer() + this.$bus.$on("changeProjectLayer", (res) => { + this.setShowCheckedLayer(); + }) }, watch: { filterText(val) { @@ -109,6 +119,18 @@ }, }, methods: { + setShowCheckedLayer() { + var value = this.$refs.tree.getCheckedNodes(); + var std = []; + for (var i in value) { + std.push(value[i].id) + } + if (std.indexOf(3) == -1) { + std.push(3); + this.$refs.tree.setCheckedKeys(std) + } + + }, async addImageLayer() { const data = await perms_selectLayers() if (data.code != 200) { diff --git a/src/components/Screen/bottom.vue b/src/components/Screen/bottom.vue index 49c00c2..3f9805e 100644 --- a/src/components/Screen/bottom.vue +++ b/src/components/Screen/bottom.vue @@ -227,8 +227,8 @@ ChangeBaseLayer(name) { this.currYX = name Viewer.imageryLayers._layers[1].show = false - Viewer.imageryLayers._layers[2].show = false - Viewer.imageryLayers._layers[3].show = false + // Viewer.imageryLayers._layers[2].show = false + // Viewer.imageryLayers._layers[3].show = false if (yunxuanLayer) { Viewer.imageryLayers.remove(yunxuanLayer); yunxuanLayer = null @@ -292,12 +292,13 @@ this.showPathLine(child) break case "椤圭洰灞曠ず": + this.$bus.$emit("changeProjectLayer", child.id) this.DisplayCurrentProject(child) this.changeProject(child) this.$bus.$emit("changeProjectCode", child.id) - break case "涓撻灞曠ず": + this.$bus.$emit("changeProjectLayer", child.id) this.changeProject(child) break diff --git a/src/components/Screen/mapsdk.vue b/src/components/Screen/mapsdk.vue index 3800764..900a42e 100644 --- a/src/components/Screen/mapsdk.vue +++ b/src/components/Screen/mapsdk.vue @@ -44,42 +44,46 @@ // window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { // licenseServer: window.sceneConfig.licenseServer, // }) - window.sgworld = new SmartEarth.SGWorld( - "Centermapdiv", - SmartEarthRootUrl + "Workers/image/earth.jpg", - function () {} - ) + // window.sgworld = new SmartEarth.SGWorld( + // "Centermapdiv", + // function () { } + // ) + window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { + + licenseServer: window.sceneConfig.licenseServer, + }); window.viewer = window.Viewer = window.sgworld._Viewer; - Viewer.imageryLayers._layers[0].show = false - sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 - destination: new Cesium.Cartesian3.fromDegrees(110, 32, 50000000) + // Viewer.imageryLayers._layers[0].show = false + sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 + destination: new Cesium.Cartesian3.fromDegrees(110, 32, 50000000) }); setTimeout(() => { window.viewer.camera.flyTo({ - destination:new Cesium.Cartesian3.fromDegrees(110, 32, 20000000), - orientation:{ - heading:Cesium.Math.toRadians(0), + destination: new Cesium.Cartesian3.fromDegrees(110, 32, 20000000), + orientation: { + heading: Cesium.Math.toRadians(0), pitch: Cesium.Math.toRadians(-90), } }) }, 1000); - + Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: gaoDeBaseUrl[0].url, }) ) + Viewer.imageryLayers._layers[1].show = false - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[1].url, - }) - ) - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[2].url, - }) - ) + // Viewer.imageryLayers.addImageryProvider( + // new Cesium.UrlTemplateImageryProvider({ + // url: gaoDeBaseUrl[1].url, + // }) + // ) + // Viewer.imageryLayers.addImageryProvider( + // new Cesium.UrlTemplateImageryProvider({ + // url: gaoDeBaseUrl[2].url, + // }) + // ) Viewer._enableInfoOrSelection = false //鏄剧ずfps diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index 9a79c55..40c1fc6 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -3,10 +3,202 @@ <div id="mapdiv" class="previewBox" - ></div> + > + <div + v-if="modelLayer" + class="modelLayer box_divm" + > + <el-tree + :data="treeData" + show-checkbox + node-key="id" + ref="tree" + :default-expanded-keys="[2, 3]" + :default-checked-keys="[5]" + :props="defaultProps" + @node-click="handleNodeClick" + @check="handleCheckChange" + > + </el-tree> + </div> + + <el-dialog + :title="formInline.title" + :visible.sync="dialogVisible" + :modal="false" + :modal-append-to-body="false" + :close-on-click-modal="false" + :before-close="handleClose" + width="30%" + > + <div style="height:63vh"> + <el-tabs + v-model="activeName" + @tab-click="handleClick" + > + <el-tab-pane + label="灞炴��" + name="first" + > + <el-form + ref="form" + :model="formInline" + label-width="80px" + > + + <el-form-item :label="$t('common.name')"> + <el-input v-model="formInline.name"></el-input> + + </el-form-item> + <el-form-item :label="$t('common.type')"> + <el-select + v-model="formInline.type" + style="width:100%" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + + </el-form-item> + + <el-form-item :label="$t('common.bak')"> + <el-input v-model="formInline.bak"></el-input> + + </el-form-item> + <el-form-item> + <el-button + v-show="isShowModel" + type="success" + plain + size="small" + @click="InsertData" + >{{$t('common.increase')}}</el-button> + <el-button + v-show="!isShowModel" + type="info" + plain + size="small" + @click="EditData" + >{{$t('common.update')}}</el-button> + </el-form-item> + </el-form> + + </el-tab-pane> + <el-tab-pane + label="闄勪欢" + name="second" + > + <el-form + :model="fromfile" + class="demo-form-inline" + > + <el-form-item> + <el-input + v-model="fromfile.file" + style="width: 300px; margin-right: 20px" + :placeholder="$t('common.choose')" + disabled + ></el-input> + <input + name="file1" + type="file" + id="insertFile" + multiple="multiple" + style="display: none" + @change="insertFile( )" + /> + <el-link + @click="getInsertFile( )" + :underline="false" + ><i class="el-icon-folder-opened"></i></el-link> + </el-form-item> + <el-form-item> + <el-row> + <el-col :span="3"> + <el-link + class="elLink" + :underline="false" + @click="setAttachInsert" + >{{$t('common.append')}}</el-link> + </el-col> + <el-col :span="3"> + <el-link + class="elLink" + :underline="false" + @click="setAttachDel" + >{{$t('common.delete')}}</el-link> + </el-col> + + </el-row> + </el-form-item> + </el-form> + <el-table + :data="tableData" + ref="filterTable" + height="calc(100% - 130px)" + border + style="width: 100%" + @selection-change="handleAttatchChange" + > + <el-table-column + type="selection" + width="70" + /> + <el-table-column + width="60" + type="index" + :label="$t('common.index')" + /> + <el-table-column + prop="name" + :label="$t('common.name')" + /> + + <el-table-column + prop="sizes" + :label="$t('common.size')" + :formatter="statSizeChange" + /> + <el-table-column + align="center" + :label="$t('common.operate')" + min-width="100" + > + <template slot-scope="scope"> + <el-link + v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink" + >{{ $t('common.see') }}</el-link> + + </template> + </el-table-column> + </el-table> + + </el-tab-pane> + + </el-tabs> + + </div> + </el-dialog> + </div> </template> <script> +import { + perms_selectLayers, + comprehensive_selectModelByGuid, + comprehensive_insertModel, + comprehensive_updateModel, + comprehensive_selectFiles, + dataQuery_deletes +} from '../api/api.js'; +import { getToken } from '@/utils/auth'; export default { data() { return { @@ -15,12 +207,347 @@ 250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200, 100, 50, 25, 10, 0, ], + modelLayer: false, + treeData: [], + defaultProps: { + children: "children", + label: "cnName", + }, + childOption: [], + dialogVisible: false, + isShowModel: false, + tableData: [], + formInline: { + title: '', + file: '', + name: '', + type: '', + info: '', + icon: '', + bak: '', + Id: '' + }, + options: [ + { + value: '鍊炬枩妯″瀷', + label: '鍊炬枩妯″瀷' + }, { + value: 'BIM妯″瀷', + label: 'BIM妯″瀷' + }, { + value: '鐐逛簯妯″瀷', + label: '鐐逛簯妯″瀷' + }, { + value: '鍦拌川璁捐妯″瀷', + label: '鍦拌川璁捐妯″瀷' + }, { + value: '浜哄伐妯″瀷', + label: '浜哄伐妯″瀷' + }, { + value: '鍏朵粬妯″瀷', + label: '鍏朵粬妯″瀷' + }], + activeName: 'first', + currentData: null, + attacgSelection: [], + fromfile: { file: '' }, + layerID: null, + dialog: { + dialogVisible: false, + isPdf: false, + isJpg: false, + src: '' + }, } }, mounted() { this.init3DMap(); }, methods: { + refreshAttatchDetail() { + this.dialog.src = ""; + this.dialog.dialogVisible = false; + this.dialog.isPdf = false; + this.dialog.isJpg = false; + }, + //闄勪欢鏌ョ湅 + setAttatchDetail(index, row) { + this.refreshAttatchDetail() + var name = row.name; + if (name.indexOf('.pdf') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isPdf = true; + var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isJpg = true; + var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } + }, + async setAttachDel() { + var std = []; + for (var i in this.attacgSelection) { + std.push(this.attacgSelection[i].id); + } + const res = await dataQuery_deletes({ ids: std.toString() }); + if (res.code != 200) { + this.$message.error("鏂囦欢鍒犻櫎澶辫触"); + } + this.getAttacthFlieList(); + }, + setAttachInsert() { + var token = getToken(); + var fs = document.getElementById("insertFile"); + if (fs.files.length == 0) { + this.$message({ + message: "璇烽�夋嫨瑕佷笂浼犵殑鏂囦欢锛�", + type: "warning", + }); + return; + } + const formData = new FormData(); + for (var i = 0, c = fs.files.length; i < c; i++) { + formData.append("file", fs.files[i]); // fs.files[i].name,file + } + + + $.ajax(BASE_URL + "/comprehensive/uploadFiles?token=" + token + "&tabName=lf.sys_style&eventid=" + this.layerID, + { + type: "post", + data: formData, + async: true, + cache: false, + processData: false, + contentType: false, + success: (rs) => { + this.$message({ + message: "闄勪欢娣诲姞鎴愬姛", + type: "success", + }); + document.getElementById("insertFile").value = ""; + this.fromfile = { + file: "", + }; + + this.getAttacthFlieList(); + }, + error: (e) => { + document.getElementById("insertFile").value = ""; + this.$message.error("闄勪欢娣诲姞澶辫触"); + }, + } + ); + }, + //闄勪欢=>鏂囦欢閫夋嫨 + getInsertFile() { + $('#insertFile').click(); + }, + insertFile() { + var val = document.getElementById('insertFile').files; + if (!val || !val.length) return; + this.fromfile.file = val[0].name; + }, + matchState(state = "", reg) { + var row = state.row; + var name = row.name; + if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + return true; + } + + return false; + }, + statSizeChange(row, column) { + return this.stateFormatSizes(row.sizes) + }, + stateFormatSizes(res) { + if (res >= 1024) { + const val = parseFloat(res / 1024).toFixed(3); + return val + ' GB'; + } else { + return res + ' MB'; + } + }, + // 闄勪欢=>琛ㄦ牸閫夋嫨 + handleAttatchChange(val) { + this.attacgSelection = val; + }, + //闄勪欢鍒楄〃鏌ヨ + async getAttacthFlieList() { + debugger + var obj = { + eventid: this.layerID, + tabName: "lf.sys_style" + }; + const res = await comprehensive_selectFiles(obj); + if (res.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return + } + this.tableData = res.result; + }, + handleClick() { + if (this.activeName == "second") { + this.getAttacthFlieList(); + } + }, + async EditData() { + const data = await comprehensive_updateModel(this.formInline) + if (data.code != 200) { + this.$message.error('淇敼澶辫触'); + } else { + this.$message({ + message: '淇敼鎴愬姛', + type: 'success' + }); + } + this.startModelData(); + }, + async InsertData() { + var std = { + "bak": this.formInline.bak, + "guid": this.formInline.Id, + "layerid": this.formInline.layerId, + "modelid": this.formInline.Id, + "name": this.formInline.name, + "type": this.formInline.type + } + const data = await comprehensive_insertModel(std) + if (data.code != 200) { + this.$message.error('娣诲姞澶辫触'); + } else { + this.$message({ + message: '娣诲姞鎴愬姛', + type: 'success' + }); + } + this.startModelData(); + + }, + handleClose() { + this.dialogVisible = false; + this.formInline = { + title: '', + file: '', + name: '', + type: '', + info: '', + icon: '', + bak: '', + Id: '' + } + }, + + setShowModelInfo(result) { + + this.formInline.title = result.getProperty("name") + this.formInline.Id = result.getProperty("id"); + this.layerID = result.getProperty("id"); + this.formInline.layerId = result.primitive.layerId; + this.formInline.layerName = result.primitive.id; + this.startModelData(); + + this.dialogVisible = true; + }, + async startModelData() { + var obj = { + layerid: this.formInline.layerId, + modelid: this.formInline.Id + } + const data = await comprehensive_selectModelByGuid(obj); + if (data.code != 200) { + return; + } + + if (data.result == null) { + this.isShowModel = true; + this.formInline.name = this.formInline.title; + } else { + this.isShowModel = false; + this.formInline = data.result; + + this.formInline.title = this.formInline.name; + + } + }, + setChangeTileset(result) { + var value = this.$refs.tree.getCheckedNodes(); + var std = []; + for (var i in value) { + std.push(value[i].id) + } + for (var i in result) { + var tile = result[i] + if (std.indexOf(tile.id) != -1) { + this.setAddLayers(tile) + } else { + for (var j in Viewer.scene.primitives._primitives) { + if (Viewer.scene.primitives._primitives[j].id == tile.cnName) { + Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j]) + } + } + } + } + }, + setAddLayers(res) { + if (res.serveType == "Tileset") { + var url; + if (res.url.indexOf("{host}") != -1) { + url = res.url.replace("{host}", iisHost); + } else { + url = modelUrl + "/" + res.url + } + var tileset = Viewer.scene.primitives.add( + new Cesium.Cesium3DTileset({ + name: res.cnName, + url: url, //192.168.20.106,to4 + maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16 + maximumMemoryUsage: 768, // 鏈�澶у唴瀛橈細512 + dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse + skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false + }) + ); + tileset.readyPromise.then((tileset) => { + tileset.id = res.cnName; + tileset.layerId = res.id; + this.tileSet(tileset, parseFloat(res.elev)) + Viewer.flyTo(tileset); + }); + } + }, + handleCheckChange(data, checked, indeterminate) { + if (data.type == 1) { + this.getchilds(data); + this.setChangeTileset(this.childOption, checked); + } else { + this.setChangeTileset([data], checked); + } + }, + handleNodeClick(data) { + if (data.type == 2) { + this.currentData = data; + for (var j in Viewer.scene.primitives._primitives) { + if (Viewer.scene.primitives._primitives[j].id == data.cnName) { + Viewer.flyTo(Viewer.scene.primitives._primitives[j]); + } + } + } + }, + getchilds(source) { + if (source.children) { + var child = source.children + for (var i in child) { + if (child[i].children) { + this.getchilds(child[i]) + } else { + this.childOption.push(child[i]) + } + } + } else { + this.childOption.push(source) + } + }, init3DMap() { //鍦板浘鍒濆鍖� window.sgworld = new SmartEarth.SGWorld("mapdiv", { @@ -82,7 +609,7 @@ this.tileSet(tileset, 50) Viewer.flyTo(tileset); }); - } else { + } else if (res.url.indexOf('.mpt') != -1) { Viewer.imageryLayers.removeAll(); var url = res.url.split(';') @@ -93,8 +620,65 @@ layers: url[1] }, "0", undefined, true, ""); + } else if (res.url.indexOf('menuLayer') != -1) { + this.setShowModelLayer(); } } + }, + async setShowModelLayer() { + const data = await perms_selectLayers(); + if (data.code != 200) { + + } else { + var std = data.result + var val = std.filter((str) => { + if (str.type == 1) { + return str; + } + if (str.url != null && str.type == 2) { + return str; + } + }); + + var res = this.setTreeData(val); + this.treeData = res; + this.modelLayer = true; + var that = this; + window.modeCatchHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + window.modeCatchHandler.setInputAction((event) => { + window.pickedFeature && (window.pickedFeature.color = window.pickedColor); + window.pickedFeature = sgworld.Viewer.scene.pick(event.position); + if (Cesium.defined(window.pickedFeature)) { + if (window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { + if (window.pickedFeature && window.pickedFeature.getProperty) { + window.pickedColor = window.pickedFeature.color + window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); + that.setShowModelInfo(pickedFeature); + // this.$store.state.catModel = true; + // this.$store.state.catModelInfo = { + // id: pickedFeature.getProperty("id"), + // name: pickedFeature.getProperty("name"), + // layerId: pickedFeature.primitive.layerId, + // layerName: pickedFeature.primitive.id + // }; + } + } + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + + + } + }, + setTreeData(source) { + let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + 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锛� + // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� + return father.pid == 430; // 杩斿洖涓�绾ц彍鍗� + }); }, tileSet(tileset, height) { //3dtile妯″瀷鐨勮竟鐣岀悆浣� @@ -121,9 +705,19 @@ } </script> -<style> +<style lang="less" scoped> .previewBox { width: 100%; height: 100%; + .modelLayer { + position: absolute; + z-index: 40; + padding: 10px 20px; + + border: 1px solid #409eff; + margin: 10px; + max-height: 300px; + overflow: auto; + } } </style> \ No newline at end of file diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index 9d39953..a2c2a58 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -735,30 +735,6 @@ } else { this.childOption.push(source) } - // let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 - // var std = []; - // if (cloneData.children) { - // var child = cloneData.children; - // child.filter((father) => { - // if (father.children) { - // father.father - // } else { - - // } - - // }) - // } - // cloneData.filter((father) => { - // // 寰幆鎵�鏈夐」 - // console.log(father) - // // let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 - // // 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锛� - // // // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� - // // return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� - // }); - - }, setAddLayers(res) { diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue index 3fed848..41bcb6c 100644 --- a/src/views/datamanage/SpatialData.vue +++ b/src/views/datamanage/SpatialData.vue @@ -272,7 +272,7 @@ @click="setAttachDel" >{{$t('common.delete')}}</el-link> </el-col> - <!-- <el-col :span="3"> <el-link class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> --> + </el-row> </el-form-item> </el-form> diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index 69cb4da..8696aca 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -10,7 +10,7 @@ <div class="tabs_box"> <div class="tabs_pane" - @click="setTabsChange()" + @click="setTabsChange(1)" > <div class="tabsSpan" @@ -21,7 +21,7 @@ </div> <div class="tabs_pane" - @click="setTabsChange()" + @click="setTabsChange(2)" > <div class="tabsSpan" @@ -30,8 +30,22 @@ <span> {{$t('dataManage.uploadObj.releaseList')}}</span> </div> </div> + <div + class="tabs_pane" + @click="setTabsChange(3)" + > + <div + class="tabsSpan" + :class="{ changetabs : active == 'third'}" + > + <span> {{$t('dataManage.uploadObj.modelAttachMount')}}</span> + </div> + </div> </div> - <div class="content_box"> + <div + v-if="active != 'third'" + class="content_box" + > <el-form :inline="true" :model="formInline" @@ -280,6 +294,12 @@ > </el-pagination> </div> + </div> + <div + v-if="active == 'third'" + class="content_box" + > + <mapview v-if="active == 'third'"></mapview> </div> <!-- 鍦板潃棰勮 --> <el-dialog @@ -843,17 +863,23 @@ this.getTableData(); }, //tabs鍒囨彌 - setTabsChange() { - switch (this.active) { - case 'first': - this.active = 'second'; - this.setPageStart(); - break; - case 'second': + setTabsChange(res) { + switch (res) { + case 1: this.active = 'first'; this.setPageStart(); break; + case 2: + this.active = 'second'; + this.setPageStart(); + break; + case 3: + this.$store.state.previewLayer = { + url: "menuLayer" + } + this.active = 'third'; + break; } }, //椤甸潰鍒濆鍖� -- Gitblit v1.9.3