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/views/layer/layerManage.vue | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 104 insertions(+), 5 deletions(-) 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