From 59d30d49f2a37c294ee98e495de9bc42dcdfe6ce Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期二, 11 二月 2025 18:06:31 +0800 Subject: [PATCH] 优化 --- src/router/index.js | 397 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 245 insertions(+), 152 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index b771c56..113991d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,10 +1,10 @@ -import Vue from 'vue' -import Router from 'vue-router' +import Vue from "vue"; +import Router from "vue-router"; -Vue.use(Router) +Vue.use(Router); /* Layout */ -import Layout from '@/layout' +import Layout from "@/layout"; /** * Note: sub-menu only appear when route children.length >= 1 @@ -30,100 +30,184 @@ * a base page that does not have permission requirements * all roles can be accessed */ -export const constantRoutes = [ - { - path: '/login', - component: () => import('@/views/login/index'), - hidden: true +export const constantRoutes = [{ + path: "/login", + component: () => import("@/views/login/index"), + hidden: true, }, { - path: '/404', - component: () => import('@/views/404'), - hidden: true + path: "/404", + component: () => import("@/views/404"), + hidden: true, }, + // { + // path: "/", + // component: Layout, + // redirect: "/home", + // children: [ + // { + // path: "home", + // name: "home", + // component: () => import("@/views/home/index"), + // meta: { title: "棣栭〉", icon: "dashboard" }, + // }, + // ], + // }, + // { + // path: "/", + // component: Layout, + // redirect: "/curriculum", + // children: [ + // { + // path: "/curriculum", + // name: "Curriculum", + // component: () => import("@/views/curriculum/index"), + // meta: { title: "璇捐〃", icon: "table" }, + // }, + // ], + // }, { - path: '/', + path: "/", component: Layout, - redirect: '/home', + redirect: "/student", children: [{ - path: 'home', - name: 'home', - component: () => import('@/views/home/index'), - meta: { title: '棣栭〉', icon: 'dashboard' } - }] + path: "/student", + name: "Student", + component: () => import("@/views/student/index"), + meta: { + title: "瀛﹀憳鍒楄〃", + icon: "user" + }, + }, + { + path: "student/details", + name: "StudentDetails", + component: () => import("@/views/student/components/details.vue"), + meta: { + title: "瀛﹀憳璇︽儏" + }, + hidden: true, + }, + ], }, - { - path: '/educational', + path: "/", component: Layout, - redirect: '/educational/student', - name: 'Educational', - meta: { title: '鏁欏姟', icon: 'el-icon-s-help' }, - children: [ - { - path: 'student', - name: 'Student', - component: () => import('@/views/student/index'), - meta: { title: '瀛﹀憳', icon: 'table' } + redirect: "/class", + children: [{ + path: "/class", + name: "Class", + component: () => import("@/views/class/index"), + meta: { + title: "鐝骇鍒楄〃", + icon: "table" }, - { - path: 'class', - name: 'Class', - component: () => import('@/views/class/index'), - meta: { title: '鐝骇', icon: 'tree' } + }, ], + },{ + path: "/", + component: Layout, + redirect: "/order", + children: [{ + path: "/order", + name: "Order", + component: () => import("@/views/order/index"), + meta: { + title: "瀛﹀憳璁㈠崟", + icon: "form" }, - { - path: 'scheduleCourses', - name: 'ScheduleCourses', - component: () => import('@/views/scheduleCourses/index'), - meta: { title: '鎺掕', icon: 'table' } + }, ], + },{ + path: "/", + component: Layout, + redirect: "/attendance", + children: [{ + path: "/attendance", + name: "Attendance", + component: () => import("@/views/attendance/index"), + meta: { + title: "鑰冨嫟鎶ヨ〃", + icon: "dashboard" }, - { - path: 'work', - name: 'Work', - component: () => import('@/views/work/index'), - meta: { title: '浣滀笟', icon: 'tree' } - }, - { - path: 'comment', - name: 'Comment', - component: () => import('@/views/comment/index'), - meta: { title: '鐐硅瘎', icon: 'table' } - }, - { - path: 'curriculum', - name: 'Curriculum', - component: () => import('@/views/curriculum/index'), - meta: { title: '璇捐〃', icon: 'tree' } - }, - { - path: 'table', - name: 'Table', - component: () => import('@/views/student/index'), - meta: { title: '鏃ョ▼', icon: 'table' } - }, - { - path: 'development', - name: 'Development', - component: () => import('@/views/development/index'), - meta: { title: '鎴愰暱', icon: 'tree' } - }, - { - path: 'integral', - name: 'Integral', - component: () => import('@/views/integral/index'), - meta: { title: '绉垎', icon: 'tree' } - }, - { - path: 'rollCall', - name: 'RollCall', - component: () => import('@/views/rollCall/index'), - meta: { title: '鐐硅瘎', icon: 'tree' } - } - ] + }, ], }, + // { + // path: "/educational", + // component: Layout, + // redirect: "/educational/student", + // name: "Educational", + // meta: { title: "鏁欏姟", icon: "el-icon-s-help" }, + // children: [ + // { + // path: "student", + // name: "Student", + // component: () => import("@/views/student/index"), + // meta: { title: "瀛﹀憳", icon: "table" }, + // }, + // { + // path: "student/details", + // name: "StudentDetails", + // component: () => import("@/views/student/components/details.vue"), + // meta: { title: "瀛﹀憳璇︽儏" }, + // hidden: true, + // }, + // { + // path: "class", + // name: "Class", + // component: () => import("@/views/class/index"), + // meta: { title: "鐝骇", icon: "tree" }, + // }, + // { + // path: "scheduleCourses", + // name: "ScheduleCourses", + // component: () => import("@/views/scheduleCourses/index"), + // meta: { title: "鎺掕", icon: "table" }, + // }, + // { + // path: "work", + // name: "Work", + // component: () => import("@/views/work/index"), + // meta: { title: "浣滀笟", icon: "tree" }, + // }, + // { + // path: "comment", + // name: "Comment", + // component: () => import("@/views/comment/index"), + // meta: { title: "鐐硅瘎", icon: "table" }, + // }, + // { + // path: "curriculum", + // name: "Curriculum", + // component: () => import("@/views/curriculum/index"), + // meta: { title: "璇捐〃", icon: "tree" }, + // }, + // { + // path: "table", + // name: "Table", + // component: () => import("@/views/student/index"), + // meta: { title: "鏃ョ▼", icon: "table" }, + // }, + // { + // path: "development", + // name: "Development", + // component: () => import("@/views/development/index"), + // meta: { title: "鎴愰暱", icon: "tree" }, + // }, + // { + // path: "integral", + // name: "Integral", + // component: () => import("@/views/integral/index"), + // meta: { title: "绉垎", icon: "tree" }, + // }, + // { + // path: "rollCall", + // name: "RollCall", + // component: () => import("@/views/rollCall/index"), + // meta: { title: "鐐硅瘎", icon: "tree" }, + // }, + // ], + // }, // { // path: '/form', @@ -138,64 +222,66 @@ // ] // }, - { - path: '/nested', - component: Layout, - redirect: '/nested/menu1', - name: 'Nested', - meta: { - title: 'Nested', - icon: 'nested' - }, - children: [ - { - path: 'menu1', - component: () => import('@/views/nested/menu1/index'), // Parent router-view - name: 'Menu1', - meta: { title: 'Menu1' }, - children: [ - { - path: 'menu1-1', - component: () => import('@/views/nested/menu1/menu1-1'), - name: 'Menu1-1', - meta: { title: 'Menu1-1' } - }, - { - path: 'menu1-2', - component: () => import('@/views/nested/menu1/menu1-2'), - name: 'Menu1-2', - meta: { title: 'Menu1-2' }, - children: [ - { - path: 'menu1-2-1', - component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'), - name: 'Menu1-2-1', - meta: { title: 'Menu1-2-1' } - }, - { - path: 'menu1-2-2', - component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'), - name: 'Menu1-2-2', - meta: { title: 'Menu1-2-2' } - } - ] - }, - { - path: 'menu1-3', - component: () => import('@/views/nested/menu1/menu1-3'), - name: 'Menu1-3', - meta: { title: 'Menu1-3' } - } - ] - }, - { - path: 'menu2', - component: () => import('@/views/nested/menu2/index'), - name: 'Menu2', - meta: { title: 'menu2' } - } - ] - }, + // { + // path: "/nested", + // component: Layout, + // redirect: "/nested/menu1", + // name: "Nested", + // meta: { + // title: "Nested", + // icon: "nested", + // }, + // children: [ + // { + // path: "menu1", + // component: () => import("@/views/nested/menu1/index"), // Parent router-view + // name: "Menu1", + // meta: { title: "Menu1" }, + // children: [ + // { + // path: "menu1-1", + // component: () => import("@/views/nested/menu1/menu1-1"), + // name: "Menu1-1", + // meta: { title: "Menu1-1" }, + // }, + // { + // path: "menu1-2", + // component: () => import("@/views/nested/menu1/menu1-2"), + // name: "Menu1-2", + // meta: { title: "Menu1-2" }, + // children: [ + // { + // path: "menu1-2-1", + // component: () => + // import("@/views/nested/menu1/menu1-2/menu1-2-1"), + // name: "Menu1-2-1", + // meta: { title: "Menu1-2-1" }, + // }, + // { + // path: "menu1-2-2", + // component: () => + // import("@/views/nested/menu1/menu1-2/menu1-2-2"), + // name: "Menu1-2-2", + // meta: { title: "Menu1-2-2" }, + // }, + // ], + // }, + // { + // path: "menu1-3", + // component: () => import("@/views/nested/menu1/menu1-3"), + // name: "Menu1-3", + // meta: { title: "Menu1-3" }, + // }, + // ], + // }, + // { + // path: "menu2", + // component: () => import("@/views/nested/menu2/index"), + // name: "Menu2", + // meta: { title: "menu2" }, + // }, + // ], + // }, // { // path: 'external-link', @@ -209,21 +295,28 @@ // }, // 404 page must be placed at the end !!! - { path: '*', redirect: '/404', hidden: true } -] + { + path: "*", + redirect: "/404", + hidden: true + }, +]; -const createRouter = () => new Router({ - // mode: 'history', // require service support - scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes -}) +const createRouter = () => + new Router({ + // mode: 'history', // require service support + scrollBehavior: () => ({ + y: 0 + }), + routes: constantRoutes, + }); -const router = createRouter() +const router = createRouter(); // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export function resetRouter() { - const newRouter = createRouter() - router.matcher = newRouter.matcher // reset router + const newRouter = createRouter(); + router.matcher = newRouter.matcher; // reset router } -export default router +export default router; -- Gitblit v1.8.0