diff --git a/ui/src/pages/Main.vue b/ui/src/pages/Main.vue index fef5d16..6a5ea6e 100644 --- a/ui/src/pages/Main.vue +++ b/ui/src/pages/Main.vue @@ -226,7 +226,7 @@ export default { async mounted() { this.username = await getUsername() const allRoutes = _.cloneDeep( - _.filter(_.get(this.$router, 'options.routes[0].children'), 'meta.title') + _.filter(_.get(this.$router, 'options.routes[0].children'), 'meta.requiresMenu') ) const user = await getUser() @@ -240,6 +240,9 @@ export default { return true } level1.children = level1.children.filter((level2) => { + if (!level2.meta.requiresMenu) { + return false + } for (const menu_ of menus) { if (_.startsWith(menu_.url, level1.path + '/' + level2.path)) { hasChildren = true @@ -258,6 +261,9 @@ export default { return true } level1.children = level1.children.filter((level2) => { + if (!level2.meta.requiresMenu) { + return false + } if (!level2.meta.requiresAuth) { hasChildren = true return true diff --git a/ui/src/router/affair.ts b/ui/src/router/affair.ts index 6cbf895..75bd2b4 100644 --- a/ui/src/router/affair.ts +++ b/ui/src/router/affair.ts @@ -9,6 +9,7 @@ const affairRouter = { name: 'affairAdd', meta: { title: '事务添加', + requiresMenu: true, requiresScrollbar: true, requiresPadding: true } @@ -19,6 +20,7 @@ const affairRouter = { name: 'PersonalAffairs', meta: { title: '我的事务', + requiresMenu: true, requiresScrollbar: true, requiresPadding: true } @@ -29,6 +31,7 @@ const affairRouter = { component: async () => await import('@/pages/affair/Affair.vue'), meta: { title: '事务审批', + requiresMenu: true, requiresScrollbar: true, requiresPadding: true } @@ -39,6 +42,7 @@ const affairRouter = { name: 'affairApproved', meta: { title: '审批记录', + requiresMenu: true, requiresScrollbar: true, requiresPadding: true } @@ -47,6 +51,7 @@ const affairRouter = { meta: { title: '事务', icon: shallowRef(IconPinnacleAffairs), + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } diff --git a/ui/src/router/attendance.ts b/ui/src/router/attendance.ts index 0b310b0..b6eb3cb 100644 --- a/ui/src/router/attendance.ts +++ b/ui/src/router/attendance.ts @@ -8,6 +8,7 @@ const attendanceRouter = { name: 'attendanceManage', meta: { title: '考勤管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -18,6 +19,7 @@ const attendanceRouter = { name: 'user', meta: { title: '员工考勤', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -25,6 +27,7 @@ const attendanceRouter = { ], meta: { title: '考勤', + requiresMenu: true, icon: shallowRef(IconPinnacleAttendance), requiresScrollbar: false, requiresPadding: true diff --git a/ui/src/router/index.ts b/ui/src/router/index.ts index 0307d12..e5854d6 100644 --- a/ui/src/router/index.ts +++ b/ui/src/router/index.ts @@ -26,6 +26,7 @@ const router = createRouter({ meta: { title: '首页', icon: shallowRef(IconPinnacleHome), + requiresMenu: true, requiresScrollbar: false, requiresPadding: true, requiresAuth: false diff --git a/ui/src/router/notice.ts b/ui/src/router/notice.ts index 4cdbfe6..a671f8b 100644 --- a/ui/src/router/notice.ts +++ b/ui/src/router/notice.ts @@ -4,6 +4,7 @@ const noticeRouter = { meta: { title: '公告', icon: shallowRef(IconPinnacleNotice), + requiresMenu: true, requiresScrollbar: false, requiresPadding: true }, @@ -14,6 +15,7 @@ const noticeRouter = { name: 'noticeManage', meta: { title: '公告管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -25,6 +27,7 @@ const noticeRouter = { redirect: '/notice/noticeView/all', meta: { title: '公告查看', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true }, @@ -52,6 +55,7 @@ const noticeRouter = { name: 'noticeTypeManage', meta: { title: '公告类型管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } diff --git a/ui/src/router/power.ts b/ui/src/router/power.ts index 2fc8b0c..d5cf4e9 100644 --- a/ui/src/router/power.ts +++ b/ui/src/router/power.ts @@ -9,6 +9,7 @@ const powerRouter = { component: async () => await import('@/pages/power/RoleManagement.vue'), meta: { title: '角色管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -19,6 +20,7 @@ const powerRouter = { component: async () => await import('@/pages/power/GroupManagement.vue'), meta: { title: '用户组管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -29,6 +31,7 @@ const powerRouter = { component: async () => await import('@/pages/power/UserManagement.vue'), meta: { title: '用户管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -37,6 +40,7 @@ const powerRouter = { meta: { title: '权限管理', icon: shallowRef(IconPinnaclePower), + requiresMenu: true, requiresScrollbar: false, requiresPadding: true, requiresAuth: true diff --git a/ui/src/router/work.ts b/ui/src/router/work.ts index 815d622..d1990cd 100644 --- a/ui/src/router/work.ts +++ b/ui/src/router/work.ts @@ -8,6 +8,7 @@ const workRouter = { name: 'workManage', meta: { title: '工作管理', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -31,6 +32,7 @@ const workRouter = { ], meta: { title: '工作事项', + requiresMenu: true, requiresScrollbar: false, requiresPadding: true } @@ -39,6 +41,7 @@ const workRouter = { meta: { title: '工作事项', icon: shallowRef(IconPinnacleWork), + requiresMenu: true, requiresScrollbar: false, requiresPadding: true }