From 7e5252d990c0710b62a97f378bb646ec06618e46 Mon Sep 17 00:00:00 2001 From: hwj Date: Mon, 25 May 2026 16:58:35 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=8F=9C=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86-app=E7=AB=AF=E8=8F=9C=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BB=88=E7=AB=AF=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/menu/index.ts | 1 + src/locales/en.ts | 4 ++++ src/locales/zh-CN.ts | 4 ++++ src/views/system/menu/MenuForm.vue | 18 ++++++++++++++---- src/views/system/menu/index.vue | 23 +++++++++++++++++++---- 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/api/system/menu/index.ts b/src/api/system/menu/index.ts index 5148dd03..804082d7 100644 --- a/src/api/system/menu/index.ts +++ b/src/api/system/menu/index.ts @@ -17,6 +17,7 @@ export interface MenuVO { keepAlive: boolean alwaysShow?: boolean clientType?: number + terminalType?: number createTime: Date } diff --git a/src/locales/en.ts b/src/locales/en.ts index 725e7847..fd6e19ff 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -1146,6 +1146,9 @@ export default { updateCacheTitle: 'Refresh Menu Cache', clientTypeWeb: 'Web Menu', clientTypeApp: 'APP Menu', + terminalType: 'Terminal Type', + terminalTypeMobile: 'Phone', + terminalTypeScanner: 'Scanner', visibleShow: 'Show', visibleHide: 'Hide', always: 'Always', @@ -1156,6 +1159,7 @@ export default { nameRequired: 'Menu name is required', sortRequired: 'Menu order is required', pathRequired: 'Route path is required', + terminalTypeRequired: 'Terminal type is required', statusRequired: 'Status is required', pathMustStartWithSlash: 'Path must start with /', pathMustNotStartWithSlash: 'Path must not start with /', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 276de481..b08e55d5 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1147,6 +1147,9 @@ export default { updateCacheTitle: '刷新菜单缓存', clientTypeWeb: 'Web端菜单', clientTypeApp: 'APP端菜单', + terminalType: '终端类型', + terminalTypeMobile: '手机', + terminalTypeScanner: '扫码器', visibleShow: '显示', visibleHide: '隐藏', always: '总是', @@ -1157,6 +1160,7 @@ export default { nameRequired: '菜单名称不能为空', sortRequired: '菜单顺序不能为空', pathRequired: '路由地址不能为空', + terminalTypeRequired: '终端类型不能为空', statusRequired: '状态不能为空', pathMustStartWithSlash: '路径必须以 / 开头', pathMustNotStartWithSlash: '路径不能以 / 开头', diff --git a/src/views/system/menu/MenuForm.vue b/src/views/system/menu/MenuForm.vue index dd281540..c747e594 100644 --- a/src/views/system/menu/MenuForm.vue +++ b/src/views/system/menu/MenuForm.vue @@ -66,6 +66,12 @@ + + + {{ t('SystemManagement.Menu.terminalTypeMobile') }} + {{ t('SystemManagement.Menu.terminalTypeScanner') }} + + ({ name: [{ required: true, message: t('SystemManagement.Menu.nameRequired'), trigger: 'blur' }], sort: [{ required: true, message: t('SystemManagement.Menu.sortRequired'), trigger: 'blur' }], path: [{ required: clientType.value === 1, message: t('SystemManagement.Menu.pathRequired'), trigger: 'blur' }], - status: [{ required: true, message: t('SystemManagement.Menu.statusRequired'), trigger: 'blur' }] + status: [{ required: true, message: t('SystemManagement.Menu.statusRequired'), trigger: 'blur' }], + terminalType: [{ required: clientType.value === 2, message: t('SystemManagement.Menu.terminalTypeRequired'), trigger: 'change' }] })) const formRef = ref() // 表单 Ref @@ -210,8 +218,9 @@ const submitForm = async () => { } } } - const data = formData.value as unknown as MenuApi.MenuVO + const data = formData.value as unknown as MenuApi.MenuVO & { terminalType?: number } data.clientType = clientType.value + data.terminalType = clientType.value === 2 ? formData.value.terminalType : undefined if (formType.value === 'create') { await MenuApi.createMenu(data) message.success(t('common.createSuccess')) @@ -257,7 +266,8 @@ const resetForm = () => { visible: true, keepAlive: true, alwaysShow: true, - clientType: 1 + clientType: 1, + terminalType: 1 } formRef.value?.resetFields() } diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index 40ac32d7..b157633d 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -79,19 +79,29 @@ :default-expand-all="isExpandAll" row-key="id" > - - + + - + + + + - +