From f133e4f5c5f3fe3451daa1685ef48a4bd44de345 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 2 Apr 2026 00:27:23 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=8F=AD=E7=BB=84=E8=A1=A8=E5=8D=95=E5=92=8C=E6=88=90=E5=91=98?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=BB=84=E4=BB=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化班组表单的弹窗标题逻辑,支持不同表单类型的动态标题显示。调整成员列表组件,确保操作按钮仅在编辑模式下可见。简化消息提示内容,提升用户体验。 --- src/views/mes/cal/team/CalTeamForm.vue | 26 ++++++++++------ src/views/mes/cal/team/CalTeamMemberList.vue | 32 +++++++++++--------- src/views/mes/cal/team/index.vue | 4 +-- 3 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/views/mes/cal/team/CalTeamForm.vue b/src/views/mes/cal/team/CalTeamForm.vue index 0ef9380ae..7eb92888c 100644 --- a/src/views/mes/cal/team/CalTeamForm.vue +++ b/src/views/mes/cal/team/CalTeamForm.vue @@ -59,7 +59,7 @@ 确 定 - 取 消 + 关 闭 @@ -72,16 +72,23 @@ import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants' import CalTeamMemberList from './CalTeamMemberList.vue' defineOptions({ name: 'CalTeamForm' }) +const emit = defineEmits(['success']) -const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 const dialogVisible = ref(false) // 弹窗的是否展示 -const dialogTitle = ref('') // 弹窗的标题 const formLoading = ref(false) // 表单的加载中 -const formType = ref('') // 表单的类型:create - 新增;update - 修改 +const formType = ref('') // 表单的类型:create - 新增;update - 修改;detail - 详情 const activeTab = ref('member') // 当前激活的资源 Tab const isDetail = computed(() => formType.value === 'detail') // 是否详情模式(只读) +const dialogTitle = computed(() => { + const titles: Record = { + create: '新增班组', + update: '编辑班组', + detail: '班组详情' + } + return titles[formType.value] || formType.value +}) const formData = ref({ id: undefined, code: undefined, @@ -110,10 +117,9 @@ const generateCode = async () => { /** 打开弹窗 */ const open = async (type: string, id?: number) => { dialogVisible.value = true - dialogTitle.value = t('action.' + type) formType.value = type resetForm() - // 修改时,设置数据 + // 修改/详情时,设置数据 if (id) { formLoading.value = true try { @@ -123,10 +129,8 @@ const open = async (type: string, id?: number) => { } } } -defineExpose({ open }) /** 提交表单 */ -const emit = defineEmits(['success']) const submitForm = async () => { await formRef.value.validate() formLoading.value = true @@ -134,10 +138,10 @@ const submitForm = async () => { const data = formData.value as unknown as CalTeamVO if (formType.value === 'create') { await CalTeamApi.createTeam(data) - message.success(t('common.createSuccess')) + message.success('新增成功') } else { await CalTeamApi.updateTeam(data) - message.success(t('common.updateSuccess')) + message.success('修改成功') } dialogVisible.value = false emit('success') @@ -157,4 +161,6 @@ const resetForm = () => { } formRef.value?.resetFields() } + +defineExpose({ open }) diff --git a/src/views/mes/cal/team/CalTeamMemberList.vue b/src/views/mes/cal/team/CalTeamMemberList.vue index 2ff22a9a3..c63ad65ad 100644 --- a/src/views/mes/cal/team/CalTeamMemberList.vue +++ b/src/views/mes/cal/team/CalTeamMemberList.vue @@ -2,7 +2,7 @@