From 14e9a7fb0188be93cd471291cfdd1efd974b8a0d Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 12 九月 2025 11:11:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/mes/MesProductionWorkOrderListView.vue |   69 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 17 deletions(-)

diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index 5c4defa..5e10f4e 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -103,19 +103,7 @@
               <a-divider type="vertical" />
               <a @click="handleRePublish(record)">閲嶅彂甯�</a>
             </span>
-            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '0'">
-              <a-divider type="vertical" />
-              <a @click="handleCompletenessCheck(record)">榻愬鎬ф鏌�</a>
-            </span>
-            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '0'">
-              <a-divider type="vertical" />
-              <a @click="handleEquipmentInspection(record)">璁惧鐐规</a>
-            </span>
-            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '1' && record.processInspectionFlag === '0'">
-              <a-divider type="vertical" />
-              <a @click="handleCompletenessCheck(record)">宸ヨ壓鐐规</a>
-            </span>
-            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '1' && record.processInspectionFlag === '1'">
+            <span v-if="record.workOrderStatus === 'PUBLISHED'">
               <a-divider type="vertical" />
               <a-popconfirm title="纭畾寮�濮嬫墽琛屽悧?" @confirm="() => handleExecute(record.id)">
                   <a>鎵ц</a>
@@ -131,6 +119,15 @@
             <a-menu slot="overlay">
               <a-menu-item>
                 <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '0'">
+                <a @click="handleCompletenessCheck(record)">榻愬鎬ф鏌�</a>
+              </a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'PUBLISHED' && record.equipmentInspectionFlag === '0'">
+                <a @click="handleEquipmentInspection(record)">璁惧鐐规</a>
+              </a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'PUBLISHED' && record.processInspectionFlag === '0'">
+                <a @click="handleProcessCheck(record)">宸ヨ壓鐐规</a>
               </a-menu-item>
               <a-menu-item v-if="record.workOrderStatus === 'NEW'">
                 <a @click="handleEdit(record)">缂栬緫</a>
@@ -196,6 +193,8 @@
     <MesProductionWorkOrderReportModal ref="MesProductionWorkOrderReportModal" @ok="modalFormOk"></MesProductionWorkOrderReportModal>
     <MesProductionWorkOrderCompletenessCheckModal ref="MesProductionWorkOrderCompletenessCheckModal" @ok="modalFormOk"></MesProductionWorkOrderCompletenessCheckModal>
     <MesProductionWorkOrderEquipmentInspectionModal ref="MesProductionWorkOrderEquipmentInspectionModal" @ok="modalFormOk"></MesProductionWorkOrderEquipmentInspectionModal>
+    <MesProductionWorkOrderProcessCheckModal ref="MesProductionWorkOrderProcessCheckModal" @ok="modalFormOk"></MesProductionWorkOrderProcessCheckModal>
+    <MesProductionWorkOrderCheckBeforeExecuteModal ref="MesProductionWorkOrderCheckBeforeExecuteModal" @ok="modalFormOk"></MesProductionWorkOrderCheckBeforeExecuteModal>
   </a-card>
 </template>
 
@@ -214,6 +213,8 @@
 import MesProductionWorkOrderReportModal from '@views/mes/modules/MesProductionWorkOrderReportModal.vue'
 import MesProductionWorkOrderCompletenessCheckModal from '@views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue'
 import MesProductionWorkOrderEquipmentInspectionModal from '@views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue'
+import MesProductionWorkOrderProcessCheckModal from '@views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue'
+import MesProductionWorkOrderCheckBeforeExecuteModal from '@views/mes/modules/MesProductionWorkOrderCheckBeforeExecuteModal.vue'
 import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue'
 import moment from 'moment/moment'
 
@@ -229,7 +230,9 @@
     MesProductionWorkOrderRepublishModal,
     MesProductionWorkOrderReportModal,
     MesProductionWorkOrderCompletenessCheckModal,
-    MesProductionWorkOrderEquipmentInspectionModal
+    MesProductionWorkOrderEquipmentInspectionModal,
+    MesProductionWorkOrderProcessCheckModal,
+    MesProductionWorkOrderCheckBeforeExecuteModal
   },
   data() {
     return {
@@ -527,6 +530,7 @@
         queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId',
         publish: '/mes/mesProductionWorkOrder/publish',
         execute: '/mes/mesProductionWorkOrder/execute',
+        checkBeforeExecute: '/mes/mesProductionWorkOrder/checkBeforeExecute'
       },
       dictOptions: {},
       superFieldList: [],
@@ -630,10 +634,38 @@
       })
     },
     handleExecute(id) {
-      getAction(this.url.execute, { id: id }).then((res) => {
+      getAction(this.url.checkBeforeExecute, { id: id }).then((res) => {
         if (res.success) {
-          this.$message.success(res.message)
-          this.loadData()
+          const completenessCheckFlag = res.result.completenessCheckFlag
+          const equipmentInspectFlag = res.result.equipmentInspectFlag
+          const processCheckFlag = res.result.processCheckFlag
+          if (completenessCheckFlag && equipmentInspectFlag && processCheckFlag) {
+            getAction(this.url.execute, { id: id }).then((res) => {
+              if (res.success) {
+                this.$message.success(res.message)
+                this.loadData()
+              } else {
+                this.$message.warning(res.message)
+              }
+            })
+          } else {
+            const unCompletenessCheckList = res.result.unCompletenessCheckList
+            const unInspectEquipmentList = res.result.unInspectEquipmentList
+            const unCheckEquipmentList = res.result.unCheckEquipmentList
+            if (!completenessCheckFlag && !unCompletenessCheckList) {
+              this.$message.warning('璇峰厛杩涜榻愬鎬ф鏌ワ紒')
+              return
+            }
+            if (!equipmentInspectFlag && !unInspectEquipmentList) {
+              this.$message.warning('璇峰厛杩涜璁惧鐐规锛�')
+              return
+            }
+            if (!processCheckFlag && !unCheckEquipmentList) {
+              this.$message.warning('璇峰厛杩涜宸ヨ壓鐐规锛�')
+              return
+            }
+            this.$refs.MesProductionWorkOrderCheckBeforeExecuteModal.open(id, res.result)
+          }
         } else {
           this.$message.warning(res.message)
         }
@@ -651,6 +683,9 @@
     handleEquipmentInspection(record) {
       this.$refs.MesProductionWorkOrderEquipmentInspectionModal.inspect(record)
     },
+    handleProcessCheck(record) {
+      this.$refs.MesProductionWorkOrderProcessCheckModal.inspect(record)
+    },
     async handleUnLoadingDetail(row){
       console.log('row---->',row)
       const unloadingResult = await getAction(this.url.queryUnloadingByLoadingId,{'loadingId':row.id})

--
Gitblit v1.9.3