Преглед на файлове

树形控件自动展开定位

duy преди 2 години
родител
ревизия
04e008893d
променени са 1 файла, в които са добавени 12 реда и са изтрити 2 реда
  1. 12 2
      src/views/file/collection.vue

+ 12 - 2
src/views/file/collection.vue

@@ -12,7 +12,7 @@
             </div>
             <div class="hc-tree-box" v-loading="treeLoading" element-loading-text="加载中...">
                 <el-scrollbar>
-                    <HcTree :projectId="projectId" :contractId="contractId" @nodeTap="projectTreeClick"  @nodeLoading="treeNodeLoading" ref="treeRef"/>
+                    <HcTree :projectId="projectId" :contractId="contractId" @nodeTap="projectTreeClick"  @nodeLoading="treeNodeLoading" ref="treeRef" :autoExpandKeys="treeAutoExpandKeys"    @menuTap="ElTreeMenuClick"/>
                 </el-scrollbar>
             </div>
             <!--左右拖动-->
@@ -371,6 +371,7 @@
 
 <script setup>
 import {useAppStore} from "~src/store";
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
 import {ref, watch, onMounted, nextTick } from "vue";
 import HcTree from "~src/components/tree/hc-tree.vue"
 import notableform from '~src/assets/view/notableform.svg';
@@ -483,7 +484,11 @@ const isBuiltDrawing = ref(0)
 const isStorageNode = ref(0)
 const nodeIds = ref('')
 const treecontractId=ref('')
+//自动展开缓存
+const treeAutoExpandKeys = ref(getStoreValue('wbsTreeExpandKeys') || [])
 const projectTreeClick = ({node, data, keys, key}) => {
+    setStoreValue('wbsTreeExpandKeys', keys)
+    treeAutoExpandKeys.value = keys || []
     nodeIds.value = data.id || '';
     isStorageNode.value = data['isStorageNode'] || 0;
     treecontractId.value=data?.contractId||''
@@ -496,7 +501,12 @@ const projectTreeClick = ({node, data, keys, key}) => {
     isBuiltDrawing.value=data.storageType
     getTableData()
 }
-
+//树菜单被点击
+const ElTreeMenuClick = async ({key, node, data, keys}) => {
+    setStoreValue('wbsTreeExpandKeys', keys)
+    treeAutoExpandKeys.value = keys || []
+ 
+}
 //回车搜索
 const keyUpEvent = (e) => {
     if (e.key === "Enter") {