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 |  385 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 245 insertions(+), 140 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index b056c34..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,88 +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: "/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',
@@ -126,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',
@@ -197,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