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))