Browse Source

Merge branch 'feature-v1.0.0' of ssh://gitlab.datameta.com:2224/project/water/data-board-2025 into feature-v1.0.0

feature-v1.0.0
邱伟洋 1 month ago
parent
commit
aff76ee138
  1. 8
      src/views/BottomPanel/index.vue
  2. 41
      src/views/Main/Map/components/LayerTree.vue
  3. 1
      src/views/Main/ProjectOperation/index.vue

8
src/views/BottomPanel/index.vue

@ -32,13 +32,7 @@ const layerData: any = computed(() => {
}); });
const selectedKeys = computed(() => projectStore.selectedLayerKeys); const selectedKeys = computed(() => projectStore.selectedLayerKeys);
function handleChangeLayer(item: any) { function handleChangeLayer(item: any) {
if (activeLayers.value.includes(item.id)) { window.$bus.$emit("change-layer", item);
activeLayers.value = activeLayers.value.filter((id: any) => id !== item.id);
// projectStore.setLayerVisibility(item.id, false);
} else {
activeLayers.value.push(item.id);
// projectStore.setLayerVisibility(item.id, true);
}
} }
</script> </script>

41
src/views/Main/Map/components/LayerTree.vue

@ -1,9 +1,5 @@
<template> <template>
<SyDialog <SyDialog dialog-class="layer-tree-dialog" :dialog-show="showDialog" :style="style">
dialog-class="layer-tree-dialog"
:dialog-show="showDialog"
:style="style"
>
<template #body> <template #body>
<Tree <Tree
ref="layerTreeRef" ref="layerTreeRef"
@ -22,11 +18,7 @@
<template v-slot:default="{ data, onMouseoverTip }"> <template v-slot:default="{ data, onMouseoverTip }">
<div class="item-name"> <div class="item-name">
<div class="icon"> <div class="icon">
<img <img v-if="data && !data.iconCls" src="@/assets/map/icon-layer.png" alt="" />
v-if="data && !data.iconCls"
src="@/assets/map/icon-layer.png"
alt=""
/>
<img v-else src="@/assets/map/icon-folder.png" alt="" /> <img v-else src="@/assets/map/icon-folder.png" alt="" />
</div> </div>
<span class="name" @mouseover="onMouseoverTip($event)"> <span class="name" @mouseover="onMouseoverTip($event)">
@ -35,11 +27,7 @@
</div> </div>
</template> </template>
<template v-slot:right="{ data }"> <template v-slot:right="{ data }">
<span <span class="btn-item" v-if="data && !data.iconCls" @click.stop="flyTo(data)">
class="btn-item"
v-if="data && !data.iconCls"
@click.stop="flyTo(data)"
>
<iconpark-icon size="16" name="location"></iconpark-icon> <iconpark-icon size="16" name="location"></iconpark-icon>
</span> </span>
</template> </template>
@ -49,14 +37,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { import { ref, watch, computed, nextTick, onMounted, onBeforeUnmount } from "vue";
ref,
watch,
computed,
nextTick,
onMounted,
onBeforeUnmount,
} from "vue";
import SyDialog from "@/components/Dialog/index.vue"; import SyDialog from "@/components/Dialog/index.vue";
import { useProjectStore } from "@/store/modules/project"; import { useProjectStore } from "@/store/modules/project";
import { useLayer } from "@/hooks/web/useProject"; import { useLayer } from "@/hooks/web/useProject";
@ -118,6 +99,13 @@ const handleCheckChange = (data: any, checkedData: any) => {
} }
}; };
const layerChange = (data: any) => {
const node = layerTreeRef.value?.getNode(data.id);
node.checked = !node.checked;
const checkedKeys = layerTreeRef.value?.getCheckedKeys();
handleCheckChange(data, { checkedKeys });
};
watch( watch(
() => sceneConfig.value, () => sceneConfig.value,
(val) => { (val) => {
@ -133,10 +121,15 @@ watch(
}, 500); }, 500);
}); });
} }
} },
); );
onMounted(() => {
window.$bus.$on("change-layer", layerChange);
});
onBeforeUnmount(() => { onBeforeUnmount(() => {
window.$bus.$off("change-layer");
removeViewerClick(); removeViewerClick();
}); });
</script> </script>

1
src/views/Main/ProjectOperation/index.vue

@ -56,7 +56,6 @@ watch(
() => props.data, () => props.data,
(val) => { (val) => {
if (val) { if (val) {
debugger;
resCode.value = val.code; resCode.value = val.code;
} }
}, },

Loading…
Cancel
Save