From ccee429d379e0108b7445f72ade8d97c110a6fb3 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期二, 09 十一月 2021 18:01:59 +0800
Subject: [PATCH] 问题修复

---
 src/components/giantTree/index.vue |   54 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 9 deletions(-)

diff --git a/src/components/giantTree/index.vue b/src/components/giantTree/index.vue
index 02f194a..d0a15dc 100644
--- a/src/components/giantTree/index.vue
+++ b/src/components/giantTree/index.vue
@@ -5,6 +5,7 @@
       :show-checkbox="TreeDataPool.multiple"
       :readonly="TreeDataPool.readonly"
       :gb28181="gb28181"
+      :setting="setting"
       @onCreated="handleCreated"
       @onClick="itemClick"
       @onCheck="itemCheck"
@@ -16,6 +17,7 @@
       @onImport="importCameras"
       @onExpand="itemExpand"
       @onCollapse="itemCollapse"
+      @onShowPic="showCameraPic"
     />
     <div class="dialog-box-bg" v-show="showDialog" @click="hideDialogBox"></div>
     <div
@@ -66,7 +68,14 @@
     height: {
       type: Number,
       default: 0
-    }
+    },
+    setting: {
+      type: Object,
+      require: false,
+      default: function () {
+        return {};
+      },
+    },
   },
   data() {
     return {
@@ -83,6 +92,7 @@
           { min: 2, max: 10, message: "闀垮害鍦�2鍒�10涓瓧", trigger: "change" }
         ]
       },
+      curNodeTid: '',
     };
   },
   created() {
@@ -102,8 +112,8 @@
   },
   methods: {
     handleCreated: function (ztreeObj) {
+      let _this = this;
       this.ztreeObj = ztreeObj;
-      debugger
       // console.log("handleCreated")
       // onCreated 涓搷浣渮treeObj瀵硅薄灞曞紑绗竴涓妭鐐�
       // ztreeObj.expandNode(ztreeObj.getNodes()[0], true);
@@ -112,11 +122,14 @@
       if (this.TreeDataPool.selectedNode.id) {
         // 鍙栨秷鎵�鏈夊閫夌殑鑺傜偣,浠呬繚鐣欏綋鍓嶅崟閫夌殑鑺傜偣
         this.TreeDataPool.selectedNodes = [this.TreeDataPool.selectedNode.id]
-
-        let node = this.ztreeObj.getNodeByTId(this.TreeDataPool.selectedNode.tId)
+        this.curNodeTid = this.TreeDataPool.selectedNode.tId;
         //鎽勫儚鏈轰俊鎭洿鏂颁俊鎭悗锛屽鏋滆妭鐐逛綅缃湁鍙榯Id灏变笉鍑嗕簡,this.TreeDataPool.selectedNode姝ゆ椂杩樻槸鏃х殑淇℃伅
-        console.log('selecBode',this.TreeDataPool.selectedNode)
-        console.log('selectedNode.tId',this.TreeDataPool.selectedNode.tId,)
+        let ztreeNodes = ztreeObj.getNodes();
+        //var curNodeTid = '';
+        _this.findTidByIdFromArr(ztreeNodes);
+        this.TreeDataPool.selectedNode.tId = _this.curNodeTid;
+        let node = this.ztreeObj.getNodeByTId(this.TreeDataPool.selectedNode.tId)
+
         // 澶氶�夋椂, 閫変腑鍗曢�夊崟鍑荤殑鑺傜偣
         if (this.TreeDataPool.multiple) {
           this.ztreeObj.checkAllNodes(false);
@@ -125,6 +138,21 @@
 
         this.ztreeObj.selectNode(node, false, true)
       }
+    },
+
+    findTidByIdFromArr(arr) {
+      let len = arr.length;
+      let _this = this;
+      for (var i = 0; i < len; i++) {
+        if (arr[i].id == this.TreeDataPool.selectedNode.id) {
+          _this.curNodeTid = arr[i].tId;
+          break;
+        }
+        if (arr[i].children) {
+          this.findTidByIdFromArr(arr[i].children);
+        }
+      }
+
     },
     onDblClick(evt, treeId, item) {
       if (item.type !== "4" || this.app !== "Camera") {
@@ -244,7 +272,6 @@
       this.showDialog = true;
     },
     itemClick(evt, treeId, treeNode) {
-      console.log(evt,treeId)
 
       this.TreeDataPool.selectedNode = treeNode;
       this.TreeDataPool.treeType = this.treeName;
@@ -279,18 +306,27 @@
       // this.ztreeObj.checkNode(treeNode, true, false, false);
       let checkedNodes = this.ztreeObj.getCheckedNodes(true);
       this.TreeDataPool.updateZTreeCheckNodes(checkedNodes);
+
+      // 瀹炴椂缁熻閫変腑涓暟
+      this.TreeDataPool.countCheckedNodes(checkedNodes);
+
+      // 淇濆瓨涓�浠芥暟鎹�
+      this.TreeDataPool.activeTreeData = this.ztreeObj.getNodes()
     },
     //灞曞紑
     itemExpand(e, id, node) {
-      this.TreeDataPool.foldNodeList[node.id] = true
+      delete this.TreeDataPool.foldNodeList[node.id]
     },
     // 鎶樺彔
     itemCollapse(e, id, node) {
-      delete this.TreeDataPool.foldNodeList[node.id]
+      this.TreeDataPool.foldNodeList[node.id] = true
     },
     dropNode(node, item, draggedItem, e) {
       // console.log('dropNode', node, item, draggedItem);
       this.TreeDataPool.dropNode(draggedItem.id, item.id)
+    },
+    showCameraPic(nodeId) {
+      this.TreeDataPool.showBaseImage(nodeId)
     }
   }
 };

--
Gitblit v1.8.0