From 012c84b59018018cd75f0b8c70f7492fcb3e3e6f Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 05 八月 2022 16:18:29 +0800
Subject: [PATCH] 添加整改

---
 src/views/search/components/ModelCard.vue |  408 ++++++++++++++++++++-------------------------------------
 1 files changed, 145 insertions(+), 263 deletions(-)

diff --git a/src/views/search/components/ModelCard.vue b/src/views/search/components/ModelCard.vue
index 40d1386..4e9425c 100644
--- a/src/views/search/components/ModelCard.vue
+++ b/src/views/search/components/ModelCard.vue
@@ -1,10 +1,6 @@
 <template>
   <div class="model-card-box" :style="`height:${height};width:${width};`">
-    <el-tabs
-      style="height: 100%"
-      @before-leave="changeTabs"
-      v-model="activeName"
-    >
+    <el-tabs style="height: 100%" @before-leave="changeTabs" v-model="activeName">
       <el-tab-pane label="澶у浘" name="pic">
         <div
           class="model-card-box-left"
@@ -20,77 +16,45 @@
             </p>
             <!-- 浜鸿劯绫诲瀷 -->
             <img-down
-              v-if="
-                data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
-              "
+              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
-              "
+              v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length == 1"
               :url="data.picMaxUrl[0]"
             ></img-down>
 
             <!-- 鎸佺画鏃堕棿yolo绫� -->
             <el-carousel
-              v-else-if="
-                (data.targetInfo == null ||
-                  data.targetInfo[0].picSmUrl == '') &&
-                data.picMaxUrl.length > 1
-              "
+              v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length > 1"
               trigger="click"
               height="100%"
               :autoplay="false"
             >
-              <el-carousel-item
-                v-for="(item, index) in data.picMaxUrl"
-                :key="index"
-              >
+              <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index">
                 <img-down :url="item"></img-down>
               </el-carousel-item>
             </el-carousel>
 
             <!-- yolo绫诲ぇ鍥� -->
-            <div
-              class="describe"
-              v-if="
-                data.targetInfo == null || data.targetInfo[0].picSmUrl == ''
-              "
-            >
+            <div class="describe" v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''">
               <p>
-                <span class="fontStyleForModel" style="font-weight: normal">{{
-                  data.picDate | formatTime
-                }}</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
-                >
+                <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 v-for="(item, index) in data.alarmRules" :key="index + 'rule'">
                   <span class="fontStyleForModel">{{ data.taskName }}</span
                   >&nbsp;&nbsp;
-                  <span
-                    v-if="item.alarmLevel !== '鎾ら槻'"
-                    class="fontStyleForModel"
-                    >{{ item.alarmLevel }}</span
+                  <span v-if="item.alarmLevel !== '鎾ら槻'" class="fontStyleForModel">{{ item.alarmLevel }}</span
                   >&nbsp;
-                  <span v-if="item.isLink" class="fontStyleForModel"
-                    >鑱斿姩浠诲姟</span
-                  >
+                  <span v-if="item.isLink" class="fontStyleForModel">鑱斿姩浠诲姟</span>
                   <span v-if="index < data.alarmRules.length - 1">/&nbsp;</span>
                 </span>
               </p>
@@ -99,63 +63,38 @@
             <!-- 浜鸿劯绫诲ぇ鍥�  -->
             <div class="describeBigImage" v-else>
               <p>
-                <span class="fontStyleForModel">{{
-                  data.picDate | formatTime
-                }}</span>
+                <span class="fontStyleForModel">{{ data.picDate | formatTime }}</span>
               </p>
               <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
-                >
+                <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'"
-                >
+                <span v-for="(item, index) in data.alarmRules" :key="index + 'rule'">
                   <span class="fontStyleForModel">{{ data.taskName }}</span
                   >&nbsp;&nbsp;
-                  <span
-                    v-if="item.alarmLevel !== '鎾ら槻'"
-                    class="fontStyleForModel"
-                    >{{ item.alarmLevel }}</span
+                  <span v-if="item.alarmLevel !== '鎾ら槻'" class="fontStyleForModel">{{ item.alarmLevel }}</span
                   >&nbsp;
-                  <span v-if="item.isLink" class="fontStyleForModel"
-                    >鑱斿姩浠诲姟</span
-                  >
+                  <span v-if="item.isLink" class="fontStyleForModel">鑱斿姩浠诲姟</span>
                   <span v-if="index < data.alarmRules.length - 1">/&nbsp;</span>
                 </span>
               </p>
               <p style="width: 100%">
-                <span
-                  style="white-space: nowrap; font-weight: 600; font-size: 13px"
-                  >{{ data.showLabels }}</span
-                >
+                <span style="white-space: nowrap; font-weight: 600; font-size: 13px">{{ data.showLabels }}</span>
               </p>
             </div>
+            <b style="float: right; margin-right: 50px;" @click="markDialogVisible = true">鏍囪</b>
           </div>
         </div>
 
         <!-- 寮规鍙充晶 -->
         <div
-          v-if="
-            data.targetInfo &&
-            data.targetInfo !== null &&
-            data.targetInfo[0].picSmUrl !== ''
-          "
+          v-if="data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
           class="model-card-box-right"
           :style="
-            data.targetInfo &&
-            data.targetInfo !== null &&
-            data.targetInfo[0].picSmUrl !== ''
+            data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
               ? 'width: 35%;box-sizing: border-box;'
               : ''
           "
@@ -164,17 +103,10 @@
             <b>鎶撴媿鍥�</b>
           </p>
           <!-- 宸﹀彸涓ゅ紶鐨勪汉鑴稿姣旀ā寮� -->
-          <div
-            class="img-box"
-            v-if="data.baseInfo && data.baseInfo.length >= 1"
-            ref="picSmBox"
-          >
+          <div class="img-box" v-if="data.baseInfo && data.baseInfo.length >= 1" ref="picSmBox">
             <div class="card-img-box-compear-left">
               <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" ref="picSm" /> -->
-              <img-down
-                :url="data.targetInfo[0].picSmUrl"
-                :isPreview="false"
-              ></img-down>
+              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
             </div>
             <el-carousel
               @change="changeInitialIndex"
@@ -185,95 +117,77 @@
               v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
               class="card-img-box-compear-right"
             >
-              <el-carousel-item
-                v-for="(item, index) in data.baseInfo"
-                :key="index"
-              >
+              <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index">
                 <!-- <img :src="'http://'+item.targetPicUrl" /> -->
-                <img-down
-                  :url="item.targetPicUrl"
-                  :isPreview="false"
-                ></img-down>
+                <img-down :url="item.targetPicUrl" :isPreview="false"></img-down>
               </el-carousel-item>
             </el-carousel>
             <div
               class="img-compareScore"
               v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
-              :style="
-                data.baseInfo[initialIndex].bwType === '1'
-                  ? `background: red;`
-                  : `background: green;`
-              "
+              :style="data.baseInfo[initialIndex].bwType === '1' ? `background: red;` : `background: green;`"
             >
               <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b>
             </div>
           </div>
           <!-- 娌℃湁姣斿鐨勪汉鑴歌瘑鍒ā寮� -->
-          <div
-            class="img-box"
-            v-if="!data.baseInfo && data.targetInfo[0].picSmUrl !== ''"
-          >
-            <div
-              class="card-img-box-compear-left"
-              style="width: 60%; margin-top: 5px"
-            >
+          <div class="img-box" v-if="!data.baseInfo && data.targetInfo[0].picSmUrl !== ''">
+            <div class="card-img-box-compear-left" style="width: 60%; margin-top: 5px">
               <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" /> -->
-              <img-down
-                :url="data.targetInfo[0].picSmUrl"
-                :isPreview="false"
-              ></img-down>
+              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
             </div>
           </div>
-          <div
-            class="baseInfo"
-            v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
-          >
+          <div class="baseInfo" v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''">
             <div class="baseInfo_list">
               <p>
                 <span class="labelInfo">搴曞簱</span>
-                <span
-                  class="val"
-                  :title="data.baseInfo[initialIndex].tableName"
-                  >{{ data.baseInfo[initialIndex].tableName }}</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
-                >
+                <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>
+                <span class="val">{{ data.baseInfo[initialIndex].labels | sex }}</span>
               </p>
               <p>
                 <span class="labelInfo">韬唤璇佸彿</span>
-                <span class="val">{{
-                  data.baseInfo[initialIndex].labels | idCard
-                }}</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>
+                <span class="val">{{ data.baseInfo[initialIndex].labels | phoneNum }}</span>
               </p>
               <p>
                 <span class="labelInfo">浜哄憳绛夌骇</span>
-                <span
-                  class="val"
-                  :title="data.baseInfo[initialIndex].monitorLevel"
-                  >{{ data.baseInfo[initialIndex].monitorLevel }}</span
-                >
+                <span class="val" :title="data.baseInfo[initialIndex].monitorLevel">{{
+                  data.baseInfo[initialIndex].monitorLevel
+                }}</span>
               </p>
             </div>
           </div>
         </div>
+        <el-dialog
+          title="鏍囪"
+          :visible.sync="markDialogVisible"
+          width="30%"
+          style="z-index:4000;margin-top:200px"
+          center
+          :modal="false"
+        >
+          <el-radio v-model="warningFlag" label="1">璇姤</el-radio>
+          <el-radio v-model="warningFlag" label="2">鏈暣鏀�</el-radio>
+          <el-radio v-model="warningFlag" label="3">宸叉暣鏀�</el-radio>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="markDialogVisible = false" size="mini">鍙� 娑�</el-button>
+            <el-button type="primary" @click="saveWarningFlag(data)" size="mini">纭� 瀹�</el-button>
+          </span>
+        </el-dialog>
       </el-tab-pane>
 
       <el-tab-pane label="瑙嗛" name="video" class="video-tabs">
@@ -293,35 +207,23 @@
             >
               鎮ㄧ殑娴忚鍣ㄤ笉鏀寔 video 鏍囩銆�
             </video> -->
-            <wasm-player
-              :videoUrl="data.videoUrl"
-              :isStream="false"
-            ></wasm-player>
+            <wasm-player :videoUrl="data.videoUrl" :isStream="false"></wasm-player>
           </div>
         </div>
         <div
           v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
           class="model-card-box-right"
           :style="
-            data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
-              ? 'width: 35%;box-sizing: border-box;'
-              : ''
+            data.targetInfo !== null && data.targetInfo[0].picSmUrl !== '' ? 'width: 35%;box-sizing: border-box;' : ''
           "
         >
           <p class="img-box-title">
             <b>鎶撴媿鍥�</b>
           </p>
           <!-- 宸﹀彸涓ゅ紶鐨勪汉鑴稿姣旀ā寮� -->
-          <div
-            class="img-box"
-            v-if="data.baseInfo && data.baseInfo.length >= 1"
-            ref="picSmBox"
-          >
+          <div class="img-box" v-if="data.baseInfo && data.baseInfo.length >= 1" ref="picSmBox">
             <div class="card-img-box-compear-left">
-              <img-down
-                :url="data.targetInfo[0].picSmUrl"
-                :isPreview="false"
-              ></img-down>
+              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
             </div>
             <el-carousel
               @change="changeInitialIndex"
@@ -332,88 +234,57 @@
               class="card-img-box-compear-right"
               :arrow="data.baseInfo.length > 1 ? 'always' : 'never'"
             >
-              <el-carousel-item
-                v-for="(item, index) in data.baseInfo"
-                :key="index"
-              >
+              <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index">
                 <!-- <img :src="'http://'+item.targetPicUrl" /> -->
-                <img-down
-                  :url="item.targetPicUrl"
-                  :isPreview="false"
-                ></img-down>
+                <img-down :url="item.targetPicUrl" :isPreview="false"></img-down>
               </el-carousel-item>
             </el-carousel>
             <div
               class="img-compareScore"
               v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
-              :style="
-                data.baseInfo[initialIndex].bwType === '1'
-                  ? `background: red;`
-                  : `background: green;`
-              "
+              :style="data.baseInfo[initialIndex].bwType === '1' ? `background: red;` : `background: green;`"
             >
               <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b>
             </div>
           </div>
           <!-- 娌℃湁姣斿鐨勪汉鑴歌瘑鍒ā寮� -->
           <div class="img-box" v-if="!data.baseInfo && data.picMaxUrl">
-            <div
-              class="card-img-box-compear-left"
-              style="width: 60%; margin-top: 5px"
-            >
+            <div class="card-img-box-compear-left" style="width: 60%; margin-top: 5px">
               <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" /> -->
-              <img-down
-                :url="data.targetInfo[0].picSmUrl"
-                :isPreview="false"
-              ></img-down>
+              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
             </div>
           </div>
-          <div
-            class="baseInfo"
-            v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
-          >
+          <div class="baseInfo" v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''">
             <div class="baseInfo_list">
               <p>
                 <span class="labelInfo">搴曞簱</span>
-                <span
-                  class="val"
-                  :title="data.baseInfo[initialIndex].tableName"
-                  >{{ data.baseInfo[initialIndex].tableName }}</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
-                >
+                <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>
+                <span class="val">{{ data.baseInfo[initialIndex].labels | sex }}</span>
               </p>
               <p>
                 <span class="labelInfo">韬唤璇佸彿</span>
-                <span class="val">{{
-                  data.baseInfo[initialIndex].labels | idCard
-                }}</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>
+                <span class="val">{{ data.baseInfo[initialIndex].labels | phoneNum }}</span>
               </p>
               <p>
                 <span class="labelInfo">浜哄憳绛夌骇</span>
-                <span
-                  class="val"
-                  :title="data.baseInfo[initialIndex].monitorLevel"
-                  >{{ data.baseInfo[initialIndex].monitorLevel }}</span
-                >
+                <span class="val" :title="data.baseInfo[initialIndex].monitorLevel">{{
+                  data.baseInfo[initialIndex].monitorLevel
+                }}</span>
               </p>
             </div>
           </div>
@@ -423,7 +294,7 @@
   </div>
 </template>
 <script>
-Date.prototype.Format = function (fmt) {
+Date.prototype.Format = function(fmt) {
   var o = {
     "M+": this.getMonth() + 1, //鏈堜唤
     "d+": this.getDate(), //鏃�
@@ -431,108 +302,119 @@
     "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)
-    );
+    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;
-};
+      fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length))
+  return fmt
+}
 
-import WasmPlayer from "./wasmPlayer";
-import imgDown from "./imgDown";
+import WasmPlayer from "./wasmPlayer"
+import imgDown from "./imgDown"
+import { saveWarning } from "@/api/es"
 export default {
   components: {
     WasmPlayer,
-    imgDown,
+    imgDown
   },
   props: {
     height: {
       type: String,
-      default: "100%",
+      default: "100%"
     },
     width: {
       type: String,
-      default: "100%",
+      default: "100%"
     },
     data: {
       type: Object,
       require: false,
-      default: function () {
-        return {};
-      },
-    },
+      default: function() {
+        return {}
+      }
+    }
   },
   filters: {
     formatTime(t) {
-      return new Date(t).Format("yyyy-MM-dd HH:mm:ss");
+      return new Date(t).Format("yyyy-MM-dd HH:mm:ss")
     },
     percentage(score) {
-      return score.toFixed(2) + "%";
+      return score.toFixed(2) + "%"
     },
     sex(v) {
       try {
-        let obj = JSON.parse(v);
-        return obj.sex;
+        let obj = JSON.parse(v)
+        return obj.sex
       } catch (error) {
-        return v.split("/")[0];
+        return v.split("/")[0]
       }
     },
     idCard(v) {
       try {
-        let obj = JSON.parse(v);
-        return obj.idCard;
+        let obj = JSON.parse(v)
+        return obj.idCard
       } catch (error) {
-        return v.split("/")[1];
+        return v.split("/")[1]
       }
     },
     phoneNum(v) {
       try {
-        let obj = JSON.parse(v);
-        return obj.phone;
+        let obj = JSON.parse(v)
+        return obj.phone
       } catch (error) {
-        return v.split("/")[2];
+        return v.split("/")[2]
       }
-    },
+    }
   },
-  mounted() {
-    console.log("ModelCard data", this.data);
-    console.log(this.data.baseInfo);
-    console.log(this.initialIndex);
-    //this.VideoPhotoData.activeName = "pic"
-  },
+  mounted() {},
   data() {
     return {
       activeName: "pic",
       initialIndex: 0,
-    };
+      markDialogVisible: false,
+      warningFlag: 0
+    }
   },
   methods: {
+    saveWarningFlag(card) {
+      saveWarning({
+        warningFlag: parseInt(this.warningFlag),
+        id: card.id,
+        correctionDescription: ""
+      })
+        .then((rsp) => {
+          if (rsp && rsp.success) {
+            card.warningFlag = parseInt(this.warningFlag)
+            this.$notify({
+              title: "淇濆瓨鎴愬姛",
+              type: "success"
+            })
+          }
+          this.markDialogVisible = false
+        })
+        .catch((e) => {
+          this.markDialogVisible = false
+        })
+    },
     changeTabs(activeName, oldActiveName) {
-      console.log(activeName, oldActiveName);
+      console.log(activeName, oldActiveName)
     },
     changeInitialIndex(index) {
-      this.initialIndex = index;
+      this.initialIndex = index
     },
     downloadfile() {
-      this.filecontent = "this is my file content";
-      let a = document.createElement("a");
+      this.filecontent = "this is my file content"
+      let a = document.createElement("a")
 
-      a.href = "data:text/json;charset=utf-8," + this.filecontent;
+      a.href = "data:text/json;charset=utf-8," + this.filecontent
       // a.url = "http://192.168.20.112:6154/93,02c5aea4fc614e";
-      a.download = "video.mp4";
-      a.click();
-    },
-  },
-};
+      a.download = "video.mp4"
+      a.click()
+    }
+  }
+}
 </script>
 <style lang="scss">
 .fontStyleForModel {

--
Gitblit v1.8.0