diff --git a/frontend/src/hooks/useModal.ts b/frontend/src/hooks/useModal.ts new file mode 100644 index 0000000000..85198454ed --- /dev/null +++ b/frontend/src/hooks/useModal.ts @@ -0,0 +1,25 @@ +import { Modal } from '@arco-design/web-vue'; +import type { ModalConfig } from '@arco-design/web-vue'; + +export type ModalType = 'info' | 'success' | 'warning' | 'error'; + +export type ModalSize = 'small' | 'medium' | 'large' | 'full'; + +export type ModalMode = 'default' | 'weak'; + +export interface ModalOptions extends ModalConfig { + mode?: ModalMode; + type: ModalType; + size?: ModalSize; +} + +export default function useModal() { + return { + openModal: (options: ModalOptions) => + Modal[options.type]({ + ...options, + titleAlign: 'start', + modalClass: `ms-modal-${options.mode || 'default'} ms-modal-${options.size || 'medium'}`, + }), + }; +} diff --git a/frontend/src/locale/en-US/index.ts b/frontend/src/locale/en-US/index.ts index ce6b29535c..4d3e3e48cd 100644 --- a/frontend/src/locale/en-US/index.ts +++ b/frontend/src/locale/en-US/index.ts @@ -10,6 +10,9 @@ import localeApiTest from '@/views/api-test/locale/en-US'; export default { message: { 'menu.apiTest': 'Api Test', + 'menu.settings': 'System Settings', + 'menu.settings.user': 'User', + 'menu.settings.organization': 'Organization', 'navbar.action.locale': 'Switch to English', ...sys, ...localeSettings, diff --git a/frontend/src/locale/en-US/system.ts b/frontend/src/locale/en-US/system.ts new file mode 100644 index 0000000000..ff8b4c5632 --- /dev/null +++ b/frontend/src/locale/en-US/system.ts @@ -0,0 +1 @@ +export default {}; diff --git a/frontend/src/locale/zh-CN/index.ts b/frontend/src/locale/zh-CN/index.ts index 4604f2522d..09c701d88d 100644 --- a/frontend/src/locale/zh-CN/index.ts +++ b/frontend/src/locale/zh-CN/index.ts @@ -9,20 +9,9 @@ import localeApiTest from '@/views/api-test/locale/zh-CN'; export default { message: { - 'menu.component': '组件库', - 'menu.component.demo': '组件示例', - 'menu.apitest': '接口测试', - 'menu.dashboard': '仪表盘', - 'menu.minder': '脑图', - 'menu.server.dashboard': '仪表盘-服务端', - 'menu.server.workplace': '工作台-服务端', - 'menu.server.monitor': '实时监控-服务端', - 'menu.list': '列表页', - 'menu.result': '结果页', - 'menu.exception': '异常页', - 'menu.form': '表单页', - 'menu.profile': '详情页', - 'menu.visualization': '数据可视化', + 'menu.settings': '系统设置', + 'menu.settings.user': '用户', + 'menu.settings.organization': '组织', 'menu.user': '个人中心', 'navbar.action.locale': '切换为中文', ...sys, diff --git a/frontend/src/locale/zh-CN/system.ts b/frontend/src/locale/zh-CN/system.ts new file mode 100644 index 0000000000..ff8b4c5632 --- /dev/null +++ b/frontend/src/locale/zh-CN/system.ts @@ -0,0 +1 @@ +export default {}; diff --git a/frontend/src/mock/user.ts b/frontend/src/mock/user.ts index 8f733b7f84..9c9ca1721c 100644 --- a/frontend/src/mock/user.ts +++ b/frontend/src/mock/user.ts @@ -76,7 +76,6 @@ setupMock({ { path: 'list', name: 'apiTest', - component: () => import('@/views/api-test/index.vue'), meta: { locale: 'menu.apiTest', roles: ['*'], @@ -85,6 +84,26 @@ setupMock({ }, ], }, + { + path: '/system', + name: 'system', + meta: { + locale: 'menu.settings', + icon: 'icon-dashboard', + order: 0, + }, + children: [ + { + path: 'user', + name: 'user', + meta: { + locale: 'menu.settings.user', + roles: ['*'], + icon: 'icon-computer', + }, + }, + ], + }, ]; return successResponseWrap(menuList); }); diff --git a/frontend/src/router/routes/modules/system.ts b/frontend/src/router/routes/modules/system.ts new file mode 100644 index 0000000000..5b36635645 --- /dev/null +++ b/frontend/src/router/routes/modules/system.ts @@ -0,0 +1,27 @@ +import { DEFAULT_LAYOUT } from '../base'; +import { AppRouteRecordRaw } from '../types'; + +const ApiTest: AppRouteRecordRaw = { + path: '/system', + name: 'system', + component: DEFAULT_LAYOUT, + meta: { + locale: 'menu.settings', + icon: 'icon-dashboard', + order: 0, + }, + children: [ + { + path: 'user', + name: 'user', + component: () => import('@/views/system/user/index.vue'), + meta: { + locale: 'menu.settings.user', + roles: ['*'], + icon: 'icon-computer', + }, + }, + ], +}; + +export default ApiTest; diff --git a/frontend/src/views/system/user/index.vue b/frontend/src/views/system/user/index.vue new file mode 100644 index 0000000000..b117b2e0eb --- /dev/null +++ b/frontend/src/views/system/user/index.vue @@ -0,0 +1,21 @@ + + + + +