From 817a1c3860032705a9510fa26371d50cde073f1c Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 19 十二月 2024 11:38:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/Returns/upreturns2.vue |  269 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 184 insertions(+), 85 deletions(-)

diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue
index e66a82f..c31c494 100644
--- a/UI-Project/src/views/Returns/upreturns2.vue
+++ b/UI-Project/src/views/Returns/upreturns2.vue
@@ -1,7 +1,7 @@
 <script lang="ts" setup>
 import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
 import {useRouter} from "vue-router"
-import {ElMessage} from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
 import {useI18n} from 'vue-i18n'
 import {host, WebSocketHost} from '@/utils/constants'
 import request from "@/utils/request"
@@ -17,7 +17,11 @@
 const blinda = ref(false)
 const blindb = ref(false)
 const dialoglea = ref(false)
+const canSelectProjecta = ref(true);
+const canSelectProjectb = ref(true);
+const canSelectProjectc = ref(false);
 const tableDatax = ref([])
+const tableDatad = ref([])
 const upstatus = ref(t('basicData.machineaa'));
 const cuttingMachineStatusColor = ref('#911005');
 const tableDataa = ref<any[]>([]);
@@ -50,10 +54,6 @@
     closeWebSocket(socket);
   }
 });
-// 鍒犻櫎
-const handledelete = (row) => {
-  blindb.value = true;
-};
 const fetchTableData = async () => {
   try {
     const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
@@ -65,13 +65,29 @@
   }
 };
 let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
 const handleMessage = (data: any) => {
   tableDataa.value = data.list[0].slice(2, 4);
+  if(data.loadTask2.length !=0){
+  tableData.value = data.loadTask2[0]
+  canSelectProjecta.value = false;
+  canSelectProjectb.value = false;
+  canSelectProjectc.value = true;
+}
+else {
+  canSelectProjecta.value = true;
+  canSelectProjectb.value = true;
+  canSelectProjectc.value = false;
+}
 };
 onBeforeUnmount(() => {
   closeWebSocket();
 });
+// 缁撴潫宸ョ▼
+const handledelete = (row) => {
+  blindb.value = true;
+  deleteTask()
+};
 const requestData = {
   state: 100
 };
@@ -102,6 +118,7 @@
     window.localStorage.setItem('filmRemove', filmRemove.value)
     if (response.code == 200) {
       ElMessage.success(response.message);
+      // closeWebSocket(socket);
       tableData.value = response.data;
       dialogFormVisible.value = false;
       selectedProjectNo.value = '';
@@ -115,30 +132,7 @@
     console.error(error);
   }
 }
-// 寮�濮嬩笂鐗�
-const handleon = async () => {
-  let filmRemove = window.localStorage.getItem('filmRemove')
-  let engineeringId = window.localStorage.getItem('engineeringId')
-  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
-    try {
-      const response = await request.post('/loadGlass/engineering/engineering/pause', {
-        engineerId: engineeringId,
-        state: 1,
-      })
-      if (response.code == 200) {
-        ElMessage.success(response.message);
-        blind.value = false;
-      } else {
-        ElMessage.error(response.message);
-      }
-    } catch (error) {
-      console.error(error);
-    }
-  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
-    ElMessage.warning(t('basicData.pausea'));
-  }
-}
-// 鍒犻櫎
+// 缁撴潫宸ョ▼
 const deleteTask = async () => {
   try {
     let engineeringId = window.localStorage.getItem('engineeringId')
@@ -149,7 +143,10 @@
       })
       if (response.code == 200) {
         ElMessage.success(response.message);
-        blindb.value = false;
+        tableDatad.value = response.data;
+        canSelectProjecta.value = true;
+        canSelectProjectb.value = true;
+        canSelectProjectc.value = false;
       } else {
         ElMessage.error(response.message);
     }
@@ -165,13 +162,45 @@
     console.error(error);
   }
 }
+// 寮�濮嬩笂鐗�
+const handleon = async () => {
+  let filmRemove = window.localStorage.getItem('filmRemove')
+  let engineeringId = window.localStorage.getItem('engineeringId')
+  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+    try {
+      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+        stationCell: 6,
+        filmRemove: filmRemove,
+        engineerId: engineeringId,
+        state: 1,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);  
+        canSelectProjecta.value = false;
+        canSelectProjectb.value = false;
+        canSelectProjectc.value = true;
+        // socket = initializeWebSocket(socketUrl, handleMessage);
+        blind.value = false;
+      } else {
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      console.error(error);
+    }
+  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+    ElMessage.warning(t('basicData.pausea'));
+  }
+}
 // 鏆傚仠
 const handleup = async () => {
   try {
+    let filmRemove = window.localStorage.getItem('filmRemove')
     let engineeringId = window.localStorage.getItem('engineeringId')
     console.log(engineeringId);
     if (engineeringId !== '') {
       const response = await request.post('/loadGlass/engineering/engineering/pause', {
+        stationCell: 6,
+        filmRemove: filmRemove,
         engineerId: engineeringId,
         state: 0,
       })
@@ -254,6 +283,66 @@
     ElMessage.error(t('basicData.glassnull'));
   }
 };
+// 鐮存崯
+const opena = async(row) => {  
+  try {
+    const confirmResult = await ElMessageBox.confirm(  
+      t('searchOrder.broke'), 
+      t('productStock.prompt'),  
+      {  
+        confirmButtonText: t('productStock.yes'), 
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',  
+      } 
+    );
+    if (confirmResult === 'confirm') {
+     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+       glassId: row.glassId,
+       line: 6,
+       status: 1,
+       type: 8,
+       workingProcedure: '涓婄墖',
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {
+      ElMessage.error(response.msg);
+      }  
+    }  
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
+// 浜哄伐鎷胯蛋
+const openb = async(row) => {  
+  try {
+    const confirmResult = await ElMessageBox.confirm(  
+      t('order.takeawaya'), 
+      t('productStock.prompt'),  
+      {  
+        confirmButtonText: t('productStock.yes'), 
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',  
+      } 
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+       glassId: row.glassId,
+       line: 6,
+       status: 1,
+       type: 9,
+       workingProcedure: '涓婄墖',
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {
+      ElMessage.error(response.msg);
+      }  
+    }  
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
 function getStatusType2(filmRemove) {
   switch (filmRemove) {
     case 0:
@@ -298,12 +387,13 @@
           }}
         </el-button>
   </div>
-    <el-button style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @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="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
+    <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
+    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
     <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
-    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')" style="margin-top: 5px;margin-left: 20px;">
+    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')"
+               style="margin-top: 5px;margin-left: 20px;">
       <el-option :label="$t('Mounting.all')" value="0"></el-option>
       <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
       <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -316,25 +406,25 @@
     <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</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="400"
-      ref="table" 
-      :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
-      :data="tableData"
-    >
-      <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/>
-      <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/>
-      <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/>
-      <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/>
-      <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
-      <el-table-column :label="$t('Mounting.projectnumber')" align="center">  
-      <template #default="{ row }">  
-        <span>{{ 1 }}</span>  
-      </template>  
-    </el-table-column>  
-      <el-table-column
-          align="center"
-            :label="$t('Mounting.state')"
+        <el-table
+            height="400"
+            ref="table"
+            :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+            :data="tableData"
+        >
+          <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center"/>
+          <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center"/>
+          <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
+          <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
+          <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
+          <el-table-column :label="$t('Mounting.projectnumber')" align="center">
+            <template #default="{ row }">
+              <span>{{ 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+              align="center"
+              :label="$t('Mounting.state')"
             min-width="80"
             prop="state"
           >
@@ -347,20 +437,7 @@
             </el-tag>
           </template>
       </el-table-column>
-      <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
-      <el-table-column
-          align="center"
-          :label="$t('Mounting.removalmethodp')"
-          prop="filmRemove"
-      >
-        <template #default="scope">
-          <el-tag :type="getStatusType2(scope.row.filmRemove)">
-            {{ getStatusText2(scope.row.filmRemove) }}
-          </el-tag>
-        </template>
-      </el-table-column>
-      <el-table-column prop="stationCell" :label="$t('Mounting.loadinglinea')" align="center"/>
-    </el-table>
+        </el-table>
       </div>
     </el-card>
     <div style="display: flex;">
@@ -369,7 +446,7 @@
           <img src="../../assets/shangpianji.png" alt=""
                style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
           <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 8%;"
-                    :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+                    :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" >
             <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60"/>
             <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80"/>
             <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80"/>
@@ -389,7 +466,40 @@
       </div>
     </template>
   </el-dialog>
-
+<!-- 缁撴潫宸ョ▼ -->
+  <el-dialog v-model="blindb" top="10vh" width="80%">
+    <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+        <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')"/>
+        <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')"/>
+        <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')"/>
+        <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')"/>
+        <el-table-column prop="width" align="center" :label="$t('basicData.width')"/>
+        <el-table-column prop="height" align="center" :label="$t('basicData.height')"/>
+        <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')"/>
+        <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')"/>
+        <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')"/>
+        <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+              <el-button size="mini" type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
+            </template>
+        </el-table-column>
+        </el-table>
+        <template #footer>
+      <div id="dialog-footer">
+        <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
+      </div>
+    </template>
+    <!-- <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="deleteTask">
+          {{ $t('basicData.confirm') }}
+        </el-button>
+        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
+      </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'}">
@@ -409,8 +519,7 @@
   <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
     <div style="margin-left: 50px;margin-bottom: 10px;">
     <el-form-item :label="$t('Mounting.loadingline')" :required="true">
-      <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
-                 style="margin-left: 20px;">
+      <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;">
         <el-option :label="$t('Mounting.all')" value="0"></el-option>
         <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
         <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -469,25 +578,15 @@
       </div>
     </template>
   </el-dialog>
-  <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('searchOrder.pdeleteTask')">
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="deleteTask">
-          {{ $t('basicData.confirm') }}
-        </el-button>
-        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
-      </div>
-    </template>
-  </el-dialog>
   </div>
 </template>
 <style scoped>
  .flex-container {  
   display: flex;  
-  align-items: center; /* 鍨傜洿灞呬腑 */  
+  align-items: center;
 }  
 .flex-container .el-form-item {  
-  flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */  
+  flex: 1;
   margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */  
 }  
 .flex-container .el-form-item:last-child {  

--
Gitblit v1.8.0