|
@@ -7,11 +7,12 @@
|
|
|
</div>
|
|
|
<div class="controls-tree">
|
|
|
<a-directory-tree
|
|
|
+ v-if="treeData.length"
|
|
|
checkable
|
|
|
:tree-data="treeData"
|
|
|
:selectable="false"
|
|
|
v-model:checkedKeys="checkedKeys"
|
|
|
- :defaultExpandAll="true"
|
|
|
+ :defaultExpandAll="defaultExpandAll"
|
|
|
@check="onCheck"
|
|
|
>
|
|
|
<template #title="item">
|
|
@@ -22,6 +23,7 @@
|
|
|
v-if="item.isLeaf && item.isFlyTo"
|
|
|
@click="handleModelPos($event, item)"
|
|
|
></span>
|
|
|
+ <span class="edit-btn" v-if="item?.isEdit" title="矢量数据维护" @click="editVector(item)"></span>
|
|
|
</template>
|
|
|
</a-directory-tree>
|
|
|
</div>
|
|
@@ -52,15 +54,9 @@ export default defineComponent({
|
|
|
setup(_, { emit }) {
|
|
|
const panelStore = usePanelStore();
|
|
|
const activeMenu = ref(panelStore.activeMenu);
|
|
|
- const treeData = ref([
|
|
|
- {
|
|
|
- title: '图层管理',
|
|
|
- key: 'all',
|
|
|
- disabled: true,
|
|
|
- children: [],
|
|
|
- },
|
|
|
- ]);
|
|
|
+ const treeData = ref([]);
|
|
|
const checkedKeys = ref([]);
|
|
|
+ const defaultExpandAll = ref(false);
|
|
|
watch(
|
|
|
() => panelStore.activeMenu,
|
|
|
(val) => {
|
|
@@ -96,7 +92,7 @@ export default defineComponent({
|
|
|
|
|
|
/**
|
|
|
* 递归生成树形结构数据
|
|
|
- */
|
|
|
+ */
|
|
|
function buildTreeRecursively(list, uper = null) {
|
|
|
return list
|
|
|
.filter((item) => (uper ? item.uper === uper : !item?.uper))
|
|
@@ -105,11 +101,13 @@ export default defineComponent({
|
|
|
children: buildTreeRecursively(list, item.key),
|
|
|
}));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 图层配置
|
|
|
- */
|
|
|
+ */
|
|
|
const setLayerConfig = () => {
|
|
|
+ treeData.value = [];
|
|
|
+ defaultExpandAll.value = false;
|
|
|
let { layerView, layerControl } = threeMapConfig;
|
|
|
let config = null;
|
|
|
switch (activeMenu.value) {
|
|
@@ -144,8 +142,16 @@ export default defineComponent({
|
|
|
});
|
|
|
//treeData.value[0].children = toTree(JSON.parse(JSON.stringify(layers)));
|
|
|
//生成树结构
|
|
|
- treeData.value[0].children = buildTreeRecursively(layers);
|
|
|
+ treeData.value = buildTreeRecursively(layers);
|
|
|
+ defaultExpandAll.value = true;
|
|
|
};
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑数据集
|
|
|
+ */
|
|
|
+ const editVector = (vector)=> {
|
|
|
+ let { key , title } = vector
|
|
|
+ }
|
|
|
|
|
|
onMounted(() => {
|
|
|
setLayerConfig();
|
|
@@ -210,13 +216,14 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
return {
|
|
|
- // right,
|
|
|
+ defaultExpandAll,
|
|
|
activeMenu,
|
|
|
treeData,
|
|
|
checkedKeys,
|
|
|
onCheck,
|
|
|
buildTreeRecursively,
|
|
|
handleModelPos,
|
|
|
+ editVector,
|
|
|
};
|
|
|
},
|
|
|
});
|
|
@@ -310,6 +317,14 @@ export default defineComponent({
|
|
|
background: url('/@/assets/images/pos.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+ .edit-btn {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ height: 16px;
|
|
|
+ width: 16px;
|
|
|
+ background: url('/@/assets/images/mapTools/edit-b.png') no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
}
|
|
|
span {
|
|
|
color: #fff;
|