From 77ff95afbe2d1e632de34e5df938ecf52d472127 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 26 六月 2025 09:22:31 +0800
Subject: [PATCH] 同步录制代码

---
 UI-Project/src/views/Returns/upreturns2.vue |  301 +++++++++++++++++++++++++++-----------------------
 1 files changed, 162 insertions(+), 139 deletions(-)

diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue
index 2a21661..f1ca805 100644
--- a/UI-Project/src/views/Returns/upreturns2.vue
+++ b/UI-Project/src/views/Returns/upreturns2.vue
@@ -15,42 +15,30 @@
 const dialogFormVisible = ref(false)
 const blind = ref(false)
 const blinda = ref(false)
+const ReportData = ref(true);
 const blindb = ref(false)
-const dialoglea = ref(false)
+const blindbd = 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[]>([]);
 const tableDatab = ref<any[]>([]);
-// const tableData = ref([])
-const tableData = reactive([]);
-const filteredData = computed(() => {
-  // applyFilters 鍑芥暟搴旇鍦ㄦ煇澶勫畾涔夛紝鐢ㄤ簬鏍规嵁褰撳墠绛涢�夋潯浠惰繃婊ゆ暟鎹�
-  return applyFilters(tableData, currentFilters);
-});
-// 褰撳墠绛涢�夋潯浠讹紝搴旇鏄竴涓搷搴斿紡鍙橀噺锛岀敤浜庡瓨鍌ㄧ敤鎴烽�夋嫨鐨勭瓫閫夊��
-const currentFilters = ref<{ state?: string }>({});
-const filterTag = (value: string, row: any) => {
-  // return String(row.state) === value;
-  return row.state === value
-};
-// 搴旂敤绛涢�夋潯浠剁殑鍑芥暟
-const applyFilters = (data: any[], filters: { state?: string }) => {
-  return data.filter(row => {
-    return (!filters.state || String(row.state) === filters.state);
-  });
-};
+const tableData = ref([])
 const titleSelectJson = ref({
   engineerId: [],
 })
-const handlezhiban = () => {
-  dialoglea.value = true;
-  fetchFlowCardId();
-};
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+  state: null,
+  stationCell: 6
+}).then((response) => {
+          if (response.code == 200) {
+          } else {
+          // ElMessage.warning(response.msg)
+          }
+          });
 const selectproject = () => {
   dialogFormVisible.value = true;
   selectgong();
@@ -76,26 +64,39 @@
     const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
     if (response.code === 200) {
       tableData.splice(0, tableData.length, ...response.data);
-      ElMessage.error(response.message);
+      // ElMessage.error(response.message);
       window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
     }
   } catch (error) {
   }
 };
 let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassTwo`;
 const handleMessage = (data: any) => {
-  tableDataa.value = data.list[0].slice(2, 4);
-  if(data.loadTask2.length !=0){
-  // tableData.splice(0, tableData.length, ...data.loadTask2[0]);
-  tableData.value = data.loadTask2[0]
+  if (data.stationList.length != 0) {
+    const processedData = [...data.stationList[0]];
+ if (processedData.length > 0) {
+   processedData[0] = { ...processedData[0], workstationId: 1 };
+ }
+ if (processedData.length > 1) {
+   processedData[1] = { ...processedData[1], workstationId: 2 };
+ }
+  tableDataa.value = processedData;
+  }else {
+    tableDataa.value = []
+  }
+  if (data.inkageState != null) {
+    cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
+  }
+  if (data.upPattenUsages.length != 0) {
+  tableData.value = data.upPattenUsages[0]
   window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
   canSelectProjecta.value = false;
   canSelectProjectb.value = false;
   canSelectProjectc.value = true;
 }
 else {
-  tableData.value = '';
+  tableData.value = [];
   canSelectProjecta.value = true;
   canSelectProjectb.value = true;
   canSelectProjectc.value = false;
@@ -126,8 +127,46 @@
     console.error(error);
   }
 };
+// 鏋跺瓙澶嶄綅
+const handleptask = async (workstationId: number) => {
+      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 === 3 ? 103 : (workstationId === 4 ? 104 : null);
+      if (slot !== null) {
+        const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+          slot: slot,
+    })
+        if (response.code === 200) {
+          ElMessage.success(response.message);
+        } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
 //閫夋嫨宸ョ▼棰勮纭
 const handlesure = async () => {
+   if (!selectedProjectNo.value) {
+    ElMessage.error(t('basicData.plselectproject'))
+    return
+  }
+   if (!filmRemove.value) {
+    ElMessage.error(t('Mounting.removalmethod'))
+    return
+  }
   try {
     const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
       stationCell: 6,
@@ -145,6 +184,7 @@
       filmRemove.value = '';
       markingMachineStatus.value = '#911005';
       cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
     } else {
       ElMessage.error(response.message);
     }
@@ -154,35 +194,38 @@
 }
 // 缁撴潫宸ョ▼
 const deleteTask = async () => {
-  try {
+      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')
-    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;
         canSelectProjectb.value = true;
         canSelectProjectc.value = false;
-        blindb.value = false;
+        blindb.value = true;
+        tableDatad.value = response.data;
       } else {
-        ElMessage.error(response.message);
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
     }
+  } catch (error) {
   }
-    else  {
-      ElMessage({
-        type: 'info',
-        message: t('basicData.infonull'),
-      })
-    }
-}
-catch (error) {
-    console.error(error);
-  }
-}
+};
 // 寮�濮嬩笂鐗�
 const handleon = async () => {
   let filmRemove = window.localStorage.getItem('filmRemove')
@@ -202,6 +245,7 @@
         canSelectProjectc.value = true;
         socket = initializeWebSocket(socketUrl, handleMessage);
         blind.value = false;
+        ReportData.value = true;
       } else {
         ElMessage.error(response.message);
       }
@@ -217,7 +261,6 @@
   try {
     let filmRemove = window.localStorage.getItem('filmRemove')
     let engineeringId = window.localStorage.getItem('engineeringIda')
-    console.log(engineeringId);
     if (engineeringId !== '') {
       const response = await request.post('/loadGlass/engineering/engineering/pause', {
         stationCell: 6,
@@ -260,23 +303,6 @@
     ElMessage.error(response.message);
   }
 };
-// 鍊肩彮淇℃伅
-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;
-    } else {
-      ElMessage.error(response.message);
-    }
-  } catch (error) {
-    console.error(error);
-  }
-}
 onMounted(fetchTableData);
 // 寮�濮嬩笂鐗�
 const handleBind = (row) => {
@@ -317,11 +343,11 @@
       } 
     );
     if (confirmResult === 'confirm') {
-     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+     const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 6,
        status: 1,
-       type: 8,
+       state: 8,
        workingProcedure: '涓婄墖',
     })
     if (response.code === 200) {
@@ -347,11 +373,11 @@
       } 
     );
     if (confirmResult === 'confirm') {
-      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 6,
        status: 1,
-       type: 9,
+       state: 9,
        workingProcedure: '涓婄墖',
     })
     if (response.code === 200) {
@@ -364,6 +390,12 @@
     console.error('鍙戠敓閿欒:', error);  
   }  
 }; 
+// 鍘嗗彶浠诲姟
+const iframeUrl = ref('');
+const handlehistorical = (row) => {
+  blindbd.value = true;
+  iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
+};
 function getStatusType2(filmRemove) {
   switch (filmRemove) {
     case 0:
@@ -377,11 +409,11 @@
 function getStatusText2(filmRemove) {
   switch (filmRemove) {
     case 0:
-      return t('Mounting.noremoval');//瀹屾垚
-    case 1:
-      return t('Mounting.coarselyground');//鏂板缓
+      return t('Mounting.noremoval');//涓嶉櫎鑶�
+    // case 1:
+      // return t('Mounting.coarselyground');
     case 2:
-      return t('Mounting.finegrinding');//鎵ц涓�
+      return t('Mounting.removal');//闄よ啘
   }
 }
 </script>
@@ -403,17 +435,25 @@
         </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 style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
+    <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="handlehistorical">{{ $t('searchOrder.historicaltasks') }}</el-button>
+    <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>
+    </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.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 :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;">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
         <el-table
             height="400"
@@ -421,57 +461,64 @@
             :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="engineeringId" :label="$t('Mounting.project')" width="120" 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 prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
           <el-table-column
-      align="center"
-      prop="state"
-      :label="$t('Mounting.state')"
-      min-width="80"
-      :filters="[
-        { text: t('Mounting.pass'), value: 100 },
-        { text: t('Mounting.waiting'), value: 0 },
-      ]"
-      :filter-method="filterTag"
-      filter-placement="bottom-end"
-    >
-      <template #default="scope">
-        <el-tag
+              align="center"
+              :label="$t('Mounting.state')"
+            min-width="80"
+            prop="state"
+          >
+          <template #default="scope">
+            <el-tag
                 :type="scope.row.state === 100 ? 'success' : 'warning'"
                 @click="toggleEnableState(scope.row)"
-                disable-transitions
             >
+                  <!-- 绛夊緟涓細0  閫氳繃锛�100 -->
               {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
             </el-tag>
-      </template>
-    </el-table-column>
+          </template>
+      </el-table-column>
         </el-table>
       </div>
     </el-card>
-    <div style="display: flex;">
-      <div style="width: 49%;float: left;margin-left: 300px;">
+    <div style="display: flex;margin-left:5%">
+      <div style="width: 55%;float: left;margin-left: 300px;">
         <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%;"
+               style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 3%;">
+            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="700"
                     :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"/>
+            <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65"/>
+            <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75"/>
+            <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75"/>
             <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 prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80"/>
+            <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')" min-width="60"/>
+            <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
+            <template #default="scope">
+          <el-button :disabled="(!scope.row.patternThickness)" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
+            </template>
+        </el-table-column>
           </el-table>
     </div>
   </div>
 </div>
+   <!-- 鍘嗗彶浠诲姟 -->
+   <el-dialog v-model="blindbd" top="5vh" width="95%" @close="iframeUrl=''">
+     <iframe 
+     :src="iframeUrl" 
+     marginwidth="2000px"
+     marginheight="2000px"
+     width="100%" 
+     height="750px" 
+     frameborder="0"
+     ></iframe>
+  </el-dialog>
   <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
     <template #footer>
       <div id="dialog-footer">
@@ -496,8 +543,8 @@
         <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>
+              <el-button type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+              <el-button type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
             </template>
         </el-table-column>
         </el-table>
@@ -507,32 +554,7 @@
         <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'}">
-        <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')">
-        </el-table-column>
-        <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
-        </el-table-column>
-        </el-table>
-        <template #footer>
-      <div id="dialog-footer">
-        <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
-      </div>
-    </template>
-</el-dialog>
   <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">
@@ -581,8 +603,9 @@
       <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
         <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
           <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
-          <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
-          <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+            <!-- 涓嶉櫎鑶滐細0	闄よ啘锛�2 -->
+          <!-- <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option> -->
+          <el-option :label="$t('Mounting.removal')" value="2"></el-option>
         </el-select>
       </el-form-item>
     </div>

--
Gitblit v1.8.0