From 0f70bb5e95342e1c88e16b4c12609cd45dd1b103 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期五, 21 五月 2021 14:27:47 +0800
Subject: [PATCH] add bhomebus api

---
 src/components/subComponents/ModelCard.vue |  221 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 139 insertions(+), 82 deletions(-)

diff --git a/src/components/subComponents/ModelCard.vue b/src/components/subComponents/ModelCard.vue
index febadaf..57c13f0 100644
--- a/src/components/subComponents/ModelCard.vue
+++ b/src/components/subComponents/ModelCard.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="model-card-box" :style="`height:${height};width:${width};`">
-    <el-tabs style="height: 100%;" @before-leave="changeTabs" v-model="VideoPhotoData.activeName">
+    <el-tabs style="height: 100%;" @before-leave="changeTabs" v-model="activeName">
       <el-tab-pane label="澶у浘" name="pic">
         <div
           class="model-card-box-left"
@@ -12,16 +12,19 @@
             <p class="img-box-title">
               <b>鍏ㄦ櫙鍥�</b>
             </p>
+            <!-- 浜鸿劯绫诲瀷 -->
             <img-down
               v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
               :url="data.picMaxUrl[0]"
             ></img-down>
-            <!-- 浜鸿劯绫诲瀷 -->
+
+            <!-- 鏅�歽olo绫� -->
             <img-down
               v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length == 1"
               :url="data.picMaxUrl[0]"
             ></img-down>
-            <!-- 鏅�歽olo绫� -->
+
+            <!-- 鎸佺画鏃堕棿yolo绫� -->
             <el-carousel
               v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length > 1"
               trigger="click"
@@ -32,17 +35,26 @@
                 <img-down :url="item"></img-down>
               </el-carousel-item>
             </el-carousel>
-            <!-- 鎸佺画鏃堕棿yolo绫� -->
+
+            <!-- yolo绫诲ぇ鍥� -->
             <div
               class="describe"
               v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''"
             >
               <p>
-                <span class="fontStyleForModel">{{ data.picDate }}</span>
+                <span
+                  class="fontStyleForModel"
+                  style="font-weight:normal"
+                >{{ data.picDate | formatTime }}</span>
               </p>
               <p>
                 <span class="fontStyleForModel">{{ data.cameraAddr }}</span>
+                <span
+                  class="fontStyleForModel analyServer"
+                  style="margin-left:20px;"
+                >{{ data.analyServerName }}</span>
               </p>
+              <p></p>
               <p style="width:100%">
                 <span v-for="(item,index) in data.alarmRules" :key="index+'rule'">
                   <span class="fontStyleForModel">{{data.taskName}}</span>&nbsp;&nbsp;
@@ -55,13 +67,22 @@
                 </span>
               </p>
             </div>
-            <!-- yolo绫诲ぇ鍥� -->
+
+            <!-- 浜鸿劯绫诲ぇ鍥�  -->
             <div class="describeBigImage" v-else>
               <p>
-                <span class="fontStyleForModel">{{ data.picDate }}</span>
+                <span class="fontStyleForModel">{{ data.picDate | formatTime}}</span>
               </p>
-              <p>
-                <span class="fontStyleForModel">{{ data.cameraAddr }}</span>
+              <p class="align-right">
+                <span
+                  class="fontStyleForModel text-overflow"
+                  :title="data.cameraAddr"
+                >{{ data.cameraAddr }}</span>
+                <span
+                  class="fontStyleForModel text-overflow"
+                  :title="data.cameraAddr"
+                  style="margin-left:20px;"
+                >{{ data.analyServerName }}</span>
               </p>
               <p style="width:100%">
                 <span v-for="(item,index) in data.alarmRules" :key="index+'rule'">
@@ -75,12 +96,15 @@
                 </span>
               </p>
               <p style="width:100%">
-                <span class="fontStyleForModel">{{data.showLabels}}</span>
+                <span
+                  style="white-space: nowrap;font-weight: 600;font-size: 13px;"
+                >{{data.showLabels}}</span>
               </p>
             </div>
-            <!-- 浜鸿劯绫诲ぇ鍥�  -->
           </div>
         </div>
+
+        <!-- 寮规鍙充晶 -->
         <div
           v-if="data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
           class="model-card-box-right"
@@ -131,61 +155,45 @@
             </div>
           </div>
           <div class="baseInfo" v-if="data.baseInfo && data.baseInfo[0].targetPicUrl != ''">
-            <div class="baseInfo_left">
+            <div class="baseInfo_list">
               <p>
                 <span class="labelInfo">搴曞簱</span>
+                <span
+                  class="val"
+                  :title="data.baseInfo[initialIndex].tableName"
+                >{{data.baseInfo[initialIndex].tableName}}</span>
               </p>
               <p>
                 <span class="labelInfo">濮撳悕</span>
+                <span
+                  class="val"
+                  :title="data.baseInfo[initialIndex].targetName"
+                >{{data.baseInfo[initialIndex].targetName}}</span>
               </p>
               <p>
                 <span class="labelInfo">鎬у埆</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | sex}}</span>
               </p>
               <p>
                 <span class="labelInfo">韬唤璇佸彿</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | idCard}}</span>
               </p>
               <p>
                 <span class="labelInfo">鎵嬫満鍙�</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | phoneNum}}</span>
               </p>
               <p>
                 <span class="labelInfo">浜哄憳绛夌骇</span>
-              </p>
-            </div>
-            <div class="baseInfo_right">
-              <p class="valueInfo">
                 <span
-                  :title="data.baseInfo[initialIndex].tableName"
-                >{{ data.baseInfo[initialIndex].tableName }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].targetName"
-                >{{ data.baseInfo[initialIndex].targetName }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[1]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[2]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[2] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[0]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[0] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
+                  class="val"
                   :title="data.baseInfo[initialIndex].monitorLevel"
-                >{{ data.baseInfo[initialIndex].monitorLevel }}</span>
+                >{{data.baseInfo[initialIndex].monitorLevel}}</span>
               </p>
             </div>
           </div>
         </div>
       </el-tab-pane>
+
       <el-tab-pane label="瑙嗛" name="video" class="video-tabs">
         <div
           class="model-card-box-left"
@@ -200,11 +208,6 @@
               style="margin-top: 12px;"
             >鎮ㄧ殑娴忚鍣ㄤ笉鏀寔 video 鏍囩銆�</video>
           </div>
-          <!-- <div class="merge">
-            <el-button type="primary" @click="mergeVideo">鍚堝苟瑙嗛</el-button>
-            <a name="download" @click="downloadfile">涓嬭浇</a>
-            <a href="/httpImage/192.168.20.112:6081/31,02c86c199cd9b1" download="panlei.mp4">涓嬭浇2</a>
-          </div>-->
         </div>
         <div
           v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
@@ -255,56 +258,39 @@
             </div>
           </div>
           <div class="baseInfo" v-if="data.baseInfo && data.baseInfo[0].targetPicUrl != ''">
-            <div class="baseInfo_left">
+            <div class="baseInfo_list">
               <p>
                 <span class="labelInfo">搴曞簱</span>
+                <span
+                  class="val"
+                  :title="data.baseInfo[initialIndex].tableName"
+                >{{data.baseInfo[initialIndex].tableName}}</span>
               </p>
               <p>
                 <span class="labelInfo">濮撳悕</span>
+                <span
+                  class="val"
+                  :title="data.baseInfo[initialIndex].targetName"
+                >{{data.baseInfo[initialIndex].targetName}}</span>
               </p>
               <p>
                 <span class="labelInfo">鎬у埆</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | sex}}</span>
               </p>
               <p>
                 <span class="labelInfo">韬唤璇佸彿</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | idCard}}</span>
               </p>
               <p>
                 <span class="labelInfo">鎵嬫満鍙�</span>
+                <span class="val">{{data.baseInfo[initialIndex].labels | phoneNum}}</span>
               </p>
               <p>
                 <span class="labelInfo">浜哄憳绛夌骇</span>
-              </p>
-            </div>
-            <div class="baseInfo_right">
-              <p class="valueInfo">
                 <span
-                  :title="data.baseInfo[initialIndex].tableName"
-                >{{ data.baseInfo[initialIndex].tableName }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].targetName"
-                >{{ data.baseInfo[initialIndex].targetName }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[1]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[2]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[2] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
-                  :title="data.baseInfo[initialIndex].labels.split('/')[0]"
-                >{{ data.baseInfo[initialIndex].labels.split("/")[0] }}</span>
-              </p>
-              <p class="valueInfo">
-                <span
+                  class="val"
                   :title="data.baseInfo[initialIndex].monitorLevel"
-                >{{ data.baseInfo[initialIndex].monitorLevel }}</span>
+                >{{data.baseInfo[initialIndex].monitorLevel}}</span>
               </p>
             </div>
           </div>
@@ -314,6 +300,22 @@
   </div>
 </template>
 <script>
+Date.prototype.Format = function (fmt) {
+  var o = {
+    "M+": this.getMonth() + 1, //鏈堜唤 
+    "d+": this.getDate(), //鏃� 
+    "H+": this.getHours(), //灏忔椂 
+    "m+": this.getMinutes(), //鍒� 
+    "s+": this.getSeconds(), //绉� 
+    "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害 
+    "S": this.getMilliseconds() //姣 
+  };
+  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+  for (var k in o)
+    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+  return fmt;
+}
+
 /* eslint-disable */
 import CameraPlayer from "@/components/player";
 import imgDown from "@/components/subComponents/imgDown"
@@ -334,15 +336,46 @@
     data: ""
   },
   filters: {
+    formatTime(t) {
+      return new Date(t).Format("yyyy-MM-dd HH:mm:ss")
+    },
     percentage(score) {
       return score.toFixed(2) + "%"
+    },
+    sex(v) {
+      try {
+        let obj = JSON.parse(v)
+        return obj.sex
+      } catch (error) {
+        return v.split("/")[0]
+      }
+    },
+    idCard(v) {
+      try {
+        let obj = JSON.parse(v)
+        return obj.idCard
+      } catch (error) {
+        return v.split("/")[1]
+      }
+    },
+    phoneNum(v) {
+      try {
+        let obj = JSON.parse(v)
+        return obj.phone
+      } catch (error) {
+        return v.split("/")[2]
+      }
     }
   },
   mounted() {
-    this.VideoPhotoData.activeName = "pic"
+    console.log('ModelCard data', this.data);
+    console.log(this.data.baseInfo)
+    console.log(this.initialIndex)
+    //this.VideoPhotoData.activeName = "pic"
   },
   data() {
     return {
+      activeName: 'pic',
       initialIndex: 0,
     };
   },
@@ -393,6 +426,21 @@
       .baseInfo {
         margin-top: 5px;
         text-align: left;
+        .baseInfo_list {
+          p {
+            display: flex;
+            .labelInfo {
+              width: 80px;
+              color: #999;
+            }
+            .val {
+              font-size: 12px;
+              color: #101010;
+              letter-spacing: 0.28px;
+              line-height: 20px;
+            }
+          }
+        }
         .baseInfo_left {
           float: left;
           width: 30%;
@@ -461,10 +509,8 @@
             b {
               //color: #e43933;
             }
-            width: 40%;
             text-align: left;
-            float: left;
-            margin: 4px 0px;
+            margin: 4px 0;
           }
         }
         .describeBigImage {
@@ -473,6 +519,17 @@
           float: left;
           margin-top: 5px;
           p {
+            &.align-right {
+              text-align: right;
+              .text-overflow {
+                display: inline-block;
+                vertical-align: top;
+                width: 90px;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                white-space: nowrap;
+              }
+            }
             b {
               //color: #e43933;
             }

--
Gitblit v1.8.0