From 09c99d555096552a6def3973d8c1be8acec95567 Mon Sep 17 00:00:00 2001 From: liuchengdist <2318563701@qq.com> Date: Sat, 23 May 2026 15:47:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E5=B1=82=E7=AE=A1=E7=90=86=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E7=82=B9=E5=87=BB=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/store/widget.ts | 2 +- .../dataGovernanceDashboard/widget-store.ts | 4 +--- src/widgets/basic/manage-layers/index.vue | 18 +++++++++++++----- src/widgets/basic/manage-layers1/index.vue | 18 +++++++++++++----- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/common/store/widget.ts b/src/common/store/widget.ts index 7adf325..b4ad990 100644 --- a/src/common/store/widget.ts +++ b/src/common/store/widget.ts @@ -258,7 +258,7 @@ export function useWidget() { // 获取widget的当前激活状态 isActivate: (name: string) => { const widget = store.state.widgets.find((item: any) => item.name === name) - return widget ? widget.visible : false + return widget ? store.state.openAtStart.includes(name) && !!widget.visible : false }, // 激活指定 widget模块 activate: (option: string | Widget | (string | Widget)[], reload = true) => { diff --git a/src/pages/dataGovernanceDashboard/widget-store.ts b/src/pages/dataGovernanceDashboard/widget-store.ts index 82bc995..1f71ad0 100644 --- a/src/pages/dataGovernanceDashboard/widget-store.ts +++ b/src/pages/dataGovernanceDashboard/widget-store.ts @@ -80,13 +80,11 @@ const store: StoreOptions = { component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/index.vue"))), name: "manage-layers", group: "manage", - visible:true, disableOther: ["roamLine"] }, { component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers1/index.vue"))), - name: "manage-layers1", - visible:true, + name: "manage-layers1" }, { component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/layer-tree.vue"))), diff --git a/src/widgets/basic/manage-layers/index.vue b/src/widgets/basic/manage-layers/index.vue index 0ddb78d..2c89445 100644 --- a/src/widgets/basic/manage-layers/index.vue +++ b/src/widgets/basic/manage-layers/index.vue @@ -62,7 +62,7 @@ watch(()=>props.warppers,(data)=>{ }) onMounted(() => { - + resetTreeState() initTree() }) onUnmounted(() => { @@ -74,9 +74,7 @@ onUnmounted(() => { useLifecycle(mapWork) currentWidget.onUpdate(() => { - treeData.value = [] - expandedKeys.value = [] - checkedKeys.value = [] + resetTreeState() initTree() }) @@ -90,6 +88,17 @@ const layersObj: any = {} const opacityObj: any = reactive({}) +const fatherLayer = [] + +function resetTreeState() { + treeData.value = [] + expandedKeys.value = [] + checkedKeys.value = [] + fatherLayer.length = 0 + Object.keys(layersObj).forEach((key) => delete layersObj[key]) + Object.keys(opacityObj).forEach((key) => delete opacityObj[key]) +} + let lastWidget: any const checkedChange = (keys: string[], e: any) => { const layer = layersObj[e.node.id] @@ -237,7 +246,6 @@ function flyTo(item: any) { } } -const fatherLayer = [] function initTree() { const layers = mapWork.getLayers() console.log("layers1", JSON.stringify(layers)) diff --git a/src/widgets/basic/manage-layers1/index.vue b/src/widgets/basic/manage-layers1/index.vue index e2eeeca..a6c0604 100644 --- a/src/widgets/basic/manage-layers1/index.vue +++ b/src/widgets/basic/manage-layers1/index.vue @@ -63,7 +63,7 @@ watch(()=>props.warppers,(data)=>{ }) onMounted(() => { - + resetTreeState() initTree() }) onUnmounted(() => { @@ -75,9 +75,7 @@ onUnmounted(() => { useLifecycle(mapWork) currentWidget.onUpdate(() => { - treeData.value = [] - expandedKeys.value = [] - checkedKeys.value = [] + resetTreeState() initTree() }) @@ -91,6 +89,17 @@ const layersObj: any = {} const opacityObj: any = reactive({}) +const fatherLayer = [] + +function resetTreeState() { + treeData.value = [] + expandedKeys.value = [] + checkedKeys.value = [] + fatherLayer.length = 0 + Object.keys(layersObj).forEach((key) => delete layersObj[key]) + Object.keys(opacityObj).forEach((key) => delete opacityObj[key]) +} + let lastWidget: any const checkedChange = (keys: string[], e: any) => { const layer = layersObj[e.node.id] @@ -238,7 +247,6 @@ function flyTo(item: any) { } } -const fatherLayer = [] function initTree() { const layers = mapWork.getLayers() console.log("layers1", JSON.stringify(layers))