From 337f3c6c7414953504f826ea6d1d80cffb6bd2cf Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期三, 20 八月 2025 17:42:02 +0800 Subject: [PATCH] 报工成品托标签打印 --- src/views/mes/MesProductionWorkOrderListView.vue | 276 ++++++++++++++++++++++++------------------------------- 1 files changed, 120 insertions(+), 156 deletions(-) diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue index f9e9b5f..61084a8 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> @@ -109,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> @@ -174,6 +196,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 +212,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 +228,11 @@ MesProductionWorkOrderModal, MesProductionOrderModal, MesMaterialUnloadingList, - MesMaterialTransferDetailList + MesMaterialTransferDetailList, + MesProductionWorkOrderScheduleModal, + MesProductionWorkOrderRepublishModal, + MesProductionWorkOrderReportModal, + MesProductionWorkOrderCompletenessCheckModal }, data() { return { @@ -207,9 +241,6 @@ // 宸ュ崟鎶ュ伐 refKeys1: ['mesWorkReporting'], tableKeys1: ['mesWorkReporting'], - //鐗╂枡鎷夊姩鐢宠 - refKeys2: ['mesMaterialTransferRequest'], - tableKeys2: ['mesMaterialTransferRequest'], //涓婃枡 refKeys3: ['mesMaterialLoading'], tableKeys3: ['mesMaterialLoading'], @@ -249,7 +280,7 @@ dataIndex: 'planQuantity' }, { - title: '浜х嚎(鍐椾綑)', + title: '浜х嚎', align: 'center', dataIndex: 'factoryId_dictText' }, @@ -259,7 +290,7 @@ dataIndex: 'groupId_dictText' }, { - title: '鐝(鍐椾綑)', + title: '鐝', align: 'center', dataIndex: 'shiftId_dictText' }, @@ -394,101 +425,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}', @@ -637,18 +573,19 @@ ] }, 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' + queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy', + publish: '/mes/mesProductionWorkOrder/publish', + execute: '/mes/mesProductionWorkOrder/execute', }, dictOptions: {}, superFieldList: [] @@ -663,6 +600,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}) @@ -682,15 +651,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) { @@ -699,15 +666,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