diff --git a/src/views/modules/qc/qcPartAttribute.vue b/src/views/modules/qc/qcPartAttribute.vue index cbe8826..70e4e55 100644 --- a/src/views/modules/qc/qcPartAttribute.vue +++ b/src/views/modules/qc/qcPartAttribute.vue @@ -2702,6 +2702,48 @@ this.$message.warning('请选择标签类型!') return } + + // 检查是否设置为默认,且已存在其他默认标签 + if (this.labelTemplateData.defaultFlag === '1') { + // 查找已存在的默认标签(排除当前编辑的记录) + const existingDefault = this.labelTemplateList.find(item => + item.defaultFlag === '1' && item.labelTypeTb !== this.labelTemplateData.labelTypeTb + ) + if (existingDefault) { + this.$confirm(`当前物料已存在默认标签【${existingDefault.labelType}】,是否将其改为非默认并设置当前标签为默认?`, '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + // 先将已存在的默认标签改为非默认 + const clearDefaultData = { + site: existingDefault.site, + buNo: existingDefault.buNo, + partNo: existingDefault.partNo, + labelTypeTb: existingDefault.labelTypeTb, + labelType: existingDefault.labelType, + defaultFlag: '0' + } + updateLabelTemplate(clearDefaultData).then(({data}) => { + if (data && data.code === 0) { + // 清除成功后再保存当前标签 + this.doSaveLabelTemplate() + } else { + this.$message.error('清除原默认标签失败:' + data.msg) + } + }) + }).catch(() => { + // 用户取消 + }) + return + } + } + + this.doSaveLabelTemplate() + }, + + // 执行保存标签模版 + doSaveLabelTemplate () { this.saveLoading = true if (this.labelTemplateData.flag === '1') { saveLabelTemplate(this.labelTemplateData).then(({data}) => {