From 26591535b14ee090a651f177cd6f42f548927fd4 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 21 八月 2025 08:47:06 +0800
Subject: [PATCH] art: 物料拉动新增页面逻辑调整

---
 src/views/mes/MesProductionWorkOrderListView.vue |  234 ++++++++++++++++++----------------------------------------
 1 files changed, 73 insertions(+), 161 deletions(-)

diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index 17bf9dc..ef4e254 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -82,31 +82,54 @@
           </template>
 
           <span slot="action" slot-scope="text, record">
-            <a @click="handleDetail(record)">璇︽儏</a>
-          <span v-if="record.workOrderStatus === 'PUBLISHED'">
-            <a-divider type="vertical" />
-            <a @click="handleRePublish(record)">閲嶅彂甯�</a>
-          </span>
-          <span v-if="record.workOrderStatus === 'NEW'">
-            <a-divider type="vertical" />
-            <a-popconfirm title="纭畾鍙戝竷鍚�?" @confirm="() => handlePublish(record.id)">
-                <a>鍙戝竷</a>
-            </a-popconfirm>
-            <a-divider type="vertical" />
+            <span v-if="record.workOrderStatus === 'NEW'">
+              <a-popconfirm title="纭畾鍙戝竷鍚�?" @confirm="() => handlePublish(record.id)">
+                  <a>鍙戝竷</a>
+              </a-popconfirm>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' || record.workOrderStatus === 'EXECUTING'">
+              <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.equipmentInspectionFlag === '0'">
+              <a-divider type="vertical" />
+              <a @click="handleCompletenessCheck(record)">璁惧鐐规</a>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' && 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'">
+              <a-divider type="vertical" />
+              <a-popconfirm title="纭畾寮�濮嬫墽琛屽悧?" @confirm="() => handleExecute(record.id)">
+                  <a>鎵ц</a>
+              </a-popconfirm>
+            </span>
+            <span v-if="record.workOrderStatus === 'EXECUTING'">
+              <a-divider type="vertical" />
+              <a @click="handleWorkReport(record)">鎶ュ伐</a>
+            </span>
+          <a-divider type="vertical" />
           <a-dropdown>
             <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
             <a-menu slot="overlay">
               <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'NEW'">
                 <a @click="handleEdit(record)">缂栬緫</a>
               </a-menu-item>
-              <a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'NEW'">
                 <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
+                <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
           </a-dropdown>
-          </span>
 
         </span>
         </a-table>
@@ -128,26 +151,6 @@
             <template slot="showDetail" slot-scope="{row}">
               <a-button type="primary" @click="handleOrderDetail(row)" size="small">
                 <a-icon type="eye" />璁㈠崟璇︽儏
-              </a-button>
-            </template>
-          </j-vxe-table>
-        </a-tab-pane>
-        <a-tab-pane tab="鐗╂枡鎷夊姩鐢宠" :key="refKeys2[0]" :forceRender="true">
-          <div style="display: flex; align-items: center; margin-bottom: 10px;">
-          </div>
-          <j-vxe-table
-            keep-source
-            :ref="refKeys2[0]"
-            :loading="mesMaterialTransferRequest.loading"
-            :columns="mesMaterialTransferRequest.columns"
-            :dataSource="mesMaterialTransferRequest.dataSource"
-            :maxHeight="300"
-            :rowNumber="true"
-            :rowSelection="true"
-            :toolbar="false">
-            <template slot="showTransferDetail" slot-scope="{row}">
-              <a-button type="primary" @click="handleTransferDetail(row)" size="small">
-                <a-icon type="eye" />鐗╂枡鎷夊姩鏄庣粏
               </a-button>
             </template>
           </j-vxe-table>
@@ -192,9 +195,10 @@
     <mes-production-work-order-modal ref="modalForm" @ok="modalFormOk"></mes-production-work-order-modal>
     <mes-production-order-modal ref="MesProductionOrderModal"></mes-production-order-modal>
     <MesMaterialUnloadingList ref="MesMaterialUnloadingList"></MesMaterialUnloadingList>
-    <MesMaterialTransferDetailList ref="MesMaterialTransferDetailList"></MesMaterialTransferDetailList>
-    <MesProductionWorkOrderScheduleModal ref="MesProductionWorkOrderScheduleModal"></MesProductionWorkOrderScheduleModal>
+    <MesProductionWorkOrderScheduleModal ref="MesProductionWorkOrderScheduleModal" @ok="modalFormOk"></MesProductionWorkOrderScheduleModal>
     <MesProductionWorkOrderRepublishModal ref="MesProductionWorkOrderRepublishModal" @ok="modalFormOk"></MesProductionWorkOrderRepublishModal>
+    <MesProductionWorkOrderReportModal ref="MesProductionWorkOrderReportModal" @ok="modalFormOk"></MesProductionWorkOrderReportModal>
+    <MesProductionWorkOrderCompletenessCheckModal ref="MesProductionWorkOrderCompletenessCheckModal" @ok="modalFormOk"></MesProductionWorkOrderCompletenessCheckModal>
   </a-card>
 </template>
 
@@ -210,9 +214,10 @@
 import { getAction, requestPut } from '@api/manage'
 import MesProductionOrderModal from '@views/mes/modules/MesProductionOrderModal.vue'
 import MesMaterialUnloadingList from '@views/mes/MesMaterialUnloadingList.vue'
-import MesMaterialTransferDetailList from '@views/mes/MesMaterialTransferDetailList.vue'
 import MesProductionWorkOrderScheduleModal from '@views/mes/modules/MesProductionWorkOrderScheduleModal.vue'
 import MesProductionWorkOrderRepublishModal from '@views/mes/modules/MesProductionWorkOrderRepublishModal.vue'
+import MesProductionWorkOrderReportModal from '@views/mes/modules/MesProductionWorkOrderReportModal.vue'
+import MesProductionWorkOrderCompletenessCheckModal from '@views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue'
 
 export default {
   name: 'MesProductionWorkOrderList',
@@ -221,9 +226,10 @@
     MesProductionWorkOrderModal,
     MesProductionOrderModal,
     MesMaterialUnloadingList,
-    MesMaterialTransferDetailList,
     MesProductionWorkOrderScheduleModal,
-    MesProductionWorkOrderRepublishModal
+    MesProductionWorkOrderRepublishModal,
+    MesProductionWorkOrderReportModal,
+    MesProductionWorkOrderCompletenessCheckModal
   },
   data() {
     return {
@@ -232,9 +238,6 @@
       // 宸ュ崟鎶ュ伐
       refKeys1: ['mesWorkReporting'],
       tableKeys1: ['mesWorkReporting'],
-      //鐗╂枡鎷夊姩鐢宠
-      refKeys2: ['mesMaterialTransferRequest'],
-      tableKeys2: ['mesMaterialTransferRequest'],
       //涓婃枡
       refKeys3: ['mesMaterialLoading'],
       tableKeys3: ['mesMaterialLoading'],
@@ -274,7 +277,7 @@
           dataIndex: 'planQuantity'
         },
         {
-          title: '浜х嚎(鍐椾綑)',
+          title: '浜х嚎',
           align: 'center',
           dataIndex: 'factoryId_dictText'
         },
@@ -284,7 +287,7 @@
           dataIndex: 'groupId_dictText'
         },
         {
-          title: '鐝(鍐椾綑)',
+          title: '鐝',
           align: 'center',
           dataIndex: 'shiftId_dictText'
         },
@@ -419,101 +422,6 @@
           {
             title: '鎴愬搧涓嬬嚎鎵撳嵃鐘舵��',
             key: 'printStatus',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-        ]
-      },
-      mesMaterialTransferRequest: {
-        loading: false,
-        dataSource: [],
-        columns: [
-          {
-            title: '鎿嶄綔',
-            key: 'action',
-            type: JVXETypes.slot,
-            slotName: 'showTransferDetail',
-            width: '120px',
-            align: 'center'
-          },
-          {
-            title: '鎷夊姩鍗曞彿',
-            key: 'requestCode',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '宸ュ崟鍙�',
-            key: 'workOrderCode',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: 'SAP棰勭暀鍙�',
-            key: 'reservationCode',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '鍙戝竷鐘舵��',
-            key: 'publishStatus',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '璇锋眰鐘舵��',
-            key: 'requestStatus',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '璇锋眰鏃堕棿',
-            key: 'requestTime',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '鍘熷簱瀛樺湴',
-            key: 'originalWarehouseName',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '鐩爣搴撳瓨鍦�',
-            key: 'targetWarehouseName',
-            type: JVXETypes.input,
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '浼樺厛绾�',
-            key: 'priority',
-            type: JVXETypes.select,
-            dictCode: 'priority',
-            width: '200px',
-            placeholder: '璇疯緭鍏�${title}',
-            defaultValue: ''
-          },
-          {
-            title: '鏈�鏅氶厤閫佹椂闂�',
-            key: 'latestDeliveryTime',
             type: JVXETypes.input,
             width: '200px',
             placeholder: '璇疯緭鍏�${title}',
@@ -662,19 +570,18 @@
         ]
       },
       url: {
-        list: '/mesproductionworkorder/mesProductionWorkOrder/list',
-        delete: '/mesproductionworkorder/mesProductionWorkOrder/delete',
-        deleteBatch: '/mesproductionworkorder/mesProductionWorkOrder/deleteBatch',
-        exportXlsUrl: '/mesproductionworkorder/mesProductionWorkOrder/exportXls',
-        importExcelUrl: 'mesproductionworkorder/mesProductionWorkOrder/importExcel',
-        queryWorkReportingByWorkOrderId:'/mesworkreporting/mesWorkReporting/queryWorkReportingByWorkOrderId',
-        queryMaterialTransferRequestByWorkOrderId:'/mesmaterialtransferrequest/mesMaterialTransferRequest/queryMaterialTransferRequestByWorkOrderId',
+        list: '/mes/mesProductionWorkOrder/list',
+        delete: '/mes/mesProductionWorkOrder/delete',
+        deleteBatch: '/mes/mesProductionWorkOrder/deleteBatch',
+        exportXlsUrl: '/mes/mesProductionWorkOrder/exportXls',
+        importExcelUrl: 'mes/mesProductionWorkOrder/importExcel',
+        queryWorkReportingByWorkOrderId:'/mes/mesWorkReporting/queryWorkReportingByWorkOrderId',
         queryLoadingByWorkOrderId:'/mes/mesMaterialLoading/queryLoadingByWorkOrderId',
-        queryCompletenessCheckByWorkOrderId:'/meskittingcompletenesscheck/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId',
-        queryOrderById:'/mesproductionwork/mesProductionOrder/queryById',
+        queryCompletenessCheckByWorkOrderId:'/mes/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId',
+        queryOrderById:'/mes/productionOrder/queryById',
         queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId',
-        queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy',
-        publish: '/mesproductionworkorder/mesProductionWorkOrder/publish'
+        publish: '/mes/mesProductionWorkOrder/publish',
+        execute: '/mes/mesProductionWorkOrder/execute',
       },
       dictOptions: {},
       superFieldList: []
@@ -702,14 +609,24 @@
         }
       })
     },
+    handleExecute(id) {
+      getAction(this.url.execute, { id: id }).then((res) => {
+        if (res.success) {
+          this.$message.success(res.message)
+          this.loadData()
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
     handleRePublish(record) {
       this.$refs.MesProductionWorkOrderRepublishModal.add(record)
     },
-    async handleTransferDetail(row){
-      console.log('row---->',row)
-      const transferDetailResult = await getAction(this.url.queryTransferDetailBy,{'requestId':row.id})
-      this.$refs.MesMaterialTransferDetailList.visible = true
-      this.$refs.MesMaterialTransferDetailList.dataSource = transferDetailResult.result.records
+    handleWorkReport(record) {
+      this.$refs.MesProductionWorkOrderReportModal.add(record)
+    },
+    handleCompletenessCheck(record) {
+      this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record)
     },
     async handleUnLoadingDetail(row){
       console.log('row---->',row)
@@ -724,15 +641,13 @@
       this.$refs.MesProductionOrderModal.disableSubmit = true;
     },
     async onSelectChange(selectedRowKeys){
-      //mesWorkReporting,mesMaterialTransferRequest,mesMaterialLoading,mesKittingCompletenessCheck
+      //mesWorkReporting,路,mesMaterialLoading,mesKittingCompletenessCheck
       this.mesWorkReporting.loading = true
-      this.mesMaterialTransferRequest.loading = true
       this.mesMaterialLoading.loading = true
       this.mesKittingCompletenessCheck.loading = true
 
       this.selectedRowKeys = selectedRowKeys
       this.mesWorkReporting.dataSource=[]
-      this.mesMaterialTransferRequest.dataSource=[]
       this.mesMaterialLoading.dataSource=[]
       this.mesKittingCompletenessCheck.dataSource=[]
       if (selectedRowKeys.length > 0) {
@@ -741,15 +656,12 @@
           'workOrderId':selectedId
         }
         const mesWorkReportingResult = await getAction(this.url.queryWorkReportingByWorkOrderId, parm)
-        const mesMaterialTransferRequestResult = await getAction(this.url.queryMaterialTransferRequestByWorkOrderId, parm)
         const mesMaterialLoadingResult = await getAction(this.url.queryLoadingByWorkOrderId, parm)
         const mesKittingCompletenessCheckResult = await getAction(this.url.queryCompletenessCheckByWorkOrderId, parm)
         this.mesWorkReporting.dataSource = mesWorkReportingResult.result
-        this.mesMaterialTransferRequest.dataSource = mesMaterialTransferRequestResult.result
         this.mesMaterialLoading.dataSource = mesMaterialLoadingResult.result
         this.mesKittingCompletenessCheck.dataSource = mesKittingCompletenessCheckResult.result
         this.mesWorkReporting.loading = false
-        this.mesMaterialTransferRequest.loading = false
         this.mesMaterialLoading.loading = false
         this.mesKittingCompletenessCheck.loading = false
       }

--
Gitblit v1.9.3