From 4fb03eda727737a4508eb8b2548f809bb7d0a229 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 23 八月 2024 16:46:40 +0800
Subject: [PATCH] 解决可视化系统图片问题,更改接口判断条件

---
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |  169 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 115 insertions(+), 54 deletions(-)

diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index cee0727..d329c50 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -86,6 +86,11 @@
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
 const handleMessage = (data) => {  
   if (data.intoGlass2 && data.intoGlass2.length > 0) {  
+    // 鎻愬彇鏂扮殑鐭╁舰ID  
+    const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));  
+    // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
+    const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId));  
+    // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.intoGlass2[0].map(rect => {  
       const scaleFactor =  794.67/5087; 
         let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -119,17 +124,25 @@
         widtha: rect.width, 
         heighta: rect.height,
       }
-    });  
-    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
-    adjustedRects2.value = adjustedRects2.value.map(oldRect => {  
+    });   
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+    adjustedRects2.value = existingRects.map(oldRect => {  
       const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
       if (newRect) {  
         return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
       }  
-      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
-    }).concat(newRects.filter(r => !adjustedRects2.value.some(o => o.glassId === r.glassId)));  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  else if (data.intoGlass2 == null) {
+    adjustedRects2.value = []
   }
   if (data.intoGlass && data.intoGlass.length > 0) {  
+    // 鎻愬彇鏂扮殑鐭╁舰ID  
+    const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));  
+    // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
+    const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));  
+    // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.intoGlass[0].map(rect => {  
       const scaleFactor =  794.67/5087; 
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -163,17 +176,25 @@
         widtha: rect.width, 
         heighta: rect.height,
       }
-    });  
-    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
-    adjustedRects1.value = adjustedRects1.value.map(oldRect => {  
+    });     
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+    adjustedRects1.value = existingRects.map(oldRect => {  
       const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
       if (newRect) {  
         return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
       }  
-      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
-    }).concat(newRects.filter(r => !adjustedRects1.value.some(o => o.glassId === r.glassId)));  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  else if (data.overGlass == null) {
+    adjustedRects1.value = []
   }
   if (data.waitingGlass && data.waitingGlass.length > 0) {  
+    // 鎻愬彇鏂扮殑鐭╁舰ID  
+    const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId));  
+    // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
+    const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId));  
+    // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.waitingGlass[0].map(rect => {  
       const scaleFactor =  1621.78/5190; 
   let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
@@ -207,17 +228,25 @@
     widtha: rect.width, 
     heighta: rect.height,
   }
-    });  
-    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
-    adjustedRectsa.value = adjustedRectsa.value.map(oldRect => {  
+    }); 
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+    adjustedRectsa.value = existingRects.map(oldRect => {  
       const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
       if (newRect) {  
         return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
       }  
-      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
-    }).concat(newRects.filter(r => !adjustedRectsa.value.some(o => o.glassId === r.glassId)));  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  else if (data.waitingGlass == null) {
+    adjustedRectsa.value = []
   }
   if (data.outGlass && data.outGlass.length > 0) {  
+    // 鎻愬彇鏂扮殑鐭╁舰ID  
+    const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId));  
+    // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
+    const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId));  
+    // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.outGlass[0].map(rect => {  
       const scaleFactor =  1621.78/5190; 
       const scaleFactory =  550/2800; 
@@ -254,24 +283,49 @@
         widtha: rect.width, 
         heighta: rect.height,
   }
-    });  
-    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
-    adjustedRectsb.value = adjustedRectsb.value.map(oldRect => {  
+    });   
+  
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+    adjustedRectsb.value = existingRects.map(oldRect => {  
       const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
       if (newRect) {  
         return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
       }  
-      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
-    }).concat(newRects.filter(r => !adjustedRectsb.value.some(o => o.glassId === r.glassId)));  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  else if (data.outGlass == null) {
+    adjustedRectsb.value = []
   }
 }; 
 onMounted(() => {
   initializeWebSocket(socketUrl, handleMessage);
 });
-function updateRectColors() {  
+function updateRectColorsa() {  
   adjustedRectsa.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
-      rect.state = 5;
+      rect.state = 8;
+    }
+  });  
+}  
+function updateRectColorsb() {  
+  adjustedRectsb.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 8;
+    }
+  });  
+}  
+function updateRectColors1() {  
+  adjustedRects1.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 8;
+    }
+  });
+}  
+function updateRectColors2() {  
+  adjustedRects2.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 8;
     }
   });  
 }  
@@ -283,7 +337,7 @@
       return '#95d475';
     case -1:  
       return '#CDAF95';  
-    case 5:  
+    case 8:  
       return '#911005';  
   }
 }
@@ -293,7 +347,7 @@
       return '#eebe77';  
     case 4:  
       return '#CD6090';
-    case 5:  
+    case 8:  
       return '#911005';  
   }  
 }
@@ -364,13 +418,13 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
       ElMessage.success(response.message);
       blind1.value = false;
-      updateRectColors();
+      updateRectColors1();
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
@@ -387,13 +441,13 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
       ElMessage.success(response.message);
       blind2.value = false;
-      updateRectColors();
+      updateRectColors2();
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
@@ -410,13 +464,13 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
       ElMessage.success(response.message);
       blinda.value = false;
-      updateRectColors();
+      updateRectColorsa();
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
@@ -433,13 +487,13 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
       ElMessage.success(response.message);
       blindb.value = false;
-      updateRectColors();
+      updateRectColorsb();
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
@@ -447,7 +501,7 @@
 }
 catch (error) {
     // 澶勭悊閿欒
-    console.error(error);
+    // console.error(error);
   }
 }
 onBeforeUnmount(() => {
@@ -479,12 +533,12 @@
        left: `${rect.xcoordinate}px`,
         width: `${rect.width}px`, 
         height: `${rect.height}px`,
-        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
+        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
     >
      <div  class="centered-text">
-    <div >{{ rect.glassId }}</div>  
-    <div >{{ rect.flowCardId }}</div>  
-    <div>{{ rect.widtha }}*{{ rect.heighta }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
+    <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div>
    </div>
@@ -507,12 +561,12 @@
        left: `${rect.xcoordinate}px`, 
        width: `${rect.width}px`, 
        height: `${rect.height}px`,
-       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
+       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
        >
      <div  class="centered-text">
-    <div >{{ rect.glassId }}</div>  
-    <div >{{ rect.flowCardId }}</div>  
-    <div>{{ rect.widtha }}*{{ rect.heighta }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
+    <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div>
    </div>
@@ -538,9 +592,9 @@
        width: `${rect.width}px`, height: `${rect.height}px`,
       backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state) }">
     <div  class="centered-text">
-    <div>{{ rect.glassId }}</div>  
-    <div >{{ rect.flowCardId }}</div>  
-    <div>{{ rect.widtha }}*{{ rect.heighta }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
+    <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div> 
    </div>
@@ -566,9 +620,9 @@
       backgroundColor: rect.isActive ? '#ADFF2F' : getRectColorb(rect.state) }">
        <!-- backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }"> -->
      <div  class="centered-text">
-    <div >{{ rect.glassId }}</div>  
-    <div >{{ rect.flowCardId }}</div>  
-    <div>{{ rect.widtha }}*{{ rect.heighta }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
+    <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
+    <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div> 
    </div>
@@ -584,7 +638,7 @@
     <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('processCard.inquire') }}</el-button>
     <el-button type="info" style="margin-left: 10px;" @click="printing()">{{ $t('processCard.printing') }}</el-button>
   </div>
-
+ 
     <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
     <el-table
@@ -625,21 +679,24 @@
   <el-dialog  
       v-model="dialogVisible"
       width="100%" 
-      :title="$t('processCard.glasstakeout')"
       top="0vh"
+      :show-close="false"
       >  
+      <div class="custom-title" style="text-align: center; margin-bottom: 20px;">  
+      {{ $t('processCard.glasstakeout') }}  
+    </div>  
       <el-table  
         :data="tableData"  
-        style="width: 100%;height: 860px"  
+        style="width: 100%;height: 760px"  
       >  
       <el-table-column prop="flowCardId" :label="$t('processCard.flowcard')" width="140" align="center"/>
-      <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="80"/>
+      <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="52"/>
       <el-table-column prop="engineerId" :label="$t('processCard.project')" align="center" width="110"/>
-      <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="80"/>
-      <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="80"/>
+      <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="52"/>
+      <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="52"/>
       <el-table-column prop="width" :label="$t('processCard.width')" align="center" width="80"/>
       <el-table-column prop="height" :label="$t('processCard.height')" align="center" width="80"/>
-      <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="80"/>
+      <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="52"/>
       </el-table>  
     </el-dialog>  
   </div>
@@ -724,4 +781,8 @@
   height: 100%; /* 纭繚div鍗犳嵁鏁翠釜鐭╁舰鐨勯珮搴� */  
   /* font-size: small; */
 } 
+.custom-title {  
+  font-size: 20px;
+  font-weight: bold;
+} 
 </style>
\ No newline at end of file

--
Gitblit v1.8.0