From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/intellectInspect/intelligentLine/index.vue |  138 +++++++++++++++++++++++++++++----------------
 1 files changed, 88 insertions(+), 50 deletions(-)

diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index af7fa8f..51d5f1b 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -1,18 +1,18 @@
 <template>
     <div class="container" id="screenFull">
-        <div class="big-title" @click="goBack()">国泰新华智能巡检系统</div>
+        <div class="big-title" @click="goBack()">智能巡检系统</div>
         <div style="height: 20px;font-size: 14px;line-height: 20px; color: #00ffff; margin-top: 4px">{{ present }}</div>
         <div class="btns">
-            <div class="fullbtn" @click="onScreenfullClick">
-                <div class="toFull">
-                    <i class="iconfont" :title="全屏" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
+<!--            <div class="fullbtn" @click="onScreenfullClick">-->
+<!--                <div class="toFull">-->
+<!--                    <i class="iconfont" :title="全屏" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>-->
 <!--                  <el-icon>-->
 <!--                    <FullScreen v-if="isScreenfull"/>-->
 <!--                    <Close v-else/>-->
 <!--                  </el-icon>-->
-                </div>
-                <div>全屏</div>
-            </div>
+<!--                </div>-->
+<!--                <div>全屏</div>-->
+<!--            </div>-->
             <div class="backBtn" @click="goBack()">
                 <img src="../../../assets/loginPage/back-icon.png"/>
                 <div>退出</div>
@@ -20,49 +20,34 @@
         </div>
         <div class="blocks">
             <div>
-            <div class="warning-part">
+            <div class="warning-part" ref="draggableElement">
               <div class="warn-tit">异常警报:</div>
-              <div class="warn-msg">
-                <div class="warn-item">
+              <div class="warn-msg" v-if="excepOrder && excepOrder.length>0">
+                <div class="warn-item" v-for="(item,index) in excepOrder" :key="index">
                   <div class="i-tit">
-                    P-8240A 巡检异常!
+                    编号{{item.pointCode}} 巡检异常!
+                  </div>
+                  <div v-if="item.dataReportType == 2 || item.dataReportType == 3">
+                    正常值:<span>{{(item.secondReferenceSign==1?'>':'>=') + item.secondReferenceValue + ',' + (item.thirdReferenceSign==3?'<':'<=') + item.thirdReferenceValue}}</span>
                   </div>
                   <div>
-                    正常值:<span>8-10Mpa</span>
+                    巡检值:
+                    <span v-if="item.dataReportType == 1">{{ item.firstReferenceResult==1?'正常':item.firstReferenceResult==2?'异常':'备'}}</span>
+                    <span v-if="item.dataReportType == 2">{{ item.secondReferenceResult}}</span>
                   </div>
                   <div>
-                    巡检值:<span>12Mpa</span>
+                    已通知负责人:<span>{{item.hiddenDangerHandlerName}}</span>
                   </div>
                   <div>
-                    已通知负责人:<span>黄公子</span>
+                    负责人电话:<span>{{item.hiddenDangerHandlerPhone}}</span>
                   </div>
                   <div>
-                    负责人电话:<span>15261806176</span>
-                  </div>
-                  <div>
-                    工单回执状态:<span>待响应</span>
+                    工单回执状态:<span>{{item.handlerStatus==1?'待响应':item.handlerStatus==2?'标记误报':item.handlerStatus==3?'自查处理中':item.handlerStatus==4?'已移交上报':item.handlerStatus==5?'待验收':'已完成'}}</span>
                   </div>
                 </div>
-                <div class="warn-item">
-                  <div class="i-tit">
-                    P-8240A 巡检异常!
-                  </div>
-                  <div>
-                    正常值:<span>8-10Mpa</span>
-                  </div>
-                  <div>
-                    巡检值:<span>12Mpa</span>
-                  </div>
-                  <div>
-                    已通知负责人:<span>黄公子</span>
-                  </div>
-                  <div>
-                    负责人电话:<span>15261806176</span>
-                  </div>
-                  <div>
-                    工单回执状态:<span>待响应</span>
-                  </div>
-                </div>
+              </div>
+              <div v-else>
+                暂无异常警报
               </div>
             </div>
             <div class="star-pic">
@@ -154,8 +139,15 @@
     socket: any;
     socketData: string;
     data: Array<any>;
+    excepOrder: Array<any>;
     id: string;
-    defaultImg: string
+    defaultImg: string;
+    isDragging:boolean
+    initialX:number|null
+    initialY:number|null
+    xOffset:number|null
+    yOffset:number|null
+    timer: null | any
 }
 export default {
     name: 'intelligentLine',
@@ -170,23 +162,33 @@
             socketData: '',
             socket: null,
             data: [],
+            excepOrder: [],
             id: '',
-            defaultImg: new URL('../../../assets/default-img.jpg',import.meta.url).href
+            defaultImg: new URL('../../../assets/default-img.jpg',import.meta.url).href,
+            isDragging: false,
+            initialX: 0,
+            initialY: 0,
+            xOffset: 0,
+            yOffset: 0,
+            timer: null
         });
 
         onMounted(() => {
-            setInterval(() => {
+            state.timer = setInterval(() => {
                 state.present = new Date().toLocaleString();
             }, 1000);
             let curId = route.query.id
             state.id = curId.toString()
             getLine(state.id)
             getUrl(state.id)
+            draggableElement.value.addEventListener('mousedown', handleMouseDown);
+            draggableElement.value.addEventListener('mousemove', handleMouseMove);
+            draggableElement.value.addEventListener('mouseup', handleMouseUp);
         });
       onActivated(()=>{
         onScreenfullClick();
       })
-
+        const draggableElement = ref(null);
         const dataList = computed(() => {
             return userInfos.value.dataList;
         });
@@ -215,8 +217,11 @@
                     };
                     // 监听socket消息
                     state.socket.onmessage = (msg) => {
+                      console.log(msg.data,'msg.data')
+                      console.log(msg.data.rfidInfos,'rfidInfos')
                         if (msg.data === '连接成功') return;
-                        userInfos.value.dataList = JSON.parse(msg.data);
+                        userInfos.value.dataList = JSON.parse(msg.data).rfidInfos;
+                        state.excepOrder = JSON.parse(msg.data).excepOrder;
                     };
                 }
             } else {
@@ -235,7 +240,12 @@
         const getLine = async (id:string) => {
             let res = await lineApi().getLine({ id: id });
             if (res.data.code === '200') {
-                userInfos.value.dataList = res.data.data
+                userInfos.value.dataList = res.data.data.rfidInfos
+              if(res.data.data.excepOrder){
+                state.excepOrder = res.data.data.excepOrder
+              }else{
+                state.excepOrder = []
+              }
             } else {
                 ElMessage({
                     type: 'warning',
@@ -259,6 +269,25 @@
             window.history.go(-1);
         };
 
+      const handleMouseDown = (e) => {
+        state.initialX = e.clientX - state.xOffset;
+        state.initialY = e.clientY - state.yOffset;
+        state.isDragging = true;
+      };
+
+      const handleMouseMove = (e) => {
+        if (state.isDragging) {
+          state.xOffset = e.clientX - state.initialX;
+          state.yOffset = e.clientY - state.initialY;
+
+          draggableElement.value.style.transform = `translate3d(${state.xOffset}px, ${state.yOffset}px, 0)`;
+        }
+      };
+
+      const handleMouseUp = () => {
+        state.isDragging = false;
+      };
+
         // 页面关闭处理
         onUnmounted(() => {
             // 销毁监听
@@ -267,9 +296,14 @@
                     console.log('socket已经关闭');
                 };
             })
+            clearInterval(state.timer)
+          draggableElement.value.removeEventListener('mousedown', handleMouseDown);
+          draggableElement.value.removeEventListener('mousemove', handleMouseMove);
+          draggableElement.value.removeEventListener('mouseup', handleMouseUp);
         });
         return {
             dataList,
+            draggableElement,
             goBack,
             onScreenfullClick,
             ...toRefs(state)
@@ -428,16 +462,17 @@
 
                 div {
                     margin-bottom: 5px;
+                    display: flex;
+                    align-items: flex-start;
                     &:last-of-type {
                         margin-bottom: 0;
                     }
                     span {
-                        display: inline-block;
-                        white-space: nowrap;
                         width: 50%;
                         font-size: 13px;
                         color: #fff;
                         text-align: left;
+                        word-break: break-all;
 
                         &:first-of-type {
                             text-align: right;
@@ -638,16 +673,17 @@
                 div {
                     width: 100%;
                     margin-bottom: 5px;
+                    display: flex;
+                    align-items: flex-start;
                     &:last-of-type {
                         margin-bottom: 0;
                     }
                     span {
-                        display: inline-block;
-                        white-space: nowrap;
                         width: 50%;
                         font-size: 13px;
                         color: #fff;
                         text-align: left;
+                        word-break: break-all;
 
                         &:first-of-type {
                             text-align: right;
@@ -847,16 +883,17 @@
                 div {
                     width: 100%;
                     margin-bottom: 2px;
+                    display: flex;
+                    align-items: flex-start;
                     &:last-of-type {
                         margin-bottom: 0;
                     }
                     span {
                         width: 50%;
-                        display: inline-block;
-                        white-space: nowrap;
                         font-size: 12px;
                         color: #fff;
                         text-align: left;
+                        word-break: break-all;
 
                         &:first-of-type {
                             text-align: right;
@@ -1413,6 +1450,7 @@
               right: 60px;
               padding: 10px;
               color: rgb(0, 255, 255);
+              backdrop-filter: blur(5px);
 
               .warn-tit{
                 height: 26px;

--
Gitblit v1.9.2