From bd21c609d3e0f325f10f20bb1f59ae24a4b35dc2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 03 三月 2025 10:29:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/Returns/upreturns.vue |  278 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 196 insertions(+), 82 deletions(-)

diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 595f20f..6df2a38 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -1,7 +1,7 @@
 <script lang="ts" setup>
-import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref, computed} 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,6 +17,7 @@
 const blinda = ref(false)
 const blindb = ref(false)
 const dialoglea = ref(false)
+const ReportData = ref(true);
 const canSelectProjecta = ref(true);
 const canSelectProjectb = ref(true);
 const canSelectProjectc = ref(false);
@@ -30,6 +31,15 @@
 const titleSelectJson = ref({
   engineerId: [],
 })
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+  state: null,
+  stationCell: 5
+}).then((response) => {
+          if (response.code == 200) {
+          } else {
+          ElMessage.warning(response.msg)
+          }
+          });
 const handlezhiban = () => {
   dialoglea.value = true;
   fetchFlowCardId();
@@ -58,31 +68,36 @@
   try {
     const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
     if (response.code === 200) {
-      tableData.splice(0, tableData.length, ...response.data);
+      tableData.value = response.data
+      // tableData.splice(0, tableData.length, ...response.data);
       ElMessage.error(response.message);
-    }
+     window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
+}
   } catch (error) {
+    ElMessage.error(response.message);
   }
 };
 let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
 const handleMessage = (data: any) => {
   tableDataa.value = data.list[0].slice(0, 2);
-  if(data.loadTask1!=null){
+  if(data.loadTask1.length !=0){
   tableData.value = data.loadTask1[0]
+  window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
   canSelectProjecta.value = false;
   canSelectProjectb.value = false;
   canSelectProjectc.value = true;
+}
+else {
+  canSelectProjecta.value = true;
+  canSelectProjectb.value = true;
+  canSelectProjectc.value = false;
+  tableData.value = '';
 }
 };
 onBeforeUnmount(() => {
   closeWebSocket();
 });
-// 缁撴潫宸ョ▼
-const handledelete = (row) => {
-  blindb.value = true;
-  deleteTask()
-};
 const requestData = {
   state: 100
 };
@@ -109,16 +124,18 @@
       engineerId: selectedProjectNo.value,
       filmRemove: parseInt(filmRemove.value, 10),
     })
-    window.localStorage.setItem('engineeringId', selectedProjectNo.value)
+    window.localStorage.setItem('engineeringIda', selectedProjectNo.value)
     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 = '';
       filmRemove.value = '';
       markingMachineStatus.value = '#911005';
       cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
     } else {
       ElMessage.error(response.message);
     }
@@ -126,39 +143,11 @@
     console.error(error);
   }
 }
-// 缁撴潫宸ョ▼
-const deleteTask = async () => {
-  try {
-    let engineeringId = window.localStorage.getItem('engineeringId')
-    console.log(engineeringId);
-    if (engineeringId !== '') {
-      const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
-        engineerId: engineeringId,
-      })
-      if (response.code == 200) {
-        ElMessage.success(response.message);
-        tableDatad.value = response.data;
-        canSelectProjecta.value = true;
-        canSelectProjectc.value = false;
-      } else {
-        ElMessage.error(response.message);
-    }
-  }
-    else  {
-      ElMessage({
-        type: 'info',
-        message: t('basicData.infonull'),
-      })
-    }
-}
-catch (error) {
-    console.error(error);
-  }
-}
+
 // 寮�濮嬩笂鐗�
 const handleon = async () => {
   let filmRemove = window.localStorage.getItem('filmRemove')
-  let engineeringId = window.localStorage.getItem('engineeringId')
+  let engineeringId = window.localStorage.getItem('engineeringIda')
   if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
     try {
       const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
@@ -168,12 +157,14 @@
         state: 1,
       })
       if (response.code == 200) {
-        ElMessage.success(response.message);
-        blind.value = false;
+        ElMessage.success(response.message);  
         canSelectProjecta.value = false;
+        canSelectProjectb.value = false;
         canSelectProjectc.value = true;
-
-      } else {
+        socket = initializeWebSocket(socketUrl, handleMessage);
+        blind.value = false;
+        ReportData.value = true;
+    } else {
         ElMessage.error(response.message);
       }
     } catch (error) {
@@ -187,8 +178,7 @@
 const handleup = async () => {
   try {
     let filmRemove = window.localStorage.getItem('filmRemove')
-    let engineeringId = window.localStorage.getItem('engineeringId')
-    console.log(engineeringId);
+    let engineeringId = window.localStorage.getItem('engineeringIda')
     if (engineeringId !== '') {
       const response = await request.post('/loadGlass/engineering/engineering/pause', {
         stationCell: 5,
@@ -275,6 +265,134 @@
     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/identControls', {
+       glassId: row.glassId,
+       line: 5,
+       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/identControls', {
+       glassId: row.glassId,
+       line: 5,
+       status: 1,
+       type: 9,
+       workingProcedure: '涓婄墖',
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {
+      ElMessage.error(response.msg);
+      }  
+    }  
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
+
+// 鏋跺瓙澶嶄綅
+const handleptask = async (workstationId: number) => {
+      console.log(workstationId);
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('basicData.prackreset'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+      
+      const slot = workstationId === 1 ? 101 : (workstationId === 2 ? 102 : null);
+      if (slot !== null) {
+        const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+          slot: slot,
+    })
+        // const url = `/loadGlass/rawGlassStorageDetails/shelfReset?slot=${slot}`;
+        // const response = await request.post(url);
+        if (response.code === 200) {
+          ElMessage.success(response.message);
+        } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+// 缁撴潫宸ョ▼
+const deleteTask = async () => {
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.pdeleteTask'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+    let engineeringId = window.localStorage.getItem('engineeringIda')
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
+        engineerId: engineeringId,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        canSelectProjecta.value = true;
+        canSelectProjectb.value = true;
+        canSelectProjectc.value = false;
+        blindb.value = true;
+        tableDatad.value = response.data;
+      } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
 function getStatusType2(filmRemove) {
   switch (filmRemove) {
     case 0:
@@ -314,15 +432,11 @@
         </el-button>
         <div style="margin-left: 70px;">{{ upstatus }}</div>
         <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
-        <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;">{{
-            $t('basicData.change')
-          }}
-        </el-button>
   </div>
     <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 :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $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.oneloadingline')"
                style="margin-top: 5px;margin-left: 20px;">
@@ -331,11 +445,11 @@
       <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
     </el-select>
     <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
-      <el-option :label="$t('Mounting.waiting')" value="1"></el-option>
-      <el-option :label="$t('film.execution')" value="2"></el-option>
-      <el-option :label="$t('film.finish')" value="3"></el-option>
+      <el-option :label="$t('Mounting.all')" value="null"></el-option>
+      <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+      <el-option :label="$t('Mounting.pass')" value="100"></el-option>
     </el-select>
-    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
+    <el-button :disabled="!ReportData" 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
@@ -349,11 +463,7 @@
           <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 prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
           <el-table-column
               align="center"
               :label="$t('Mounting.state')"
@@ -369,7 +479,7 @@
             </el-tag>
           </template>
       </el-table-column>
-        </el-table>
+    </el-table>
       </div>
     </el-card>
     <div style="display: flex;">
@@ -377,13 +487,18 @@
         <div style="display: flex;">
           <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%;"
+          <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
                     :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="workstationId" align="center" :label="$t('basicData.station')" min-width="50"/>
             <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"/>
             <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80"/>
             <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80"/>
+            <el-table-column fixed="right" :label="$t('film.operate')" align="center">
+            <template #default="scope">
+          <el-button size="mini" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
+            </template>
+        </el-table-column>
           </el-table>
     </div>
   </div>
@@ -399,30 +514,29 @@
     </template>
   </el-dialog>
 <!-- 缁撴潫宸ョ▼ -->
-  <el-dialog v-model="blindb" top="10vh" width="50%">
-    <el-table ref="table" style="margin-top: 20px;height: 300px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-        <el-table-column prop="line" fixed align="center" :label="$t('basicData.line')"/>
-        <el-table-column prop="workProcesses" fixed align="center" :label="$t('basicData.process')"/>
-        <el-table-column prop="teamsGroupsName" align="center" :label="$t('basicData.team')"/>
-        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
-        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
-        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
-        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
-        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
+  <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')">

--
Gitblit v1.8.0