From c99cad106ef5be9f818e45d385dfdcec29ce19e5 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期四, 03 十二月 2020 16:52:24 +0800 Subject: [PATCH] 修复绘制多边形撤销错误的bug --- src/Pool/TreeData.ts | 106 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 75 insertions(+), 31 deletions(-) diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts index 0e77acd..7ab436f 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 = ""; @@ -106,8 +112,8 @@ this.selectedNodes = [this.selectedNode.id]; return; } - let _selected = this.selectedNodes; + console.log(this.selectedNodes) function nodeFilter(node: any) { if (node.type === "4" && node.selected) { _selected.push(node.id); @@ -119,20 +125,33 @@ } } if (this.selectedNode.cameraType === 0) { - this.treeData.forEach((n: any) => { - nodeFilter(n); - }); + //鎽勫儚鏈烘爲 + if(this.treeActiveName == "camera"){ + this.treeData.forEach((n: any) => { + nodeFilter(n); + }); + }else if(this.treeActiveName == "cluster"){ + //闆嗙兢鏍� + this.clusterData.forEach((n: any) => { + nodeFilter(n); + }); + } } if (this.selectedNode.cameraType === 1) { this.gb28181Data.forEach((n: any) => { nodeFilter(n); }); } + // if (this.selectedNode.cameraType === -1) { + // this.clusterData.forEach((n: any) => { + // nodeFilter(n); + // }); + // } } getCameraInfoByIp(ipaddr) { let camera = null; - + function nodeFilter(node: any) { if (node.rtsp && node.rtsp.indexOf(ipaddr) != -1) { camera = node; @@ -262,32 +281,66 @@ }) } - async fetchLocalTree() { - const rsp: any = await getLocalCameraTree({ - searchType: this.searchCamType, - cameraName: this.searchInput + sortTreeData(node) { + if (!node) { + return + } + node.sort(function (obj1: any, obj2: any) { + var val1 = obj1.name; + var val2 = obj2.name; + if (val1 < val2) { + return -1; + } else if (val1 > val2) { + return 1; + } else { + return 0; + } }); + + node.forEach(n => { + if (n.children && n.children.length > 0) { + this.sortTreeData(n.children) + } + }) + } + + async fetchLocalTree() { + let params: any = { + searchType: this.searchCamType, + 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 : [] if (this.treeData && this.treeData.length > 0) { - this.treeData.sort(function (obj1: any, obj2: any) { - var val1 = obj1.id; - var val2 = obj2.id; - if (val1 < val2) { - return -1; - } else if (val1 > val2) { - return 1; - } else { - return 0; - } - }); + this.sortTreeData(this.treeData) } // 璁剧疆绂佹鎷栨嫿鎽勫儚鏈哄埌鎽勫儚鏈鸿妭鐐� 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) } } @@ -300,17 +353,7 @@ if (rsp && rsp.success) { this.gb28181Data = rsp.data ? rsp.data : [] if (this.gb28181Data && this.gb28181Data.length > 0) { - this.gb28181Data.sort(function (obj1: any, obj2: any) { - var val1 = obj1.id; - var val2 = obj2.id; - if (val1 < val2) { - return -1; - } else if (val1 > val2) { - return 1; - } else { - return 0; - } - }); + this.sortTreeData(this.gb28181Data) } this.gb28181DataPure = JSON.parse(JSON.stringify(this.gb28181Data)); @@ -325,6 +368,7 @@ if (this.openeds[1]) { this.fetchGbTree() } + this.findAllFile({}) } -- Gitblit v1.8.0