import Vue from 'vue' import VueRouter from 'vue-router' /* Layout */ import performanceRouter from '@/router/performanceRouter' import okrRouter from '@/router/okrRouter' import examineRouter from '@/router/examineRouter' import courseRouter from '@/router/course' /* 角色*/ /* 创始人 creator 公司管理员 admin 积分专员 point_manager 部门管理员 dept_manager 员工 employee */ //解决重复点击导航栏报错问题 const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } Vue.use(VueRouter) const constantRouterMap = [ { path: '/', name: '初始页', component: () => import( /* webpackChunkName: "index" */ '@/index'), redirect: "index", children: [ { path: '/index', name: '首页', component: () => import( /* webpackChunkName: "home" */ '@/home'), }, { path: '/pointIndex', name: 'pointIndex', label: '积分初始化', component: () => import( /* webpackChunkName: "index" */ '@/point/views/pointIndex'), children: [ { path: '/pointHome', name: '积分首页', component: () => import( /* webpackChunkName: "home" */ '@/point/views/pointHome'), meta: { groupCode: 'home' } }, { path: '/jfRule', name: '积分规则', component: () => import( /* webpackChunkName: "jfRule" */ '@/point/views/setting/jfRule'), meta: { groupCode: 'basics', jurisdiction: ['creator', 'admin', 'point_manager'] } }, { path: '/set_role', name: '角色权限', component: () => import( /* webpackChunkName: "set_role" */ '@/point/views/setting/set_role'), meta: { groupCode: 'basics', jurisdiction: ['creator', 'admin', 'point_manager'] } }, { path: '/set_basics', name: '个性化设置', component: () => import( /* webpackChunkName: "set_basics" */ '@/point/views/setting/set_basics'), meta: { groupCode: 'basics', jurisdiction: ['creator', 'admin', 'point_manager'] } }, { path: '/screenSet', name: '数据大屏', component: () => import( /* webpackChunkName: "screenSet" */ '@/point/views/setting/screenSet'), meta: { groupCode: 'basics', jurisdiction: ['creator', 'admin', 'point_manager'] } }, // { // path: '/company_info', // name: '公司信息', // component: () => import( /* webpackChunkName: "company_info" */ '@/point/views/setting/company_info'), // meta: { // groupCode: 'basics', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // 积分管理 { path: '/award_punish', name: '奖扣积分', component: () => import( /* webpackChunkName: "award_punish" */ '@/point/views/workbench/grade/award_punish'), meta: { groupCode: 'integral', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/apply_list', name: '申请积分', component: () => import( /* webpackChunkName: "apply_list" */ '@/point/views/workbench/grade/apply_list'), meta: { groupCode: 'integral', jurisdiction: ['admin', 'point_manager', 'dept_manager', 'employee'] } }, { path: '/approval_list', name: '审批积分', component: () => import( /* webpackChunkName: "approval_list" */ '@/point/views/workbench/approval_list'), meta: { groupCode: 'integral', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/integral_event', name: '积分事件', component: () => import( /* webpackChunkName: "integral_event" */ '@/point/views/statistics/integral_event'), meta: { groupCode: 'integral' } }, { path: '/integral_event_two', name: '积分事件详情', component: () => import( /* webpackChunkName: "integral_event_two" */ '@/point/views/statistics/integral_event_two'), hidden: true, meta: { groupCode: 'integral' } }, { path: '/manager_statistics', name: '奖扣目标', component: () => import( /* webpackChunkName: "manager_statistics" */'@/point/views/statistics/manager_statistics'), meta: { groupCode: 'integral', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, // 任务管理 { path: '/my_issue', name: '发布任务', component: () => import( /* webpackChunkName: "my_issue" */ '@/point/views/workbench/task/my_issue'), meta: { groupCode: 'task', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/get_task', name: '领任务', component: () => import( /* webpackChunkName: "get_task" */ '@/point/views/workbench/task/get_task'), meta: { groupCode: 'task' } }, { path: '/my_task', name: '我负责的', component: () => import( /* webpackChunkName: "individual_statistics" */ '@/point/views/workbench/task/my_task'), meta: { groupCode: 'task', jurisdiction: ['admin', 'point_manager', 'dept_manager', 'employee'] } }, { path: '/myExamine', name: '我审批的', component: () => import( /* webpackChunkName: "myExamine" */ '@/point/views/workbench/task/myExamine'), meta: { groupCode: 'task', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/allTask', name: '全部任务', component: () => import( /* webpackChunkName: "allTask" */ '@/point/views/workbench/task/allTask'), meta: { groupCode: 'task', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, // 考勤管理 { path: '/attendanceSet', name: '考勤设置', component: () => import('@/point/views/attendance/attendanceSet'), meta: { groupCode: 'attendance', jurisdiction: ['creator', 'admin', 'point_manager'] } }, // { // path: '/attendance_classnew', // name: '班次管理', // component: () => import('@/point/views/attendance/attendance_classnew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_overtime_rulenew', // name: '加班规则', // component: () => import('@/point/views/attendance/attendance_overtime_rulenew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_groupnew', // name: '考勤组', // component: () => import('@/point/views/attendance/attendance_groupnew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_machinenew', // name: '考勤机', // component: () => import('@/point/views/attendance/attendance_machinenew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, { path: '/attendance_reviewnew', name: '考勤审批', component: () => import('@/point/views/attendance/attendance_reviewnew'), meta: { groupCode: 'attendance', jurisdiction: ['creator', 'admin', 'point_manager'] } }, { path: '/attendanceStatistics', name: '考勤统计', component: () => import('@/point/views/attendance/attendanceStatistics'), meta: { groupCode: 'attendance', jurisdiction: ['creator', 'admin', 'point_manager'] } }, // { // path: '/attendance_datanew', // name: '日打卡明细', // component: () => import('@/point/views/attendance/attendance_datanew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_statisticnew', // name: '月报表', // component: () => import('@/point/views/attendance/attendance_statisticnew'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_rating', // name: '考勤分排名', // component: () => import('@/point/views/attendance/attendance_rating'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, // { // path: '/attendance_integral_event', // name: '考勤积分事件', // component: () => import('@/point/views/attendance/attendance_integral_event'), // meta: { // groupCode: 'attendance', // jurisdiction: ['creator', 'admin', 'point_manager'] // } // }, { path: '/attendance_hioldaynew', name: '假期管理', component: () => import('@/point/views/attendance/attendance_hiolday'), meta: { groupCode: 'attendance', jurisdiction: ['creator', 'admin', 'point_manager'] } }, // 数据统计 { path: '/dept_rank', name: '阶段排名', component: () => import('@/point/views/statistics/dept_rank'), meta: { groupCode: 'statistics' } }, { path: '/total_rank', name: '累计B分排名', component: () => import('@/point/views/statistics/total_rank'), meta: { groupCode: 'statistics' } }, { path: '/custom_rank', name: '自定义B分排名', component: () => import('@/point/views/statistics/custom_rank'), meta: { groupCode: 'statistics' } }, { path: '/department_statistics', name: '部门统计', component: () => import('@/point/views/statistics/department_statistics'), meta: { groupCode: 'statistics', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/individual_statistics', name: '个人统计', component: () => import('@/point/views/statistics/individual_statistics'), meta: { groupCode: 'statistics' } }, { path: '/lotteryTicket_statistics', name: '奖票统计', component: () => import('@/point/views/statistics/lotteryTicket_statistics'), meta: { groupCode: 'statistics', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, { path: '/integral_statistics', name: 'A&B分统计', component: () => import('@/point/views/statistics/integral_statistics'), meta: { groupCode: 'statistics', jurisdiction: ['creator', 'admin', 'point_manager', 'dept_manager'] } }, // A分 { path: '/balanceA', name: 'A分余额', component: () => import('@/point/views/statistics/balanceA'), meta: { groupCode: 'statistics', jurisdiction: ['creator', 'admin', 'point_manager'] } }, ] }, { path: '/update_notice', name: '公告列表', component: () => import( /* webpackChunkName: "update_notice" */ '@/views/update_notice'), }, { path: '/inform', name: '公告', component: () => import( /* webpackChunkName: "inform" */ '@/views/inform'), }, { path: '/organization', name: '组织', component: () => import( /* webpackChunkName: "organization" */ '@/views/organization'), }, { path: '/new_employee', name: '新成员列表', component: () => import('@/views/new_employee'), }, { path: '/system', name: '设置', component: () => import( /* webpackChunkName: "system" */ '@/views/system'), }, ] }, { path: '/course', component: () => import('@/course/index'), children: [] }, { path: '/courseLogin', name: 'courseLogin', component: () => import('@/course/user/login'), label: '课程营销登录', meta: {}, beforeEnter: (to, from, next) => { // 判断是否需要鉴定一下权限 if (localStorage.getItem('Course-Token')&&localStorage.getItem('Course-Id')) { next('/course') } else { next() } } }, { path: '/login', name: 'login', component: () => import('@/views/login'), }, { path: '/tySelect', name: 'tySelect', component: () => import('@/views/tySelect'), }, { path: '/screen', name: 'screen', component: () => import('@/views/screen'), }, { path: '/weixin', name: 'weixin', component: () => import('@/views/weixin'), }, { path: '/reg', name: 'reg', component: () => import('@/views/reg'), }, { path: '/forgetPwd', name: 'forgetPwd', component: () => import('@/views/forgetPwd'), }, { path: '/bindingPhone', name: 'bindingPhone', component: () => import('@/views/bindingPhone'), }, { path: '/resetPwd', name: 'resetPwd', component: () => import('@/views/resetPwd'), }, { path: '/deptRankSwiper', name: 'deptRankSwiper', component: () => import('@/views/deptRankSwiper'), }, { path: '/android', name: 'android', component: () => import('@/views/android_and_ios'), }, { path: '/authredirect', component: () => import('@/views/authredirect'), }, { path: '/demo', component: () => import('@/views/demo'), }, { path: '/404', component: () => import('@/views/404'), }, { path: '/401', component: () => import('@/views/401'), }, { path: '*', redirect: '/login' }, ] constantRouterMap[0].children.push(...performanceRouter, ...okrRouter, ...examineRouter); constantRouterMap[1].children.push(...courseRouter); export default new VueRouter({ // mode: 'history', routes: constantRouterMap, })