From 3c8c42e7e1a3a1bd75b504ebf7374d2a56ce0b8e Mon Sep 17 00:00:00 2001 From: luwenlong Date: Fri, 12 Dec 2025 17:56:19 +0800 Subject: [PATCH] =?UTF-8?q?1211=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mergerapply/modules/MergerReqsModal.vue | 21 +++++++- .../modules/MergerReqsModalBody.vue | 49 ++++++++++++++++++- .../modules/MergerReqsModalForm.vue | 2 + 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/views/merger/mergerapply/modules/MergerReqsModal.vue b/src/views/merger/mergerapply/modules/MergerReqsModal.vue index fe8c715..0aa4593 100644 --- a/src/views/merger/mergerapply/modules/MergerReqsModal.vue +++ b/src/views/merger/mergerapply/modules/MergerReqsModal.vue @@ -13,7 +13,7 @@ 转派 @@ -21,11 +21,19 @@ 提交归类 + + 拆单 + 关闭 @@ -77,7 +85,16 @@ export default { head: {}, }; }, + computed: { + btnDisabled() { + // 需求单状态不满足暂存/归类驳回.按钮禁用 + return !(this.head.status === '000' || this.head.status === '090'); + }, + }, methods: { + splitHandle() { + this.$refs.MergerReqsModalBody.splitHandle(); + }, add() { this.modalVisible = true; this.head = {}; diff --git a/src/views/merger/mergerapply/modules/MergerReqsModalBody.vue b/src/views/merger/mergerapply/modules/MergerReqsModalBody.vue index e86b0c1..64847c1 100644 --- a/src/views/merger/mergerapply/modules/MergerReqsModalBody.vue +++ b/src/views/merger/mergerapply/modules/MergerReqsModalBody.vue @@ -22,11 +22,11 @@ - + @@ -166,6 +166,7 @@ import ExcelExportModel from '@/views/excel/modules/ExcelExportModel.vue'; import ExcelImportModel from '@/views/excel/modules/ExcelImportModel.vue'; import { filterDictTextByFormatCache } from '@comp/dict/JDictSelectUtil'; import MergerReqsModalBodyFileUpload from './MergerReqsModalBodyFileUpload.vue'; +import { mapGetters } from 'vuex'; export default { name: 'MergerReqsModalBody', @@ -449,6 +450,7 @@ export default { checkGeneratePartNo: 'merger/mergerReqsList/checkGeneratePartNo', importEleExcelUrl: 'merger/mergerReqsRdElem/importExcel', exportXlsEleUrl: 'merger/mergerReqsRdElem/exportXls', + splitOrderUrl:'merger/mergerReqsList/splitOrder' }, isorter: { column: 'createTime', @@ -472,6 +474,49 @@ export default { }, }, methods: { + ...mapGetters(['userInfo']), + splitHandle() { + const source = String(this.head.mergeSource); + if (this.userInfo().username !== this.head.requesterId) { + this.$message.warning('非需求人,不能拆单!'); + return; + } + if (!(this.head.status === '000' || this.head.status === '090')) { + this.$message.warning('需求单状态不满足暂存/归类驳回,不允许拆单!'); + return; + } + if (this.selectedRowKeys.length === 0) { + this.$message.warning('请选择至少一条数据进行操作!'); + return; + } + if (!(source === '1' || source === '2' || source === '3')) { + this.$message.warning('来源类型不满足,不允许拆单!'); + return; + } + // if (this.selectedRowKeys.length === this.ipagination.total) { + // this.$message.warning('不可勾选全部的明细进行操作!'); + // return; + // } + const params = { + headId: this.head.id, + listIds: this.selectedRowKeys + }; + const that = this; + that.$confirm({ + title: '提示', + content: '是否确认拆单?', + onOk: function () { + postAction(that.url.splitOrderUrl, params).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + }); + }, /* 先加载字典、后加载数据 */ async initDictConfig() {}, handleDelete(id) { diff --git a/src/views/merger/mergerapply/modules/MergerReqsModalForm.vue b/src/views/merger/mergerapply/modules/MergerReqsModalForm.vue index bc2dfcf..fe2a800 100644 --- a/src/views/merger/mergerapply/modules/MergerReqsModalForm.vue +++ b/src/views/merger/mergerapply/modules/MergerReqsModalForm.vue @@ -160,6 +160,8 @@ export default { reqsType: [{ required: true, message: '请选择需求单类型!', trigger: 'blur' }], requesterId: [{ required: true, message: '请选择需求人!' }], bussDepartCode: [{ required: true, message: '请选择事业部!' }], + impEnterpCode: [{ required: true, message: '请选择进口企业!' }], + expEnterpCode: [{ required: true, message: '请选择出口企业!' }], }, url: { add: '/merger/mergerReqsHead/add',