From a2e1194d44d6a5f3f6049f61fef367ac1deae61e Mon Sep 17 00:00:00 2001 From: zhongzm Date: Tue, 11 Feb 2025 16:07:02 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E8=8F=9C=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=95=8C=E9=9D=A2=E4=B8=AD=E8=8B=B1=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/langs/en-us.ts | 36 +++++++++++++ src/locales/langs/zh-cn.ts | 36 +++++++++++++ src/views/manage/menu/index.vue | 51 ++++++++++--------- src/views/manage/menu/modules/form.ts | 28 ++++++---- .../menu/modules/menu-operate-modal.vue | 45 ++++++++-------- 5 files changed, 140 insertions(+), 56 deletions(-) diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts index 07ade67..ef8f78e 100644 --- a/src/locales/langs/en-us.ts +++ b/src/locales/langs/en-us.ts @@ -917,6 +917,42 @@ const local: any = { deleteask:'Do you confirm the deletion?', title:'Dictionary list', }, + menu:{ + menuname:'Name', + path:'Path', + component:'Component', + status:'Status', + nomal:'Normal', + disable:'Disable', + menutype:'Type', + table:'Directory', + menu:'Menu', + button:'Button', + ordernum:'Sort', + icon:'Icon', + createtime:'Create Time', + operate:'Operate', + edit:'Edit', + delete:'Delete', + modaltitle:'Tips', + deleteask:'Are you sure you want to delete the menu?', + deletesuc:'Deletion successful.', + title:'Menu List', + addmenu:'Add Menu', + editmenu:'Edit Menu', + root:'Root node', + parent:'Parent', + islink:'Is backlink', + yes:'Yes', + no:'No', + menucomponent:'Path', + hidemenu:'Hide Menu', + cache:'Cache', + perms:'Permission Identifier', + confirm:'Determine', + close:'Cancel', + nozero:'The sort must be greater than or equal to 0' + } }, form: { required: 'Cannot be empty', diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts index 57e9558..a2b3b18 100644 --- a/src/locales/langs/zh-cn.ts +++ b/src/locales/langs/zh-cn.ts @@ -917,6 +917,42 @@ const local:any = { deleteask:'确认删除吗?', title:'字典列表', }, + menu:{ + menuname:'菜单名称', + path:'路由地址', + component:'组件路径', + status:'状态', + nomal:'正常', + disable:'停用', + menutype:'类型', + table:'目录', + menu:'菜单', + button:'按钮', + ordernum:'排序', + icon:'图标', + createtime:'创建时间', + operate:'操作', + edit:'编辑', + delete:'删除', + modaltitle:'提示', + deleteask:'确定删除该菜单吗', + deletesuc:'删除成功', + title:'菜单列表', + addmenu:'新增菜单', + editmenu:'编辑菜单', + root:'根节点', + parent:'上级菜单', + islink:'是否外链', + yes:'是', + no:'否', + menucomponent:'菜单路径', + hidemenu:'隐藏菜单', + cache:'缓存', + perms:'权限标识', + confirm:'确定', + close:'取消', + nozero:'排序必须大于等于0' + } }, form: { required: '不能为空', diff --git a/src/views/manage/menu/index.vue b/src/views/manage/menu/index.vue index 5e0272b..b9fe8a1 100644 --- a/src/views/manage/menu/index.vue +++ b/src/views/manage/menu/index.vue @@ -3,33 +3,34 @@ import { Icon } from '@iconify/vue'; import { Button, Tag } from 'ant-design-vue'; import { SimpleScrollbar } from '~/packages/materials/src'; import MenuOperateModal from './modules/menu-operate-modal.vue'; - +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); const { data, columns, loading, getData } = useTable({ apiFn: doGetMenuList, columns: () => [ { key: 'menuName', dataIndex: 'menuName', - title: '菜单名称', + title: t('page.menu.menuname'), align: 'left', width: 200 }, { key: 'path', dataIndex: 'path', - title: '路由地址', + title: t('page.menu.path'), align: 'center' }, { key: 'component', dataIndex: 'component', - title: '组件路径', + title: t('page.menu.component'), align: 'center' }, { key: 'status', dataIndex: 'status', - title: '状态', + title: t('page.menu.status'), align: 'center', customRender: ({ record }) => { const colorTagMap: Record = { @@ -37,17 +38,17 @@ const { data, columns, loading, getData } = useTable({ 1: 'warning' }; - const labelMap: Record = { - 0: '正常', - 1: '停用' - }; - return {labelMap[record.status]}; + const labelMap=computed>(() => ({ + 0: t('page.menu.nomal'), + 1: t('page.menu.disable') + })); + return {labelMap.value[record.status]}; } }, { key: 'menuType', dataIndex: 'menuType', - title: '类型', + title: t('page.menu.menutype'), align: 'center', customRender: ({ record }) => { const colorTagMap: Record = { @@ -57,9 +58,9 @@ const { data, columns, loading, getData } = useTable({ }; const labelMap: Record = { - M: '目录', - C: '菜单', - F: '按钮' + M: t('page.menu.table'), + C: t('page.menu.menu'), + F: t('page.menu.button') }; return {labelMap[record.menuType]}; } @@ -67,13 +68,13 @@ const { data, columns, loading, getData } = useTable({ { key: 'orderNum', dataIndex: 'orderNum', - title: '排序', + title: t('page.menu.ordernum'), align: 'center' }, { key: 'icon', dataIndex: 'icon', - title: '图标', + title: t('page.menu.icon'), align: 'center', customRender: ({ record }) => { return ( @@ -87,20 +88,20 @@ const { data, columns, loading, getData } = useTable({ key: 'createTime', dataIndex: 'createTime', align: 'center', - title: '创建时间' + title: t('page.menu.createtime') }, { key: 'operate', - title: '操作', + title: t('page.menu.operate'), align: 'center', width: 200, customRender: ({ record }) => (
) @@ -122,12 +123,12 @@ function edit(id: number) { function handleDelete(id: number) { $modal.confirm({ - title: '提示', - content: '确定删除该菜单吗?', + title: t('page.menu.modaltitle'), + content: t('page.menu.deleteask'), onOk: async () => { const { error } = await doDeleteMenu(id); if (!error) { - $message.success('删除成功'); + $message.success(t('page.menu.deletesuc')); onDeleted(); } } @@ -146,8 +147,8 @@ function handleSubmitSuccess() {