diff --git a/src/views/mes/md/item/MdItemForm.vue b/src/views/mes/md/item/MdItemForm.vue
index f24572d36..0a2ce4ed9 100644
--- a/src/views/mes/md/item/MdItemForm.vue
+++ b/src/views/mes/md/item/MdItemForm.vue
@@ -38,7 +38,7 @@
-
+
@@ -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 = {
+ create: '新增物料/产品',
+ update: '修改物料/产品',
+ detail: '查看物料/产品'
+ }
+ return titles[formType.value] || formType.value
}) // 弹窗标题
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
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