From 3db7e74be3bf1c4c239def25b51ba58acf5e2598 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期二, 09 十一月 2021 15:47:02 +0800
Subject: [PATCH] 问题解决

---
 src/components/giantTree/index.vue |   64 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 5 deletions(-)

diff --git a/src/components/giantTree/index.vue b/src/components/giantTree/index.vue
index 09e5bdc..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 {
@@ -82,7 +91,8 @@
           { required: true, message: "璇疯緭鍏ヨ妭鐐瑰悕绉�", trigger: "change" },
           { min: 2, max: 10, message: "闀垮害鍦�2鍒�10涓瓧", trigger: "change" }
         ]
-      }
+      },
+      curNodeTid: '',
     };
   },
   created() {
@@ -102,6 +112,7 @@
   },
   methods: {
     handleCreated: function (ztreeObj) {
+      let _this = this;
       this.ztreeObj = ztreeObj;
       // console.log("handleCreated")
       // onCreated 涓搷浣渮treeObj瀵硅薄灞曞紑绗竴涓妭鐐�
@@ -111,7 +122,12 @@
       if (this.TreeDataPool.selectedNode.id) {
         // 鍙栨秷鎵�鏈夊閫夌殑鑺傜偣,浠呬繚鐣欏綋鍓嶅崟閫夌殑鑺傜偣
         this.TreeDataPool.selectedNodes = [this.TreeDataPool.selectedNode.id]
-
+        this.curNodeTid = this.TreeDataPool.selectedNode.tId;
+        //鎽勫儚鏈轰俊鎭洿鏂颁俊鎭悗锛屽鏋滆妭鐐逛綅缃湁鍙榯Id灏变笉鍑嗕簡,this.TreeDataPool.selectedNode姝ゆ椂杩樻槸鏃х殑淇℃伅
+        let ztreeNodes = ztreeObj.getNodes();
+        //var curNodeTid = '';
+        _this.findTidByIdFromArr(ztreeNodes);
+        this.TreeDataPool.selectedNode.tId = _this.curNodeTid;
         let node = this.ztreeObj.getNodeByTId(this.TreeDataPool.selectedNode.tId)
 
         // 澶氶�夋椂, 閫変腑鍗曢�夊崟鍑荤殑鑺傜偣
@@ -122,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") {
@@ -241,6 +272,7 @@
       this.showDialog = true;
     },
     itemClick(evt, treeId, treeNode) {
+
       this.TreeDataPool.selectedNode = treeNode;
       this.TreeDataPool.treeType = this.treeName;
 
@@ -253,6 +285,19 @@
 
       this.TreeDataPool.updateZTreeCheckNodes([treeNode]);
     },
+    // itemClick(treeNode) {
+    //   this.TreeDataPool.selectedNode = treeNode;
+    //   this.TreeDataPool.treeType = this.treeName;
+
+    //   // 澶氶��
+    //   if (this.TreeDataPool.multiple) {
+    //     // 鍗曞嚮鏌愪竴涓妭鐐规枃瀛楁椂 鍙栨秷鎵�鏈夊嬀閫夌姸鎬� 鐒跺悗閫変腑鑷韩
+    //     this.ztreeObj.checkAllNodes(false);
+    //     this.ztreeObj.checkNode(treeNode, true, false, false);
+    //   }
+
+    //   this.TreeDataPool.updateZTreeCheckNodes([treeNode]);
+    // },
     itemCheck(evt, treeId, treeNode) {
       this.TreeDataPool.selectedNode = treeNode;
       this.TreeDataPool.treeType = this.treeName;
@@ -261,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