From 2ffa2054a2ed4367f493e1063e23572c8c0cf698 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 23 八月 2024 11:05:46 +0800
Subject: [PATCH] 钢化模块、掰片模块解决推送数据时的bug,修改文字样式,新增打印功能

---
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |  268 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 231 insertions(+), 37 deletions(-)

diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index fdfcfd0..dd35c4e 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -85,7 +85,61 @@
 };  
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
 const handleMessage = (data) => {  
+  // if (data.intoGlass2 && data.intoGlass2.length > 0) {  
+  //   const newRects = data.intoGlass2[0].map(rect => {  
+  //     const scaleFactor =  794.67/5087; 
+  //       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+  //       let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  //     if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;
+  //   adjustedHeight = heighta * 0.1;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;   
+  //   newX = 5087 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * 0.1;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + heighta); 
+  // } 
+  //       return {  
+  //       ...rect, 
+  //       xcoordinate: newX * scaleFactor,
+  //       ycoordinate: rect.xCoordinate * 0.1,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  //     }
+  //   });  
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+  //   adjustedRects2.value = adjustedRects2.value.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)));  
+  // }
+  // else {
+  //   adjustedRects2.value = ''
+  // }
   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 +173,79 @@
         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) {  
+  //   const newRects = data.intoGlass[0].map(rect => {  
+  //     const scaleFactor =  794.67/5087; 
+  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+  //     let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  //     if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;
+  //   adjustedHeight = heighta * 0.1;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * 0.1;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + heighta);  
+  // } 
+  //       return {  
+  //       ...rect, 
+  //       xcoordinate: newX * scaleFactor,
+  //       ycoordinate: rect.xCoordinate * 0.1,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  //     }
+  //   });  
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+  //   adjustedRects1.value = adjustedRects1.value.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)));  
+  // }
+  // else {
+  //   adjustedRects1.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 +279,80 @@
         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) {  
+  //   const newRects = data.waitingGlass[0].map(rect => {  
+  //     const scaleFactor =  1621.78/5190; 
+  // let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
+  // let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  // if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;  
+  //   adjustedHeight = heighta * 0.16;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5190 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * 0.16;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5190 - (rect.yCoordinate + heighta);  
+  // }  
+  // return {  
+  //   ...rect, 
+  //   x: newX * scaleFactor,  
+  //   y: rect.xCoordinate * 0.16,  
+  //   width: adjustedWidth,  
+  //   height: adjustedHeight,  
+  //   widtha: rect.width, 
+  //   heighta: rect.height,
+  // }
+  //   });  
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+  //   adjustedRectsa.value = adjustedRectsa.value.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)));  
+  // }
+  // else {
+  //   adjustedRectsa.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 +386,28 @@
     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,15 +444,19 @@
         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(() => {
@@ -364,7 +558,7 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
@@ -387,7 +581,7 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
@@ -410,7 +604,7 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
@@ -433,7 +627,7 @@
     glassId: currentGlassId.value,
     // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
-    status: 2,
+    status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
@@ -482,9 +676,9 @@
         backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#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>
@@ -510,9 +704,9 @@
        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#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 +732,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 +760,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 +778,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

--
Gitblit v1.8.0