From 1c2db1635c5656dd13d94c7ea7640a8dfced27cf Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 12 九月 2025 11:11:31 +0800
Subject: [PATCH] 排产工单齐套性检查、设备/工艺点检与执行限制逻辑调整

---
 src/views/mes/MesProductionWorkOrderListView.vue |   88 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 66 insertions(+), 22 deletions(-)

diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index 0f244cd..5e10f4e 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -6,8 +6,9 @@
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="浜х嚎">
-              <j-tree-select dict="base_factory,factory_name,id" pid-field="parent_id"
-                             v-model="queryParam.factoryId" style="width: 100%"></j-tree-select>
+              <j-search-select-tag placeholder="璇烽�夋嫨" v-model="queryParam.factoryId"
+                                   dict="base_factory,factory_name,id,del_flag=0 and factory_category = '3'"
+              ></j-search-select-tag>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -102,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="handleCompletenessCheck(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>
@@ -130,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>
@@ -179,6 +177,10 @@
             :scroll="{ y: 300 }"
             size="middle"
             bordered>
+              <span slot="checkFlag" slot-scope="text, record">
+                <span v-if="text === '0'" style="color: red">鍚�</span>
+                <span v-if="text === '1'" style="color: green">鏄�</span>
+              </span>
           </a-table>
         </a-tab-pane>
       </a-tabs>
@@ -190,6 +192,9 @@
     <MesProductionWorkOrderRepublishModal ref="MesProductionWorkOrderRepublishModal" @ok="modalFormOk"></MesProductionWorkOrderRepublishModal>
     <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>
 
@@ -207,6 +212,9 @@
 import MesProductionWorkOrderRepublishModal from '@views/mes/modules/MesProductionWorkOrderRepublishModal.vue'
 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'
 
@@ -221,7 +229,10 @@
     MesProductionWorkOrderScheduleModal,
     MesProductionWorkOrderRepublishModal,
     MesProductionWorkOrderReportModal,
-    MesProductionWorkOrderCompletenessCheckModal
+    MesProductionWorkOrderCompletenessCheckModal,
+    MesProductionWorkOrderEquipmentInspectionModal,
+    MesProductionWorkOrderProcessCheckModal,
+    MesProductionWorkOrderCheckBeforeExecuteModal
   },
   data() {
     return {
@@ -502,9 +513,7 @@
             title: '鏄惁榻愬',
             align: 'center',
             dataIndex: 'checkFlag',
-            customRender: function(text) {
-              return text === '0' ? '鍚�' : text === '1' ? '鏄�' : ''
-            }
+            scopedSlots: { customRender: 'checkFlag' }
           }
         ]
       },
@@ -521,6 +530,7 @@
         queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId',
         publish: '/mes/mesProductionWorkOrder/publish',
         execute: '/mes/mesProductionWorkOrder/execute',
+        checkBeforeExecute: '/mes/mesProductionWorkOrder/checkBeforeExecute'
       },
       dictOptions: {},
       superFieldList: [],
@@ -624,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)
         }
@@ -642,6 +680,12 @@
     handleCompletenessCheck(record) {
       this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record)
     },
+    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