From 6c6b811b2a5267764c8aa5c7b7ed2d6094f65061 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 15 八月 2025 17:15:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/mes/MesProductionWorkOrderListView.vue |  134 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 111 insertions(+), 23 deletions(-)

diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index f9e9b5f..6b524e3 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -1,5 +1,5 @@
 <template>
-  <a-card :bordered="false" title="鎺掍骇宸ュ崟">
+  <a-card :bordered="false">
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
@@ -14,24 +14,33 @@
               <j-input placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" v-model="queryParam.materialNumber"></j-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="宸ュ崟鐘舵��">
-              <j-dict-select-tag dictCode="work_order_status" placeholder="璇疯緭鍏ュ伐鍗曠姸鎬�"
-                                 v-model="queryParam.workOrderStatus"></j-dict-select-tag>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="閲嶅彂甯冧汉">
-              <j-select-user-by-dep placeholder="璇疯緭鍏ラ噸鍙戝竷浜�"
-                                    v-model="queryParam.republisher"></j-select-user-by-dep>
-            </a-form-item>
-          </a-col>
+          <template v-if="toggleSearchStatus">
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="宸ュ崟鐘舵��">
+                <j-dict-select-tag dictCode="work_order_status" placeholder="璇疯緭鍏ュ伐鍗曠姸鎬�"
+                                   v-model="queryParam.workOrderStatus"></j-dict-select-tag>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="閲嶅彂甯冧汉">
+                <j-select-user-by-dep placeholder="璇疯緭鍏ラ噸鍙戝竷浜�"
+                                      v-model="queryParam.republisher"></j-select-user-by-dep>
+              </a-form-item>
+            </a-col>
+          </template>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+              <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+              <a @click="handleToggleSearch" style="margin-left: 8px">
+                {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
+                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
+              </a>
             </span>
           </a-col>
+        </a-row>
+        <a-row>
+          <a-button type="primary" @click="productionSchedule" icon="retweet" style="margin-bottom: 8px">鎺掍骇</a-button>
         </a-row>
       </a-form>
     </div>
@@ -73,8 +82,37 @@
           </template>
 
           <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
-
+            <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>
@@ -82,13 +120,17 @@
               <a-menu-item>
                 <a @click="handleDetail(record)">璇︽儏</a>
               </a-menu-item>
-              <a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'NEW'">
+                <a @click="handleEdit(record)">缂栬緫</a>
+              </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>
         </a-table>
       </div>
@@ -174,6 +216,10 @@
     <mes-production-order-modal ref="MesProductionOrderModal"></mes-production-order-modal>
     <MesMaterialUnloadingList ref="MesMaterialUnloadingList"></MesMaterialUnloadingList>
     <MesMaterialTransferDetailList ref="MesMaterialTransferDetailList"></MesMaterialTransferDetailList>
+    <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>
 
@@ -186,10 +232,14 @@
 import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
 import { JVXETypes } from '@/components/jeecg/JVxeTable'
 import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
-import { getAction } from '@api/manage'
+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',
@@ -198,7 +248,11 @@
     MesProductionWorkOrderModal,
     MesProductionOrderModal,
     MesMaterialUnloadingList,
-    MesMaterialTransferDetailList
+    MesMaterialTransferDetailList,
+    MesProductionWorkOrderScheduleModal,
+    MesProductionWorkOrderRepublishModal,
+    MesProductionWorkOrderReportModal,
+    MesProductionWorkOrderCompletenessCheckModal
   },
   data() {
     return {
@@ -249,7 +303,7 @@
           dataIndex: 'planQuantity'
         },
         {
-          title: '浜х嚎(鍐椾綑)',
+          title: '浜х嚎',
           align: 'center',
           dataIndex: 'factoryId_dictText'
         },
@@ -259,7 +313,7 @@
           dataIndex: 'groupId_dictText'
         },
         {
-          title: '鐝(鍐椾綑)',
+          title: '鐝',
           align: 'center',
           dataIndex: 'shiftId_dictText'
         },
@@ -648,7 +702,9 @@
         queryCompletenessCheckByWorkOrderId:'/meskittingcompletenesscheck/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId',
         queryOrderById:'/mesproductionwork/mesProductionOrder/queryById',
         queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId',
-        queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy'
+        queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy',
+        publish: '/mesproductionworkorder/mesProductionWorkOrder/publish',
+        execute: '/mesproductionworkorder/mesProductionWorkOrder/execute',
       },
       dictOptions: {},
       superFieldList: []
@@ -663,6 +719,38 @@
     }
   },
   methods: {
+    productionSchedule() {
+      this.$refs.MesProductionWorkOrderScheduleModal.scheduleOpen()
+    },
+    handlePublish(id) {
+      requestPut(this.url.publish, null, { ids: id }).then((res) => {
+        if (res.success) {
+          this.$message.success(res.message)
+          this.loadData()
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
+    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)
+    },
+    handleWorkReport(record) {
+      this.$refs.MesProductionWorkOrderReportModal.add(record)
+    },
+    handleCompletenessCheck(record) {
+      this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record)
+    },
     async handleTransferDetail(row){
       console.log('row---->',row)
       const transferDetailResult = await getAction(this.url.queryTransferDetailBy,{'requestId':row.id})

--
Gitblit v1.9.3