From c587fbdad6f75ba05e5440b41be144bd335703aa Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期四, 03 十二月 2020 17:16:29 +0800
Subject: [PATCH] 左侧目录树样式优化

---
 src/components/subComponents/CardItem.vue |   96 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 61 insertions(+), 35 deletions(-)

diff --git a/src/components/subComponents/CardItem.vue b/src/components/subComponents/CardItem.vue
index e549a88..a5d52f0 100644
--- a/src/components/subComponents/CardItem.vue
+++ b/src/components/subComponents/CardItem.vue
@@ -7,7 +7,7 @@
         <div class="card-img-box-compear">
           <div class="card-img-box-compear-left" ref="firstImg">
             <img
-              :src="'/httpImage/'+data.targetInfo[0].picSmUrl+'?width=160'"
+              :src="data.targetInfo[0].picSmUrl | httpImage"
               :id="'/compear/'+data.targetInfo[0].picSmUrl"
               class="cursor-pointer"
               @click="detailsClick($event)"
@@ -22,7 +22,7 @@
           >
             <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index">
               <img
-                :src="'/httpImage/'+item.targetPicUrl+'?width=160'"
+                :src="item.targetPicUrl | httpImage"
                 class="cursor-pointer"
                 @click="detailsClick($event)"
               />
@@ -54,28 +54,24 @@
           @change="changeCarousel"
         >
           <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index + 'img'">
-            <img
-              :src="'/httpImage/'+item+'?width=160'"
-              class="cursor-pointer"
-              @click="detailsClick($event)"
-            />
+            <img :src="item | httpImage" class="cursor-pointer" @click="detailsClick($event)" />
           </el-carousel-item>
         </el-carousel>
         <img
           v-else-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''"
-          :src="'/httpImage/'+data.picMaxUrl[0]+'?width=160'"
+          :src="data.picMaxUrl[0] | httpImage"
           class="cursor-pointer"
           @click="detailsClick($event)"
         />
         <img
           v-else
-          :src="'/httpImage/'+data.targetInfo[0].picSmUrl+'?width=160'"
+          :src="data.targetInfo[0].picSmUrl | httpImage"
           class="cursor-pointer"
           @click="detailsClick($event)"
         />
       </div>
       <div class="s-card-left-box" v-else>
-        <img :src="'/httpImage/'+data.baseInfo[0].targetPicUrl+'?width=160'" class="cursor-pointer" />
+        <img :src="data.baseInfo[0] | httpImage" class="cursor-pointer" />
       </div>
     </div>
     <!-- 鍙充晶鏂囧瓧鍖哄煙 -->
@@ -88,7 +84,7 @@
         @mouseleave="cardMouseleave($event)"
       >
         <p>
-          <span class="fontStyle color222">{{ data.picDate }}</span>
+          <span class="fontStyle color222">{{ data.picDate | formatTime}}</span>
         </p>
         <p style="margin-bottom: 8px;">
           <span class="fontStyle color222">{{ data.cameraAddr }}</span>
@@ -133,7 +129,7 @@
               <span
                 class="fontStyle"
                 v-if="data.baseInfo[initialIndex].labels"
-              >/&nbsp;{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span>&nbsp;
+              >/&nbsp;{{ data.baseInfo[initialIndex].labels | idCard}}</span>&nbsp;
               <span
                 class="fontStyle"
                 v-if="data.baseInfo[initialIndex].monitorLevel"
@@ -159,7 +155,7 @@
               <span
                 class="fontStyle"
                 v-if="data.baseInfo[initialIndex].labels"
-              >/&nbsp;{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span>&nbsp;
+              >/&nbsp;{{ data.baseInfo[initialIndex].labels | idCard}}</span>&nbsp;
               <span
                 class="fontStyle"
                 v-if="data.baseInfo[initialIndex].monitorLevel"
@@ -205,7 +201,7 @@
           <span>{{ data.baseInfo[0].targetName }}</span>&nbsp;&nbsp;
           <span
             v-if="data.baseInfo[0].labels"
-          >/&nbsp;{{ data.baseInfo[0].labels.split("/")[1] }}</span>
+          >/&nbsp;{{ data.baseInfo[0].labels | idCard}}</span>
         </p>
       </div>
       <div class="card-icon-box">
@@ -226,7 +222,7 @@
         @mouseleave="cardMouseleave($event)"
       >
         <p :title="data.picDate">
-          <span class="fontStyle color222">{{ data.picDate }}</span>
+          <span class="fontStyle color222">{{ data.picDate | formatTime }}</span>
         </p>
         <p :title="data.cameraAddr" style="margin-bottom: 8px;">
           <span class="fontStyle color222">{{ data.cameraAddr }}</span>
@@ -316,7 +312,7 @@
           <span v-else>{{ data.baseInfo[0].compareScore | percentage}}</span>
         </p>
         <p :title="data.picDate">
-          <span class="fontStyle color222">{{ data.picDate }}</span>
+          <span class="fontStyle color222">{{ data.picDate | formatTime }}</span>
         </p>
         <p :title="data.cameraAddr" style="margin-bottom: 8px;">
           <span class="fontStyle color222">{{ data.cameraAddr }}</span>
@@ -358,15 +354,12 @@
           <div slot="content">
             <p v-for="(item,index) in data.baseInfo" :key="index+'base1'">
               <span class="fontStyle">{{item.tableName}}</span>&nbsp;
-              <span class="fontStyle" v-if="item.targetName !== ''">/&nbsp;{{item.targetName}}</span>&nbsp;
+              <span class="fontStyle" v-if="item.targetName.length">/&nbsp;{{item.targetName}}</span>&nbsp;
               <span
                 class="fontStyle"
-                v-if="item.labels !== '' && item.labels.split('/')[1] !== ''"
-              >/&nbsp;{{item.labels.split("/")[1]}}</span>&nbsp;
-              <span
-                class="fontStyle"
-                v-if="item.labels !== '' && item.labels.split('/')[0] !== ''"
-              >/&nbsp;{{item.labels.split("/")[0]}}</span>
+                v-if="item.labels.length"
+              >/&nbsp;{{item.labels | idCard}}</span>&nbsp;
+              <span class="fontStyle" v-if="item.labels.length">/&nbsp;{{item.labels | sex}}</span>
             </p>
           </div>
           <el-button
@@ -378,15 +371,12 @@
               :style="item.bwType == '1' ? 'color:red;font-size:12px;line-height:20px':'font-size:12px;line-height:20px'"
             >
               <span class="fontStyle">{{item.tableName}}</span>&nbsp;
-              <span class="fontStyle" v-if="item.targetName !== ''">/&nbsp;{{item.targetName}}</span>&nbsp;
+              <span class="fontStyle" v-if="item.targetName.length">/&nbsp;{{item.targetName}}</span>&nbsp;
               <span
                 class="fontStyle"
-                v-if="item.labels !== '' && item.labels.split('/')[1] !== ''"
-              >/&nbsp;{{item.labels.split("/")[1]}}</span>&nbsp;
-              <span
-                class="fontStyle"
-                v-if="item.labels !== '' && item.labels.split('/')[0] !== ''"
-              >/&nbsp;{{item.labels.split("/")[0]}}</span>
+                v-if="item.labels.length"
+              >/&nbsp;{{item.labels | idCard}}</span>&nbsp;
+              <span class="fontStyle" v-if="item.labels.length">/&nbsp;{{item.labels |sex }}</span>
             </span>
           </el-button>
         </el-tooltip>
@@ -465,7 +455,7 @@
         >
           <div>
             <p :title="data.picDate">
-              <span class="fontStyle color222">{{ data.picDate }}</span>
+              <span class="fontStyle color222">{{ data.picDate | formatTime }}</span>
             </p>
             <p :title="data.cameraAddr" style="margin-bottom: 8px;">
               <span class="fontStyle color222">{{ data.cameraAddr }}</span>
@@ -484,6 +474,22 @@
 </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;
+}
+
 export default {
   mounted() {
     window.addEventListener("resize", this.watchWindow);
@@ -504,8 +510,30 @@
     }
   },
   filters: {
+    formatTime(t) {
+      return new Date(t).Format("yyyy-MM-dd HH:mm:ss")
+    },
     percentage(score) {
       return score.toFixed(2) + "%"
+    },
+    idCard(v) {
+      try {
+        let obj = JSON.parse(v)
+        return obj.idCard
+      } catch (error) {
+        return v.split("/")[1]
+      }
+    },
+    sex(v) {
+      try {
+        let obj = JSON.parse(v)
+        return obj.sex
+      } catch (error) {
+        return v.split("/")[0]
+      }
+    },
+    httpImage(url) {
+      return '/httpImage/' + url + ((url.indexOf("?") >= 0) ? '&' : '?') + 'width=160'
     }
   },
   data() {
@@ -520,7 +548,6 @@
   watch: {
     data: {
       handler(val, oldVal) {
-        console.log('鏁版嵁鍙戠敓鍙樺寲')
         this.$forceUpdate()
       },
       deep: true
@@ -559,7 +586,6 @@
       this.$emit("detailsClick", ev);
     },
     toAdd(item) {
-      console.log("瑙﹀彂鍔犲叆搴曞簱")
       this.$emit("addToBase", item);
     },
     tosearch(item) {
@@ -569,9 +595,9 @@
       if (!item.id || item.id == "") {
         compType = 0 // 鏁版嵁鏉ヨ嚜浜庡簳搴�
       }
-      // window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType)
 
-      let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType;
+      let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType + '&timestamp=' + new Date().getTime();
+      //let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType;
       window.parent.postMessage({
         msg: message
       }, "*")

--
Gitblit v1.8.0