From 7391660f5f74e8731d586a8bf021c15b4be2e735 Mon Sep 17 00:00:00 2001 From: kun <1422840143@qq.com> Date: Fri, 3 Nov 2023 18:49:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/goverment/largeScreen/index.vue | 57 +++++++++++++------ .../components/operateDialog.vue | 27 ++++----- 2 files changed, 55 insertions(+), 29 deletions(-) diff --git a/src/views/goverment/largeScreen/index.vue b/src/views/goverment/largeScreen/index.vue index fa4af04..1b89c42 100644 --- a/src/views/goverment/largeScreen/index.vue +++ b/src/views/goverment/largeScreen/index.vue @@ -1044,26 +1044,51 @@ const addRandomGraphicByCount = (graphicLayer: any, position: any) => { }); graphicLayer.addGraphic(graphicImg); }; +// const handleCheckChange = (e: any, isCheck: any) => { +// const layer = layersObj[e.key]; +// if (layer) { +// if (!layer.isAdded) { +// map.addLayer(layer); +// } +// // 处理子节点 +// if (e.children && e.children.length) { +// renderChildNode(isCheck, e.children); +// } + +// if (isCheck) { +// layer.show = true; +// layer.flyTo(); +// } else { +// layer.show = false; +// } +// } +// }; const handleCheckChange = (e: any, isCheck: any) => { const layer = layersObj[e.key]; - console.log(e); + const isChildern = e.children; + console.log("node", e); console.log(layer); - console.log(isCheck); - if (layer) { - if (!layer.isAdded) { - map.addLayer(layer); - } - // 处理子节点 - if (e.children && e.children.length) { - renderChildNode(isCheck, e.children); - } - if (isCheck) { - layer.show = true; - layer.flyTo(); - } else { - layer.show = false; - } + if (layer && isCheck) { + layer.show = true; + layer.flyTo(); + } else { + layer.show = false; + } + + // 增添模型 + if (isChildern && isChildern.length === 0 && !e.checked) { + map.addLayer(layer); + } + + // 处理子节点 + if (e.children && e.children.length) { + renderChildNode(isCheck, e.children); + } + + // 删除模型 + if (isChildern && isChildern.length === 0 && e.checked) { + layer.show = false; } }; const renderChildNode = (isCheck: any, children: any[]) => { diff --git a/src/views/jxjview/modelManagement/components/operateDialog.vue b/src/views/jxjview/modelManagement/components/operateDialog.vue index deddb57..13fa18e 100644 --- a/src/views/jxjview/modelManagement/components/operateDialog.vue +++ b/src/views/jxjview/modelManagement/components/operateDialog.vue @@ -28,11 +28,6 @@ -
- - - -
@@ -41,28 +36,34 @@
- + - + - + - + - + - + - + - + + + + + + +