From 98a6297b10a4b97c3022f84d3ba7908c178d9ee0 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期二, 20 十月 2020 10:30:10 +0800 Subject: [PATCH] 应用中心安装提示bug修复 --- src/Pool/TreeData.ts | 76 ++++++++++++++++++++++++++------------ 1 files changed, 52 insertions(+), 24 deletions(-) diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts index 22ad3a2..2008d98 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; @@ -64,8 +67,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 +101,6 @@ } setVideoArr(index: number, value: object, vue: any): void { - debugger vue.$set(this.videoArr, index, value); this.activeForceChoose = false; } @@ -107,7 +111,6 @@ this.selectedNodes = [this.selectedNode.id]; return; } - let _selected = this.selectedNodes; function nodeFilter(node: any) { if (node.type === "4" && node.selected) { @@ -126,6 +129,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); }); } @@ -263,6 +271,29 @@ }) } + 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() { const rsp: any = await getLocalCameraTree({ searchType: this.searchCamType, @@ -272,23 +303,29 @@ 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) } } @@ -301,17 +338,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)); @@ -326,6 +353,7 @@ if (this.openeds[1]) { this.fetchGbTree() } + this.findAllFile({}) } -- Gitblit v1.8.0