diff --git a/src/api/part/partInfo.js b/src/api/part/partInfo.js index d6f08f3..4330dab 100644 --- a/src/api/part/partInfo.js +++ b/src/api/part/partInfo.js @@ -5,6 +5,8 @@ export const searchPartList = data => createAPI('/part/searchPartList', 'POST', export const createPart = data => createAPI('/part/save', 'POST', data) export const updatePart = data => createAPI('/part/save', 'POST', data) export const copyPartByBase = data => createAPI('/part/copyByBasePartNo', 'POST', data) +// 高级复制:固定复制主档/属性,可选供应商价格与检验模板,支持目标覆盖确认 - rqrq +export const advancedCopyPart = data => createAPI('/part/advancedCopy', 'POST', data) export const startPartFormalApprove = data => createAPI('/part/startFormalApprove', 'POST', data) export const changePartDefaultSupplier = data => createAPI('/part/changeDefaultSupplier', 'POST', data) // 查询基准料号下已维护过的SKU(去重),用于新增时SKU联想 diff --git a/src/views/modules/srmPart/PartAdvancedCopyDialog.vue b/src/views/modules/srmPart/PartAdvancedCopyDialog.vue new file mode 100644 index 0000000..5eb6456 --- /dev/null +++ b/src/views/modules/srmPart/PartAdvancedCopyDialog.vue @@ -0,0 +1,279 @@ + + + + + + + 源物料信息 + + + + + + + + + + + + + + + + + + + + + + + + + 目标物料信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 目标物料编码:{{ targetPartNo || '—' }} + + + + 复制项目 + + 物料信息+属性 + 供应商可供物料+价格表 + 检验模板 + + + + + + + + + + + diff --git a/src/views/modules/srmPart/partInfoList.vue b/src/views/modules/srmPart/partInfoList.vue index acc019b..46a6087 100644 --- a/src/views/modules/srmPart/partInfoList.vue +++ b/src/views/modules/srmPart/partInfoList.vue @@ -52,6 +52,8 @@ 复制 {{'导出'}} + + 高级复制 @@ -131,6 +133,7 @@ + @@ -150,7 +153,8 @@ - + + @@ -405,6 +409,7 @@ import specParams from './com_part_SpecParams' import suppliers from './com_part_Suppliers' import approval from './com_part_Approval' import attachments from './com_part_Attachments' +import PartAdvancedCopyDialog from './PartAdvancedCopyDialog' import { approveNodeInstance, @@ -953,15 +958,13 @@ export default { copyRules: { basePartNo: [ { required: true, message: '请输入基准料号', trigger: 'blur' } - ], - partSuffix: [ - { required: true, message: '请输入物料后缀', trigger: 'blur' } ] } } }, /* 组件 */ components: { + PartAdvancedCopyDialog, Chooselist, basicInfo, specParams, @@ -1085,13 +1088,14 @@ export default { } return row[columnProp] }, + // 新增和原有复制共用规则:后缀为空时直接使用基准料号,不生成尾部 '-' - rqrq generatePartNo (basePartNo, partSuffix) { const base = (basePartNo || '').trim().toUpperCase() const suffix = (partSuffix || '').trim().toUpperCase() - if (!base || !suffix) { + if (!base) { return '' } - return `${base}-${suffix}` + return suffix ? `${base}-${suffix}` : base }, syncGeneratedPartNo () { if (!this.isAdd) return @@ -1645,8 +1649,9 @@ export default { if (this.isAdd) { const basePartNo = (this.currentpart.basePartNo || '').trim().toUpperCase() const partSuffix = (this.currentpart.partSuffix || '').trim().toUpperCase() - if (!basePartNo || !partSuffix) { - this.$message.warning('请填写基准料号和物料后缀') + // 基准料号必填,后缀允许留空;与高级复制的编码规则一致 - rqrq + if (!basePartNo) { + this.$message.warning('请填写基准料号') return } if (partSuffix.includes('-')) {