From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/cameraVideo/index/Video.vue |  530 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 280 insertions(+), 250 deletions(-)

diff --git a/src/pages/cameraVideo/index/Video.vue b/src/pages/cameraVideo/index/Video.vue
index b8cf1a2..9f4f0f3 100644
--- a/src/pages/cameraVideo/index/Video.vue
+++ b/src/pages/cameraVideo/index/Video.vue
@@ -1,128 +1,80 @@
 <template>
   <div style="width:100%; height: 100%;">
     <div class="monitoring-right" ref="videoRight">
-      <div class="monitoring-video" ref="monitorVideo">
-        <div class="monitoring-video-guid">
-          <span
-            :class="guid === 1 ? 'iconfont icongongge1 activegongge':'iconfont icongongge1'"
-            @click="setGuid(1)"
-          ></span>
-          <span
-            :class="guid === 2 ? 'iconfont icongongge activegongge':'iconfont icongongge'"
-            @click="setGuid(2)"
-          ></span>
-          <span
-            :class="guid === 3 ? 'iconfont icongongge2 activegongge':'iconfont icongongge2'"
-            @click="setGuid(3)"
-          ></span>
-          <el-tooltip
-            v-show="true"
-            :content="`${track ? '鍏抽棴杩借釜': '寮�鍚拷韪�'}`"
-            placement="bottom"
-            popper-class="atooltip"
-          >
+      <div class="main-top">
+        <div class="monitoring-video" ref="monitorVideo">
+          <div class="monitoring-video-guid">
             <span
-              :class="track ? 'iconfont iconintruder-alarm activegongge':'iconfont iconintruder-alarm'"
-              @click="handleTrack"
+              :class="guid === 1 ? 'iconfont icongongge1 activegongge' : 'iconfont icongongge1'"
+              @click="setGuid(1)"
             ></span>
-          </el-tooltip>
+            <span
+              :class="guid === 2 ? 'iconfont icongongge activegongge' : 'iconfont icongongge'"
+              @click="setGuid(2)"
+            ></span>
+            <span
+              :class="guid === 3 ? 'iconfont icongongge2 activegongge' : 'iconfont icongongge2'"
+              @click="setGuid(3)"
+            ></span>
+            <el-tooltip
+              v-if="TreeDataPool.selectedNode.id"
+              :content="`${showArea ? '闅愯棌鍖哄煙' : '鏌ョ湅鍖哄煙'}`"
+              placement="bottom"
+              popper-class="atooltip"
+            >
+              <span :class="showArea ? 'activegongge' : ''" class="iconfont iconquyu" @click="toggleShowArea"></span>
+            </el-tooltip>
+            <!-- <span
+              v-if="TreeDataPool.selectedNode.id"
+              class="area-trigger"
+              @click="toggleShowArea"
+            >{{showArea?'闅愯棌鍖哄煙':'鏌ョ湅鍖哄煙'}}</span> -->
+            <!-- <el-tooltip
+              v-show="true"
+              :content="`${track ? '鍏抽棴杩借釜': '寮�鍚拷韪�'}`"
+              placement="bottom"
+              popper-class="atooltip"
+            >
+              <span
+                :class="track ? 'iconfont iconintruder-alarm activegongge':'iconfont iconintruder-alarm'"
+                @click="handleTrack"
+              ></span>
+            </el-tooltip>-->
+          </div>
+          <div class="fixedRatioBox">
+            <div :class="guid === 1 ? 'video-main-box' : 'video-main-box-side'" v-if="visibilityState">
+              <VideoItem
+                v-for="(item, index) in TreeDataPool.videoArr"
+                :key="index"
+                :videoGuid="guid"
+                :videoIndex="index"
+                :videoItem="item"
+                :showArea="showArea"
+                :class="[
+                  TreeDataPool.activeVideoIndex === index ? 'activeItem' : '',
+                  guid === 1 ? 'onlyActiveItem' : ''
+                ]"
+                @click="videoItemClick(index)"
+              ></VideoItem>
+            </div>
+          </div>
         </div>
-        <div
-          :class="guid === 1 ? 'video-main-box' : 'video-main-box-side'"
-          style="width: 100%; height: calc(100% - 52px);"
-          v-if="visibilityState"
-        >
-          <video-item
-            v-for="(item, index) in TreeDataPool.videoArr"
-            :key="index"
-            :videoGuid="guid"
-            :videoIndex="index"
-            :videoItem="item"
-            :class="[
-              TreeDataPool.activeVideoIndex === index ? 'activeItem' : '',
-              guid === 1 ? 'onlyActiveItem' : ''
-            ]"
-            @click="videoItemClick(index)"
-          ></video-item>
+        <div class="monitoring-task" ref="monitorTask">
+          <VideoTask ref="taskview" @addToBase="toAdd"></VideoTask>
         </div>
-      </div>
-      <div class="monitoring-task" ref="monitorTask">
-        <video-task ref="taskview" @addToBase="toAdd"></video-task>
       </div>
       <div class="monitoring-photo">
         <video-photo ref="photoview" @addToBase="toAdd"></video-photo>
       </div>
     </div>
-    <hsc-window-style-metal class="windown-model">
-      <hsc-window
-        v-for="(item, index) in CardList.addBaseList"
-        :closeButton="true"
-        @closebuttonclick="closeWindow(index)"
-        :key="index"
-        @update:height="resizeHeight"
-        @update:width="resizeWidth"
-        style="background:white; height:475px"
-        :left="center.x + index * 10"
-        :top="center.y + index * 10"
-        :resizable="true"
-        positionHint="center"
-        :isScrollable="true"
-        :minWidth="662"
-        :minHeight="479"
-        :maxWidth="10000"
-        :maxHeight="7000"
-        :height="defaultHeight"
-        :width="defaultWidth"
-      >
-        <div class="addToBase">
-          <div class="topLabel">鍔犲叆搴曞簱</div>
-          <div class="items">
-            <div class="lable">
-              <p>榛戝悕鍗� ></p>
-            </div>
-            <div class="baseList">
-              <el-checkbox-group v-model="VideoPhotoData.selectBlacks" @change="blackAngWhite">
-                <div class="base" v-for="(item, index) in VideoPhotoData.blackList" :key="index">
-                  <el-checkbox
-                    :label="item.value"
-                    :title="item.title"
-                    :disabled="item.disabled"
-                  >{{item.title}}</el-checkbox>
-                </div>
-              </el-checkbox-group>
-            </div>
-          </div>
-          <div class="items">
-            <div class="lable">
-              <p>鐧藉悕鍗� ></p>
-            </div>
-            <div class="baseList">
-              <el-checkbox-group v-model="VideoPhotoData.selectWhites" @change="blackAngWhite">
-                <div class="base" v-for="(item, index) in VideoPhotoData.whiteList" :key="index">
-                  <el-checkbox
-                    :label="item.value"
-                    :title="item.title"
-                    :disabled="item.disabled"
-                  >{{item.title}}</el-checkbox>
-                </div>
-              </el-checkbox-group>
-            </div>
-          </div>
-          <div class="buttons">
-            <el-button type="primary" @click="saveAddBase(item, index)">淇濆瓨</el-button>
-            <el-button type="default" @click="closeWindow(index)">鍙栨秷</el-button>
-          </div>
-        </div>
-      </hsc-window>
-    </hsc-window-style-metal>
   </div>
 </template>
 
 <script>
-import VideoItem from "../components/VideoItem";
-import VideoTask from "../components/VideoTask";
-import VideoPhoto from "../components/VideoPhoto";
-import { getCameraPlayList } from "@/api/trackCamera";
+import VideoItem from "../components/VideoItem"
+import VideoTask from "../components/VideoTask"
+import VideoPhoto from "../components/VideoPhoto"
+import { getCameraPlayList } from "@/api/trackCamera"
 
 export default {
   name: "Video",
@@ -142,73 +94,63 @@
       traceTimer: null,
       tracePubUrl: `${location.protocol === "https" ? "wss" : "ws"}://${location.host}/track`,
       websocket: null,
-      visibilityState: true
-    };
+      visibilityState: true,
+      showArea: false
+    }
   },
   created() {
-    console.log("befor created")
-    // this.TreeDataPool.clean();
-    // this.TreeDataPool.fetchTreeData();
-    // this.guid = sessionStorage.guid ? Number(sessionStorage.guid) : this.guid;
     this.TreeDataPool.activeVideoIndex = sessionStorage.activeIndex
       ? Number(sessionStorage.activeIndex)
-      : this.TreeDataPool.activeVideoIndex;
-    this.getActiveIndex();
-    this.TreeDataPool.readonly = true;
-    this.TreeDataPool.gbReadonly = true;
-    this.TreeDataPool.multiple = false;
-
-    console.log("created")
+      : this.TreeDataPool.activeVideoIndex
+    this.getActiveIndex()
+    this.TreeDataPool.readonly = true
+    this.TreeDataPool.gbReadonly = true
+    this.TreeDataPool.multiple = false
   },
   mounted() {
-    document.addEventListener("visibilitychange", this.visibilitychange, false);
+    document.addEventListener("visibilitychange", this.visibilitychange, false)
     this.$nextTick(() => {
-      window.addEventListener("resize", this.getRightWidth);
-      this.getRightWidth();
+      window.addEventListener("resize", this.resizeMonitorTask)
+      //this.getRightWidth();
+      this.resizeMonitorTask()
     })
-    this.getCenter();
-    this.blackAngWhite();
-    this.VideoPhotoData.queryTagList();
-
-    let list = this.TreeDataPool.localVedioList.filter(i => {
-      return i.progress == 100;
-    })
-    // console.log(list, '宸插畬鎴愮殑鏈湴瑙嗛', this.TreeDataPool.localVedioList)
-    this.TreeDataPool.localVedioList = list;
+    this.getCenter()
+    this.blackAngWhite()
+    this.VideoPhotoData.queryTagList()
   },
   beforeDestroy() {
-    window.removeEventListener("resize", this.getRightWidth);
-    this.CardList.details = [];
-    window.clearInterval(this.trackTimer);
+    window.removeEventListener("resize", this.getRightWidth)
+    this.CardList.details = []
+    window.clearInterval(this.trackTimer)
     if (this.websocket) {
-      this.websocket.close();
+      this.websocket.close()
     }
   },
   watch: {
-    "TreeDataPool.videoArr": function (newArry) {
-      console.log('newArry',newArry)
-      const cameras = this.filterNodes(newArry);
-      this.getActiveIndex();
-      this.$refs.taskview.showTasks(cameras);
-      this.$refs.photoview.showCapture(cameras);
+    "TreeDataPool.videoArr": function(newArry) {
+      console.log("newArry", newArry)
+      const cameras = this.filterNodes(newArry)
+      this.getActiveIndex()
+      this.$refs.taskview.showTasks(cameras)
+      this.$refs.photoview.showCapture(cameras)
     },
-    "VideoPhotoData.selectBlacks": function (value) {
-      this.blackAngWhite();
+    "VideoPhotoData.selectBlacks": function(value) {
+      this.blackAngWhite()
     },
-    "VideoPhotoData.selectWhites": function (value) {
-      this.blackAngWhite();
+    "VideoPhotoData.selectWhites": function(value) {
+      this.blackAngWhite()
     },
     "TreeDataPool.showTreeBox"(value) {
-      this.getRightWidth();
+      this.getRightWidth()
     }
   },
   methods: {
     handleTrack() {
-      this.track = !this.track;
+      this.track = !this.track
       if (!this.track) {
-        window.clearInterval(this.trackTimer);
-        this.websocket.close();
-        return;
+        window.clearInterval(this.trackTimer)
+        this.websocket.close()
+        return
       }
 
       this.$notify({
@@ -222,16 +164,16 @@
       if (!useWebSocket) {
         this.trackTimer = window.setInterval(() => {
           _this.tracking()
-        }, 5 * 1000);
+        }, 5 * 1000)
       } else {
         this.initTrackWebsocket()
         this.trackTimer = window.setInterval(() => {
           _this.videoItemMonitor()
-        }, 1 * 1000);
+        }, 1 * 1000)
       }
     },
     videoItemMonitor() {
-      this.websocket.send("ping");
+      this.websocket.send("ping")
 
       let cache = this.traceCache
       // 閬嶅巻褰撴湡鎾斁鐨勬憚鍍忔満, 鎸夌閫掑噺鎽勫儚鏈轰汉鍛樺瓨鍦ㄦ椂闂达紝涓�0鏃跺垹闄わ紝鎽勫儚鏈轰汉鍛樹负绌烘椂鍏抽棴
@@ -243,18 +185,17 @@
           for (var person in cache[camera]) {
             cache[camera][person]--
             if (cache[camera][person] < 0) {
-              delete (cache[camera][person])
+              delete cache[camera][person]
             }
           }
-
         } else {
-          delete (cache[camera])
+          delete cache[camera]
           this.closePlayer(camera)
         }
       }
     },
     initTrackWebsocket() {
-      if (typeof (WebSocket) === "undefined") {
+      if (typeof WebSocket === "undefined") {
         alert("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔socket")
       } else {
         // 瀹炰緥鍖杝ocket
@@ -264,21 +205,21 @@
         this.websocket.onmessage = this.recvieTrackMessage
       }
     },
-    websocketonopen() { //杩炴帴寤虹珛涔嬪悗鎵цsend鏂规硶鍙戦�佹暟鎹�
+    websocketonopen() {
+      //杩炴帴寤虹珛涔嬪悗鎵цsend鏂规硶鍙戦�佹暟鎹�
       this.websocket.send("sub")
     },
     tracking() {
-      getCameraPlayList().then(data => {
+      getCameraPlayList().then((data) => {
         if (data && data.length) {
-          data.forEach(ins => {
+          data.forEach((ins) => {
             let newCamera = this.TreeDataPool.getCameraInfoById(ins.NewCameraId)
             if (!newCamera) {
-              console.log("鏈煡鎵惧埌鎽勫儚鏈猴細", ins.NewCameraId);
+              console.log("鏈煡鎵惧埌鎽勫儚鏈猴細", ins.NewCameraId)
               return
             }
             if (ins.IsNew) {
               this.newPlayerInViewBox(newCamera)
-
             } else {
               this.replacePlayer(newCamera, ins.OldCameraId)
             }
@@ -312,12 +253,12 @@
           // 鎵惧埌涓婁竴涓憚鍍忔満, 鍒ゆ柇鎽勫儚鏈洪噷鏄惁杩樻湁鍏朵粬浜�, 鏈�:鏂板紑鎾斁鍣� 娌℃湁:鍒囨崲
           console.log("last camera:", cam, Object.keys(cache[cam]).length)
           if (Object.keys(cache[cam]).length > 2) {
-            delete (cache[cam][person])
+            delete cache[cam][person]
             this.newPlayerInViewBox(camera)
             return
           } else {
             this.replacePlayer(camera, cam)
-            delete (cache[cam])
+            delete cache[cam]
             return
           }
         }
@@ -329,16 +270,13 @@
     newPlayerInViewBox(id) {
       // 鏂板鎾斁绐楀彛
       let camera = this.TreeDataPool.getCameraInfoById(id)
-      let emptyIndex = -1;
-      let exist = false;
+      let emptyIndex = -1
+      let exist = false
       for (let i = 0; i < this.TreeDataPool.videoArr.length; i++) {
         // eslint-disable-next-line
-        if (
-          this.TreeDataPool.videoArr[i] === "" ||
-          this.TreeDataPool.videoArr[i] === undefined
-        ) {
+        if (this.TreeDataPool.videoArr[i] === "" || this.TreeDataPool.videoArr[i] === undefined) {
           if (emptyIndex === -1) {
-            emptyIndex = i;
+            emptyIndex = i
           }
         } else {
           if (this.TreeDataPool.videoArr[i].id === camera.id) {
@@ -347,7 +285,7 @@
         }
       }
       if (!exist && emptyIndex !== -1) {
-        this.TreeDataPool.setVideoArr(emptyIndex, camera, this);
+        this.TreeDataPool.setVideoArr(emptyIndex, camera, this)
       }
     },
     replacePlayer(id, oldCameraId) {
@@ -359,9 +297,10 @@
         if (
           this.TreeDataPool.videoArr[i] &&
           this.TreeDataPool.videoArr[i] !== undefined &&
-          this.TreeDataPool.videoArr[i] !== "") {
+          this.TreeDataPool.videoArr[i] !== ""
+        ) {
           if (this.TreeDataPool.videoArr[i].id === oldCameraId) {
-            this.TreeDataPool.setVideoArr(i, camera, this);
+            this.TreeDataPool.setVideoArr(i, camera, this)
             return true
           }
         }
@@ -375,9 +314,10 @@
         if (
           this.TreeDataPool.videoArr[i] &&
           this.TreeDataPool.videoArr[i] !== undefined &&
-          this.TreeDataPool.videoArr[i] !== "") {
+          this.TreeDataPool.videoArr[i] !== ""
+        ) {
           if (this.TreeDataPool.videoArr[i].id === id) {
-            this.TreeDataPool.setVideoArr(i, undefined, this);
+            this.TreeDataPool.setVideoArr(i, undefined, this)
             return true
           }
         }
@@ -386,60 +326,68 @@
     visibilitychange() {
       switch (document.visibilityState) {
         case "hidden":
-          this.visibilityState = false;
-          break;
+          this.visibilityState = false
+          break
         case "visible":
-          this.visibilityState = true;
-          break;
+          this.visibilityState = true
+          break
       }
     },
     blackAngWhite() {
       if (this.VideoPhotoData.selectBlacks.length > 0) {
         for (let i = 0; i < this.VideoPhotoData.whiteList.length; i++) {
           //this.VideoPhotoData.whiteList[i].disabled = true
-          this.$set(this.VideoPhotoData.whiteList[i], 'disabled', true)
+          this.$set(this.VideoPhotoData.whiteList[i], "disabled", true)
         }
       }
       if (this.VideoPhotoData.selectBlacks.length == 0) {
         for (let i = 0; i < this.VideoPhotoData.whiteList.length; i++) {
           //this.VideoPhotoData.whiteList[i].disabled = false
-          this.$set(this.VideoPhotoData.whiteList[i], 'disabled', false)
+          this.$set(this.VideoPhotoData.whiteList[i], "disabled", false)
         }
       }
       if (this.VideoPhotoData.selectWhites.length > 0) {
         for (let i = 0; i < this.VideoPhotoData.blackList.length; i++) {
-          // this.VideoPhotoData.blackList[i].disabled = true   
-          this.$set(this.VideoPhotoData.blackList[i], 'disabled', true)
+          // this.VideoPhotoData.blackList[i].disabled = true
+          this.$set(this.VideoPhotoData.blackList[i], "disabled", true)
         }
       }
       if (this.VideoPhotoData.selectWhites.length == 0) {
         for (let i = 0; i < this.VideoPhotoData.blackList.length; i++) {
-          //this.VideoPhotoData.blackList[i].disabled = false          
-          this.$set(this.VideoPhotoData.blackList[i], 'disabled', false)
+          //this.VideoPhotoData.blackList[i].disabled = false
+          this.$set(this.VideoPhotoData.blackList[i], "disabled", false)
         }
       }
     },
     closeWindow(index) {
-      this.CardList.addBaseList.splice(index, 1);
+      this.CardList.addBaseList.splice(index, 1)
+    },
+    getVideoHeight() {
+      let h = this.$refs.monitorVideo.offsetHeight
+      this.$refs.monitorTask.style.height = h + "px"
+    },
+    resizeMonitorTask() {
+      this.getRightWidth()
+      this.getVideoHeight()
     },
     getRightWidth() {
-      let w = this.$refs.videoRight.offsetWidth;
+      let w = this.$refs.videoRight.offsetWidth
       // console.log("w鏄細", w,this.$refs.monitorVideo.offsetWidth);
-      this.$refs.monitorTask.style.width = (w - this.$refs.monitorVideo.offsetWidth - 40) + 'px'
+      this.$refs.monitorTask.style.width = w - this.$refs.monitorVideo.offsetWidth - 40 + "px"
       // console.log("鍙充晶浠诲姟鐨勫搴︼細", this.$refs.monitorTask.style.width)
     },
     filterNodes(selectArry) {
-      let nodes = [];
-      selectArry.forEach(i => {
+      let nodes = []
+      selectArry.forEach((i) => {
         if (i && nodes.indexOf(i.id) < 0) {
-          nodes.push(i.id);
+          nodes.push(i.id)
         }
-      });
-      return nodes;
+      })
+      return nodes
     },
     videoItemClick(index) {
-      this.TreeDataPool.activeVideoIndex = index;
-      this.TreeDataPool.activeForceChoose = true;
+      this.TreeDataPool.activeVideoIndex = index
+      this.TreeDataPool.activeForceChoose = true
     },
     toAdd(item) {
       this.CardList.addBaseList.push(item)
@@ -448,13 +396,13 @@
       this.center = {
         x: document.documentElement.clientWidth / 2 - 250,
         y: document.documentElement.clientHeight / 2 - 200
-      };
+      }
     },
     resizeWidth(w) {
-      this.defaultWidth = w;
+      this.defaultWidth = w
     },
     resizeHeight(h) {
-      this.defaultHeight = h;
+      this.defaultHeight = h
     },
     saveAddBase(item, index) {
       if (this.VideoPhotoData.selectBlacks.length === 0 && this.VideoPhotoData.selectWhites.length === 0) {
@@ -466,7 +414,7 @@
         return
       }
       let res = this.VideoPhotoData.addBase(item)
-      res.then(data => {
+      res.then((data) => {
         console.log("then", data)
         if (data.success) {
           this.$notify({
@@ -481,90 +429,87 @@
             type: "error"
           })
         }
-        this.CardList.addBaseList.splice(index, 1);
+        this.CardList.addBaseList.splice(index, 1)
         this.VideoPhotoData.selectBlacks = []
         this.VideoPhotoData.selectWhites = []
       })
     },
     getActiveIndex() {
-      this.TreeDataPool.videoArr.length = Math.pow(this.guid, 2);
-      let nullVideoIndex = "";
+      this.TreeDataPool.videoArr.length = Math.pow(this.guid, 2)
+      let nullVideoIndex = ""
       for (let i = 0; i < this.TreeDataPool.videoArr.length; i++) {
         // eslint-disable-next-line
-        if (
-          this.TreeDataPool.videoArr[i] === "" ||
-          this.TreeDataPool.videoArr[i] === undefined
-        ) {
-          nullVideoIndex = i;
+        if (this.TreeDataPool.videoArr[i] === "" || this.TreeDataPool.videoArr[i] === undefined) {
+          nullVideoIndex = i
         } else {
-          nullVideoIndex = "";
+          nullVideoIndex = ""
         }
       }
       if (
         this.TreeDataPool.activeVideoIndex !== "" &&
-        this.TreeDataPool.activeVideoIndex <
-        this.TreeDataPool.videoArr.length - 1
+        this.TreeDataPool.activeVideoIndex < this.TreeDataPool.videoArr.length - 1
       ) {
-        return this.TreeDataPool.activeVideoIndex;
+        return this.TreeDataPool.activeVideoIndex
       } else {
         if (nullVideoIndex === "") {
-          this.TreeDataPool.activeVideoIndex =
-            this.TreeDataPool.videoArr.length - 1;
+          this.TreeDataPool.activeVideoIndex = this.TreeDataPool.videoArr.length - 1
         } else {
-          this.TreeDataPool.activeVideoIndex = nullVideoIndex;
+          this.TreeDataPool.activeVideoIndex = nullVideoIndex
         }
       }
     },
     setGuid(value) {
-      clearTimeout(this.trackTimer);
+      clearTimeout(this.trackTimer)
 
       if (value < this.guid && this.TreeDataPool.activeVideoIndex > value) {
         // eslint-disable-next-line
-        for (
-          let i = this.TreeDataPool.activeVideoIndex - 1;
-          i < this.TreeDataPool.videoArr.length;
-          i++
-        ) {
+        for (let i = this.TreeDataPool.activeVideoIndex - 1; i < this.TreeDataPool.videoArr.length; i++) {
           // eslint-disable-next-line
-          if (
-            this.TreeDataPool.videoArr[i] &&
-            this.TreeDataPool.videoArr[i]["isPlaying"]
-          ) {
-            this.TreeDataPool.videoArr[i]["isPlaying"] = false;
+          if (this.TreeDataPool.videoArr[i] && this.TreeDataPool.videoArr[i]["isPlaying"]) {
+            this.TreeDataPool.videoArr[i]["isPlaying"] = false
           }
         }
       }
-      this.guid = value;
-      sessionStorage.guid = this.guid;
-      sessionStorage.activeIndex = this.TreeDataPool.activeVideoIndex;
-      this.getActiveIndex();
+      this.guid = value
+      sessionStorage.guid = this.guid
+      sessionStorage.activeIndex = this.TreeDataPool.activeVideoIndex
+      this.getActiveIndex()
+    },
+    toggleShowArea() {
+      this.showArea = !this.showArea
     }
   },
   destroyed() {
-    window.removeEventListener("resize", this.getRightWidth);
-    this.CardList.details = [];
-    this.CardList.addBaseList = [];
-    this.VideoPhotoData.selectBlacks = [];
-    this.VideoPhotoData.selectWhites = [];
+    window.removeEventListener("resize", this.getRightWidth)
+    this.CardList.details = []
+    this.CardList.addBaseList = []
+    this.VideoPhotoData.selectBlacks = []
+    this.VideoPhotoData.selectWhites = []
     //this.TreeDataPool.treeActiveName = "camera";
   }
-};
+}
 </script>
 
 <style lang="scss">
 .monitoring-right {
   width: 100%;
   height: 100%;
-  float: right;
+  min-width: 981px;
+  //float: right;
   box-sizing: border-box;
   padding: 10px;
   background-color: #e9ebf2;
+  .main-top {
+    margin-bottom: 14px;
+    display: flex;
+    justify-content: space-between;
+  }
   .monitoring-video {
     width: 70.5%;
     min-width: 740px;
     max-width: 1208px;
-    height: 75%;
-    float: left;
+    height: 98%;
+    //float: left;
     box-sizing: border-box;
     // box-shadow: #e4e7ed 0px 0px 9px inset;
     border-radius: 5px;
@@ -603,16 +548,26 @@
         padding-left: 12px;
         cursor: pointer;
       }
+      .area-trigger {
+        font-size: 16px;
+      }
+    }
+    .fixedRatioBox {
+      padding-top: 56.3%;
+      box-sizing: border-box;
+      position: relative;
+      > div {
+        width: 100%;
+        height: 100%;
+        position: absolute;
+        top: 0;
+      }
     }
   }
   .monitoring-task {
-    // @media screen and (max-width: 1700px){
-
-    // }
-    width: calc(29.5% - 10px);
+    //width: calc(29.5% - 10px);
+    width: calc(34% - 10px);
     //width: auto;
-    // width: 23%;
-    height: 73%;
     background-color: #fff;
     float: left;
     margin: 0px 0px 0px 10px;
@@ -625,15 +580,90 @@
 
   .monitoring-photo {
     width: 100%;
-    height: calc(25% + 10px);
+    height: calc(25% + 32px);
     background-color: #fff;
     float: left;
     padding: 10px;
-    margin-top: -10px;
+    //margin-top: -10px;
     box-sizing: border-box;
     border: 1px solid #e4e7ed;
     // box-shadow: #e4e7ed 0px 0px 9px inset;
     border-radius: 5px;
   }
 }
+.titlebar {
+  height: 10px !important;
+  background: #fff !important;
+  .button {
+    position: absolute;
+    font-size: 25px !important;
+    right: 10px;
+    top: 10px;
+    z-index: 3;
+  }
+}
+.addToBase {
+  width: 98%;
+  height: 430px;
+  position: relative;
+  .topLabel {
+    margin-top: 20px;
+    height: 40px;
+    border-bottom: 1px solid #eee;
+    font-family: PingFangSC-Medium;
+    font-size: 20px;
+    font-weight: 600;
+    line-height: 1rem;
+    color: #222222;
+    text-align: left;
+    margin-left: 15px;
+  }
+  .items {
+    width: 100%;
+    height: auto;
+    max-height: 35%;
+    overflow-y: auto;
+    margin: 20px 0px;
+    .lable {
+      width: 15%;
+      margin-top: 10px;
+      float: left;
+      //font-family: PingFangSC-Medium;
+      font-size: 14px;
+      font-weight: 600;
+    }
+    .baseList {
+      width: 85%;
+      height: 100%;
+      float: left;
+
+      // display: flex;
+      // justify-content: flex-start;
+      .base {
+        //flex-wrap: wrap;
+        width: calc(33% - 10px);
+        padding: 0px 5px;
+        line-height: 30px;
+        float: left;
+        text-align: left;
+        font-size: 12px !important;
+        .el-checkbox {
+          width: 100%;
+          display: block;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+          .el-checkbox__label {
+            display: inline !important;
+          }
+        }
+      }
+    }
+  }
+  .buttons {
+    position: absolute;
+    right: 0px;
+    bottom: 15px;
+  }
+}
 </style>

--
Gitblit v1.8.0