import Vue from 'vue'
import Router from 'vue-router'
// in development-env not use lazy-loading, because lazy-loading too many pages will cause webpack hot update too slow. so only in production use lazy-loading;
// detail: https://panjiachen.github.io/vue-element-admin-site/#/lazy-loading
Vue . use ( Router )
/* Layout */
import Layout from '../views/layout/Layout'
/ * *
* hidden : true if ` hidden:true ` will not show in the sidebar ( default is false )
* alwaysShow : true if set true , will always show the root menu , whatever its child routes length
* if not set alwaysShow , only more than one route under the children
* it will becomes nested mode , otherwise not show the root menu
* redirect : noredirect if ` redirect:noredirect ` will no redirect in the breadcrumb
* name : 'router-name' the name is used by < keep - alive > ( must set ! ! ! )
* meta : {
title : 'title' the name show in submenu and breadcrumb ( recommend set )
icon : 'svg-name' the icon show in the sidebar ,
AuthKey : 'roleManage:find' , 该页面进入的权限码
keepAlive : true , 该页面需要缓存 ( 注意 : name值必须设置 与组件内部name 一致 配合isback属性 )
isback : false
}
* AuthKey : 'roleManage:find' 该页面进入的权限码
* * /
export const constantRouterMap = [
{ path : '/login' , component : ( ) => import ( '@/views/login' ) , hidden : true } ,
{ path : '/aj/**' , component : ( ) => import ( '@/views/report/aj' ) , hidden : true } ,
{
path : '/index' , component : Layout , name : 'index' , meta : { title : '首页' , icon : 'iconhome2' } ,
children : [
{ path : '' , component : ( ) => import ( '@/views/home/index' ) , meta : { title : '首页' , icon : 'iconhome2' , keepAlive : true , requireAuth : true } } ,
]
} ,
{
path : '/access' , name : 'access' , component : Layout , meta : { title : '用户权限' , icon : 'icondfzq-' , requireAuth : true , permission : 'authorityManage|roleManage|userManage' } ,
children : [
{ path : 'authority' , name : 'authority' , component : ( ) => import ( '@/views/accessAuthority/index' ) , meta : { title : '权限管理' , icon : 'iconquanxian' , keepAlive : true , requireAuth : true , permission : 'authorityManage' } } ,
{ path : 'role' , name : 'role' , component : ( ) => import ( '@/views/accessRole/index' ) , meta : { title : '角色管理' , icon : 'iconjiaose1' , keepAlive : true , requireAuth : true , permission : 'roleManage' } } ,
{ path : 'user' , name : 'user' , component : ( ) => import ( '@/views/accessUser/index' ) , meta : { title : '用户管理' , icon : 'iconyonghu' , keepAlive : true , requireAuth : true , permission : 'userManage' } } ,
]
} ,
{
path : '/report' , name : 'report' , component : Layout , meta : { title : '报表设计' , icon : 'iconnavicon-ywcs' , requireAuth : true , permission : 'datasourceManage|resultsetManage|reportManage|bigScreenManage' } ,
children : [
{ path : 'datasource' , name : 'datasource' , component : ( ) => import ( '@/views/report/datasource/index' ) , meta : { title : '数据源' , icon : 'icondatabase' , keepAlive : true , requireAuth : true , permission : 'datasourceManage' } } ,
{ path : 'resultset' , name : 'resultset' , component : ( ) => import ( '@/views/report/resultset/index' ) , meta : { title : '数据集' , icon : 'iconAPIwangguan' , keepAlive : true , requireAuth : true , permission : 'resultsetManage' } } ,
{ path : 'report' , name : 'reportIndex' , component : ( ) => import ( '@/views/report/report/index' ) , meta : { title : '报表管理' , icon : 'iconnavicon-ywcs' , keepAlive : true , requireAuth : true , permission : 'reportManage' } } ,
{ path : 'bigscreen' , name : 'bigscreen' , component : ( ) => import ( '@/views/report/bigscreen/index' ) , meta : { title : '大屏报表' , icon : 'iconchufaqipeizhi-hui' , keepAlive : true , requireAuth : true , permission : 'bigScreenManage' } , } ,
{ path : 'excelreport' , name : 'excelreport' , component : ( ) => import ( '@/views/report/excelreport/index' ) , meta : { title : '表格报表' , icon : 'iconliebiao' , keepAlive : true , requireAuth : true , permission : 'excelManage' } } ,
]
} ,
{
path : '/system' , name : 'system' , component : Layout , meta : { title : '系统设置' , icon : 'iconshezhi' , requireAuth : true , permission : 'fileManage|dictManage|dictItemManage' } ,
children : [
{ path : 'file' , name : 'file' , component : ( ) => import ( '@/views/file-management/index' ) , meta : { title : '文件管理' , icon : 'iconfill_folder' , keepAlive : true , requireAuth : true , permission : 'fileManage' } } ,
{ path : 'dict' , name : 'dict' , component : ( ) => import ( '@/views/dict/index' ) , meta : { title : '数据字典' , icon : 'iconzidian' , keepAlive : true , requireAuth : true , permission : 'dictManage' } } ,
{ path : 'dictItem' , name : 'dictItem' , component : ( ) => import ( '@/views/dict/dict-item' ) , hidden : true , meta : { title : '字典项' , icon : 'iconzidianxiang' , keepAlive : true , requireAuth : true , permission : 'dictItemManage' } } ,
]
} ,
{ path : '/bigscreen/viewer' , component : ( ) => import ( '@/views/report/bigscreen/viewer' ) , hidden : true , meta : { requireAuth : true } } ,
{ path : '/bigscreen/designer' , component : ( ) => import ( '@/views/report/bigscreen/designer' ) , hidden : true , meta : { requireAuth : true } } ,
{ path : '/excelreport/viewer' , component : ( ) => import ( '@/views/report/excelreport/viewer' ) , hidden : true , meta : { requireAuth : true } } ,
{ path : '/excelreport/designer' , component : ( ) => import ( '@/views/report/excelreport/designer' ) , hidden : true , meta : { requireAuth : true } } ,
{ path : '/404' , component : ( ) => import ( '@/views/404' ) , hidden : true } ,
{ path : '*' , redirect : '/login' , hidden : true } ,
]
export default new Router ( {
scrollBehavior : ( ) => ( { y : 0 } ) ,
routes : constantRouterMap
} )