From c377d90fe2a01c2118f6c69c3c177f75be7c318b Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 29 十一月 2024 15:20:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |  226 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 171 insertions(+), 55 deletions(-)

diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 3ed3f1f..51909ab 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -1,15 +1,14 @@
 <script setup lang="ts">
-import {Search ,Delete, Upload,Edit} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+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)
@@ -107,7 +106,7 @@
     const newRects = data.intoGlass2[0].map(rect => {  
       const scaleFactor =  794.67/5087; 
       const scaleFactorY =  430/2800; 
-        let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+        let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
         let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -152,13 +151,15 @@
     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 =  810.89/5087; 
-      const scaleFactorY =  430/2800; 
-      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+  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;
@@ -199,7 +200,7 @@
       return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
     }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
   }  
-  else if (data.overGlass == null) {
+  else {
     adjustedRects1.value = []
   }
   if (data.waitingGlass && data.waitingGlass.length > 0) {  
@@ -325,7 +326,21 @@
       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) {  
@@ -367,8 +382,28 @@
       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';
@@ -408,6 +443,11 @@
   } 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);  
@@ -422,6 +462,11 @@
     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) {
@@ -613,6 +658,52 @@
     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);
+  }
+}
+// 杩涚倝zhong浜哄伐鎷胯蛋
+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  {
@@ -678,9 +769,9 @@
     }
 }
 catch (error) {
-    // 澶勭悊閿欒
-    // console.error(error);
-  }
+  // 澶勭悊閿欒
+  // console.error(error);
+}
 }
 onBeforeUnmount(() => {
   console.log("鍏抽棴浜�")
@@ -688,17 +779,34 @@
 });
 </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: 50%;float: left;background-color: #f4f4f5;height: 430px;">
-    <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>
+  <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: 600px;"
+                 v-loading="loading">
+          <div style="width: 49%;float: right;background-color: #f4f4f5;height: 430px;">
+            <div v-if="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="430px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
@@ -711,8 +819,7 @@
        left: `${rect.xcoordinate}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>  
@@ -723,9 +830,9 @@
    </el-scrollbar>
    </div>
   </div>
-<div style="width: 49%;float: right;background-color: #f4f4f5;height: 430px;">
+<div style="width: 50%;float: left;background-color: #f4f4f5;height: 430px;">
     <div v-if="adjustedRects2.length > 0">
-    <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
+    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
     <el-scrollbar height="430px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
@@ -739,8 +846,7 @@
        left: `${rect.xcoordinate}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>  
@@ -757,7 +863,7 @@
   <!-- 杩涚倝鍓� -->
   <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="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
@@ -784,7 +890,7 @@
   <!-- 宸插嚭鐐� -->
   <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="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
@@ -842,10 +948,18 @@
         <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 :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>  
   <!-- 杩涚倝鍓� -->
@@ -886,17 +1000,19 @@
       <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>

--
Gitblit v1.8.0