From 33b5c107130f7aeb63663d404ce81a8e32b4aaa3 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 24 七月 2024 19:03:46 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 UI-Project/src/views/Identify/identify.vue |  115 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 81 insertions(+), 34 deletions(-)

diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index c8c0ce0..64df621 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -1,6 +1,6 @@
 <template>  
     <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
-      <el-scrollbar height="700px">
+      <el-scrollbar height="600px">
   <div id="app" style="margin-top: 20px;">  
     <div  
       :style="{ width: `${olWidth}px`, height: `${olHeight}px`,position: 'relative' }"  
@@ -21,33 +21,33 @@
      <!-- <div  class="centered-text" >NG24030401B01</div> -->
      <div  class="centered-text">
     <div>{{ rect.process_id }}</div>
-    <div style="margin-top: 50px;margin-left: -85px;">{{ rect.width }}*{{ rect.height }}</div>  
+    <div style="margin-top: 50px;margin-left: -85px;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div> 
   <!-- 鐐瑰嚮寮瑰嚭 -->
   <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
-    <!-- <template #footer> -->
-      <!-- <div id="dialog-footer"> --> 
-        <el-button type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)"  style="width: 120px;margin-left: 10px;">
-          鐮存崯
+        <el-button type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)"  style="width: 140px;margin-left: 10px;">
+          {{ $t('order.dilapidation') }}
         </el-button>
-        <el-button  type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 120px;margin-top: 10px;">
+        <el-button  type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
           <el-icon class="el-icon--right"><Upload /></el-icon>
-          浜哄伐鎷胯蛋</el-button>
-      <!-- </div> -->
-    <!-- </template> -->
+          {{ $t('order.Takeaway') }}</el-button>
   </el-dialog> 
    </div>
   </div>  
   </el-scrollbar>
   </el-card>
 </template>  
-  
 <script setup lang="ts">  
 import { Delete, Upload } from '@element-plus/icons-vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
-import { ref, onMounted } from 'vue';  
+import { ref, onMounted, onBeforeUnmount } from 'vue';  
 import request from "@/utils/request"
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+  import { useI18n } from 'vue-i18n'
+  const { t } = useI18n()
+  let language = ref(localStorage.getItem('lang') || 'zh')
 const blind = ref(false)
 const olWidth = ref(); 
 const olHeight = ref();
@@ -79,14 +79,16 @@
 
       adjustedRects.value = rawRects.map(rect => ({  
         ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
-        x_axis: (rect.x_axis*100) * 0.005, // 灏唜鍊奸櫎浠�3  
-        y_axis: (rect.y_axis*100) * 0.005,
-        width: (rect.width*100) * 0.004 ,
-        height:( rect.height*100) * 0.004 ,
+        x_axis: (rect.x_axis*100) * 0.003, // 灏唜鍊奸櫎浠�3  
+        y_axis: (rect.y_axis*100) * 0.003,
+        width: (rect.width*100) * 0.002 ,
+        widtha: rect.width ,
+        heighta: rect.height ,
+        height:( rect.height*100) * 0.002 ,
         glass_state: rect.glass_state
       }));  
+      console.log(adjustedRects.value);
       
-        console.log(rect);
 
       //   console.log( (rect.width*100) / 300 );
     } else {  
@@ -101,18 +103,20 @@
 // 鐮存崯
 const handleDamage = async () => {
   try  {
-    var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+201;
-      console.log(url);
-      const response = await request.post(url)
-  // const response = await request.post('/cacheGlass/taskCache/identControls', {
-  //   identId: currentGlassId.value,
-  //   controlsId: 201,
-  //   })
+    // var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+201;
+    //   console.log(url);
+    //   const response = await request.post(url)
+  const response = await request.post('/cacheGlass/taskCache/identControls', {
+    identId: currentGlassId.value,
+    controlsId: 201,
+    line: 1001,
+    machine: '璇嗗埆',
+    })
     if (response.code == 200) {
-      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       // window.location.reload() 
       blind.value = false;
+      updateRectStatus(currentGlassId.value, 201); 
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -123,21 +127,24 @@
     console.error(error);
   }
 }
-// // 浜哄伐鎷胯蛋
+ // 浜哄伐鎷胯蛋
 const handleManualTake = async () => {
   try  {
-    var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+200;
-      console.log(url);
-      const response = await request.post(url)
-  // const response = await request.post('/cacheGlass/taskCache/identControls', {
-  //   identId: currentGlassId.value,
-  //   controlsId: 200,
-  //   })
+    // var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+200;
+    //   console.log(url);
+    //   const response = await request.post(url)
+  const response = await request.post('/cacheGlass/taskCache/identControls', {
+    identId: currentGlassId.value,
+    controlsId: 200,
+    line: 1001,
+    machine: '璇嗗埆',
+    })
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       // window.location.reload() 
       blind.value = false;
+      updateRectStatus(currentGlassId.value, 200); 
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -165,7 +172,47 @@
     default:  
       return '#911005'; // 榛樿棰滆壊  
   }  
-}  
+} 
+// 鏇存柊鐭╁舰鐘舵��  
+function updateRectStatus(glassId: string, status: number) {  
+  adjustedRects.value.forEach(rect => {  
+    if (rect.glass_id === glassId) {  
+      rect.glass_state = status; // 鏇存柊鐭╁舰鐨勭姸鎬�  
+    }  
+  });  
+}
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+  // 鏇存柊 tableData 鐨勬暟鎹�
+  
+  // adjustedRects.value = data.currentCutTerritory[0]
+  adjustedRects.value = data.currentCutTerritory[0].map(rect => ({  
+        ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
+        x_axis: (rect.x_axis*100) * 0.003, // 灏唜鍊奸櫎浠�3  
+        y_axis: (rect.y_axis*100) * 0.003,
+        width: (rect.width*100) * 0.002 ,
+        widtha: rect.width ,
+        heighta: rect.height ,
+        height:( rect.height*100) * 0.002 ,
+        glass_state: rect.glass_state
+      }));  
+ // console.log("鏇存柊鍚庢暟鎹�", tableData);
+
+};
+
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+  // fetchFlowCardId();
+  // fetchTableData(); // 鑾峰彇鏁版嵁
+  initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+  console.log("鍏抽棴浜�")
+  closeWebSocket();
+});
 </script>  
   
 <style scoped>  

--
Gitblit v1.8.0