From 1e84774c0c0752c61e60592e7f7fc1c0d25a1dab Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期二, 27 十月 2020 16:38:48 +0800
Subject: [PATCH] 首页加入算法

---
 src/Pool/TreeData.ts |   41 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index d23f400..98708da 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -1,6 +1,7 @@
 import {
   getLocalCameraTree,
   getGB28181CameraTree,
+  getClusterTree,
   addAreaTreeData,
   delAreaTreeData,
   updateAreaTreeData,
@@ -16,9 +17,11 @@
 export default class TreeDataPool {
   public openeds: Array<boolean>;
   public treeData: Array<object>;
+  public clusterData: Array<object>;
   public gb28181Data: Array<object>;
   public treeDataPure: Array<object>;
   public gb28181DataPure: Array<object>;
+  public clusterDataPure: Array<object>;
   public videoArr: Array<string | undefined | object>;
   public searchCamType: number;
   public searchInput: string;
@@ -28,6 +31,7 @@
   public readonly: boolean;
   public gbReadonly: boolean;
   public multiple: boolean;
+  public searchFrom: string = '';
   public showTreeBox: boolean;
   public selectedNodes: Array<string>;
   public selectedNode: any;
@@ -64,8 +68,10 @@
     this.openeds = [true, true, false];
     this.treeData = [];
     this.gb28181Data = [];
+    this.clusterData = [];
     this.treeDataPure = [];
     this.gb28181DataPure = [];
+    this.clusterDataPure = [];
     this.videoArr = [""];
     this.searchCamType = 0;
     this.searchInput = "";
@@ -96,7 +102,6 @@
   }
 
   setVideoArr(index: number, value: object, vue: any): void {
-    debugger
     vue.$set(this.videoArr, index, value);
     this.activeForceChoose = false;
   }
@@ -107,7 +112,6 @@
       this.selectedNodes = [this.selectedNode.id];
       return;
     }
-
     let _selected = this.selectedNodes;
     function nodeFilter(node: any) {
       if (node.type === "4" && node.selected) {
@@ -126,6 +130,11 @@
     }
     if (this.selectedNode.cameraType === 1) {
       this.gb28181Data.forEach((n: any) => {
+        nodeFilter(n);
+      });
+    }
+    if (this.selectedNode.cameraType === -1) {
+      this.clusterData.forEach((n: any) => {
         nodeFilter(n);
       });
     }
@@ -287,10 +296,15 @@
   }
 
   async fetchLocalTree() {
-    const rsp: any = await getLocalCameraTree({
+    let params: any = {
       searchType: this.searchCamType,
-      cameraName: this.searchInput
-    });
+      cameraName: this.searchInput,
+      //isPlatform: 1
+    };
+    if (this.searchFrom == 'cluster') {
+      params.isPlatform = 1
+    }
+    const rsp: any = await getLocalCameraTree(params);
 
     if (rsp && rsp.success) {
       this.treeData = rsp.data ? rsp.data : []
@@ -302,6 +316,22 @@
       this.setDropDisable(this.treeData)
       this.treeDataPure = JSON.parse(JSON.stringify(this.treeData));
       this.isFold(this.treeData)
+    }
+  }
+
+  async fetchClusterTree() {
+    const rsp: any = await getClusterTree({
+      searchType: this.searchCamType,
+      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)
+      }
+      this.clusterDataPure = JSON.parse(JSON.stringify(this.clusterData));
+      this.isFold(this.clusterData)
     }
   }
 
@@ -329,6 +359,7 @@
     if (this.openeds[1]) {
       this.fetchGbTree()
     }
+
     this.findAllFile({})
   }
 

--
Gitblit v1.8.0