feat(mes): 添加物料分类变更处理逻辑,优化弹窗标题显示

pull/871/MERGE
YunaiV 2026-03-28 10:38:48 +08:00
parent 55198c3747
commit 3b62e38087
1 changed files with 17 additions and 7 deletions

View File

@ -38,7 +38,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="物料分类" prop="itemTypeId">
<MdItemTypeSelect v-model="formData.itemTypeId" />
<MdItemTypeSelect v-model="formData.itemTypeId" @change="handleItemTypeChange" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -150,9 +150,12 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const dialogTitle = computed(() => {
if (formType.value === 'create') return '新增物料/产品'
if (formType.value === 'update') return '修改物料/产品'
return '查看物料/产品'
const titles: Record<string, string> = {
create: '新增物料/产品',
update: '修改物料/产品',
detail: '查看物料/产品'
}
return titles[formType.value] || formType.value
}) //
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
@ -189,6 +192,11 @@ const generateCode = async () => {
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.ITEM_CODE)
}
/** 分类变更时,同步更新 itemOrProduct */
const handleItemTypeChange = (type: any) => {
formData.value.itemOrProduct = type?.itemOrProduct
}
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
@ -217,14 +225,16 @@ const submitForm = async () => {
try {
const data = formData.value as unknown as MdItemVO
if (formType.value === 'create') {
await MdItemApi.createItem(data)
const id = await MdItemApi.createItem(data)
message.success(t('common.createSuccess'))
// Tab
formData.value.id = id
formType.value = 'update'
} else {
await MdItemApi.updateItem(data)
message.success(t('common.updateSuccess'))
}
dialogVisible.value = false
//
//
emit('success')
} finally {
formLoading.value = false