From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 16:13:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |  988 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 715 insertions(+), 273 deletions(-)

diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index d329c50..0b01439 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -1,15 +1,13 @@
-<script setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+<script setup lang="ts">
+import {nextTick, onBeforeUnmount, onMounted, ref} from "vue";
 import request from "@/utils/request"
-import { ref, onMounted, onBeforeUnmount,nextTick  } from 'vue';  
-import { WebSocketHost ,host} from '@/utils/constants'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-  import { useI18n } from 'vue-i18n'
-  import { useRouter } from 'vue-router'
-  const { t } = useI18n()
-  let language = ref(localStorage.getItem('lang') || 'zh')
+import {host, WebSocketHost} from '@/utils/constants'
+import {ElMessage} from 'element-plus'
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {useI18n} from 'vue-i18n'
+import {useRouter} from 'vue-router'
+const {t} = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
 const dialogFormVisible = ref(false)
 const dialogFormVisiblea = ref(true)
 const dialogFormVisibleb = ref(false)
@@ -21,10 +19,20 @@
 const dialogVisible = ref(false)
 const width = ref();
 const height = ref();
+const currentRect = ref(null);
+const canSelectProject1 = ref(true);
+const canSelectProject2 = ref(true);
+const canSelectProjecta = ref(true);
+const cantakea = ref(true);
+const cantakeb = ref(true);
+const canona = ref(true);
+const canonb = ref(true);
+const canSelectProjectb = ref(true);
 const adjustedRects1 = ref([]);
 const adjustedRects2 = ref([]);
 const adjustedRectsa = ref([]);
 const adjustedRectsb = ref([]);
+const currentPage = ref<number>(1);
 const tableData = ref([])
 const engineerId = ref('')
 const router = useRouter()
@@ -40,10 +48,9 @@
           tableData.value = response.data
           console.log(response.data);
     } else {  
-      ElMessage.warning(res.msg)
+      ElMessage.warning(response.message)
     }  
   } catch (error) {  
-    // console.error('Error fetching rects :', error);  
   }  
 }); 
 const selectReportData = async () => {
@@ -65,139 +72,37 @@
     type: 9,  
     workingProcedure: '閽㈠寲',  
     ...(engineerId.value !== '' && { engineerId: engineerId.value }),  
-  };  
-  console.log(engineerId.value);
-  
+  };
   const response = await request.post("/loadGlass/damage/selectDamagePrintDetails", postData)
   if (response.code === 200) {
   dialogVisible.value = true;
     tableData.value = response.data; 
     await nextTick(); 
-  window.print();  
+    // 寤舵椂 2 绉掑悗鎵撳嵃锛堟椂闂村彲浠ユ牴鎹渶瑕佽皟鏁达級  
+    setTimeout(() => {  
+      window.print();  
+    }, 2000);
 } else {
     ElMessage.error(response.message);
   }
 };
 const printTable = () => {  
-  // 杩欓噷鍙互娣诲姞涓�浜汣SS鏍峰紡鏉ヤ紭鍖栨墦鍗版晥鏋�  
-  // 渚嬪锛屽彲浠ユ坊鍔犱竴涓殣钘忕殑鎵撳嵃鏍峰紡琛�  
   window.print();  
 };  
+// 鏂规硶瀹氫箟
+function handlePageChange(page: number) {
+  currentPage.value = page;
+}
 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;;
-        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 = existingRects.map(oldRect => {  
-      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
-      if (newRect) {  
-        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
-      }  
-      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;;
-      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 = existingRects.map(oldRect => {  
-      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
-      if (newRect) {  
-        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
-      }  
-      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;; 
+      const scaleFactor =  1621.78/6000; 
+      const scaleFactorY =  700/2800; 
+      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
   let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -208,21 +113,222 @@
       }
   if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
-    adjustedHeight = heighta * 0.16;
+    adjustedHeight = heighta * scaleFactorY;
     // adjustedWidtha = widtha;  
     // adjustedHeighta = heighta;  
-    newX = 5190 - (rect.yCoordinate + widtha); 
+    newX = 6000 - (rect.yCoordinate + widtha); 
     } else {  
     adjustedWidth = heighta * scaleFactor;  
-    adjustedHeight = widtha * 0.16;  
+    adjustedHeight = widtha * scaleFactorY;  
     // adjustedWidtha = widtha;  
     // adjustedHeighta = heighta;  
-    newX = 5190 - (rect.yCoordinate + heighta);  
+    newX = 6000 - (rect.yCoordinate + heighta);  
   }  
   return {  
     ...rect, 
     x: newX * scaleFactor,  
-    y: rect.xCoordinate * 0.16,  
+    y: rect.xCoordinate * scaleFactorY,  
+    width: adjustedWidth,  
+    height: adjustedHeight,  
+    widtha: rect.width, 
+    heighta: rect.height,
+  }
+    }); 
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  // 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; 
+  //     const scaleFactorY =  430/2800; 
+  //       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 * scaleFactorY;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;   
+  //   newX = 5087 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactorY;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + heighta); 
+  // } 
+  //       return {  
+  //       ...rect, 
+  //       xcoordinate: newX * scaleFactor,
+  //       ycoordinate: rect.xCoordinate * scaleFactorY,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  //     }
+  //   });   
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪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 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 =  1621.78/6000; 
+      const scaleFactorY =  700/2800; 
+      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 * scaleFactorY;
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + widtha); 
+    } else {  
+    adjustedWidth = heighta * scaleFactor;  
+    adjustedHeight = widtha * scaleFactorY;  
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + heighta);  
+  }  
+  return {  
+    ...rect, 
+    x: newX * scaleFactor,  
+    y: rect.xCoordinate * scaleFactorY,  
+    width: adjustedWidth,  
+    height: adjustedHeight,  
+    widtha: rect.width, 
+    heighta: rect.height,
+  }
+    }); 
+    // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  }  
+  // if (data.intoGlass && data.intoGlass.length > 0) {
+  //   console.log(data.intoGlass);
+    
+  //   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 =  810.89/5087;
+  //     const scaleFactorY =  430/2800;
+  //     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 * scaleFactorY;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactorY;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 5087 - (rect.yCoordinate + heighta);  
+  // } 
+  //       return {  
+  //       ...rect, 
+  //       xcoordinate: newX * scaleFactor,
+  //       ycoordinate: rect.xCoordinate * scaleFactorY,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  //     }
+  //   });     
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  // }  
+  else {
+    adjustedRects1.value = []
+  }
+  // 杩涚倝鍓�
+  if (data.waitingGlass && data.waitingGlass.length > 0) {  
+    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/6000; 
+      const scaleFactorY =  700/2800; 
+      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 * scaleFactorY;
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + widtha); 
+    } else {  
+    adjustedWidth = heighta * scaleFactor;  
+    adjustedHeight = widtha * scaleFactorY;  
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + heighta);  
+  }  
+  return {  
+    ...rect, 
+    x: newX * scaleFactor,  
+    y: rect.xCoordinate * scaleFactorY,  
     width: adjustedWidth,  
     height: adjustedHeight,  
     widtha: rect.width, 
@@ -241,16 +347,14 @@
   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; 
-      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
+      const scaleFactor =  1621.78/6000; 
+      const scaleFactorY =  700/2800; 
+      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
   let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -261,39 +365,89 @@
       }
   if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
-    adjustedHeight = heighta * scaleFactory;  
+    adjustedHeight = heighta * scaleFactorY;
     // adjustedWidtha = widtha;  
     // adjustedHeighta = heighta;  
-    // newX = 5190 - (rect.yCoordinate + widtha); 
-    newY = 2800 - (rect.xCoordinate + heighta); 
-  } else {  
+    newX = 6000 - (rect.yCoordinate + widtha); 
+    } else {  
     adjustedWidth = heighta * scaleFactor;  
-    adjustedHeight = widtha * scaleFactory;  
-    // adjustedWidtha = heighta;  
-    // adjustedHeighta = widtha;  
-    // newX = 5190 - (rect.yCoordinate + heighta);  
-    newY = 2800 - (rect.xCoordinate + widtha); 
+    adjustedHeight = widtha * scaleFactorY;  
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + heighta);  
   }  
   return {  
-        ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
-        x: newX * scaleFactor,
-        y: newY * scaleFactory,
-        width: adjustedWidth,  
-        height: adjustedHeight,  
-        widtha: rect.width, 
-        heighta: rect.height,
+    ...rect, 
+    x: newX * scaleFactor,  
+    y: rect.xCoordinate * scaleFactorY,  
+    width: adjustedWidth,  
+    height: adjustedHeight,  
+    widtha: rect.width, 
+    heighta: rect.height,
   }
-    });   
-  
+    }); 
     // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+      return oldRect;
     }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
-  }  
+  }
+  // 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 =  1390/6000; 
+  //     const scaleFactory =  750/2800; 
+  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
+  // 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 * scaleFactory;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   // newX = 5190 - (rect.yCoordinate + widtha); 
+  //   newY = 2800 - (rect.xCoordinate + heighta); 
+  // } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactory;  
+  //   // adjustedWidtha = heighta;  
+  //   // adjustedHeighta = widtha;  
+  //   // newX = 5190 - (rect.yCoordinate + heighta);  
+  //   newY = 2800 - (rect.xCoordinate + widtha); 
+  // }  
+  // return {  
+  //       ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
+  //       x: newX * scaleFactor,
+  //       y: newY * scaleFactory,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  // }
+  //   });   
+  
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 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; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  // }  
   else if (data.outGlass == null) {
     adjustedRectsb.value = []
   }
@@ -301,20 +455,62 @@
 onMounted(() => {
   initializeWebSocket(socketUrl, handleMessage);
 });
-function updateRectColorsa() {  
+function updateRectColorsa() {
   adjustedRectsa.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
       rect.state = 8;
     }
   });  
 }  
-function updateRectColorsb() {  
+function updateoutColorsa() {
+  adjustedRectsa.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+} 
+function updateoutColorsc() {
+  adjustedRects1.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+}
+function updateoutColorsd() {
+  adjustedRects2.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+} 
+function updateonColorsa() {
+  adjustedRectsa.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 1;
+    }
+  });  
+}  
+function updateRectColorsb() {
   adjustedRectsb.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
       rect.state = 8;
     }
   });  
 }  
+function updateoutColorsb() {
+  adjustedRectsb.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+} 
+function updateonColorsb() {
+  adjustedRectsb.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 3;
+    }
+  });  
+} 
 function updateRectColors1() {  
   adjustedRects1.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
@@ -328,17 +524,39 @@
       rect.state = 8;
     }
   });  
-}  
-function getRectColora(state) {  
+}
+function getRectColor1(state) {
+  switch (state) {  
+    case 2:  
+      return 'lightblue';
+    case 8:
+      return '#911005';
+    case 9:
+      return '#4682B4';
+  }
+} 
+function getRectColor2(state) {
+  switch (state) {  
+    case 2:  
+      return 'lightblue';
+    case 8:
+      return '#911005';
+    case 9:
+      return '#4682B4';
+  }
+}
+function getRectColora(state) {
   switch (state) {  
     case 0:  
-      return '#7AC5CD';  
-    case 1:  
+      return '#7AC5CD';
+    case 1:
       return '#95d475';
-    case -1:  
-      return '#CDAF95';  
-    case 8:  
-      return '#911005';  
+    case -1:
+      return '#CDAF95';
+    case 8:
+      return '#911005';
+    case 9:
+      return '#4682B4';
   }
 }
 function getRectColorb(state) {  
@@ -348,7 +566,9 @@
     case 4:  
       return '#CD6090';
     case 8:  
-      return '#911005';  
+      return '#911005'; 
+    case 9:
+      return '#4682B4'; 
   }  
 }
 function showDialog1(rect) {
@@ -359,6 +579,17 @@
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
   blind1.value = true;  
+  currentRect.value = rect;
+  if (currentRect.value.state == 8) {
+    canSelectProject1.value = false;
+  } else if (currentRect.value.state !== 8) {
+    canSelectProject1.value = true;
+  }
+  if (currentRect.value.state == 9) {
+    cantakea.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakea.value = true;
+  } 
 } 
 function showDialog2(rect) {
   const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);  
@@ -368,6 +599,17 @@
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
   blind2.value = true;  
+  currentRect.value = rect;
+  if (currentRect.value.state == 8) {
+    canSelectProject2.value = false;
+  } else if (currentRect.value.state !== 8) {
+    canSelectProject2.value = true;
+  }
+  if (currentRect.value.state == 9) {
+    cantakea.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakea.value = true;
+  }
 } 
 function showDialoga(rect) {
   const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId);  
@@ -376,7 +618,23 @@
   }  
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
-  blinda.value = true;  
+  blinda.value = true; 
+  currentRect.value = rect;
+  if (currentRect.value.state == 8) {
+    canSelectProjecta.value = false;
+  } else if (currentRect.value.state !== 8) {
+    canSelectProjecta.value = true;
+  } 
+  if (currentRect.value.state == 9) {
+    cantakea.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakea.value = true;
+  } 
+  if (currentRect.value.state == 1) {
+    canona.value = false;
+  } else if (currentRect.value.state == 0) {
+    canona.value = true;
+  } 
 } 
 function showDialogb(rect) {
   const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId);  
@@ -386,6 +644,22 @@
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
   blindb.value = true;  
+  currentRect.value = rect;
+  if (currentRect.value.state == 8) {
+    canSelectProjectb.value = false;
+  } else if (currentRect.value.state !== 8) {
+    canSelectProjectb.value = true;
+  }
+  if (currentRect.value.state == 9) {
+    cantakeb.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakeb.value = true;
+  } 
+  if (currentRect.value.state == 3) {
+    canonb.value = false;
+  } else if (currentRect.value.state !== 3) {
+    canonb.value = true;
+  } 
 } 
   const handleDialogClose1 = () => {  
   adjustedRects1.value.forEach(rect => {  
@@ -422,16 +696,14 @@
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
-      ElMessage.success(response.message);
+      ElMessage.success('鎴愬姛锛�');
       blind1.value = false;
       updateRectColors1();
     } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
     }
 }
 catch (error) {
-    // 澶勭悊閿欒
     console.error(error);
   }
 }
@@ -439,70 +711,186 @@
   try  {
   const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
     glassId: currentGlassId.value,
-    // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
     status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
-      ElMessage.success(response.message);
+      ElMessage.success('鎴愬姛锛�');
       blind2.value = false;
       updateRectColors2();
     } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
     }
 }
 catch (error) {
-    // 澶勭悊閿欒
     console.error(error);
   }
 }
+// 杩涚倝鍓嶇牬鎹�
 const handleDamagea = async () => {
   try  {
   const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
     glassId: currentGlassId.value,
-    // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
     status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
-      ElMessage.success(response.message);
+      ElMessage.success('鎴愬姛锛�');
       blinda.value = false;
       updateRectColorsa();
     } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
     }
 }
 catch (error) {
-    // 澶勭悊閿欒
     console.error(error);
   }
 }
+// 杩涚倝鍓嶄汉宸ユ嬁璧�
+const takeouta = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blinda.value = false;
+      updateoutColorsa();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    console.error(error);
+  }
+}
+// 杩涚倝鍓嶆斁鍥�
+const takeona = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 1,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blinda.value = false;
+      updateonColorsa();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    console.error(error);
+  }
+}
+// 杩涚倝涓汉宸ユ嬁璧�
+const takeoutc = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blind1.value = false;
+      updateoutColorsc();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    console.error(error);
+  }
+}
+// 杩涚倝涓汉宸ユ嬁璧�
+const takeoutd = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blind2.value = false;
+      updateoutColorsd();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    console.error(error);
+  }
+}
+// 宸插嚭鐐夌牬鎹�
 const handleDamageb = async () => {
   try  {
   const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
     glassId: currentGlassId.value,
-    // temperingFeedSequence: currenttemperingFeedSequence.value,
     line: 4001,
     status: 8,
     workingProcedure: '閽㈠寲',
     })
     if (response.code == 200) {
-      ElMessage.success(response.message);
+      ElMessage.success('鎴愬姛锛�');
       blindb.value = false;
       updateRectColorsb();
     } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
     }
 }
 catch (error) {
-    // 澶勭悊閿欒
-    // console.error(error);
   }
+}
+// 宸插嚭鐐変汉宸ユ嬁璧�
+const takeoutb = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blindb.value = false;
+      updateoutColorsb();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+  }
+}
+// 宸插嚭鐐夋斁鍥�
+const takeonb = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 3,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blindb.value = false;
+      updateonColorsb();
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+}
 }
 onBeforeUnmount(() => {
   console.log("鍏抽棴浜�")
@@ -510,18 +898,36 @@
 });
 </script>
 <template>
-  <div style="margin-top: 10px;">
-     <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;dialogFormVisiblec = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
-     <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">{{ $t('processCard.intofurnace') }}</el-button>
-    <el-button  id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">{{ $t('processCard.outfurnace') }}</el-button>
-    <el-button  id="searchButton" type="info" @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.print') }}</el-button>
-<div v-if="dialogFormVisible" >
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
-<div style="width: 49%;float: left;background-color: #f4f4f5;height: 550px;">
-    <div v-if="adjustedRects1.length > 0">
-      <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-    <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div>
-    <el-scrollbar height="550px" style="background-color: #e9e9eb;">
+  <div style="height: 500px;">
+    <div style="margin-top: 10px;">
+      <el-button style="margin-left: 15px;" id="searchButton" type="primary"
+                 @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">
+        {{ $t('processCard.beforefurnace') }}
+      </el-button>
+      <el-button style="margin-left: 15px;" id="searchButton" type="primary"
+                 @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">
+        {{ $t('processCard.intofurnace') }}
+      </el-button>
+      <el-button id="searchButton" type="success"
+                 @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">
+        {{ $t('processCard.outfurnace') }}
+      </el-button>
+      <el-button id="searchButton" type="info"
+                 @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">
+        {{ $t('processCard.print') }}
+      </el-button>
+      <div v-if="dialogFormVisible">
+        <!-- 杩涚倝涓彸 -->
+        <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
+          <!-- <div style="width:900px;background-color: #f4f4f5;height: 420px;"> -->
+            <!-- <div v-if="adjustedRects1.length > 0"> -->
+              <div v-if="currentPage === 1 && adjustedRects1.length > 0">
+              <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
+              <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{
+                  adjustedRects1[0].engineerId
+                }}-{{ adjustedRects1[0].temperingLayoutId }}
+              </div>
+    <el-scrollbar height="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
       v-for="(rect, index) in adjustedRects1"
@@ -529,12 +935,11 @@
       @click="showDialog1(rect)"  
       class="rect"
       :style="{ position: 'absolute', 
-       top: `${rect.ycoordinate}px`, 
-       left: `${rect.xcoordinate}px`,
+       top: `${rect.y}px`, 
+       left: `${rect.x}px`,
         width: `${rect.width}px`, 
         height: `${rect.height}px`,
-        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
-    >
+        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor1(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
     <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
@@ -544,12 +949,13 @@
    </div>
    </el-scrollbar>
    </div>
-  </div>
-<div style="width: 49%;float: right;background-color: #f4f4f5;height: 550px;">
-    <div v-if="adjustedRects2.length > 0">
-    <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
-    <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-    <el-scrollbar height="550px" style="background-color: #e9e9eb;">
+  <!-- </div> -->
+  <!-- 杩涚倝涓乏 -->
+<!-- <div style="width: 750px;float: left;background-color: #f4f4f5;height: 350px;"> -->
+    <!-- <div v-if="adjustedRects2.length > 0"> -->
+      <div v-else-if="currentPage === 2 && adjustedRects2.length > 0">
+    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
+    <el-scrollbar height="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
       v-for="(rect, index) in adjustedRects2"
@@ -557,12 +963,11 @@
       @click="showDialog2(rect)"  
       class="rect"
       :style="{ position: 'absolute', 
-       top: `${rect.ycoordinate}px`, 
-       left: `${rect.xcoordinate}px`, 
+       top: `${rect.y}px`, 
+       left: `${rect.x}px`, 
        width: `${rect.width}px`, 
        height: `${rect.height}px`,
-       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
-       >
+        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor2(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
     <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
@@ -572,18 +977,27 @@
    </div>
    </el-scrollbar>
    </div>
-</div>
+<!-- </div> -->
    </el-card>
+   <div style="display: flex;margin-left: 40%;margin-bottom: 10px;">
+    <el-pagination
+        size="small"
+        background
+        layout="prev, pager, next"
+        :total="20"
+        @current-change="handlePageChange"
+      />
+  </div>
     </div>
 <div v-if="dialogFormVisiblea">
   <!-- 杩涚倝鍓� -->
-  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
+  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
     <div v-if="adjustedRectsa.length > 0">
-    <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div>
+    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-      <el-scrollbar height="550px" style="background-color: #e9e9eb;">
+      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
-      <div  
+      <div
       v-for="(rect, index) in adjustedRectsa"  
       :key="index"  
       @click="showDialoga(rect)"  
@@ -604,12 +1018,12 @@
 </div>
 <div v-if="dialogFormVisibleb">
   <!-- 宸插嚭鐐� -->
-  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
+  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
       <div v-if="adjustedRectsb.length > 0">
-    <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
+    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-      <el-scrollbar height="550px" style="background-color: #e9e9eb;">
-    <div  style="position: relative;max-width: 1400px;">  
+      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
+    <div  style="position: relative;max-width: 1400px;">
       <div  
       v-for="(rect, index) in adjustedRectsb"  
       :key="index"  
@@ -632,49 +1046,76 @@
 </div>
 <div v-if="dialogFormVisiblec">
   <!-- 鎵撳嵃 -->
-  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
+  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
     <div style="display: flex; flex-direction: row; align-items: center; margin-top: 5px;margin-left: 10px;">  
     <el-input :placeholder="$t('processCard.projectnumber')" v-model="engineerId" autocomplete="off" style="width: 300px;"/>
     <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-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
-    height="350"
+    height="600"
      ref="table" 
      :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
       :data="tableData"
     >
       <el-table-column prop="engineerId" :label="$t('processCard.project')" width="200" align="center"/>
-      <el-table-column prop="workingProcedure" :label="$t('processCard.awayprocess')" align="center"/>
-      <el-table-column prop="deviceName" :label="$t('processCard.awayequipment')" align="center"/>
-      <el-table-column prop="teamsGroupsName" :label="$t('processCard.awayteam')" align="center"/>
+      <el-table-column prop="temperingLayoutId" :label="$t('processCard.layoutID')" align="center"/>
+      <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center"/>
+      <el-table-column prop="glassId" :label="$t('processCard.glassID')" align="center"/>
+      <el-table-column prop="width" :label="$t('processCard.width')" align="center"/>
+      <el-table-column prop="height" :label="$t('processCard.height')" align="center"/>
+      <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center"/>
     </el-table>
       </div>
       </el-card>
    </el-card>
 </div>
+<!-- 杩涚倝涓� -->
 <el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1">
-        <el-button type="warning" plain :icon="Delete" @click="handleDamage1"  style="width: 140px;margin-left: 10px;">
+        <el-button :disabled="!canSelectProject1" type="warning" plain :icon="Delete" @click="handleDamage1"  style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
+        </el-button>
+        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutc"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
         </el-button>
   </el-dialog>  
 <el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
-        <el-button type="warning" plain :icon="Delete" @click="handleDamage2"  style="width: 140px;margin-left: 10px;">
+        <el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2"  style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
+        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutd"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
+        </el-button>
   </el-dialog>  
+  <!-- 杩涚倝鍓� -->
 <el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
-        <el-button type="warning" plain :icon="Delete" @click="handleDamagea"  style="width: 140px;margin-left: 10px;">
+  <el-button type="warning" plain :icon="Delete" @click="handleDamagea" :disabled="!canSelectProjecta" style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
+        </el-button>
+        <el-button :disabled="!cantakea" type="danger" plain @click="takeouta"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
+        </el-button>
+        <el-button type="success" plain :icon="Edit" @click="takeona" :disabled="!canona" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          {{ $t('order.takeon') }}
         </el-button>
   </el-dialog>  
+  <!-- 宸插嚭鐐� -->
 <el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
-        <el-button type="warning" plain :icon="Delete" @click="handleDamageb"  style="width: 140px;margin-left: 10px;">
+        <el-button :disabled="!canSelectProjectb" type="warning" plain :icon="Delete" @click="handleDamageb"  style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
+        <el-button :disabled="!cantakeb" type="danger" plain @click="takeoutb"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
+        </el-button>
+        <!-- <el-button type="success" plain :icon="Edit" @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          {{ $t('order.takeon') }}
+        </el-button> -->
   </el-dialog> 
   <el-dialog  
       v-model="dialogVisible"
@@ -688,17 +1129,18 @@
       <el-table  
         :data="tableData"  
         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="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="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="52"/>
-      </el-table>  
-    </el-dialog>  
+      >
+        <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="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="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="52"/>
+      </el-table>
+  </el-dialog>
+    </div>
   </div>
 </template>
 <style scoped>
@@ -717,42 +1159,42 @@
   /* display:flex; */
   text-align: center;
   display: inline-block;
-    align-items:center;
-    justify-content:center;
+  align-items:center;
+  justify-content:center;
   margin-left: 20px;
 }
 #box{
   border: 1px solid black;
   background-color:  #337ecc;
   display:flex;
-    align-items:center;
-    justify-content:center;
+  align-items:center; 
+  justify-content:center;
 }
 #home-card {
-    width: 100%;
-    overflow: hidden;
-    padding: 10px 0px;
+  width: 100%;
+  overflow: hidden;
+  padding: 10px 0px;
+  display: flex;
+  flex-wrap: wrap;
+  #home-item {
+    border-style: solid;
+    border-width: 1px;
+    border-color: #E4E4E4;
+    width: calc(34% - 20px);
+    padding: 20px 0px 20px 20px;
+    margin-right: 10px;
+    margin-bottom: 10px;
     display: flex;
-    flex-wrap: wrap;
-    #home-item {
-      border-style: solid;
-      border-width: 1px;
-      border-color: #E4E4E4;
-      width: calc(34% - 20px);
-      padding: 20px 0px 20px 20px;
-      margin-right: 10px;
-      margin-bottom: 10px;
-      display: flex;
-      justify-content: center;
-      /* align-items: center; */
-      background: #fff;
-      #home-img {
-        display: inline-block;
-        width: 160px;
-        height: 60px;
-        margin: 0;
-        padding: 0;
-      }
+    justify-content: center;
+    /* align-items: center; */
+    background: #fff;
+    #home-img {
+      display: inline-block;
+      width: 160px;
+      height: 60px;
+      margin: 0;
+      padding: 0;
+    }
       #home-right {
         display: flex;
         flex-direction: column;
@@ -768,7 +1210,7 @@
   }
   .rect {  
   border: 1px solid black; /* 璁剧疆鐭╁舰鐨勮竟妗� */  
-  background-color: lightblue; /* 璁剧疆鐭╁舰鐨勮儗鏅壊 */  
+  /* background-color: lightblue; 璁剧疆鐭╁舰鐨勮儗鏅壊   */
 } 
 #rect {  
   position: relative; /* 纭繚绠ご鍙互鐩稿浜庣煩褰㈠畾浣� */  

--
Gitblit v1.8.0