From b23a2a35a14b010a3b97a1b61a02ec179dfab924 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期五, 04 九月 2020 17:25:14 +0800
Subject: [PATCH] feat: sort camera tree

---
 src/pages/cameraVideo/index/Video.vue |  213 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 157 insertions(+), 56 deletions(-)

diff --git a/src/pages/cameraVideo/index/Video.vue b/src/pages/cameraVideo/index/Video.vue
index b8cf1a2..e4ebff0 100644
--- a/src/pages/cameraVideo/index/Video.vue
+++ b/src/pages/cameraVideo/index/Video.vue
@@ -1,53 +1,56 @@
 <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-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"
+            >
+              <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>
+          </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">
+          <video-task ref="taskview" @addToBase="toAdd"></video-task>
         </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>
@@ -163,8 +166,9 @@
   mounted() {
     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();
@@ -422,6 +426,14 @@
     closeWindow(index) {
       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;
       // console.log("w鏄細", w,this.$refs.monitorVideo.offsetWidth);
@@ -555,16 +567,22 @@
 .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;
@@ -604,15 +622,22 @@
         cursor: pointer;
       }
     }
+    .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 +650,91 @@
 
   .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