优化:优化菜单配置

1. 调整菜单排序
2. 优化部分菜单图标
3. 新增菜单栏手风琴配置,默认生效
This commit is contained in:
Charles7c 2023-02-14 23:37:56 +08:00
parent 148a98371f
commit 302f0ea573
101 changed files with 126 additions and 107 deletions

View File

@ -48,6 +48,11 @@
key: 'topMenu',
defaultVal: appStore.topMenu,
},
{
name: 'settings.accordion',
key: 'menuAccordion',
defaultVal: appStore.menuAccordion,
},
{ name: 'settings.footer', key: 'footer', defaultVal: appStore.footer },
{ name: 'settings.tabBar', key: 'tabBar', defaultVal: appStore.tabBar },
{

View File

@ -2,10 +2,7 @@
<div class="navbar">
<div class="left-side">
<a-space>
<img
alt="logo"
src="/logo.svg"
/>
<img alt="logo" src="/logo.svg" />
<a-typography-title
:style="{ margin: 0, fontSize: '18px' }"
:heading="5"

View File

@ -4,6 +4,7 @@
"navbar": true,
"menu": true,
"topMenu": false,
"menuAccordion": true,
"hideMenu": false,
"menuCollapse": false,
"footer": true,

View File

@ -18,7 +18,7 @@
@collapse="setCollapsed"
>
<div class="menu-wrapper">
<Menu />
<Menu :accordion="accordion" />
</div>
</a-layout-sider>
<a-drawer
@ -30,7 +30,7 @@
:closable="false"
@cancel="drawerCancel"
>
<Menu />
<Menu :accordion="accordion" />
</a-drawer>
<a-layout class="layout-content" :style="paddingStyle">
<TabBar v-if="appStore.tabBar" />
@ -66,6 +66,7 @@
const navbarHeight = `60px`;
const navbar = computed(() => appStore.navbar);
const renderMenu = computed(() => appStore.menu && !appStore.topMenu);
const accordion = computed(() => appStore.menuAccordion);
const hideMenu = computed(() => appStore.hideMenu);
const footer = computed(() => appStore.footer);
const menuWidth = computed(() => {

View File

@ -3,10 +3,10 @@ import localeLogin from '@/views/login/locale/en-US';
import localeWorkplace from '@/views/dashboard/workplace/locale/en-US';
import localeMonitor from '@/views/dashboard/monitor/locale/en-US';
import localeMonitor from '@/views/arco-design/visualization/monitor/locale/en-US';
import localeDataAnalysis from '@/views/visualization/data-analysis/locale/en-US';
import localeMultiDAnalysis from '@/views/visualization/multi-dimension-data-analysis/locale/en-US';
import localeDataAnalysis from '@/views/arco-design/visualization/data-analysis/locale/en-US';
import localeMultiDAnalysis from '@/views/arco-design/visualization/multi-dimension-data-analysis/locale/en-US';
import localeRole from '@/views/system/role/locale/en-US';
import localeDept from '@/views/system/dept/locale/en-US';
@ -16,20 +16,20 @@ import localeLoginLog from '@/views/monitor/log/login/locale/en-US';
import localeOperationLog from '@/views/monitor/log/operation/locale/en-US';
import localeSystemLog from '@/views/monitor/log/system/locale/en-US';
import localeSearchTable from '@/views/list/search-table/locale/en-US';
import localeCardList from '@/views/list/card/locale/en-US';
import localeSearchTable from '@/views/arco-design/list/search-table/locale/en-US';
import localeCardList from '@/views/arco-design/list/card/locale/en-US';
import localeStepForm from '@/views/form/step/locale/en-US';
import localeGroupForm from '@/views/form/group/locale/en-US';
import localeStepForm from '@/views/arco-design/form/step/locale/en-US';
import localeGroupForm from '@/views/arco-design/form/group/locale/en-US';
import localeBasicProfile from '@/views/profile/basic/locale/en-US';
import localeBasicProfile from '@/views/arco-design/profile/basic/locale/en-US';
import localeSuccess from '@/views/result/success/locale/en-US';
import localeError from '@/views/result/error/locale/en-US';
import localeSuccess from '@/views/arco-design/result/success/locale/en-US';
import localeError from '@/views/arco-design/result/error/locale/en-US';
import locale403 from '@/views/exception/403/locale/en-US';
import locale404 from '@/views/exception/404/locale/en-US';
import locale500 from '@/views/exception/500/locale/en-US';
import locale403 from '@/views/arco-design/exception/403/locale/en-US';
import locale404 from '@/views/arco-design/exception/404/locale/en-US';
import locale500 from '@/views/arco-design/exception/500/locale/en-US';
import localeUserCenter from '@/views/system/user/center/locale/en-US';
@ -41,19 +41,24 @@ export default {
'menu.server.dashboard': 'Dashboard-Server',
'menu.server.workplace': 'Workplace-Server',
'menu.server.monitor': 'Monitor-Server',
'menu.visualization': 'Data Visualization',
'menu.system': 'System management',
'menu.monitor': 'Monitor',
'menu.list': 'List',
'menu.form': 'Form',
'menu.profile': 'Profile',
'menu.result': 'Result',
'menu.exception': 'Exception',
'menu.visualization': 'Data Visualization',
'menu.user': 'User Center',
'menu.arcoWebsite': 'Arco Design',
'menu.faq': 'FAQ',
'menu.arcoWebsite': 'Arco Design Vue',
'menu.github': 'GitHub',
'navbar.docs': 'Docs',
'navbar.action.locale': 'Switch to English',
...localeSettings,
...localeMessageBox,
...localeLogin,

View File

@ -13,6 +13,7 @@ export default {
'settings.navbar.alerts': 'alerts',
'settings.menu': 'Menu',
'settings.topMenu': 'Top Menu',
'settings.accordion': 'Accordion',
'settings.tabBar': 'Tab Bar',
'settings.footer': 'Footer',
'settings.otherSettings': 'Other Settings',

View File

@ -3,10 +3,10 @@ import localeLogin from '@/views/login/locale/zh-CN';
import localeWorkplace from '@/views/dashboard/workplace/locale/zh-CN';
import localeMonitor from '@/views/dashboard/monitor/locale/zh-CN';
import localeMonitor from '@/views/arco-design/visualization/monitor/locale/zh-CN';
import localeDataAnalysis from '@/views/visualization/data-analysis/locale/zh-CN';
import localeMultiDAnalysis from '@/views/visualization/multi-dimension-data-analysis/locale/zh-CN';
import localeDataAnalysis from '@/views/arco-design/visualization/data-analysis/locale/zh-CN';
import localeMultiDAnalysis from '@/views/arco-design/visualization/multi-dimension-data-analysis/locale/zh-CN';
import localeRole from '@/views/system/role/locale/zh-CN';
import localeDept from '@/views/system/dept/locale/zh-CN';
@ -16,20 +16,20 @@ import localeLoginLog from '@/views/monitor/log/login/locale/zh-CN';
import localeOperationLog from '@/views/monitor/log/operation/locale/zh-CN';
import localeSystemLog from '@/views/monitor/log/system/locale/zh-CN';
import localeSearchTable from '@/views/list/search-table/locale/zh-CN';
import localeCardList from '@/views/list/card/locale/zh-CN';
import localeSearchTable from '@/views/arco-design/list/search-table/locale/zh-CN';
import localeCardList from '@/views/arco-design/list/card/locale/zh-CN';
import localeStepForm from '@/views/form/step/locale/zh-CN';
import localeGroupForm from '@/views/form/group/locale/zh-CN';
import localeStepForm from '@/views/arco-design/form/step/locale/zh-CN';
import localeGroupForm from '@/views/arco-design/form/group/locale/zh-CN';
import localeBasicProfile from '@/views/profile/basic/locale/zh-CN';
import localeBasicProfile from '@/views/arco-design/profile/basic/locale/zh-CN';
import localeSuccess from '@/views/result/success/locale/zh-CN';
import localeError from '@/views/result/error/locale/zh-CN';
import localeSuccess from '@/views/arco-design/result/success/locale/zh-CN';
import localeError from '@/views/arco-design/result/error/locale/zh-CN';
import locale403 from '@/views/exception/403/locale/zh-CN';
import locale404 from '@/views/exception/404/locale/zh-CN';
import locale500 from '@/views/exception/500/locale/zh-CN';
import locale403 from '@/views/arco-design/exception/403/locale/zh-CN';
import locale404 from '@/views/arco-design/exception/404/locale/zh-CN';
import locale500 from '@/views/arco-design/exception/500/locale/zh-CN';
import localeUserCenter from '@/views/system/user/center/locale/zh-CN';
@ -41,19 +41,24 @@ export default {
'menu.server.dashboard': '仪表盘-服务端',
'menu.server.workplace': '工作台-服务端',
'menu.server.monitor': '实时监控-服务端',
'menu.visualization': '数据可视化',
'menu.system': '系统管理',
'menu.monitor': '系统监控',
'menu.list': '列表页',
'menu.form': '表单页',
'menu.profile': '详情页',
'menu.result': '结果页',
'menu.exception': '异常页',
'menu.visualization': '数据可视化',
'menu.user': '个人中心',
'menu.arcoWebsite': 'Arco Design',
'menu.faq': '常见问题',
'menu.arcoWebsite': 'Arco Design Vue',
'menu.github': 'GitHub',
'navbar.docs': '文档中心',
'navbar.action.locale': '切换为中文',
...localeSettings,
...localeMessageBox,
...localeLogin,

View File

@ -13,6 +13,7 @@ export default {
'settings.navbar.alerts': '消息通知',
'settings.menu': '菜单栏',
'settings.topMenu': '顶部菜单栏',
'settings.accordion': '菜单栏手风琴',
'settings.tabBar': '多页签',
'settings.footer': '底部',
'settings.otherSettings': '其他设置',

View File

@ -5,17 +5,17 @@ import './message-box';
import '@/views/dashboard/workplace/mock';
import '@/views/dashboard/monitor/mock';
import '@/views/arco-design/visualization/monitor/mock';
import '@/views/list/card/mock';
import '@/views/list/search-table/mock';
import '@/views/arco-design/list/card/mock';
import '@/views/arco-design/list/search-table/mock';
import '@/views/form/step/mock';
import '@/views/arco-design/form/step/mock';
import '@/views/profile/basic/mock';
import '@/views/arco-design/profile/basic/mock';
import '@/views/visualization/data-analysis/mock';
import '@/views/visualization/multi-dimension-data-analysis/mock';
import '@/views/arco-design/visualization/data-analysis/mock';
import '@/views/arco-design/visualization/multi-dimension-data-analysis/mock';
import '@/views/system/user/center/mock';

View File

@ -27,5 +27,5 @@ export const REDIRECT_MAIN: RouteRecordRaw = {
export const NOT_FOUND_ROUTE: RouteRecordRaw = {
path: '/:pathMatch(.*)*',
name: 'notFound',
component: () => import('@/views/not-found/index.vue'),
component: () => import('@/views/arco-design/not-found/index.vue'),
};

View File

@ -1,10 +1,10 @@
export default {
path: 'https://arco.design',
path: 'https://arco.design/vue/docs/start',
name: 'arcoWebsite',
meta: {
locale: 'menu.arcoWebsite',
icon: 'icon-link',
requiresAuth: true,
order: 8,
order: 106,
},
};

View File

@ -1,10 +0,0 @@
export default {
path: 'https://arco.design/vue/docs/pro/faq',
name: 'faq',
meta: {
locale: 'menu.faq',
icon: 'icon-question-circle',
requiresAuth: true,
order: 9,
},
};

View File

@ -0,0 +1,10 @@
export default {
path: 'https://github.com/Charles7c/continew-admin',
name: 'GitHub',
meta: {
locale: 'menu.github',
icon: 'icon-github',
requiresAuth: true,
order: 107,
},
};

View File

@ -1,6 +1,6 @@
import type { RouteRecordNormalized } from 'vue-router';
const modules = import.meta.glob('./modules/*.ts', { eager: true });
const modules = import.meta.glob('./modules/**/*.ts', { eager: true });
const externalModules = import.meta.glob('./externalModules/*.ts', {
eager: true,
});

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const EXCEPTION: AppRouteRecordRaw = {
path: '/exception',
@ -9,13 +9,13 @@ const EXCEPTION: AppRouteRecordRaw = {
locale: 'menu.exception',
requiresAuth: true,
icon: 'icon-exclamation-circle',
order: 8,
order: 104,
},
children: [
{
path: '403',
name: '403',
component: () => import('@/views/exception/403/index.vue'),
component: () => import('@/views/arco-design/exception/403/index.vue'),
meta: {
locale: 'menu.exception.403',
requiresAuth: true,
@ -25,7 +25,7 @@ const EXCEPTION: AppRouteRecordRaw = {
{
path: '404',
name: '404',
component: () => import('@/views/exception/404/index.vue'),
component: () => import('@/views/arco-design/exception/404/index.vue'),
meta: {
locale: 'menu.exception.404',
requiresAuth: true,
@ -35,7 +35,7 @@ const EXCEPTION: AppRouteRecordRaw = {
{
path: '500',
name: '500',
component: () => import('@/views/exception/500/index.vue'),
component: () => import('@/views/arco-design/exception/500/index.vue'),
meta: {
locale: 'menu.exception.500',
requiresAuth: true,

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const FORM: AppRouteRecordRaw = {
path: '/form',
@ -7,15 +7,15 @@ const FORM: AppRouteRecordRaw = {
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.form',
icon: 'icon-settings',
icon: 'icon-bookmark',
requiresAuth: true,
order: 5,
order: 101,
},
children: [
{
path: 'step',
name: 'Step',
component: () => import('@/views/form/step/index.vue'),
component: () => import('@/views/arco-design/form/step/index.vue'),
meta: {
locale: 'menu.form.step',
requiresAuth: true,
@ -25,7 +25,7 @@ const FORM: AppRouteRecordRaw = {
{
path: 'group',
name: 'Group',
component: () => import('@/views/form/group/index.vue'),
component: () => import('@/views/arco-design/form/group/index.vue'),
meta: {
locale: 'menu.form.group',
requiresAuth: true,

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const LIST: AppRouteRecordRaw = {
path: '/list',
@ -9,13 +9,13 @@ const LIST: AppRouteRecordRaw = {
locale: 'menu.list',
requiresAuth: true,
icon: 'icon-list',
order: 4,
order: 100,
},
children: [
{
path: 'search-table', // The midline path complies with SEO specifications
name: 'SearchTable',
component: () => import('@/views/list/search-table/index.vue'),
component: () => import('@/views/arco-design/list/search-table/index.vue'),
meta: {
locale: 'menu.list.searchTable',
requiresAuth: true,
@ -25,7 +25,7 @@ const LIST: AppRouteRecordRaw = {
{
path: 'card',
name: 'Card',
component: () => import('@/views/list/card/index.vue'),
component: () => import('@/views/arco-design/list/card/index.vue'),
meta: {
locale: 'menu.list.cardList',
requiresAuth: true,

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const PROFILE: AppRouteRecordRaw = {
path: '/profile',
@ -9,13 +9,13 @@ const PROFILE: AppRouteRecordRaw = {
locale: 'menu.profile',
requiresAuth: true,
icon: 'icon-file',
order: 6,
order: 102,
},
children: [
{
path: 'basic',
name: 'Basic',
component: () => import('@/views/profile/basic/index.vue'),
component: () => import('@/views/arco-design/profile/basic/index.vue'),
meta: {
locale: 'menu.profile.basic',
requiresAuth: true,

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const RESULT: AppRouteRecordRaw = {
path: '/result',
@ -9,13 +9,13 @@ const RESULT: AppRouteRecordRaw = {
locale: 'menu.result',
icon: 'icon-check-circle',
requiresAuth: true,
order: 7,
order: 103,
},
children: [
{
path: 'success',
name: 'Success',
component: () => import('@/views/result/success/index.vue'),
component: () => import('@/views/arco-design/result/success/index.vue'),
meta: {
locale: 'menu.result.success',
requiresAuth: true,
@ -25,7 +25,7 @@ const RESULT: AppRouteRecordRaw = {
{
path: 'error',
name: 'Error',
component: () => import('@/views/result/error/index.vue'),
component: () => import('@/views/arco-design/result/error/index.vue'),
meta: {
locale: 'menu.result.error',
requiresAuth: true,

View File

@ -1,5 +1,5 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../../base';
import { AppRouteRecordRaw } from '../../types';
const VISUALIZATION: AppRouteRecordRaw = {
path: '/visualization',
@ -8,14 +8,14 @@ const VISUALIZATION: AppRouteRecordRaw = {
meta: {
locale: 'menu.visualization',
requiresAuth: true,
icon: 'icon-apps',
order: 1,
icon: 'icon-bar-chart',
order: 105,
},
children: [
{
path: 'data-analysis',
name: 'DataAnalysis',
component: () => import('@/views/visualization/data-analysis/index.vue'),
component: () => import('@/views/arco-design/visualization/data-analysis/index.vue'),
meta: {
locale: 'menu.visualization.dataAnalysis',
requiresAuth: true,
@ -26,13 +26,23 @@ const VISUALIZATION: AppRouteRecordRaw = {
path: 'multi-dimension-data-analysis',
name: 'MultiDimensionDataAnalysis',
component: () =>
import('@/views/visualization/multi-dimension-data-analysis/index.vue'),
import('@/views/arco-design/visualization/multi-dimension-data-analysis/index.vue'),
meta: {
locale: 'menu.visualization.multiDimensionDataAnalysis',
requiresAuth: true,
roles: ['admin'],
},
},
{
path: 'monitor',
name: 'Monitor',
component: () => import('@/views/arco-design/visualization/monitor/index.vue'),
meta: {
locale: 'menu.dashboard.monitor',
requiresAuth: true,
roles: ['admin'],
},
},
],
};

View File

@ -5,11 +5,13 @@ const DASHBOARD: AppRouteRecordRaw = {
path: '/dashboard',
name: 'dashboard',
component: DEFAULT_LAYOUT,
redirect: '/dashboard/workplace',
meta: {
locale: 'menu.dashboard',
requiresAuth: true,
icon: 'icon-dashboard',
order: 0,
hideChildrenInMenu: true,
},
children: [
{
@ -20,17 +22,7 @@ const DASHBOARD: AppRouteRecordRaw = {
locale: 'menu.dashboard.workplace',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'monitor',
name: 'Monitor',
component: () => import('@/views/dashboard/monitor/index.vue'),
meta: {
locale: 'menu.dashboard.monitor',
requiresAuth: true,
roles: ['admin'],
activeMenu: 'dashboard',
},
},
],

View File

@ -9,7 +9,7 @@ const Monitor: AppRouteRecordRaw = {
locale: 'menu.monitor',
icon: 'icon-computer',
requiresAuth: true,
order: 3,
order: 2,
},
children: [
{

View File

@ -9,7 +9,7 @@ const System: AppRouteRecordRaw = {
locale: 'menu.system',
icon: 'icon-settings',
requiresAuth: true,
order: 2,
order: 1,
},
children: [
{

View File

@ -1,7 +1,7 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
const USER: AppRouteRecordRaw = {
const UserCenter: AppRouteRecordRaw = {
path: '/login/user',
name: 'user',
component: DEFAULT_LAYOUT,
@ -9,7 +9,6 @@ const USER: AppRouteRecordRaw = {
locale: 'menu.user',
icon: 'icon-user',
requiresAuth: true,
order: 9,
},
children: [
{
@ -20,9 +19,10 @@ const USER: AppRouteRecordRaw = {
locale: 'menu.user.center',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
},
},
],
};
export default USER;
export default UserCenter;

View File

@ -6,6 +6,7 @@ export interface AppState {
navbar: boolean;
menu: boolean;
topMenu: boolean;
menuAccordion: boolean;
hideMenu: boolean;
menuCollapse: boolean;
footer: boolean;

Some files were not shown because too many files have changed in this diff Show More