From 649a012bd1f445afd51e3aad8e137d43c36434e0 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 05 八月 2022 11:48:21 +0800
Subject: [PATCH] 检索导出添加组织字段

---
 src/views/hashrate/CameraManage/CameraInfo/index.vue |  438 ++++++++++++++++--------------------------
 src/Pool/TreeData.ts                                 |  114 ++++++-----
 src/views/search/Searching.vue                       |   22 +
 3 files changed, 245 insertions(+), 329 deletions(-)

diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index 1ff4151..16b1ca3 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -9,9 +9,9 @@
   refreshGB28181Tree,
   updateCameraArea,
   getCameraBaseImage
-} from '@/api/area'
+} from "@/api/area"
 
-import {getClusterDevList} from '@/api/clusterManage'
+import { getClusterDevList } from "@/api/clusterManage"
 
 export default class TreeDataPool {
   public openeds: Array<boolean>
@@ -32,7 +32,7 @@
   public readonly: boolean
   public gbReadonly: boolean
   public multiple: boolean
-  public searchFrom: string = ''
+  public searchFrom: string = ""
   public showTreeBox: boolean
   public selectedNodes: Array<string>
   public selectedNode: any
@@ -70,6 +70,8 @@
   public clusterId: string
   public devId: string
 
+  // 璁板綍鎽勫儚鏈烘墍灞炵殑鐖惰妭鐐瑰悕绉�
+  public cameraParents: object
 
   constructor() {
     this.openeds = [true, true, false]
@@ -80,11 +82,11 @@
     this.treeDataPure = []
     this.gb28181DataPure = []
     this.clusterDataPure = []
-    this.videoArr = ['']
+    this.videoArr = [""]
     this.searchCamType = 0
-    this.searchInput = ''
-    this.activeVideoIndex = ''
-    this.activeVideoId = ''
+    this.searchInput = ""
+    this.activeVideoIndex = ""
+    this.activeVideoId = ""
     this.activeForceChoose = false
     this.showTreeBox = true
     this.readonly = true
@@ -92,15 +94,15 @@
     this.multiple = false
     this.selectedNodes = []
     this.selectedNode = {}
-    this.treeType = ''
+    this.treeType = ""
     this.foldNodeList = {}
-    this.treeActiveName = 'camera'
+    this.treeActiveName = "camera"
     this.searchLocalType = 0
 
     //1:鏆傚仠鐘舵�侊紱2锛氱瓑寰呯姸鎬�;3:缃伆
-    this.btnStaus = '3'
-    this.ctrlCameraId = ''
-    this.ctrlCameraName = ''
+    this.btnStaus = "3"
+    this.ctrlCameraId = ""
+    this.ctrlCameraName = ""
     this.zTree = false
     this.checkedTreeNode = []
     this.gb28181CheckedCount = 0
@@ -109,13 +111,11 @@
     this.cameraNameForBaseImage = ""
     this.gb28181CameraBaseImage = ""
     this.baseImageLoading = false
-    this.activeNode = ''
-    this.clusterId = ''
-    this.devId = ''
-
-
+    this.activeNode = ""
+    this.clusterId = ""
+    this.devId = ""
+    this.cameraParents = {}
   }
-
 
   setVideoArr(index: number, value: object, vue: any): void {
     vue.$set(this.videoArr, index, value)
@@ -130,9 +130,9 @@
     }
     let _selected = this.selectedNodes
     function nodeFilter(node: any) {
-      if (node.type === '4' && node.selected) {
+      if (node.type === "4" && node.selected) {
         _selected.push(node.id)
-        sessionStorage.setItem('cameraDevId',node.devId)
+        sessionStorage.setItem("cameraDevId", node.devId)
       }
       if (node.children) {
         node.children.forEach((n: any) => {
@@ -142,11 +142,11 @@
     }
     if (this.selectedNode.cameraType === 0) {
       //鎽勫儚鏈烘爲
-      if (this.treeActiveName == 'camera') {
+      if (this.treeActiveName == "camera") {
         this.treeData.forEach((n: any) => {
           nodeFilter(n)
         })
-      } else if (this.treeActiveName == 'cluster') {
+      } else if (this.treeActiveName == "cluster") {
         //闆嗙兢鏍�
         this.clusterData.forEach((n: any) => {
           nodeFilter(n)
@@ -174,8 +174,8 @@
     }
 
     function nodeFilter(node: any) {
-      if (node.type === '4' && (node.selected || node.checked)) {
-      sessionStorage.setItem("cameraDevId", node.devId);
+      if (node.type === "4" && (node.selected || node.checked)) {
+        sessionStorage.setItem("cameraDevId", node.devId)
         _this.selectedNodes.push(node.id)
       }
       if (node.children) {
@@ -247,7 +247,7 @@
   }
 
   getParent(id: string, isGB: boolean): string {
-    let parent = '0'
+    let parent = "0"
 
     function nodeFilter(node: Array<any>): any {
       for (let i = 0; i < node.length; i++) {
@@ -283,10 +283,10 @@
   }
 
   cleanTree(tree) {
-    if (tree === 'localTree') {
+    if (tree === "localTree") {
       this.treeData = JSON.parse(JSON.stringify(this.treeDataPure))
     }
-    if (tree === 'gb28182Tree') {
+    if (tree === "gb28182Tree") {
       this.gb28181Data = JSON.parse(JSON.stringify(this.gb28181DataPure))
     }
   }
@@ -295,7 +295,7 @@
     if (!node) {
       return
     }
-    node.forEach(n => {
+    node.forEach((n) => {
       // vue-js-tree 榛樿灞曞紑,鎺у埗閮ㄥ垎鎶樺彔. z-tree 榛樿鎶樺彔, 鎺у埗閮ㄥ垎灞曞紑
       if (this.foldNodeList[n.id]) {
         if (this.zTree) {
@@ -314,22 +314,22 @@
     if (!node) {
       return
     }
-    node.forEach(n => {
+    node.forEach((n) => {
       if (n.children && n.children.length > 0) {
         this.setDropDisable(n.children)
       } else {
-        if (n.type === '4') {
+        if (n.type === "4") {
           n.dropDisabled = true
         }
       }
     })
   }
 
-  sortTreeData(node) {
+  sortTreeData(node, parentName = "") {
     if (!node) {
       return
     }
-    node.sort(function (obj1: any, obj2: any) {
+    node.sort(function(obj1: any, obj2: any) {
       var val1 = obj1.name
       var val2 = obj2.name
       if (val1 < val2) {
@@ -341,36 +341,41 @@
       }
     })
 
-    node.forEach(n => {
+    node.forEach((n) => {
       if (n.children && n.children.length > 0) {
         if (this.zTree) {
           n.open = true
         }
-        this.sortTreeData(n.children)
+        let pname = parentName === "" ? n.name : parentName + "/" + n.name
+        // console.log("pname", pname)
+        this.sortTreeData(n.children, pname)
+      } else {
+        if (n.type != "MENU") {
+          this.cameraParents[n.id] = parentName
+        }
       }
     })
   }
 
   async fetchLocalTree() {
     let params: any = {
-      parentId:"",
+      parentId: "",
       searchType: this.searchCamType,
-      cameraName: this.searchInput,
-    
+      cameraName: this.searchInput
+
       //isPlatform: 1
     }
-    if (this.searchFrom == 'cluster') {
+    if (this.searchFrom == "cluster") {
       params.isPlatform = 1
     }
-  
 
     const rsp: any = await getLocalCameraTree(params)
 
     if (rsp && rsp.success) {
-    
       this.treeData = rsp.data.treeMenu ? rsp.data.treeMenu : []
       if (this.treeData && this.treeData.length > 0) {
         this.sortTreeData(this.treeData)
+        // console.log("cameraParents", this.cameraParents)
       }
 
       // 璁剧疆绂佹鎷栨嫿鎽勫儚鏈哄埌鎽勫儚鏈鸿妭鐐�
@@ -414,6 +419,7 @@
   }
 
   async fetchTreeData() {
+    this.cameraParents = {}
     if (this.openeds[0]) {
       this.fetchLocalTree()
     }
@@ -425,7 +431,7 @@
   async add(name: string, parent: string) {
     await addAreaTreeData({
       name: name,
-      parentId: parent,
+      parentId: parent
     })
 
     this.fetchTreeData()
@@ -433,7 +439,7 @@
 
   async del(id: string) {
     await delAreaTreeData({
-      id: id,
+      id: id
     })
 
     this.fetchTreeData()
@@ -444,7 +450,7 @@
       id: id,
       name: name,
       parentId: this.getParent(id, isGb),
-      alias: alias,
+      alias: alias
     })
 
     this.fetchTreeData()
@@ -461,20 +467,20 @@
 
   getAllChildrenNodes(treeNode, arr) {
     for (var i = 0; i < treeNode.length; i++) {
-      var sonList = treeNode[i].children;
+      var sonList = treeNode[i].children
       if (!sonList) {
         if (treeNode[i].type == "camera") {
-          arr.push(treeNode[i]);
+          arr.push(treeNode[i])
 
           if (treeNode[i].checked) {
-            this.gb28181CheckedCount += 1;
+            this.gb28181CheckedCount += 1
           }
         }
       } else {
-        this.getAllChildrenNodes(sonList, arr);
+        this.getAllChildrenNodes(sonList, arr)
       }
     }
-    return arr;
+    return arr
   }
   countChildrenNodes(treeNode) {
     let arry = []
@@ -490,8 +496,8 @@
       fn = refreshGB28181Tree
     }
     const rsp: any = await fn({
-      clusterId:this.clusterId,
-      devId:this.devId,
+      clusterId: this.clusterId,
+      devId: this.devId
     })
 
     if (rsp && rsp.success) {
@@ -512,7 +518,7 @@
   }
 
   removeNoCheckedNode(nodes: Array<any>) {
-    for (let i = 0; i < nodes.length;) {
+    for (let i = 0; i < nodes.length; ) {
       if (!nodes[i].checked) {
         nodes.splice(i, 1)
         continue
@@ -527,7 +533,7 @@
 
   countCheckedNodes(nodes: Array<any>) {
     let count = 0
-    nodes.forEach(n => {
+    nodes.forEach((n) => {
       if (n.type == "camera") {
         count++
       }
@@ -548,10 +554,10 @@
     this.cameraNameForBaseImage = node.name
 
     try {
-      const rsp: any = await getCameraBaseImage({ 
+      const rsp: any = await getCameraBaseImage({
         id: node.id,
         clusterId: this.clusterId,
-        devId: this.devId,
+        devId: this.devId
       })
 
       if (rsp && rsp.data) {
diff --git a/src/views/hashrate/CameraManage/CameraInfo/index.vue b/src/views/hashrate/CameraManage/CameraInfo/index.vue
index 793881c..65c9bee 100644
--- a/src/views/hashrate/CameraManage/CameraInfo/index.vue
+++ b/src/views/hashrate/CameraManage/CameraInfo/index.vue
@@ -3,30 +3,14 @@
     <div class="cameraHeader">
       <div class="title">鎽勫儚鏈轰俊鎭�</div>
 
-      <el-form
-        class="addForm"
-        ref="addForm"
-        :model="form"
-        :rules="rules"
-        label-width="88px"
-        label-position="left"
-      >
+      <el-form class="addForm" ref="addForm" :model="form" :rules="rules" label-width="88px" label-position="left">
         <div class="row">
           <el-form-item label="RTSP鍦板潃" prop="rtsp">
-            <el-input
-              v-model="form.rtsp"
-              placeholder="rtsp://"
-              :disabled="isDisabled"
-              size="small"
-            ></el-input>
+            <el-input v-model="form.rtsp" placeholder="rtsp://" :disabled="isDisabled" size="small"></el-input>
           </el-form-item>
 
           <el-form-item label="澶勭悊鍒嗚鲸鐜�">
-            <el-select
-              v-model="form.resolution"
-              placeholder="鏈満鍒嗚鲸鐜�"
-              size="small"
-            >
+            <el-select v-model="form.resolution" placeholder="鏈満鍒嗚鲸鐜�" size="small">
               <el-option
                 v-for="item in resolutionList"
                 :key="item.value"
@@ -39,39 +23,19 @@
 
         <div class="row">
           <el-form-item label="璁惧鍚嶇О" prop="name">
-            <el-input
-              v-model="form.name"
-              placeholder="璇疯緭鍏ヨ澶囧悕绉�"
-              :disabled="isDisabled"
-              size="small"
-            ></el-input>
+            <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" :disabled="isDisabled" size="small"></el-input>
           </el-form-item>
 
           <el-form-item label="鍧愭爣" class="position">
             <label slot="label">鍧愭爣</label>
-            <el-input
-              v-model="form.latitude"
-              placeholder="缁忓害"
-              :disabled="isDisabled"
-              size="small"
-            ></el-input>
-            <el-input
-              v-model="form.longitude"
-              placeholder="绾害"
-              :disabled="isDisabled"
-              size="small"
-            ></el-input>
+            <el-input v-model="form.latitude" placeholder="缁忓害" :disabled="isDisabled" size="small"></el-input>
+            <el-input v-model="form.longitude" placeholder="绾害" :disabled="isDisabled" size="small"></el-input>
           </el-form-item>
         </div>
 
         <div class="row">
           <el-form-item label="璁惧鍦板潃" prop="addr">
-            <el-input
-              v-model="form.addr"
-              placeholder="璇疯緭鍏ュ湴鍧�鎻忚堪"
-              :disabled="isDisabled"
-              size="small"
-            ></el-input>
+            <el-input v-model="form.addr" placeholder="璇疯緭鍏ュ湴鍧�鎻忚堪" :disabled="isDisabled" size="small"></el-input>
           </el-form-item>
 
           <el-form-item label="浜嬩欢澹伴煶">
@@ -83,11 +47,7 @@
 
         <div class="row">
           <el-form-item label="璁惧鍒悕" prop="alias" v-show="isGb28182">
-            <el-input
-              v-model="form.alias"
-              placeholder="璇疯緭鍏ヨ澶囧埆鍚�"
-              size="small"
-            ></el-input>
+            <el-input v-model="form.alias" placeholder="璇疯緭鍏ヨ澶囧埆鍚�" size="small"></el-input>
           </el-form-item>
         </div>
 
@@ -110,11 +70,7 @@
         </div> -->
 
         <!-- 娣诲姞浼犳劅鍣� -->
-        <CameraInfoEditor
-          ref="cameraEditor"
-          :Carmeras="form"
-          :sensors="sensors"
-        ></CameraInfoEditor>
+        <CameraInfoEditor ref="cameraEditor" :Carmeras="form" :sensors="sensors"></CameraInfoEditor>
 
         <div class="btns">
           <el-button
@@ -126,12 +82,7 @@
             class="delBtn"
             >鍒犻櫎鎽勫儚鏈�</el-button
           >
-          <el-button
-            size="small"
-            type="primary"
-            @click="onSubmit('addForm')"
-            :disabled="conDisabled"
-            class="saveBtn"
+          <el-button size="small" type="primary" @click="onSubmit('addForm')" :disabled="conDisabled" class="saveBtn"
             >淇濆瓨</el-button
           >
         </div>
@@ -179,21 +130,12 @@
           </div>
         </div>
 
-        <sysinfo
-          :stroke="24"
-          v-if="PollData.barCharts && PollData.barCharts.length !== 0"
-        />
+        <sysinfo :stroke="24" v-if="PollData.barCharts && PollData.barCharts.length !== 0" />
       </div>
 
       <div class="camera">
         <div class="connect">
-          <el-button
-            size="small"
-            type="primary"
-            @click="cameraConnet"
-            :disabled="conDisabled"
-            >杩炴帴娴嬭瘯</el-button
-          >
+          <el-button size="small" type="primary" @click="cameraConnet" :disabled="conDisabled">杩炴帴娴嬭瘯</el-button>
         </div>
 
         <div class="video">
@@ -204,19 +146,9 @@
             :rtspUrl="videoItem.rtsp"
             :isRunning="false"
             :showArea="false"
-            :videoUrl="ip"
-            v-if="
-              videoItem !== '' &&
-              videoItem !== undefined &&
-              videoItem !== null &&
-              visibilityState
-            "
+            v-if="videoItem !== '' && videoItem !== undefined && videoItem !== null && visibilityState"
           ></wasm-player>
-          <video
-            v-else
-            poster="/images/hashrate/video-poster.png"
-            preload="none"
-          ></video>
+          <video v-else poster="/images/hashrate/video-poster.png" preload="none"></video>
         </div>
       </div>
     </div>
@@ -224,35 +156,30 @@
 </template>
 
 <script>
-import {
-  createCamera,
-  updateCameraInfo,
-  getCameraInfo,
-  delCamera,
-} from "@/api/camera";
-import { getSoundList } from "@/api/event";
+import { createCamera, updateCameraInfo, getCameraInfo, delCamera } from "@/api/camera"
+import { getSoundList } from "@/api/event"
 
-import WasmPlayer from "@/components/wasmPlayer";
-import CameraInfoEditor from "./components/CameraInfoEditor";
-import Sysinfo from "@/components/subComponents/SystemInfo";
+import WasmPlayer from "@/components/wasmPlayer"
+import CameraInfoEditor from "./components/CameraInfoEditor"
+import Sysinfo from "@/components/subComponents/SystemInfo"
 
 export default {
   name: "CameraInfo",
   components: {
     WasmPlayer,
     CameraInfoEditor,
-    Sysinfo,
+    Sysinfo
   },
   props: {
     cameraList: {
       default: () => {
-        return [];
+        return []
       },
-      type: Array,
-    },
+      type: Array
+    }
   },
   created() {
-    document.querySelector("html").style["min-width"] = "1280px";
+    document.querySelector("html").style["min-width"] = "1280px"
   },
   data() {
     return {
@@ -262,21 +189,14 @@
       togglePlay: true,
       eventAudio: new Audio(),
       soundPath: "",
-      ip: "",
       form: {},
       // 璁板綍娣诲姞鐘舵��
       isAdd: false,
       addParentId: "",
       rules: {
-        name: [
-          { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        rtsp: [
-          { required: true, message: "RTSP鍦板潃涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        addr: [
-          { required: true, message: "璁惧鍦板潃涓嶈兘涓虹┖", trigger: "blur" },
-        ],
+        name: [{ required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
+        rtsp: [{ required: true, message: "RTSP鍦板潃涓嶈兘涓虹┖", trigger: "blur" }],
+        addr: [{ required: true, message: "璁惧鍦板潃涓嶈兘涓虹┖", trigger: "blur" }]
       },
       resolutionList: [],
       //浼犳劅鍣ㄥ垪琛�
@@ -285,262 +205,247 @@
       clusterList: [
         {
           label: "闆嗙兢1",
-          value: 0,
+          value: 0
         },
         {
           label: "闆嗙兢2",
-          value: 1,
-        },
-      ],
-    };
+          value: 1
+        }
+      ]
+    }
   },
   computed: {
     isSelected() {
-      return this.TreeDataPool.selectedNode.type !== "4";
+      return this.TreeDataPool.selectedNode.type !== "4"
     },
     isGb28182() {
-      return this.TreeDataPool.selectedNode.cameraType === 1;
+      return this.TreeDataPool.selectedNode.cameraType === 1
     },
     isDisabled() {
       if (this.isGb28182) {
-        return true;
+        return true
       }
 
-      return this.isAdd ? false : this.TreeDataPool.selectedNode.type !== "4";
+      return this.isAdd ? false : this.TreeDataPool.selectedNode.type !== "4"
     },
     conDisabled() {
-      return this.isAdd ? false : this.TreeDataPool.selectedNode.type !== "4";
-    },
+      return this.isAdd ? false : this.TreeDataPool.selectedNode.type !== "4"
+    }
   },
   mounted() {
-    this.initFormData();
+    this.initFormData()
     document.addEventListener("visibilitychange", () => {
-      this.visibilitychange();
-    });
-    this.getSounds();
+      this.visibilitychange()
+    })
+    this.getSounds()
 
     this.eventAudio.addEventListener("ended", () => {
-      this.togglePlay = true;
-    });
+      this.togglePlay = true
+    })
   },
   methods: {
     getSounds() {
       getSoundList()
         .then((res) => {
           if (res.success) {
-            this.soundList = res.data.voices;
+            this.soundList = res.data.voices
           }
         })
-        .catch((e) => console.log(e));
+        .catch((e) => console.log(e))
     },
     selSound(sound) {
-      this.soundPath = sound.path;
-      this.form.voiceId = sound.id;
-      this.togglePlay = true;
-      this.eventAudio.pause();
+      this.soundPath = sound.path
+      this.form.voiceId = sound.id
+      this.togglePlay = true
+      this.eventAudio.pause()
       // this.eventAudio.
     },
     togglePlayer() {
       if (!this.soundPath) {
         this.$notify({
           type: "info",
-          message: "璇峰厛閫夋嫨涓�涓0闊�!",
-        });
-        return false;
+          message: "璇峰厛閫夋嫨涓�涓0闊�!"
+        })
+        return false
       }
-      this.eventAudio.src = this.soundPath;
+      this.eventAudio.src = this.soundPath
       if (this.togglePlay) {
-        this.eventAudio.play();
-        this.togglePlay = false;
+        this.eventAudio.play()
+        this.togglePlay = false
       } else {
-        this.eventAudio.pause();
-        this.togglePlay = true;
+        this.eventAudio.pause()
+        this.togglePlay = true
       }
       // this.togglePlay = !this.togglePlay
     },
     visibilitychange() {
       switch (document.visibilityState) {
         case "hidden":
-          this.visibilityState = false;
-          break;
+          this.visibilityState = false
+          break
         case "visible":
-          this.visibilityState = true;
-          break;
+          this.visibilityState = true
+          break
       }
     },
     selectCamera(node) {
-      this.isAdd = false;
-      this.videoItem = null;
-      this.$refs.addForm.resetFields();
-      this.voice = null;
+      this.isAdd = false
+      this.videoItem = null
+      this.$refs.addForm.resetFields()
+      this.voice = null
 
       if (node.type === "4") {
         getCameraInfo(node.id).then((res) => {
           if (res.success) {
-            this.ip = "ws://" + res.data.ip + ":7009/ws";
-
             if (res.data.resolutions) {
               let list = res.data.resolutions.map((i) => {
-                let obj = {};
+                let obj = {}
                 if (i.width == 0 && i.height == 0) {
-                  obj.label = "鏈満鍒嗚鲸鐜�";
-                  obj.value = "0*0";
+                  obj.label = "鏈満鍒嗚鲸鐜�"
+                  obj.value = "0*0"
                 } else {
-                  obj.label = i.width + "*" + i.height;
-                  obj.value = i.width + "*" + i.height;
+                  obj.label = i.width + "*" + i.height
+                  obj.value = i.width + "*" + i.height
                 }
-                return obj;
-              });
-              this.resolutionList = list;
-              this.sensors = res.data.sensors;
+                return obj
+              })
+              this.resolutionList = list
+              this.sensors = res.data.sensors
             }
 
             this.$nextTick(() => {
-              this.initFormData();
-              Object.assign(this.form, res.data);
+              this.initFormData()
+              Object.assign(this.form, res.data)
 
               this.soundList.forEach((element) => {
                 if (this.form.voiceId == element.id) {
-                  this.voice = element;
+                  this.voice = element
                 }
-              });
+              })
 
               if (this.form.run_type !== -1) {
-                this.form.isAI = true;
+                this.form.isAI = true
               } else {
-                this.form.isAI = false;
+                this.form.isAI = false
               }
-              this.form.resolution =
-                this.form.resolution_width + "*" + this.form.resolution_height;
-            });
+              this.form.resolution = this.form.resolution_width + "*" + this.form.resolution_height
+            })
           }
-        });
+        })
       }
     },
     // 淇濆瓨
     onSubmit(formName) {
-      let list = this.$refs.cameraEditor.getResult();
+      let list = this.$refs.cameraEditor.getResult()
       this.$refs[formName].validate(async (valid) => {
         if (valid) {
-          const isRequire = this.verifyRequrie();
-          if (!isRequire) return false;
+          const isRequire = this.verifyRequrie()
+          if (!isRequire) return false
 
-          this.form.latitude = Number.isNaN(parseFloat(this.form.latitude))
-            ? 0
-            : parseFloat(this.form.latitude);
-          this.form.longitude = Number.isNaN(parseFloat(this.form.longitude))
-            ? 0
-            : parseFloat(this.form.longitude);
-          this.form.sensors = list;
-          this.form.resolution_width = Number(
-            this.form.resolution.split("*")[0]
-          );
-          this.form.resolution_height = Number(
-            this.form.resolution.split("*")[1]
-          );
-          let _this = this;
+          this.form.latitude = Number.isNaN(parseFloat(this.form.latitude)) ? 0 : parseFloat(this.form.latitude)
+          this.form.longitude = Number.isNaN(parseFloat(this.form.longitude)) ? 0 : parseFloat(this.form.longitude)
+          this.form.sensors = list
+          this.form.resolution_width = Number(this.form.resolution.split("*")[0])
+          this.form.resolution_height = Number(this.form.resolution.split("*")[1])
+          let _this = this
           // 鏇存柊
           if (this.form.id !== "") {
-            this.form.areaid = this.TreeDataPool.getParent(
-              this.form.id,
-              this.isGb28182
-            );
-            console.log(this.TreeDataPool.selectedNode);
+            this.form.areaid = this.TreeDataPool.getParent(this.form.id, this.isGb28182)
+            console.log(this.TreeDataPool.selectedNode)
 
             let tem = {
               camera: this.form,
-              sensors: this.form.sensors,
-            };
-            tem.camera.clusterId = sessionStorage.getItem("clusterId");
-            tem.camera.devId = sessionStorage.getItem("devId");
-            delete tem.camera.sensors;
+              sensors: this.form.sensors
+            }
+            tem.camera.clusterId = sessionStorage.getItem("clusterId")
+            tem.camera.devId = sessionStorage.getItem("devId")
+            delete tem.camera.sensors
 
             updateCameraInfo(tem)
               .then((rsp) => {
                 if (rsp.success) {
                   this.$notify({
                     type: "success",
-                    message: "鎽勫儚鏈轰俊鎭慨鏀规垚鍔燂紒",
-                  });
-                  this.TreeDataPool.fetchTreeData();
-                  console.log(this.TreeDataPool.selectedNode);
+                    message: "鎽勫儚鏈轰俊鎭慨鏀规垚鍔燂紒"
+                  })
+                  this.TreeDataPool.fetchTreeData()
+                  console.log(this.TreeDataPool.selectedNode)
                   //_this.$root.$children[0].$refs['leftTree'].$refs.tree.ztreeObj.checkNode(_this.TreeDataPool.selectedNode, true, false, false);
                   //閫変腑淇敼鍚庣殑鑺傜偣
-                  let { evt, treeId } =
-                    _this.$root.$children[0].$refs["leftTree"].$refs.tree;
-                  console.log(evt, treeId);
+                  let { evt, treeId } = _this.$root.$children[0].$refs["leftTree"].$refs.tree
+                  console.log(evt, treeId)
                   // this.$nextTick(()=>{
                   //_this.$root.$children[0].$refs['leftTree'].$refs.tree.handleCreated()
                   // })
                 } else {
-                  this.selectCamera(this.TreeDataPool.selectedNode);
+                  this.selectCamera(this.TreeDataPool.selectedNode)
                   this.$notify({
                     type: "error",
-                    message: "鎽勫儚鏈轰俊鎭慨鏀瑰け璐ワ紒",
-                  });
+                    message: "鎽勫儚鏈轰俊鎭慨鏀瑰け璐ワ紒"
+                  })
                 }
               })
-              .catch((err) => {});
+              .catch((err) => {})
           } else {
-            this.form.areaid = this.addParentId;
+            this.form.areaid = this.addParentId
 
             let tem = {
               camera: this.form,
-              sensors: this.form.sensors,
-            };
-            tem.camera.clusterId = sessionStorage.getItem("clusterId");
-            tem.camera.devId = sessionStorage.getItem("devId");
-            tem.camera.parentUserId = "";
-            tem.camera.enable = false;
-            delete tem.camera.sensors;
+              sensors: this.form.sensors
+            }
+            tem.camera.clusterId = sessionStorage.getItem("clusterId")
+            tem.camera.devId = sessionStorage.getItem("devId")
+            tem.camera.parentUserId = ""
+            tem.camera.enable = false
+            delete tem.camera.sensors
             createCamera(tem)
               .then((rsp) => {
                 if (rsp.success) {
                   this.$notify({
                     type: "success",
-                    message: "鎽勫儚鏈烘坊鍔犳垚鍔燂紒",
-                  });
-                  this.TreeDataPool.selectedNode = rsp.data.camera;
-                  this.TreeDataPool.fetchTreeData();
+                    message: "鎽勫儚鏈烘坊鍔犳垚鍔燂紒"
+                  })
+                  this.TreeDataPool.selectedNode = rsp.data.camera
+                  this.TreeDataPool.fetchTreeData()
                   // 鍚庣杩斿洖缁撴灉涓�0锛屾煡璇㈠悗涓�4
-                  this.TreeDataPool.selectedNode.type = "4";
-                  this.selectCamera(this.TreeDataPool.selectedNode);
+                  this.TreeDataPool.selectedNode.type = "4"
+                  this.selectCamera(this.TreeDataPool.selectedNode)
                 } else {
                   this.$notify({
                     type: "error",
-                    message: "鎽勫儚鏈烘坊鍔犲け璐ワ紒",
-                  });
+                    message: "鎽勫儚鏈烘坊鍔犲け璐ワ紒"
+                  })
                 }
               })
               .catch((err) => {
                 this.$notify({
                   type: "error",
-                  message: err.msg,
-                });
-              });
+                  message: err.msg
+                })
+              })
           }
         }
-      });
+      })
     },
     // 杩炴帴娴嬭瘯
     cameraConnet() {
-      this.videoItem = null;
+      this.videoItem = null
       this.$nextTick(() => {
         this.videoItem = {
           name: this.form.name,
           rtsp: this.form.rtsp,
           id: this.form.id,
           isRunning: this.form.run_enable,
-          cameraType: this.form.type,
-        };
+          cameraType: this.form.type
+        }
 
-        console.log(this.videoItem);
-      });
+        console.log(this.videoItem)
+      })
     },
     // * 楠岃瘉蹇呴�夐」
     verifyRequrie() {
       if (this.isGb28182) {
-        return true;
+        return true
       }
       // const rtspReg = /^(rtsp:\/\/)([a-zA-Z0-9_]+):([a-zA-Z0-9_]+)@(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])(\/)([a-zA-Z0-9_/]+)$/;
       // !rtspReg.test(this.form.rtsp
@@ -548,47 +453,47 @@
       if (this.form.rtsp === "") {
         this.$notify({
           type: "warning",
-          message: "璇疯緭鍏ユ纭殑rtsp鍦板潃",
-        });
-        return false;
+          message: "璇疯緭鍏ユ纭殑rtsp鍦板潃"
+        })
+        return false
       }
-      return true;
+      return true
     },
     // 鍒犻櫎鎽勫儚鏈�
     deleteCamera() {
       this.$confirm("鏄惁鍒犻櫎姝ゆ憚鍍忔満锛�", {
         center: true,
         cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
+        confirmButtonClass: "comfirm-class-sure"
       }).then(() => {
         if (!this.form.id) {
           this.$notify({
             type: "warning",
-            message: "灏氭湭娣诲姞鎽勫儚鏈�",
-          });
-          return;
+            message: "灏氭湭娣诲姞鎽勫儚鏈�"
+          })
+          return
         }
         delCamera({
           id: this.form.id,
           clusterId: this.TreeDataPool.clusterId,
-          devId: this.TreeDataPool.devId,
+          devId: this.TreeDataPool.devId
         }).then((res) => {
           if (res.success) {
-            this.initFormData();
+            this.initFormData()
             this.$notify({
               type: "success",
-              message: "鍒犻櫎鎴愬姛锛�",
-            });
-            this.TreeDataPool.fetchTreeData();
-            this.TreeDataPool.selectedNode = {};
+              message: "鍒犻櫎鎴愬姛锛�"
+            })
+            this.TreeDataPool.fetchTreeData()
+            this.TreeDataPool.selectedNode = {}
           } else {
             this.$notify({
               type: "error",
-              message: "鍒犻櫎澶辫触锛�",
-            });
+              message: "鍒犻櫎澶辫触锛�"
+            })
           }
-        });
-      });
+        })
+      })
     },
     // 娓呯┖杈撳叆妗�
     initFormData() {
@@ -610,33 +515,32 @@
         password: "",
         resolution: "",
         voiceId: "",
-        voiceEnable: false,
-      };
+        voiceEnable: false
+      }
     },
     // 娣诲姞璁惧
     addDevice(node) {
-      this.isAdd = true;
-      this.addParentId = node;
+      this.isAdd = true
+      this.addParentId = node
       this.resolutionList = [
         {
           label: "鏈満鍒嗚鲸鐜�",
-          value: "0*0",
+          value: "0*0"
         },
         {
           label: "1920*1080",
-          value: "1920*1080",
+          value: "1920*1080"
         },
         {
           label: "2688*1520",
-          value: "2688*1520",
-        },
-      ];
-      this.initFormData();
-    },
-  },
-};
+          value: "2688*1520"
+        }
+      ]
+      this.initFormData()
+    }
+  }
+}
 </script>
-
 
 <style lang="scss" scoped>
 .CameraInfo {
@@ -708,11 +612,7 @@
             flex: 1;
             border-radius: 15px;
             .el-progress-bar__inner {
-              background: linear-gradient(
-                270deg,
-                #0065ff 0%,
-                rgba(0, 101, 255, 0.25) 100%
-              );
+              background: linear-gradient(270deg, #0065ff 0%, rgba(0, 101, 255, 0.25) 100%);
             }
 
             .el-progress-bar__outer {
@@ -892,4 +792,4 @@
     }
   }
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/search/Searching.vue b/src/views/search/Searching.vue
index bdf982c..d28c842 100644
--- a/src/views/search/Searching.vue
+++ b/src/views/search/Searching.vue
@@ -273,6 +273,11 @@
     UploadImg,
     SetBox
   },
+  computed: {
+    searchTimeFormated() {
+      return this.format(this.searchTime)
+    }
+  },
   data() {
     return {
       cardWidth: "",
@@ -292,7 +297,17 @@
       currentPage: 1,
       showSetBox: false,
       json_fields: {
-        // 閮ㄩ棬: "",
+        閮ㄩ棬: {
+          field: "activeObject.cameraId",
+          //鑷畾涔夊洖璋冨嚱鏁�
+          callback: (value) => {
+            let org = ""
+            if (this.TreeDataPool.cameraParents.hasOwnProperty(value)) {
+              org = this.TreeDataPool.cameraParents[value]
+            }
+            return org
+          }
+        },
         // 鍛婅鏍囪: "",
         // 鏁存敼鎻忚堪: "",
         鎽勫儚鏈篒D: "activeObject.cameraId",
@@ -329,11 +344,6 @@
           }
         }
       }
-    }
-  },
-  computed: {
-    searchTimeFormated() {
-      return this.format(this.searchTime)
     }
   },
   created() {

--
Gitblit v1.8.0