From 0175cda6150656bc74b34c6f6c71edd1e1fc653c Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期四, 04 二月 2021 18:22:54 +0800
Subject: [PATCH] treee, 修复tab切换时树的选中状态.添加区域

---
 src/components/giantTree/zTree/ztree.vue |    3 ++-
 src/Pool/TreeData.ts                     |    2 --
 src/components/giantTree/index.vue       |   21 ++++++++++++++++++++-
 3 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index e0b9b0d..6984c74 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -112,7 +112,6 @@
       return
     }
     let _selected = this.selectedNodes
-    console.log(this.selectedNodes)
     function nodeFilter(node: any) {
       if (node.type === '4' && node.selected) {
         _selected.push(node.id)
@@ -362,7 +361,6 @@
       cameraName: this.searchInput
     })
     if (rsp && rsp.success) {
-      console.log(rsp.data)
       this.clusterData = rsp.data ? rsp.data : []
       if (this.clusterData && this.clusterData.length > 0) {
         this.sortTreeData(this.clusterData)
diff --git a/src/components/giantTree/index.vue b/src/components/giantTree/index.vue
index b1aa707..09e5bdc 100644
--- a/src/components/giantTree/index.vue
+++ b/src/components/giantTree/index.vue
@@ -5,9 +5,11 @@
       :show-checkbox="TreeDataPool.multiple"
       :readonly="TreeDataPool.readonly"
       :gb28181="gb28181"
+      @onCreated="handleCreated"
       @onClick="itemClick"
       @onCheck="itemCheck"
       @onDblClick="onDblClick"
+      @onAddNode="addNode"
       @onRemoveNode="delNode"
       @onRenameNode="editNode"
       @onAddDevice="addCamera"
@@ -101,8 +103,25 @@
   methods: {
     handleCreated: function (ztreeObj) {
       this.ztreeObj = ztreeObj;
+      // console.log("handleCreated")
       // onCreated 涓搷浣渮treeObj瀵硅薄灞曞紑绗竴涓妭鐐�
       // ztreeObj.expandNode(ztreeObj.getNodes()[0], true);
+
+      // 鎽勫儚鏈洪厤缃垏鎹㈡椂, 璁剧疆閫変腑鐘舵��
+      if (this.TreeDataPool.selectedNode.id) {
+        // 鍙栨秷鎵�鏈夊閫夌殑鑺傜偣,浠呬繚鐣欏綋鍓嶅崟閫夌殑鑺傜偣
+        this.TreeDataPool.selectedNodes = [this.TreeDataPool.selectedNode.id]
+
+        let node = this.ztreeObj.getNodeByTId(this.TreeDataPool.selectedNode.tId)
+
+        // 澶氶�夋椂, 閫変腑鍗曢�夊崟鍑荤殑鑺傜偣
+        if (this.TreeDataPool.multiple) {
+          this.ztreeObj.checkAllNodes(false);
+          this.ztreeObj.checkNode(node, true, false, false);
+        }
+
+        this.ztreeObj.selectNode(node, false, true)
+      }
     },
     onDblClick(evt, treeId, item) {
       if (item.type !== "4" || this.app !== "Camera") {
@@ -169,7 +188,7 @@
     importCameras(node) {
       this.$emit("import", node);
     },
-    addNode(event, node) {
+    addNode(node) {
       this.dialogForm = {
         text: "",
         method: "add",
diff --git a/src/components/giantTree/zTree/ztree.vue b/src/components/giantTree/zTree/ztree.vue
index b8f620f..20e1a14 100644
--- a/src/components/giantTree/zTree/ztree.vue
+++ b/src/components/giantTree/zTree/ztree.vue
@@ -121,6 +121,7 @@
         this.ztreeSetting.check.enable = this.showCheckbox;
 
         if (this.ztreeObj) {
+          this.list = this.ztreeObj.getNodes();
           this.ztreeObj.destroy();
         }
         this.$nextTick(() => {
@@ -150,7 +151,7 @@
         btn.addEventListener('click', (e) => {
           e.stopPropagation()
           // this.clickRemove(treeNode)
-          _vue.$emit("addNode", treeNode);
+          _vue.$emit("onAddNode", treeNode);
         })
 
         item.appendChild(btn);

--
Gitblit v1.8.0