From c0c034b3ef0fdf0fd9c802d5984dbd717db6817a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期三, 06 九月 2023 17:54:55 +0800 Subject: [PATCH] 定制桌面. --- src/Pool/TreeData.ts | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts index 4d5c6a5..ca94c10 100644 --- a/src/Pool/TreeData.ts +++ b/src/Pool/TreeData.ts @@ -5,8 +5,10 @@ addAreaTreeData, delAreaTreeData, updateAreaTreeData, + getGb28181Pool, refreshGB28181Tree, - updateCameraArea + updateCameraArea, + getCameraBaseImage } from '@/api/area' export default class TreeDataPool { @@ -57,6 +59,11 @@ // 鎬绘憚鍍忔満涓暟 public gb28181ChildNodeCount: number + // 鍥芥爣鎽勫儚鏈烘睜鐨勫簳鍥� + public cameraNameForBaseImage: string + public gb28181CameraBaseImage: string + public baseImageLoading: boolean + constructor() { this.openeds = [true, true, false] this.activeTreeData = [] @@ -91,6 +98,10 @@ this.checkedTreeNode = [] this.gb28181CheckedCount = 0 this.gb28181ChildNodeCount = 0 + + this.cameraNameForBaseImage = "" + this.gb28181CameraBaseImage = "" + this.baseImageLoading = false } setVideoArr(index: number, value: object, vue: any): void { @@ -104,6 +115,7 @@ this.selectedNodes = [this.selectedNode.id] return } + let _selected = this.selectedNodes function nodeFilter(node: any) { if (node.type === '4' && node.selected) { @@ -115,6 +127,7 @@ }) } } + if (this.selectedNode.cameraType === 0) { //鎽勫儚鏈烘爲 if (this.treeActiveName == 'camera') { @@ -128,6 +141,7 @@ }) } } + if (this.selectedNode.cameraType === 1) { this.gb28181Data.forEach((n: any) => { nodeFilter(n) @@ -148,9 +162,14 @@ return } + let ids = [] function nodeFilter(node: any) { if (node.type === '4' && (node.selected || node.checked)) { - _this.selectedNodes.push(node.id) + if (ids.indexOf(node.id) < 0) { + _this.selectedNodes.push(node.id) + + ids.push(node.id) + } } if (node.children) { node.children.forEach((n: any) => { @@ -452,8 +471,12 @@ return arry.length } - async fetchVideosvrCameras() { - const rsp: any = await refreshGB28181Tree() + async fetchVideosvrCameras(update: Boolean) { + let fn = getGb28181Pool + if (update) { + fn = refreshGB28181Tree + } + const rsp: any = await fn() if (rsp && rsp.success) { this.selectedNode = {} @@ -503,4 +526,22 @@ return newTree } + + async showBaseImage(node: any) { + this.baseImageLoading = true + this.gb28181CameraBaseImage = "" + this.cameraNameForBaseImage = node.name + + try { + const rsp: any = await getCameraBaseImage({ id: node.id }) + + if (rsp && rsp.data) { + this.gb28181CameraBaseImage = rsp.data + } + } catch (error) { + console.log(error) + } + + this.baseImageLoading = false + } } -- Gitblit v1.8.0