From 426226f665ee5a3af873c8e839d8f9e4a6036752 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 12 九月 2025 13:48:10 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/mes/MesProductionWorkOrderListView.vue | 63 +++++++++++---- src/views/mes/modules/MesProductionWorkOrderCheckBeforeExecuteModal.vue | 121 ++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+), 17 deletions(-) diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue index eeabf79..5e10f4e 100644 --- a/src/views/mes/MesProductionWorkOrderListView.vue +++ b/src/views/mes/MesProductionWorkOrderListView.vue @@ -103,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="handleEquipmentInspection(record)">璁惧鐐规</a> - </span> - <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '1' && record.processInspectionFlag === '0'"> - <a-divider type="vertical" /> - <a @click="handleProcessCheck(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> @@ -131,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> @@ -197,6 +194,7 @@ <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> @@ -216,6 +214,7 @@ 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' @@ -232,7 +231,8 @@ MesProductionWorkOrderReportModal, MesProductionWorkOrderCompletenessCheckModal, MesProductionWorkOrderEquipmentInspectionModal, - MesProductionWorkOrderProcessCheckModal + MesProductionWorkOrderProcessCheckModal, + MesProductionWorkOrderCheckBeforeExecuteModal }, data() { return { @@ -530,6 +530,7 @@ queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId', publish: '/mes/mesProductionWorkOrder/publish', execute: '/mes/mesProductionWorkOrder/execute', + checkBeforeExecute: '/mes/mesProductionWorkOrder/checkBeforeExecute' }, dictOptions: {}, superFieldList: [], @@ -633,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) } diff --git a/src/views/mes/modules/MesProductionWorkOrderCheckBeforeExecuteModal.vue b/src/views/mes/modules/MesProductionWorkOrderCheckBeforeExecuteModal.vue new file mode 100644 index 0000000..f54e306 --- /dev/null +++ b/src/views/mes/modules/MesProductionWorkOrderCheckBeforeExecuteModal.vue @@ -0,0 +1,121 @@ +<template> + <j-modal + :title="title" + :width="width" + :visible="visible" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel" + cancelText="鍏抽棴"> + + <a-divider class="divider-title">榻愬鎬ф鏌�</a-divider> + <a-list> + <a-list-item v-for="(item, index) in unCompletenessCheckList" :key="index"> + <span>鐗╂枡 <strong>{{ item }}</strong> 榻愬鎬ф鏌ヤ笉閫氳繃</span> + </a-list-item> + </a-list> + <a-divider class="divider-title">璁惧鐐规</a-divider> + <a-list> + <a-list-item v-for="(item, index) in unInspectEquipmentList" :key="index"> + <span>璁惧 <strong>{{ item }}</strong> 鏈繘琛岃澶囩偣妫�</span> + </a-list-item> + </a-list> + <a-divider class="divider-title">宸ヨ壓鐐规</a-divider> + <a-list> + <a-list-item v-for="(item, index) in unCheckEquipmentList" :key="index"> + <span>璁惧 <strong>{{ item }}</strong> 鏈繘琛屽伐鑹虹偣妫�</span> + </a-list-item> + </a-list> + </j-modal> +</template> + +<script> +import { postAction, getAction } from '@api/manage' + +export default { + name: 'MesProductionWorkOrderCheckBeforeExecuteModal', + data () { + return { + title: '宸ュ崟鎵ц鍓嶆鏌�', + width: 800, + visible: false, + loading: false, + disableSubmit: false, + model: {}, + validatorRules: { + }, + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 }, + }, + url: { + execute: '/mes/mesProductionWorkOrder/execute' + }, + orderId: null, + unCompletenessCheckList: [], + unInspectEquipmentList: [], + unCheckEquipmentList: [] + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + methods: { + open (id, record) { + this.orderId = id + this.unCompletenessCheckList = record.unCompletenessCheckList + this.unInspectEquipmentList = record.unInspectEquipmentList + this.unCheckEquipmentList = record.unCheckEquipmentList + this.visible = true + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + this.$confirm({ + title: '纭鎿嶄綔', + content: '浠ヤ笂妫�鏌ャ�佺偣妫�椤规湭瀹屾垚锛岀‘璁ょ户缁墽琛屽伐鍗曪紵', + onOk: () => { + getAction(this.url.execute, {id: this.orderId}).then(res => { + if (res.success) { + this.$message.success(res.message) + this.submitCallback() + } else { + this.$message.warning(res.message) + } + }) + }, + onCancel: () => { + } + }) + }, + submitCallback(){ + this.$emit('ok'); + this.unCompletenessCheckList = [] + this.unInspectEquipmentList = [] + this.unCheckEquipmentList = [] + this.visible = false; + }, + handleCancel () { + this.close() + } + } +} +</script> + +<style scoped> + +.divider-title { + font-style: italic; + color: blue; +} + +</style> -- Gitblit v1.9.3