From 3b62e380879274adda8d2224f05c4b3bbc15473d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 28 Mar 2026 10:38:48 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=88=86=E7=B1=BB=E5=8F=98=E6=9B=B4=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BC=98=E5=8C=96=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=A0=87=E9=A2=98=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/md/item/MdItemForm.vue | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) 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