zhangzengfei
2023-09-06 c0c034b3ef0fdf0fd9c802d5984dbd717db6817a
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
  }
}