From c55220698eef71fabc462dcf84858f95cf830a9d Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期四, 20 七月 2023 15:16:55 +0800 Subject: [PATCH] 1 --- src/utils/request.js | 11 +-- /dev/null | 0 src/assets/js/Map/index.js | 3 - src/assets/js/Map/server.js | 47 ++++++++++++++- package.json | 2 src/views/layer/layerManage.vue | 109 ++++++++++++++++++++++++++++++++++- src/assets/js/Map/config.js | 2 7 files changed, 154 insertions(+), 20 deletions(-) diff --git a/MoonWeb.zip b/MoonWeb.zip deleted file mode 100644 index f4ea574..0000000 --- a/MoonWeb.zip +++ /dev/null Binary files differ diff --git a/package.json b/package.json index 80a0639..58425f3 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "amfe-flexible": "^2.2.1", "axios": "^1.3.4", "default-passive-events": "^2.0.0", - "element-plus": "^2.3.8", + "element-plus": "^2.3.0", "js-base64": "^3.7.5", "jsencrypt": "^3.3.2", "mitt": "^3.0.1", diff --git a/src/assets/js/Map/config.js b/src/assets/js/Map/config.js index 4ca87e5..023b9fd 100644 --- a/src/assets/js/Map/config.js +++ b/src/assets/js/Map/config.js @@ -1,5 +1,5 @@ //鏄惁涓虹敓浜х幆澧� -const isWeb = true; +const isWeb = false; //鏄惁涓虹敓浜х幆澧� const webUrl = isWeb ? "/web" : ""; //閰嶇疆鏂囦欢鍦板潃 diff --git a/src/assets/js/Map/index.js b/src/assets/js/Map/index.js index fb4f4a2..64563eb 100644 --- a/src/assets/js/Map/index.js +++ b/src/assets/js/Map/index.js @@ -48,7 +48,6 @@ tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: Cesium.Ellipsoid.MOON, }), - }); window.Viewer.terrainProvider = terrain; @@ -75,8 +74,6 @@ // //娣诲姞榧犳爣宸﹀嚮浜嬩欢 // this.addMouseLeftClickEvents(); // this.addMouseMouseMoveEvents(); - - }, //榧犳爣宸﹂敭鐐瑰嚮浜嬩欢娣诲姞 addMouseLeftClickEvents() { diff --git a/src/assets/js/Map/server.js b/src/assets/js/Map/server.js index b8dbf3d..42c13fd 100644 --- a/src/assets/js/Map/server.js +++ b/src/assets/js/Map/server.js @@ -1,4 +1,37 @@ const server = { + addTreeData(treeNode, checked) { + console.log(treeNode, checked); + let _data = sgworld.ProjectTree.getObject(treeNode.id); + let pID = 0; + console.log(_data); + if (_data) { + sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked); + return; + } else { + // _data = _getTreeData(treeNode.id); + // if (_data) { + // _data.item && + // _data.item.setVisibility && + // _data.item.setVisibility(treeNode.checked); + // _data.item && + // _data.item.setVisible && + // _data.item.setVisible(treeNode.checked); + // _data.item && + // _data.item.show !== undefined && + // (_data.item.show = treeNode.checked); + // if (_data.datatype === "particle") { + // _data.item.forEach((item) => { + // item.show = treeNode.checked; + // }); + // } + // return; + // } + } + switch (treeNode.sourceType) { + case "tms": + break; + } + }, //娣诲姞geoserver鏈嶅姟wms鏈嶅姟 AddGeoWmsLayer(url) { window.layerWMS = new SmartEarth.Cesium.WebMapServiceImageryProvider({ @@ -23,10 +56,16 @@ // url: url + "/{z}/{x}/{y}.png" // }); // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider); - sgworld.Creator.createUrlTemplateImageryProvider('tms鏈嶅姟', { - url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"), - }, '0', undefined, true, ""); - + sgworld.Creator.createUrlTemplateImageryProvider( + "tms鏈嶅姟", + { + url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"), + }, + "0", + undefined, + true, + "" + ); }, AddWmtesLayer(url) { var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({ diff --git a/src/utils/request.js b/src/utils/request.js index e121a36..ec62a60 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -7,10 +7,10 @@ */ import axios from "axios"; import { ElMessage, ElLoading } from "element-plus"; -import { useRouter } from "vue-router"; +import router from "@/router/index"; import { getToken } from "@/utils/auth"; -const router = useRouter(); + // create an axios instance const service = axios.create({ baseURL: BASE_URL, // api鐨刡ase_url @@ -47,10 +47,9 @@ // 鎶ラ敊鎻愮ず if (response.data.code !== 200) { ElMessage.error(response.data.msg); - } else if ( - response.data.code !== 200 && - response.data.result == "鐢ㄦ埛鏈櫥褰�" - ) { + } + if (response.data.code !== 200 && response.data.result == "鐢ㄦ埛鏈櫥褰�") { + ElMessage.error("鐧诲綍杩囨湡锛岃閲嶆柊鐧诲綍"); router.push({ path: "/login" }); } return response.data; diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue index 9bef0eb..b33a066 100644 --- a/src/views/layer/layerManage.vue +++ b/src/views/layer/layerManage.vue @@ -90,6 +90,7 @@ import layerDetail from "./layerDetail"; import { useStore } from "vuex"; // 寮曞叆useStore 鏂规硶 import { layer_selectAll } from "@/api/api"; +import server from "@/assets/js/Map/server"; const store = useStore(); // 璇ユ柟娉曠敤浜庤繑鍥瀞tore 瀹炰緥 const stretchValue = ref(""); @@ -187,10 +188,105 @@ }; //閫夋嫨鍥惧眰 const handleCheckChange = (data, checked) => { + let isCheck = checked.checkedKeys.indexOf(data.id) > -1; + // this.setVisiable(data, isCheck); + let son = estreeRef.value.getCheckedNodes(); store.commit("SET_CHECKLAYER", son); + setVisiable(data, isCheck); + let layerArr = []; + son.forEach((e) => { + if (e.type == 2) { + layerArr.push(e); + } + }); + // server.addLayer(layerArr, isCheck); }; +const setVisiable = (treeNode, checked) => { + if (checked !== undefined) { + treeNode.checked = checked; + } else { + treeNode.checked = !treeNode.checked; + } + + if (treeNode.children) { + treeNode.children.forEach((item) => { + setVisiable(item, treeNode.checked); + }); + return; + } else if (treeNode._children) { + if (treeNode.thisView === "ewzj") { + treeNode._children[0].checked = treeNode.checked; + if (treeNode._children[0].children) { + treeNode._children[0].children.forEach((item) => { + item.checked = treeNode.checked; + server.addTreeData(item); + }); + } else { + server.addTreeData(treeNode._children[0]); + } + } else if (treeNode.thisView === "swzj") { + for (let i = 1; i < treeNode._children.length; i++) { + treeNode._children[i].checked = treeNode.checked; + } + treeNode._children.forEach((item, index) => { + index !== 0 && server.addTreeData(item); + }); + } else if (!treeNode.thisView) { + treeNode._children.forEach((item, index) => { + item.checked = treeNode.checked; + if (item.children) { + item.children.forEach((_item) => { + _item.checked = item.checked; + server.addTreeData(_item); + }); + } else { + server.addTreeData(item); + } + }); + } + return; + } + + if (!treeNode.isAdd) { + server.addTreeData(treeNode); + return; + } + + // let data = _getTreeData(treeNode.id); + // if (data) { + // data.item && + // data.item.setVisibility && + // data.item.setVisibility(treeNode.checked); + // data.item && data.item.setVisible && data.item.setVisible(treeNode.checked); + // data.item && + // data.item.show !== undefined && + // (data.item.show = treeNode.checked); + // if (data.datatype === "particle") { + // data.item.forEach((item) => { + // item.show = treeNode.checked; + // }); + // } + // } else { + // if (treeNode.id && treeNode.id.indexOf && treeNode.id.indexOf("---") > -1) { + // var ids = id.split("---"); + // ids.forEach((item) => { + // sgworld.ProjectTree.setVisibility(item, treeNode.checked); + // }); + // } else { + // sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked); + + // var dd = Viewer.dataSources._dataSources.filter((item) => { + // return item.name == treeNode.id; + // }); + // if (dd && dd.length > 0) { + // dd[0].show = treeNode.checked; + // } + // } + // } +}; + const clickdropdown = (res, e) => { layerAttributeIsshow.value = false; layerDetailIsshow.value = false; @@ -210,7 +306,7 @@ //缂栬緫鍥惧眰鏍� const addlayer = (res) => { menuOption.push(res); - treeData.value = handleTree(menuOption, "id", "pid", "children"); + // treeData.value = handleTree(menuOption, "id", "pid", "children"); }; //鍒犻櫎鍥惧眰鏍� const delLayer = (res) => { @@ -224,10 +320,13 @@ const getLayer = async () => { const dt = await layer_selectAll(); - treeData.value = setTreeData(dt.result); - treeData.value = JSON.parse(JSON.stringify(treeData.value)); + if (dt.code == 200) { + treeData.value = setTreeData(dt.result); + } - console.log(treeData.value); + // treeData.value = JSON.parse(JSON.stringify(treeData.value)); + + // console.log(treeData.value); }; //鏋勯�犳爲 @@ -294,7 +393,7 @@ } } .layerContent { - height: 635px; + height: 625px; padding: 0 8px; overflow: auto; overflow-y: auto; -- Gitblit v1.9.3