Browse Source

刷新后树形控件定位

duy 2 years ago
parent
commit
7da58735f9

+ 37 - 0
src/views/manager/archivetree.vue

@@ -35,6 +35,9 @@
                         :props="props"
                         :load="loadNode"
                         node-key="id"
+                        :default-expanded-keys="defaultExpandedKeys"
+                        :current-node-key="curreenttid"
+                        @node-click="nodeClick"
                         lazy >
                         <span
                         class="custom-tree-node flexStar"
@@ -96,6 +99,7 @@
                       ref="trees2"
                       :default-expand-all="true"
                       :filter-node-method="filterNode"
+                      :current-node-key="curreenttid"
                     >
                       <span
                         class="custom-tree-node flexStar"
@@ -758,6 +762,7 @@ import {getWbsList} from "@/api/manager/wbsinfo";
 import { getToken } from '@/util/auth';
 import { roletree } from "@/api/system/role.js";
 import logoVue from '../../page/index/logo.vue';
+import { getStore, setStore } from "@/util/store";
 export default {
   components: {
     ManualSorting,
@@ -1034,6 +1039,9 @@ export default {
       menuvisible:false,
       menuleft:20,
       menutop:0,
+      defaultExpandedKeys:[],
+      expandName: this.$route.fullPath,
+      curreenttid:''
      
     }
   },
@@ -1263,6 +1271,30 @@ export default {
       if (!data.moreShow) {
         this.$set(data, 'moreShow', true)
       }
+    },
+      //获取节点展开路径
+    getExpandedKeys(node) {
+      //console.log(node)
+      let expandedKeys = [];
+      while (node.parent) {
+        expandedKeys.push(node.data.id);
+        node = node.parent;
+      }
+      setStore({
+        name: this.expandName,
+        content: expandedKeys,
+        type: true, //sessionStorage
+      });
+      //console.log(expandedKeys)
+    },
+    nodeClick(data,node){
+       //获取节点展开路径
+       this.getExpandedKeys(node);
+       setStore({
+        name: 'curreenttid',
+        content: data.id,
+        type: true, //sessionStorage
+      });
     },
     addtree (data, node) {//添加树
       console.log(data);
@@ -1807,6 +1839,8 @@ export default {
 
     },
     menuClick(e,item,data,node){
+       //获取节点展开路径
+       this.getExpandedKeys(node);
        this.menuKey=''
         e.preventDefault();
         if(item.key==='add'){
@@ -1851,6 +1885,9 @@ export default {
       nodeType: 2,
       projectId:0
     })
+    this.defaultExpandedKeys = getStore({ name: this.expandName });
+    this.curreenttid= getStore({ name:'curreenttid' });
+    console.log( this.curreenttid,' this.curreenttid');
     this.archiveTreetree4()//全加载左侧树
 
     this.getWbsList();

+ 38 - 1
src/views/manager/projectinfo/archivetreeRule.vue

@@ -33,6 +33,9 @@
                         :props="props"
                         :load="loadNode"
                         node-key="id"
+                        :default-expanded-keys="defaultExpandedKeys"
+                        :current-node-key="curreenttid"
+                        @node-click="nodeClick"
                         lazy >
                         <span
                         class="custom-tree-node flexStar"
@@ -98,13 +101,15 @@
 
                       <el-tree
                       v-show="filterText"
-                      :default-expanded-keys='defaultExpanded'
                       :props="props"
                       :data="data"
                       node-key="id"
                       ref="trees2"
                       :default-expand-all="true"
                       :filter-node-method="filterNode"
+                      :default-expanded-keys="defaultExpandedKeys"
+                      :current-node-key="curreenttid"
+                       @node-click="nodeClick"
                     >
                     
                          <span
@@ -755,6 +760,7 @@ import {getWbsList} from "@/api/manager/wbsinfo";
 import { getToken } from '@/util/auth';
 import { roletree } from "@/api/system/role.js";
 // import logoVue from '../../page/index/logo.vue';
+import { getStore, setStore } from "@/util/store";
 export default {
   components: {
     ManualSorting,
@@ -1033,6 +1039,9 @@ export default {
       menuvisible:false,
       menuleft:20,
       menutop:0,
+      defaultExpandedKeys:[],
+      expandName: this.$route.fullPath,
+      curreenttid:''
     }
   },
   computed:{
@@ -1253,6 +1262,30 @@ export default {
       if (!data.moreShow) {
         this.$set(data, 'moreShow', true)
       }
+    },
+         //获取节点展开路径
+    getExpandedKeys(node) {
+      //console.log(node)
+      let expandedKeys = [];
+      while (node.parent) {
+        expandedKeys.push(node.data.id);
+        node = node.parent;
+      }
+      setStore({
+        name: this.expandName,
+        content: expandedKeys,
+        type: true, //sessionStorage
+      });
+      //console.log(expandedKeys)
+    },
+    nodeClick(data,node){
+       //获取节点展开路径
+       this.getExpandedKeys(node);
+       setStore({
+        name: 'curreenttid',
+        content: data.id,
+        type: true, //sessionStorage
+      });
     },
     addtree (data, node) {//添加树
       console.log(data);
@@ -1813,6 +1846,8 @@ export default {
     },
     menuClick(e,item,data,node){
        this.menuKey=''
+         //获取节点展开路径
+         this.getExpandedKeys(node);
         e.preventDefault();
         if(item.key==='add'){
           if(data.isStorageNode!=1){
@@ -1859,6 +1894,8 @@ export default {
     this.token = 'bearer ' + getToken()
 
     this.projectId = this.$route.query.projectId;
+    this.defaultExpandedKeys = getStore({ name: this.expandName });
+    this.curreenttid= getStore({ name:'curreenttid' });
 
     this.archiveTreetree({
       token: this.token,