黄何裕
2024-08-01 e3474cf91877c95964b0d87fe55311941e601d6b
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
@@ -32,97 +32,106 @@
 */
export const constantRoutes = [
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
    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: '/',
    path: "/",
    component: Layout,
    redirect: '/home',
    children: [{
      path: 'home',
      name: 'home',
      component: () => import('@/views/home/index'),
      meta: { title: '首页', icon: 'dashboard' }
    }]
  },
  {
    path: '/educational',
    component: Layout,
    redirect: '/educational/student',
    name: 'Educational',
    meta: { title: '教务', icon: 'el-icon-s-help' },
    redirect: "/home",
    children: [
      {
        path: 'student',
        name: 'Student',
        component: () => import('@/views/student/index'),
        meta: { title: '学员', icon: 'table' }
        path: "home",
        name: "home",
        component: () => import("@/views/home/index"),
        meta: { title: "首页", icon: "dashboard" },
      },
    ],
  },
  {
    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: 'class',
        name: 'Class',
        component: () => import('@/views/class/index'),
        meta: { title: '班级', icon: 'tree' }
        path: "student/details",
        name: "StudentDetails",
        component: () => import("@/views/student/components/details.vue"),
        meta: { title: "学员详情" },
        hidden: true,
      },
      {
        path: 'scheduleCourses',
        name: 'ScheduleCourses',
        component: () => import('@/views/scheduleCourses/index'),
        meta: { title: '排课', icon: 'table' }
        path: "class",
        name: "Class",
        component: () => import("@/views/class/index"),
        meta: { title: "班级", icon: "tree" },
      },
      {
        path: 'work',
        name: 'Work',
        component: () => import('@/views/work/index'),
        meta: { title: '作业', icon: 'tree' }
        path: "scheduleCourses",
        name: "ScheduleCourses",
        component: () => import("@/views/scheduleCourses/index"),
        meta: { title: "排课", icon: "table" },
      },
      {
        path: 'comment',
        name: 'Comment',
        component: () => import('@/views/comment/index'),
        meta: { title: '点评', icon: 'table' }
        path: "work",
        name: "Work",
        component: () => import("@/views/work/index"),
        meta: { title: "作业", icon: "tree" },
      },
      {
        path: 'curriculum',
        name: 'Curriculum',
        component: () => import('@/views/curriculum/index'),
        meta: { title: '课表', icon: 'tree' }
        path: "comment",
        name: "Comment",
        component: () => import("@/views/comment/index"),
        meta: { title: "点评", icon: "table" },
      },
      {
        path: 'table',
        name: 'Table',
        component: () => import('@/views/student/index'),
        meta: { title: '日程', icon: 'table' }
        path: "curriculum",
        name: "Curriculum",
        component: () => import("@/views/curriculum/index"),
        meta: { title: "课表", icon: "tree" },
      },
      {
        path: 'development',
        name: 'Development',
        component: () => import('@/views/development/index'),
        meta: { title: '成长', icon: 'tree' }
        path: "table",
        name: "Table",
        component: () => import("@/views/student/index"),
        meta: { title: "日程", icon: "table" },
      },
      {
        path: 'integral',
        name: 'Integral',
        component: () => import('@/views/integral/index'),
        meta: { title: '积分', icon: 'tree' }
        path: "development",
        name: "Development",
        component: () => import("@/views/development/index"),
        meta: { title: "成长", icon: "tree" },
      },
      {
        path: 'rollCall',
        name: 'RollCall',
        component: () => import('@/views/rollCall/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" },
      },
    ],
  },
  // {
@@ -139,62 +148,64 @@
  // },
  {
    path: '/nested',
    path: "/nested",
    component: Layout,
    redirect: '/nested/menu1',
    name: 'Nested',
    redirect: "/nested/menu1",
    name: "Nested",
    meta: {
      title: 'Nested',
      icon: 'nested'
      title: "Nested",
      icon: "nested",
    },
    children: [
      {
        path: 'menu1',
        component: () => import('@/views/nested/menu1/index'), // Parent router-view
        name: 'Menu1',
        meta: { title: 'Menu1' },
        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-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' },
            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-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-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: "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: "menu2",
        component: () => import("@/views/nested/menu2/index"),
        name: "Menu2",
        meta: { title: "menu2" },
      },
    ],
  },
  // {
@@ -209,21 +220,22 @@
  // },
  // 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;