From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 28 八月 2024 16:20:02 +0800
Subject: [PATCH] 钢化模块打印功能,新增表格字段

---
 UI-Project/src/views/Returns/returns.vue |  270 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 182 insertions(+), 88 deletions(-)

diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 55a5f37..a3613f2 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -17,12 +17,24 @@
 const flakea = ref(false)
 const flakeb = ref(false)
 const flakec = ref(false)
+const dialoglea = ref(false)
+const tableDatax = ref([])
+const user = ref('');
+const projectNo = ref('');
+const workstationId = ref('');
+const id = ref('');
+const patternHeight = ref('');
+const patternWidth = ref('');
+const filmsId = ref('');
+const patternThickness = ref('');
+const number = ref('');
+const canSelectProject = ref(true);
+const canStartLoading = ref(false);
 import { WebSocketHost ,host} from '@/utils/constants'
 import request from "@/utils/request"
 const ida = ref(null); 
 import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
 import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
-// 鍝嶅簲寮忔暟鎹�  
 const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
 const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
 const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫  
@@ -80,29 +92,66 @@
     // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
   }
 };
-onMounted(() => {  
+const handlezhiban = () => {
+  dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+  fetchFlowCardId(); 
+};
+// 鍊肩彮淇℃伅
+const fetchFlowCardId = async () => {
+  try  {
+    const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment',{
+      line: 2001,
+      workingProcedure : '鍐峰姞宸�'
+    })
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      tableDatax.value = response.data;
+      console.log(tableDatax.value);
+      console
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const handleConfirmb = async () => {
+  const response = await request.post("/loadGlass/work_assignment/updateWorkAssignment", tableDatax.value)
+  if (response.code === 200) {
+    ElMessage.success(response.message);
+    dialoglea.value = false;
+  } else {
+    ElMessage.error(response.message);
+  }
+};
+onMounted(() => {
   list('');  
   fetchOptions('');
-  initializeWebSocket(socketUrl, handleMessage);
+  socket = initializeWebSocket(socketUrl, handleMessage);
 });
-onMounted(() => {  
-}); 
+  onUnmounted(() => {
+    if (socket) {
+    closeWebSocket(socket);
+    }
+    });
 const list = async () => {  
   try {  
     const response = await request.get('/loadGlass/LoadGlass/list');  
     if (response.code == 200) {  
       tableDataa.value = response.data
           if (tableDataa.value.length === 4) {
-          if (tableDataa.value[0].patternHeight > 0) {
+          if (tableDataa.value[0].patternHeight > 0 && tableDataa.value[0].patternWidth > 0 && tableDataa.value[0].number > 0) {
           flake.value = true;
           }
-         if (tableDataa.value[1].patternHeight > 0) {
+         if (tableDataa.value[1].patternHeight > 0 && tableDataa.value[1].patternWidth > 0 && tableDataa.value[1].number > 0) {
           flakea.value = true;
           } 
-         if (tableDataa.value[2].patternHeight > 0) {
+         if (tableDataa.value[2].patternHeight > 0 && tableDataa.value[2].patternWidth > 0 && tableDataa.value[2].number > 0) {
           flakeb.value = true;
           } 
-         if (tableDataa.value[3].patternHeight > 0) {
+         if (tableDataa.value[3].patternHeight > 0 && tableDataa.value[3].patternWidth > 0 && tableDataa.value[3].number > 0) {
           flakec.value = true;
           } 
            }
@@ -143,16 +192,34 @@
 const titleSelectJsona = ref({
   processTypea: [],
 })
+let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
 const handleMessage = (data) => {
-  // 鏇存柊 tableData 鐨勬暟鎹�
   if(data.prioritylist!=null){
   tableData.splice(0, tableData.length, ...data.prioritylist[0]);
   }
   if(data.list!=null){
   tableDataa.value = data.list[0]
   }
+  if(data.engineering ){
+    if ( Array.isArray(data.engineering) && data.engineering.length !== 0) {  
+    canSelectProject.value = false;
+    canStartLoading.value = true;
+  }else{
+      canSelectProject.value = true;
+      canStartLoading.value = false;
+  }
+}
+if (data.InkageStatus) {
+if(data.InkageStatus!=null){
+      const status = data.InkageStatus[0]; 
+      cuttingMachine.value = status; 
+            upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+      cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';  
+      inKageWord.value = status === '1' ? 0 : 1;  
+}
+}
 };
 const requestData = {  
   state: 100  
@@ -196,15 +263,6 @@
 onBeforeUnmount(() => {
   closeWebSocket();
 });
-const user = ref('');
-const projectNo = ref('');
-const workstationId = ref('');
-const id = ref('');
-const patternHeight = ref('');
-const patternWidth = ref('');
-const filmsId = ref('');
-const patternThickness = ref('');
-const number = ref('');
 // 娣诲姞
 const handleBindRack = (row) => {
   workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
@@ -225,25 +283,38 @@
       patternThickness: selectedValuec.value,
       number: number.value
     }); 
-      window.localStorage.setItem('workstationId', workstationId.value)
-      window.localStorage.setItem('patternHeight', selectedValuea.value)
+      // window.localStorage.setItem('workstationId', workstationId.value)
+      // window.localStorage.setItem('patternHeight', selectedValuea.value)
+      // window.localStorage.setItem('patternWidth', selectedValue.value)
+      // window.localStorage.setItem('number', number.value)
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       // window.location.reload() 
       add.value = false;
      tableDataa.value = response.data;
-      let workstationId = window.localStorage.getItem('workstationId')
-      let patternHeight = window.localStorage.getItem('patternHeight')
-      if (patternHeight !== '' && workstationId === '1') {
+      // let workstationId = window.localStorage.getItem('workstationId')
+      // let patternHeight = window.localStorage.getItem('patternHeight')
+      // let patternWidth = window.localStorage.getItem('patternWidth')
+      // let number = window.localStorage.getItem('number')
+      if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
       flake.value = true
-    } else if (patternHeight !== '' && workstationId === '2'){
+    } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){
       flakea.value = true
-    }else if (patternHeight !== '' && workstationId === '3'){
+    }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){
       flakeb.value = true
-    }else if (patternHeight !== '' && workstationId === '4'){
+    }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){
       flakec.value = true
     }
+    //   if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '1') {
+    //   flake.value = true
+    // } else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '2'){
+    //   flakea.value = true
+    // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '3'){
+    //   flakeb.value = true
+    // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '4'){
+    //   flakec.value = true
+    // }
       selectedValuea.value = '';
       selectedValue.value = '';
       selectedValueb.value = '';
@@ -256,8 +327,6 @@
     }
   } catch (error) {  
       // 澶勭悊璇锋眰閿欒  
-      console.error(error);  
-      alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�');  
     }  
   }  
   else if( ida.value === 1 || ida.value === 3){
@@ -271,23 +340,19 @@
       patternThickness: selectedValuec.value,
       number: number.value
     }); 
-      window.localStorage.setItem('workstationId', workstationId.value)
-      window.localStorage.setItem('patternHeight', selectedValuea.value)
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       // window.location.reload() 
       add.value = false;
      tableDataa.value = response.data;
-      let workstationId = window.localStorage.getItem('workstationId')
-      let patternHeight = window.localStorage.getItem('patternHeight')
-      if (patternHeight !== '' && workstationId === '1') {
+      if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
       flake.value = true
-    } else if (patternHeight !== '' && workstationId === '2'){
+    } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){
       flakea.value = true
-    }else if (patternHeight !== '' && workstationId === '3'){
+    }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){
       flakeb.value = true
-    }else if (patternHeight !== '' && workstationId === '4'){
+    }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){
       flakec.value = true
     }
       selectedValuea.value = '';
@@ -302,8 +367,6 @@
     }
   } catch (error) {  
       // 澶勭悊璇锋眰閿欒  
-      console.error(error);  
-      alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�');  
     } 
     }
   else  {
@@ -570,47 +633,46 @@
     ElMessage.error(t('basicData.glassnull'));   
   }  
 };  
-const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
-const ws = new WebSocket(wsUrl);  
-ws.onopen = () => {  
-  console.log('WebSocket杩炴帴宸叉墦寮�');  
-};  
+// 涓婄墖鏈鸿仈鏈虹姸鎬�
+// const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+// const ws = new WebSocket(wsUrl);  
+// ws.onopen = () => {  
+//   console.log('WebSocket杩炴帴宸叉墦寮�');  
+// };  
   
-// 鐩戝惉WebSocket鐨勯敊璇簨浠�  
-ws.onerror = (error) => {  
-  console.error('WebSocket鍙戠敓閿欒:', error);  
-};  
+// // 鐩戝惉WebSocket鐨勯敊璇簨浠�  
+// ws.onerror = (error) => {  
+//   console.error('WebSocket鍙戠敓閿欒:', error);  
+// };  
   
-// 鐩戝惉WebSocket鐨勫叧闂簨浠�  
-ws.onclose = (event) => {  
-  if (event.wasClean) {  
-    console.log('WebSocket杩炴帴宸叉甯稿叧闂�');  
-  } else {  
-    console.error('WebSocket杩炴帴寮傚父鍏抽棴');  
-  }  
-};  
-  
-// 鐩戝惉WebSocket鐨勬秷鎭簨浠�  
-ws.onmessage = (event) => {  
-  try {  
-    const data = JSON.parse(event.data); // 瑙f瀽娑堟伅涓篔SON  
-  
-    if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {  
-if(data.InkageStatus!=null){
-      const status = data.InkageStatus[0]; 
-      cuttingMachine.value = status; 
-            upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
-      cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';  
-      inKageWord.value = status === '1' ? 0 : 1;  
-}
-    } else {  
-      // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�  
-      console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);  
-    }  
-  } catch (error) {  
-    console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);  
-  }  
-};  
+// // 鐩戝惉WebSocket鐨勫叧闂簨浠�  
+// ws.onclose = (event) => {  
+//   if (event.wasClean) {  
+//     console.log('WebSocket杩炴帴宸叉甯稿叧闂�');  
+//   } else {  
+//     console.error('WebSocket杩炴帴寮傚父鍏抽棴');  
+//   }  
+// };  
+// // 鐩戝惉WebSocket鐨勬秷鎭簨浠�  
+// ws.onmessage = (event) => {  
+//   try {   
+//     const data = JSON.parse(event.data.replace('<END>', '')); // 瑙f瀽娑堟伅涓篔SON  
+//     if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {  
+// if(data.InkageStatus!=null){
+//       const status = data.InkageStatus[0]; 
+//       cuttingMachine.value = status; 
+//             upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+//       cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';  
+//       inKageWord.value = status === '1' ? 0 : 1;  
+// }
+//     } else {  
+//       // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�  
+//       // console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);  
+//     }  
+//   } catch (error) {  
+//     // console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);  
+//   }  
+// };  
 const confirmCutting = async () => {  
   try {  
     const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad', 
@@ -632,7 +694,6 @@
   }  
 };
 </script>
- 
 <template>
   <div>
     <div id="dotClass">
@@ -647,24 +708,31 @@
     <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
    
   </div>
-    <el-button style="margin-top: 5px;margin-left: 15px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">{{ $t('basicData.selectproject') }}</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+    <el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="dialogFormVisible = true">{{ $t('basicData.selectproject') }}</el-button>
+    <el-button :disabled="!canSelectProject" :style="{ backgroundColor: canStartLoading ? 'green' : 'initial',color: canStartLoading ? 'white' : 'black', }" style="margin-top: 5px;margin-left: 20px;"  @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
     <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
     <!-- <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button> -->
     
     <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="150"
+    height="350"
      ref="table" 
      :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
       :data="tableData"
     >
-    <el-table-column prop="engineeringId" :label="$t('basicData.projectnumber')" width="200" align="center"/>
+      <el-table-column prop="layoutSequence" :label="$t('basicData.layoutSequence')" width="100" align="center"/>
+      <el-table-column prop="engineeringId" :label="$t('basicData.projectnumber')" width="200" align="center"/>
       <el-table-column prop="width" :label="$t('basicData.glasswidth')" align="center"/>
       <el-table-column prop="height" :label="$t('basicData.glassheight')" align="center"/>
       <el-table-column prop="filmsId" :label="$t('basicData.coatingtypes')" align="center"/>
-      <el-table-column prop="layoutSequence" :label="$t('basicData.quantity')" align="center"/>
+      <el-table-column :label="$t('basicData.quantity')" align="center">  
+      <template #default="{ row }">  
+        <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->  
+        <span>{{ 1 }}</span>  
+      </template>  
+    </el-table-column>  
       <el-table-column prop="thickness" :label="$t('basicData.thickness')" align="center"/>
       <!-- <el-table-column
             align="center"
@@ -705,6 +773,32 @@
       </div>
     </template>
   </el-dialog>
+  
+<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
+    <el-table  ref="table" style="margin-top: 20px;height: 300px;"
+        :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
+          <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
+          <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
+        <template #default="{ row }">  
+          <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>  
+        </template>  
+      </el-table-column>
+          <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
+            <template #default="{ row }">  
+          <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>  
+        </template>
+        </el-table-column>
+        </el-table>
+        <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handleConfirm">
+          {{ $t('searchOrder.add') }}
+        </el-button>
+        <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+      </div>
+    </template>
+</el-dialog>
   <el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('basicData.whetherpause')">
     <template #footer>
       <div id="dialog-footer">
@@ -928,7 +1022,7 @@
   width: 1500px;
   margin-left: -300px
 }
-#overlay{
+#overlayb{
   position: absolute;
   z-index: 1;
   width: 228px;
@@ -937,7 +1031,7 @@
   margin-top: -303px;
   margin-left: 355px;
 }
-#overlaya{
+#overlayc{
   position: absolute;
   z-index: 1;
   width: 228px;
@@ -946,7 +1040,7 @@
   margin-top: -303px;
   margin-left:703px;
 }
-#overlayb{
+#overlay{
   position: absolute;
   z-index: 1;
   width: 228px;
@@ -955,7 +1049,7 @@
   margin-top: -45px;
   margin-left: 355px;
 }
-#overlayc{
+#overlaya{
   position: absolute;
   z-index: 1;
   width: 228px;

--
Gitblit v1.8.0