| | |
| | | </template> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleDetail(record)">详情</a> |
| | | <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'"> |
| | | <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> |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | | |
| | |
| | | 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', |
| | |
| | | MesProductionWorkOrderModal, |
| | | MesProductionOrderModal, |
| | | MesMaterialUnloadingList, |
| | | MesMaterialTransferDetailList, |
| | | MesProductionWorkOrderScheduleModal, |
| | | MesProductionWorkOrderRepublishModal, |
| | | MesProductionWorkOrderReportModal, |
| | | MesProductionWorkOrderCompletenessCheckModal |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | // 工单报工 |
| | | refKeys1: ['mesWorkReporting'], |
| | | tableKeys1: ['mesWorkReporting'], |
| | | //物料拉动申请 |
| | | refKeys2: ['mesMaterialTransferRequest'], |
| | | tableKeys2: ['mesMaterialTransferRequest'], |
| | | //上料 |
| | | refKeys3: ['mesMaterialLoading'], |
| | | tableKeys3: ['mesMaterialLoading'], |
| | |
| | | }, |
| | | ] |
| | | }, |
| | | 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}', |
| | | defaultValue: '' |
| | | }, |
| | | ] |
| | | }, |
| | | mesMaterialLoading: { |
| | | loading: false, |
| | | dataSource: [], |
| | |
| | | ] |
| | | }, |
| | | 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', |
| | | execute: '/mesproductionworkorder/mesProductionWorkOrder/execute', |
| | | publish: '/mes/mesProductionWorkOrder/publish', |
| | | execute: '/mes/mesProductionWorkOrder/execute', |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | |
| | | handleWorkReport(record) { |
| | | this.$refs.MesProductionWorkOrderReportModal.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 |
| | | handleCompletenessCheck(record) { |
| | | this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record) |
| | | }, |
| | | async handleUnLoadingDetail(row){ |
| | | console.log('row---->',row) |
| | |
| | | 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) { |
| | |
| | | '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 |
| | | } |