|
@@ -5,8 +5,7 @@ import useStore from '@/store'
|
|
|
export const Layout = () => import('@/layout/index.vue')
|
|
|
|
|
|
const HOME_URL = '/dashboard'
|
|
|
-// 是否展示示例相关菜单
|
|
|
-const showDemoRoutes = !!import.meta.env.DEV
|
|
|
+
|
|
|
// 参数说明: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
|
|
|
// 静态路由
|
|
|
export const sysStaticRouter: Array<AppRouteRecordRaw> = [
|
|
@@ -57,6 +56,131 @@ export const sysErrorRoutes = [
|
|
|
meta: { hidden: true }
|
|
|
}
|
|
|
]
|
|
|
+// 展示示例相关菜单
|
|
|
+export const localDemoRoutes = !!import.meta.env.DEV
|
|
|
+ ? [
|
|
|
+ // 外部链接
|
|
|
+ {
|
|
|
+ path: '/external-link',
|
|
|
+ component: Layout,
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: 'https://github.com/LanceJiang/Lance-Element-Admin',
|
|
|
+ meta: { title: '外部链接', icon: 'icon-link' }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 组件示例
|
|
|
+ {
|
|
|
+ path: '/components',
|
|
|
+ component: Layout,
|
|
|
+ redirect: '/index',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: 'index',
|
|
|
+ component: () => import('@/views/components/index.vue'),
|
|
|
+ name: 'comps',
|
|
|
+ meta: { title: 'comps', icon: 'icon-excel' }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 表单示例
|
|
|
+ {
|
|
|
+ /*path: '/form',
|
|
|
+ component: Layout,
|
|
|
+ // meta: { title: 'Form', icon: 'guide' },
|
|
|
+ redirect: '/default',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: 'default',
|
|
|
+ component: () => import('@/views/form/default.vue'),
|
|
|
+ name: 'FormDefault',
|
|
|
+ meta: { title: 'form', icon: 'icon-guide' }
|
|
|
+ }
|
|
|
+ ]*/
|
|
|
+ path: 'default',
|
|
|
+ component: () => import('@/views/form/default.vue'),
|
|
|
+ name: 'FormDefault',
|
|
|
+ meta: { title: 'form', icon: 'icon-guide', parentName: 'mainLayout' }
|
|
|
+ },
|
|
|
+ // 列表示例
|
|
|
+ {
|
|
|
+ path: '/table',
|
|
|
+ component: Layout,
|
|
|
+ redirect: 'default',
|
|
|
+ meta: { title: 'table', icon: 'icon-table' },
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: 'default',
|
|
|
+ component: () => import('@/views/table/default.vue'),
|
|
|
+ name: 'TableDefault',
|
|
|
+ meta: { title: 'table' /*, icon: 'table'*/ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'multipleHeader',
|
|
|
+ component: () => import('@/views/table/multipleHeader.vue'),
|
|
|
+ name: 'multipleHeader',
|
|
|
+ meta: { title: 'multipleHeader' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'treeTable',
|
|
|
+ component: () => import('@/views/table/treeTable.vue'),
|
|
|
+ name: 'treeTable',
|
|
|
+ meta: { title: 'treeTable' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'mergeCells',
|
|
|
+ component: () => import('@/views/table/mergeCells.vue'),
|
|
|
+ name: 'mergeCells',
|
|
|
+ meta: { title: 'mergeCells' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'footerSummary',
|
|
|
+ component: () => import('@/views/table/footerSummary.vue'),
|
|
|
+ name: 'footerSummary',
|
|
|
+ meta: { title: 'footerSummary' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'expandTable',
|
|
|
+ component: () => import('@/views/table/expandTable.vue'),
|
|
|
+ name: 'expandTable',
|
|
|
+ meta: { title: 'expandTable' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: 'resizeParentHeightTable',
|
|
|
+ component: () => import('@/views/table/resizeParentHeightTable.vue'),
|
|
|
+ name: 'resizeParentHeightTable',
|
|
|
+ meta: { title: 'resizeParentHeightTable' }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ // demo演示
|
|
|
+ path: '/demo',
|
|
|
+ component: 'Layout',
|
|
|
+ redirect: '/demo/adminManage',
|
|
|
+ meta: { title: 'demo', icon: 'icon-peoples' },
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ // path: '/demo/pageConfig',
|
|
|
+ path: 'pageConfig',
|
|
|
+ // component: () => import('@/views/demo/pageConfig/index'),
|
|
|
+ component: 'demo/pageConfig/index',
|
|
|
+ name: 'pageConfig',
|
|
|
+ meta: { title: 'demo_pageConfig', icon: 'le-fangda1' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ // 管理员管理
|
|
|
+ // path: '/demo/adminManage',
|
|
|
+ path: 'adminManage',
|
|
|
+ name: 'adminManage',
|
|
|
+ component: 'demo/adminManage/index',
|
|
|
+ meta: { title: 'demo_adminManage', icon: 'Setting' }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ : []
|
|
|
|
|
|
export const constantRoutes: AppRouteRecordRaw[] = [
|
|
|
// 首页
|
|
@@ -67,126 +191,7 @@ export const constantRoutes: AppRouteRecordRaw[] = [
|
|
|
name: 'dashboard',
|
|
|
meta: { title: 'dashboard', icon: 'icon-homepage', affix: true, parentName: 'mainLayout' }
|
|
|
},
|
|
|
- /*// 外部链接
|
|
|
- {
|
|
|
- path: '/external-link',
|
|
|
- component: Layout,
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: 'https://github.com/LanceJiang/Lance-Element-Admin',
|
|
|
- meta: { title: '外部链接', icon: 'icon-link' }
|
|
|
- }
|
|
|
- ]
|
|
|
- },*/
|
|
|
- ...(showDemoRoutes
|
|
|
- ? [
|
|
|
- // 组件示例
|
|
|
- {
|
|
|
- path: '/components',
|
|
|
- component: Layout,
|
|
|
- redirect: '/index',
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: 'index',
|
|
|
- component: () => import('@/views/components/index.vue'),
|
|
|
- name: 'comps',
|
|
|
- meta: { title: 'comps', icon: 'icon-excel' }
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- // 表单示例
|
|
|
- {
|
|
|
- path: '/form',
|
|
|
- component: Layout,
|
|
|
- // meta: { title: 'Form', icon: 'guide' },
|
|
|
- redirect: '/default',
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: 'default',
|
|
|
- component: () => import('@/views/form/default.vue'),
|
|
|
- name: 'FormDefault',
|
|
|
- meta: { title: 'form', icon: 'icon-guide' }
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- // 列表示例
|
|
|
- {
|
|
|
- path: '/table',
|
|
|
- component: Layout,
|
|
|
- redirect: 'default',
|
|
|
- meta: { title: 'table', icon: 'icon-table' },
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: 'default',
|
|
|
- component: () => import('@/views/table/default.vue'),
|
|
|
- name: 'TableDefault',
|
|
|
- meta: { title: 'table' /*, icon: 'table'*/ }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'multipleHeader',
|
|
|
- component: () => import('@/views/table/multipleHeader.vue'),
|
|
|
- name: 'multipleHeader',
|
|
|
- meta: { title: 'multipleHeader' }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'treeTable',
|
|
|
- component: () => import('@/views/table/treeTable.vue'),
|
|
|
- name: 'treeTable',
|
|
|
- meta: { title: 'treeTable' }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'mergeCells',
|
|
|
- component: () => import('@/views/table/mergeCells.vue'),
|
|
|
- name: 'mergeCells',
|
|
|
- meta: { title: 'mergeCells' }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'footerSummary',
|
|
|
- component: () => import('@/views/table/footerSummary.vue'),
|
|
|
- name: 'footerSummary',
|
|
|
- meta: { title: 'footerSummary' }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'expandTable',
|
|
|
- component: () => import('@/views/table/expandTable.vue'),
|
|
|
- name: 'expandTable',
|
|
|
- meta: { title: 'expandTable' }
|
|
|
- },
|
|
|
- {
|
|
|
- path: 'resizeParentHeightTable',
|
|
|
- component: () => import('@/views/table/resizeParentHeightTable.vue'),
|
|
|
- name: 'resizeParentHeightTable',
|
|
|
- meta: { title: 'resizeParentHeightTable' }
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- // demo演示
|
|
|
- path: '/demo',
|
|
|
- component: 'Layout',
|
|
|
- redirect: '/demo/adminManage',
|
|
|
- meta: { title: 'demo', icon: 'icon-peoples' },
|
|
|
- children: [
|
|
|
- {
|
|
|
- // path: '/demo/pageConfig',
|
|
|
- path: 'pageConfig',
|
|
|
- // component: () => import('@/views/demo/pageConfig/index'),
|
|
|
- component: 'demo/pageConfig/index',
|
|
|
- name: 'pageConfig',
|
|
|
- meta: { title: 'demo_pageConfig', icon: 'le-fangda1' }
|
|
|
- },
|
|
|
- {
|
|
|
- // 管理员管理
|
|
|
- // path: '/demo/adminManage',
|
|
|
- path: 'adminManage',
|
|
|
- name: 'adminManage',
|
|
|
- component: 'demo/adminManage/index',
|
|
|
- meta: { title: 'demo_adminManage', icon: 'Setting' }
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
- : []),
|
|
|
+ ...localDemoRoutes,
|
|
|
// 用户
|
|
|
{
|
|
|
path: '/profile',
|