图层管理第一次点击不显示调整

This commit is contained in:
2026-05-23 15:47:42 +08:00
parent 4d862d0118
commit 09c99d5550
4 changed files with 28 additions and 14 deletions

View File

@@ -258,7 +258,7 @@ export function useWidget() {
// 获取widget的当前激活状态 // 获取widget的当前激活状态
isActivate: (name: string) => { isActivate: (name: string) => {
const widget = store.state.widgets.find((item: any) => item.name === name) 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模块 // 激活指定 widget模块
activate: (option: string | Widget | (string | Widget)[], reload = true) => { activate: (option: string | Widget | (string | Widget)[], reload = true) => {

View File

@@ -80,13 +80,11 @@ const store: StoreOptions<WidgetState> = {
component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/index.vue"))), component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/index.vue"))),
name: "manage-layers", name: "manage-layers",
group: "manage", group: "manage",
visible:true,
disableOther: ["roamLine"] disableOther: ["roamLine"]
}, },
{ {
component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers1/index.vue"))), component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers1/index.vue"))),
name: "manage-layers1", name: "manage-layers1"
visible:true,
}, },
{ {
component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/layer-tree.vue"))), component: markRaw(defineAsyncComponent(() => import("@mars/widgets/basic/manage-layers/layer-tree.vue"))),

View File

@@ -62,7 +62,7 @@ watch(()=>props.warppers,(data)=>{
}) })
onMounted(() => { onMounted(() => {
resetTreeState()
initTree() initTree()
}) })
onUnmounted(() => { onUnmounted(() => {
@@ -74,9 +74,7 @@ onUnmounted(() => {
useLifecycle(mapWork) useLifecycle(mapWork)
currentWidget.onUpdate(() => { currentWidget.onUpdate(() => {
treeData.value = [] resetTreeState()
expandedKeys.value = []
checkedKeys.value = []
initTree() initTree()
}) })
@@ -90,6 +88,17 @@ const layersObj: any = {}
const opacityObj: any = reactive({}) 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 let lastWidget: any
const checkedChange = (keys: string[], e: any) => { const checkedChange = (keys: string[], e: any) => {
const layer = layersObj[e.node.id] const layer = layersObj[e.node.id]
@@ -237,7 +246,6 @@ function flyTo(item: any) {
} }
} }
const fatherLayer = []
function initTree() { function initTree() {
const layers = mapWork.getLayers() const layers = mapWork.getLayers()
console.log("layers1", JSON.stringify(layers)) console.log("layers1", JSON.stringify(layers))

View File

@@ -63,7 +63,7 @@ watch(()=>props.warppers,(data)=>{
}) })
onMounted(() => { onMounted(() => {
resetTreeState()
initTree() initTree()
}) })
onUnmounted(() => { onUnmounted(() => {
@@ -75,9 +75,7 @@ onUnmounted(() => {
useLifecycle(mapWork) useLifecycle(mapWork)
currentWidget.onUpdate(() => { currentWidget.onUpdate(() => {
treeData.value = [] resetTreeState()
expandedKeys.value = []
checkedKeys.value = []
initTree() initTree()
}) })
@@ -91,6 +89,17 @@ const layersObj: any = {}
const opacityObj: any = reactive({}) 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 let lastWidget: any
const checkedChange = (keys: string[], e: any) => { const checkedChange = (keys: string[], e: any) => {
const layer = layersObj[e.node.id] const layer = layersObj[e.node.id]
@@ -238,7 +247,6 @@ function flyTo(item: any) {
} }
} }
const fatherLayer = []
function initTree() { function initTree() {
const layers = mapWork.getLayers() const layers = mapWork.getLayers()
console.log("layers1", JSON.stringify(layers)) console.log("layers1", JSON.stringify(layers))