From 236a0b8334dfa75685c7ee69619d8e76536ba666 Mon Sep 17 00:00:00 2001
From: sd <shidong@jhsoft.cc>
Date: 星期五, 01 八月 2025 14:58:10 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.6:8080/vue-smart-ai

---
 src/components/subComponents/CardItem.vue |   90 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 75 insertions(+), 15 deletions(-)

diff --git a/src/components/subComponents/CardItem.vue b/src/components/subComponents/CardItem.vue
index 1d2c855..9bb2319 100644
--- a/src/components/subComponents/CardItem.vue
+++ b/src/components/subComponents/CardItem.vue
@@ -72,20 +72,20 @@
             data.targetInfo == null ||
             data.targetInfo[0].targetType !== 'FaceDetect'
           "
-          :src="data.picMaxUrl[0] | httpImage"
+          :src="data.picMaxUrl[0] | apiImg"
           class="cursor-pointer"
           @click="detailsClick($event)"
         />
         <img
           v-else
-          :src="data.targetInfo[0].picSmUrl | httpImage"
+          :src="data.targetInfo[0].picSmUrl | apiImg"
           class="cursor-pointer"
           @click="detailsClick($event)"
         />
       </div>
       <div class="s-card-left-box" v-else>
         <img
-          :src="data.baseInfo[0].targetPicUrl | httpImage"
+          :src="data.baseInfo[0].targetPicUrl | apiImg"
           class="cursor-pointer"
         />
       </div>
@@ -330,15 +330,29 @@
         @mouseenter="cardMouseenter($event)"
         @mouseleave="cardMouseleave($event)"
       >
-        <p :title="data.picDate">
+        <p :title="data.detect_time">
           <span class="fontStyle color222">{{
-            data.picDate | formatTime
+            data.detect_time | formatTime
           }}</span>
         </p>
         <p :title="data.cameraAddr" style="margin-bottom: 8px">
           <span class="fontStyle color222">{{ data.cameraAddr }}</span>
         </p>
-        <el-tooltip placement="right" popper-class="atooltip">
+        <p v-for="(item, index) in data.event_levels" :key="index + 'rule'">
+              <span v-if="data.is_warning === 1" style="color: red;">{{ data.task_name }}</span
+              >
+              <span v-else>{{ data.task_name }}</span
+              >&nbsp;&nbsp;
+              <span v-if="data.is_warning === 1" style="color: red;">{{
+                item.dictValue
+              }}</span
+              >
+              <span v-else>{{
+                item.dictValue
+              }}</span
+              >&nbsp;
+            </p>
+        <!-- <el-tooltip placement="right" popper-class="atooltip">
           <div slot="content">
             <p v-for="(item, index) in data.alarmRules" :key="index + 'rule'">
               <span>{{ data.taskName }}</span
@@ -381,7 +395,7 @@
               <span v-if="index < data.alarmRules.length - 1">/&nbsp;</span>
             </span>
           </el-button>
-        </el-tooltip>
+        </el-tooltip> -->
       </div>
       <div class="right-bottom">
         <div v-if="!data.id" class="card-icon-box">
@@ -398,10 +412,23 @@
           v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''"
           class="card-icon-box"
         >
-          <el-tooltip content="璇︽儏" placement="top" popper-class="atooltip">
-            <i class="iconfont iconcaidan" @click="detailsClick($event)"></i>
+          <el-tooltip placement="top" :content="data.zh_desc_class" effect="light" popper-class="my-tooltip">
+          <img src="@/assets/img/article-fill@1x.png" >
+            <!-- <i class="iconfont iconcaidan" @click="detailsClick($event)"></i> -->
           </el-tooltip>
-          <el-tooltip content="鏀惰棌" placement="top" popper-class="atooltip">
+          <el-dropdown size="small"  style="margin-left: 10px;"  @command="handleCommand" >
+            <img src="@/assets/img/modelTraining.png"  style="height: 15px;width: 14px">
+
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item  :command="{ ruleName: data.rule_names[0].fileName, cameraId: data.video_point_id+'', cameraName: data.video_name,imagePath:data.image_path,status:1 }">姝g‘</el-dropdown-item>
+              <el-dropdown-item :command="{ ruleName: data.rule_names[0].fileName, cameraId: data.video_point_id+'', cameraName: data.video_name,imagePath:data.image_path,status:2 }">閿欒</el-dropdown-item>
+              <el-dropdown-item :command="{ ruleName: data.rule_names[0].fileName, cameraId: data.video_point_id+'', cameraName: data.video_name,imagePath:data.image_path,status:0 }">涓嶇‘瀹�</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+          <!-- <el-tooltip content="璇︽儏" placement="top" popper-class="atooltip">
+            <i class="iconfont iconcaidan" @click="detailsClick($event)"></i>
+          </el-tooltip> -->
+          <!-- <el-tooltip content="鏀惰棌" placement="top" popper-class="atooltip">
             <i
               v-if="!data.isCollect"
               class="iconfont iconshoucang2"
@@ -410,26 +437,26 @@
             <span v-else @click="collect(false)" class="iconfont icon_collect"
               >&#xe625;</span
             >
-          </el-tooltip>
+          </el-tooltip> -->
           <!-- :class="
               data.isAlarm ? 'iconfont systemmm' : 'iconfont systemxing'
           "-->
           
-          <el-tooltip
+          <!-- <el-tooltip
             content="鍒犻櫎"
             placement="top"
             popper-class="atooltip"
           >
             <i class="iconfont iconshanchu ml40" @click="toDelete(data.id)"></i>
-          </el-tooltip>
+          </el-tooltip> -->
           <!-- 杩欓噷鏄澧炲姞鎸夐挳鐨勫湴鏂� -->
-          <el-tooltip
+          <!-- <el-tooltip
             content="璇姤"
             placement="top"
             popper-class="atooltip"
           >
           <i :style="{color:data.misreport? '#f00':''}" :disabled="data.misreport" class="iconfont el-icon-error ml40" @click="toFalseAlarm(data)"></i>
-          </el-tooltip>
+          </el-tooltip> -->
         </div>
         <div class="card-icon-box" v-else>
           <el-tooltip content="璇︽儏" placement="top" popper-class="atooltip">
@@ -765,6 +792,7 @@
 
 <script>
 import { collect } from "@/api/search";
+import {insertModelTraining} from "@/api/task";
 
 Date.prototype.Format = function (fmt) {
   var o = {
@@ -846,6 +874,14 @@
         "/httpImage/" + url + (url.indexOf("?") >= 0 ? "&" : "?") + "width=160"
       );
     },
+    apiImg(url) {
+      if (!url.length) {
+        return "";
+      }
+      return (
+        "/api-img" + url + (url.indexOf("?") >= 0 ? "&" : "?") + "width=160"
+      );
+    },
   },
   data() {
     return {
@@ -865,6 +901,22 @@
     },
   },
   methods: {
+    handleCommand(command) {
+      console.log(JSON.stringify(command))
+      insertModelTraining(JSON.stringify(command)).then((res) => {
+        if (res && res.status === 200) {
+          this.$notify({
+            type: "success",
+            message: "娣诲姞鎴愬姛",
+          });
+        } else {
+          this.$notify({
+            type: "error",
+            message: "娣诲姞澶辫触锛�",
+          });
+        }
+      });
+    },
     getBottom() {
       this.$nextTick(() => {
         let imgDom = this.$refs.firstImg;
@@ -968,6 +1020,14 @@
   },
 };
 </script>
+<style>
+/* 鍏ㄥ眬鐢熸晥锛屽彲瑕嗙洊 tooltip */
+.my-tooltip {
+  max-width: 540px !important;
+  color: #606266 !important;
+}
+
+</style>
 <style lang="scss">
 .fontStyle {
   font-family: PingFangSC-Medium;

--
Gitblit v1.8.0