diff --git a/src/api/imgUtil.js b/src/api/imgUtil.js index 3de3fa8c..99f57048 100644 --- a/src/api/imgUtil.js +++ b/src/api/imgUtil.js @@ -135,9 +135,9 @@ getDefHeadimg:function(userid){ } if(rand){ var dateTime=new Date().getTime(); - return `/api/m1/arc/${dateTime}/arc/image/user/${userid}.jpg` + return `/api/${process.env.VERSION}/arc/${dateTime}/arc/image/user/${userid}.jpg` }else{ - return `/api/m1/arc/arc/image/user/${userid}.jpg` + return `/api/${process.env.VERSION}/arc/arc/image/user/${userid}.jpg` } }, diff --git a/src/router/index.js b/src/router/index.js index 1889f6cd..d7c6b034 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -69,11 +69,30 @@ export const constantRouterMap = [ ] -export default new Router({ - // mode: 'history', // require service support - scrollBehavior: () => ({ y: 0 }), - routes: constantRouterMap -}) + + +function initRouter(proute) { + if(proute==null){ + return; + }else{ + if(!proute.fullPath){ + if(proute.path){ + proute.fullPath=proute.path + }else{ + proute.fullPath="" + } + } + if(proute.children && proute.children.length>0){ + proute.children.forEach(i=>{ + if(!i.fullPath){ + i.fullPath=proute.fullPath+"/"+i.path + i.fullPath=i.fullPath.replace("//","/") + } + initRouter(i) + }) + } + } +} let allRoutes = [] allRoutes=allRoutes.concat(routesMyWork.routes); @@ -84,4 +103,16 @@ allRoutes=allRoutes.concat(routesWorkflow.routes).concat(routesForm.routes) //allRoutes=allRoutes.concat(routesIm.routes); //allRoutes=allRoutes.concat(routesOrder.routes); -export const asyncRouterMap = allRoutes +/** + * 找到不需要登录的router + */ +initRouter({children:allRoutes}) +initRouter({children:constantRouterMap}) +constantRouterMap.push(...allRoutes) + +export default new Router({ + // mode: 'history', // require service support + scrollBehavior: () => ({ y: 0 }), + routes: constantRouterMap +}) + diff --git a/src/router/routes_xm.js b/src/router/routes_xm.js index 7460ca32..47f2a426 100644 --- a/src/router/routes_xm.js +++ b/src/router/routes_xm.js @@ -15,15 +15,15 @@ export default { }, // leaf: true,//只有一个节点 children: [ - { path: 'xmProject/XmProjectAllMng', component: _import('xm/core/xmProject/XmProjectAllMng'), name: 'xmProjectAllMng', meta: { title: '项目总览' }}, - { path: 'xmProject/XmProjectMng', component: _import('xm/core/xmProject/XmProjectMng'), name: 'xmProjectMng', meta: { title: '项目(我的)' }}, - { path: 'xmProject/XmProjectRecycle', component: _import('xm/core/xmProject/XmProjectRecycle'), name: 'XmProjectRecycle', meta: { title: '项目回收站' }}, - { path: 'xmRecord/XmRecord', component: _import('xm/core/xmRecord/XmRecord'), name: 'XmRecord', meta: { title: '项目动态' }}, - { path: 'xmProject/XmProjectTplMng', component: _import('xm/core/xmProject/XmProjectTplMng'), name: 'XmProjectTplMng', meta: { title: '项目模板' }}, - { path: 'xmEnvList/XmEnvListMng', component: _import('xm/core/xmEnvList/XmEnvListMng'), name: 'XmEnvListMng', meta: { title: '环境清单' }}, - { path: 'xmTask/XmTaskCenter', component: _import('xm/core/xmTask/XmTaskCenter'), name: 'xmTaskCenter', meta: { title: '任务大厅' }}, - { path: 'xmTask/XmMyTaskCenter', component: _import('xm/core/xmTask/XmMyTaskCenter'), name: 'xmMyTaskCenter', meta: { title: '任务(我的)' }}, - { path: 'xmTask/XmTaskDetailRoute', component: _import('xm/core/xmTask/XmTaskDetailRoute'), name: 'XmTaskDetailRoute', meta: { title: '任务详情' },hidden:true}, + { path: 'xmProject/XmProjectAllMng', component: _import('xm/core/xmProject/XmProjectAllMng'), name: 'xmProjectAllMng', meta: { title: '项目总览',roles:["user"] }}, + { path: 'xmProject/XmProjectMng', component: _import('xm/core/xmProject/XmProjectMng'), name: 'xmProjectMng', meta: { title: '项目(我的)',roles:["user"] }}, + { path: 'xmProject/XmProjectRecycle', component: _import('xm/core/xmProject/XmProjectRecycle'), name: 'XmProjectRecycle', meta: { title: '项目回收站',roles:["user"] }}, + { path: 'xmRecord/XmRecord', component: _import('xm/core/xmRecord/XmRecord'), name: 'XmRecord', meta: { title: '项目动态',roles:["user"] }}, + { path: 'xmProject/XmProjectTplMng', component: _import('xm/core/xmProject/XmProjectTplMng'), name: 'XmProjectTplMng', meta: { title: '项目模板',roles:["user"] }}, + { path: 'xmEnvList/XmEnvListMng', component: _import('xm/core/xmEnvList/XmEnvListMng'), name: 'XmEnvListMng', meta: { title: '环境清单',roles:["user"] }}, + { path: 'xmTask/XmTaskCenter', component: _import('xm/core/xmTask/XmTaskCenter'), name: 'xmTaskCenter', meta: { title: '任务大厅',roles:["user"] }}, + { path: 'xmTask/XmMyTaskCenter', component: _import('xm/core/xmTask/XmMyTaskCenter'), name: 'xmMyTaskCenter', meta: { title: '任务(我的)',roles:["user"] }}, + { path: 'xmTask/XmTaskDetailRoute', component: _import('xm/core/xmTask/XmTaskDetailRoute'), name: 'XmTaskDetailRoute', meta: { title: '任务详情',roles:["user"] },hidden:true}, ] }, @@ -34,12 +34,12 @@ export default { iconCls: 'fa el-icon-menu', meta: { title: '项目管理-路由跳转', - icon: 'project', + icon: 'project',roles:["user"] }, hidden:true }, - { path: '/xm/core/testCasedbRoute', component: _import('xm/core/xmTestCasedb/XmTestCasedbRoute'), name: 'XmTestCasedbRoute', meta: { title: '测试库管理' },hidden:true}, + { path: '/xm/core/testCasedbRoute', component: _import('xm/core/xmTestCasedb/XmTestCasedbRoute'), name: 'XmTestCasedbRoute', meta: { title: '测试库管理',roles:["user"] },hidden:true}, { path: '/xm/core', component: Layout, @@ -52,10 +52,10 @@ export default { // leaf: true,//只有一个节点 children: [ - { path: 'xmQuestion/XmQuestionMng', component: _import('xm/core/xmQuestion/XmQuestionMngRoute'), name: 'XmQuestionMng', meta: { title: '缺陷管理' }}, - { path: 'xmQuestion/XmQuestionMngMy', component: _import('xm/core/xmQuestion/XmQuestionMngMy'), name: 'XmQuestionMngMy', meta: { title: '我的缺陷' }}, - { path: 'xmTestCasedb/XmTestCasedbMng', component: _import('xm/core/xmTestCasedb/XmTestCasedbMng'), name: 'XmTestCasedbMng', meta: { title: '测试管理' }}, - { path: 'xmQuestion/XmQuestionDetailRoute', component: _import('xm/core/xmQuestion/XmQuestionDetailRoute'), name: 'XmQuestionDetailRoute', meta: { title: '缺陷明细' },hidden:true}, + { path: 'xmQuestion/XmQuestionMng', component: _import('xm/core/xmQuestion/XmQuestionMngRoute'), name: 'XmQuestionMng', meta: { title: '缺陷管理',roles:["user"] }}, + { path: 'xmQuestion/XmQuestionMngMy', component: _import('xm/core/xmQuestion/XmQuestionMngMy'), name: 'XmQuestionMngMy', meta: { title: '我的缺陷' ,roles:["user"]}}, + { path: 'xmTestCasedb/XmTestCasedbMng', component: _import('xm/core/xmTestCasedb/XmTestCasedbMng'), name: 'XmTestCasedbMng', meta: { title: '测试管理',roles:["user"] }}, + { path: 'xmQuestion/XmQuestionDetailRoute', component: _import('xm/core/xmQuestion/XmQuestionDetailRoute'), name: 'XmQuestionDetailRoute', meta: { title: '缺陷明细',roles:["user"] },hidden:true}, ] }, @@ -70,9 +70,9 @@ export default { }, // leaf: true,//只有一个节点 children: [ - { path: 'crowd/XmTaskCrowdMng', component: _import('xm/core/crowd/XmTaskCrowdMng'), name: 'XmTaskCrowdMng', meta: { title: '众包大厅' }}, - { path: 'xmTaskExecuser/XmTaskExecuserMng', component: _import('xm/core/xmTaskExecuser/XmTaskExecuserMng'), name: 'XmTaskExecuserMng', meta: { title: '候选人管理' }}, - { path: 'xmTaskExecuser/XmTaskExecuserForMy', component: _import('xm/core/xmTaskExecuser/XmTaskExecuserForMy'), name: 'XmTaskExecuserForMy', meta: { title: '候选人(我的)' }}, + { path: 'crowd/XmTaskCrowdMng', component: _import('xm/core/crowd/XmTaskCrowdMng'), name: 'XmTaskCrowdMng', meta: { title: '众包大厅',roles:["user"] }}, + { path: 'xmTaskExecuser/XmTaskExecuserMng', component: _import('xm/core/xmTaskExecuser/XmTaskExecuserMng'), name: 'XmTaskExecuserMng', meta: { title: '候选人管理',roles:["user"] }}, + { path: 'xmTaskExecuser/XmTaskExecuserForMy', component: _import('xm/core/xmTaskExecuser/XmTaskExecuserForMy'), name: 'XmTaskExecuserForMy', meta: { title: '候选人(我的)',roles:["user"] }}, ] }, @@ -88,7 +88,7 @@ export default { }, children: [ - { path: 'reportIndex', component: _import('xm/rpt/reportIndex'), name: 'reportIndex', meta: { title: '指标分析' }}, + { path: 'reportIndex', component: _import('xm/rpt/reportIndex'), name: 'reportIndex', meta: { title: '指标分析',roles:["user"] }}, { path: 'branch/branchDatavFullScreen', name: 'branchDatavFullScreen', meta: { title: '机构效能',openTab:true,outUrl:"${curlDomain}/"+process.env.CONTEXT+"/"+process.env.VERSION+"/#/datav/xm/branch/branchDatavFullScreen" }}, ] }, @@ -103,16 +103,16 @@ export default { }, // leaf: true,//只有一个节点 children: [ - { path: 'xmProduct/XmProductAllMng', component: _import('xm/core/xmProduct/XmProductAllMng'), name: 'XmProductAllMng', meta: { title: '产品总览' }}, + { path: 'xmProduct/XmProductAllMng', component: _import('xm/core/xmProduct/XmProductAllMng'), name: 'XmProductAllMng', meta: { title: '产品总览',roles:["user"] }}, - { path: 'xmProduct/XmProductMng', component: _import('xm/core/xmProduct/XmProductMng'), name: 'XmProductMng', meta: { title: '产品管理' }}, - { path: 'xmProduct/XmProductRecycle', component: _import('xm/core/xmProduct/XmProductRecycle'), name: 'XmProductRecycle', meta: { title: '产品回收站' }}, + { path: 'xmProduct/XmProductMng', component: _import('xm/core/xmProduct/XmProductMng'), name: 'XmProductMng', meta: { title: '产品管理',roles:["user"] }}, + { path: 'xmProduct/XmProductRecycle', component: _import('xm/core/xmProduct/XmProductRecycle'), name: 'XmProductRecycle', meta: { title: '产品回收站',roles:["user"] }}, - { path: 'xmProduct/XmProductTplMng', component: _import('xm/core/xmProduct/XmProductTplMng'), name: 'XmProductTplMng', meta: { title: '产品模板' }}, - { path: 'xmMenu/XmMenuDetailRoute', component: _import('xm/core/xmMenu/XmMenuDetailRoute'), name: 'XmMenuDetailRoute', meta: { title: '需求明细' },hidden:true}, + { path: 'xmProduct/XmProductTplMng', component: _import('xm/core/xmProduct/XmProductTplMng'), name: 'XmProductTplMng', meta: { title: '产品模板',roles:["user"] }}, + { path: 'xmMenu/XmMenuDetailRoute', component: _import('xm/core/xmMenu/XmMenuDetailRoute'), name: 'XmMenuDetailRoute', meta: { title: '需求明细',roles:["user"] },hidden:true}, - { path: 'xmMenu/XmMenuMng', component: _import('xm/core/xmMenu/XmMenuMngRoute'), name: 'XmMenuMng', meta: { title: '需求管理' }}, - { path: 'xmIteration/XmIterationMng', component: _import('xm/core/xmIteration/XmIterationMng'), name: 'XmIterationMng', meta: { title: '迭代管理' }}, + { path: 'xmMenu/XmMenuMng', component: _import('xm/core/xmMenu/XmMenuMngRoute'), name: 'XmMenuMng', meta: { title: '需求管理',roles:["user"] }}, + { path: 'xmIteration/XmIterationMng', component: _import('xm/core/xmIteration/XmIterationMng'), name: 'XmIterationMng', meta: { title: '迭代管理',roles:["user"] }}, ] }, @@ -124,7 +124,7 @@ export default { iconCls: 'fa el-icon-menu', meta: { title: '产品管理-如有跳转', - icon: 'product', + icon: 'product',roles:["user"] }, hidden:true }, @@ -135,7 +135,7 @@ export default { iconCls: 'fa el-icon-menu', meta: { title: '迭代管理-路由跳转', - icon: 'flow', + icon: 'flow',roles:["user"] }, hidden:true }, @@ -150,9 +150,9 @@ export default { }, // leaf: true,//只有一个节点 children: [ - { path: 'xmGroup/XmGroupAllMng', component: _import('xm/core/xmGroup/XmGroupAllMng'), name: 'XmGroupAllMng', meta: { title: '团队管理' }}, - { path: 'xmGroupUser/XmGroupUserMng', component: _import('xm/core/xmGroupUser/XmGroupUserMng'), name: 'XmGroupUserMng', meta: { title: '成员管理' }}, - { path: 'xmGroup/XmGroupRoute', component: _import('xm/core/xmGroup/XmGroupRoute'), name: 'XmGroupRoute', meta: { title: '项目团队' } ,hidden:true}, + { path: 'xmGroup/XmGroupAllMng', component: _import('xm/core/xmGroup/XmGroupAllMng'), name: 'XmGroupAllMng', meta: { title: '团队管理',roles:["user"] }}, + { path: 'xmGroupUser/XmGroupUserMng', component: _import('xm/core/xmGroupUser/XmGroupUserMng'), name: 'XmGroupUserMng', meta: { title: '成员管理',roles:["user"] }}, + { path: 'xmGroup/XmGroupRoute', component: _import('xm/core/xmGroup/XmGroupRoute'), name: 'XmGroupRoute', meta: { title: '项目团队',roles:["user"] } ,hidden:true}, ] }, @@ -168,13 +168,13 @@ export default { }, //leaf: true,//只有一个节点 children: [ - { path: 'xmProject/XmProjectCost', component: _import('xm/core/xmProject/XmProjectCost'), name: 'XmProjectCost', meta: { title: '应付款'}}, + { path: 'xmProject/XmProjectCost', component: _import('xm/core/xmProject/XmProjectCost'), name: 'XmProjectCost', meta: { title: '应付款',roles:["user"]}}, - { path: 'xmTaskSbill/XmTaskSbillMng', component: _import('xm/core/xmTaskSbill/XmTaskSbillMng'), name: 'XmTaskSbilllMng', meta: { title: '任务结算单'}}, - { path: 'xmWorkload/WorkloadSetDayListMy', component: _import('xm/core/xmWorkload/WorkloadSetDayListMy'), name: 'WorkloadSetDayListMy', meta: { title: '工时日报(我)'}}, - { path: 'xmWorkload/WorkloadSetMonthListMy', component: _import('xm/core/xmWorkload/WorkloadSetMonthListMy'), name: 'WorkloadSetMonthListMy', meta: { title: '工时月报(我)'}}, - { path: 'xmWorkload/WorkloadSetDayList', component: _import('xm/core/xmWorkload/WorkloadSetDayList'), name: 'WorkloadSetDayList', meta: { title: '工时日报'}}, - { path: 'xmWorkload/WorkloadSetMonthList', component: _import('xm/core/xmWorkload/WorkloadSetMonthList'), name: 'WorkloadSetMonthList', meta: { title: '工时月报'}}, + { path: 'xmTaskSbill/XmTaskSbillMng', component: _import('xm/core/xmTaskSbill/XmTaskSbillMng'), name: 'XmTaskSbilllMng', meta: { title: '任务结算单',roles:["user"]}}, + { path: 'xmWorkload/WorkloadSetDayListMy', component: _import('xm/core/xmWorkload/WorkloadSetDayListMy'), name: 'WorkloadSetDayListMy', meta: { title: '工时日报(我)',roles:["user"]}}, + { path: 'xmWorkload/WorkloadSetMonthListMy', component: _import('xm/core/xmWorkload/WorkloadSetMonthListMy'), name: 'WorkloadSetMonthListMy', meta: { title: '工时月报(我)',roles:["user"]}}, + { path: 'xmWorkload/WorkloadSetDayList', component: _import('xm/core/xmWorkload/WorkloadSetDayList'), name: 'WorkloadSetDayList', meta: { title: '工时日报',roles:["user"]}}, + { path: 'xmWorkload/WorkloadSetMonthList', component: _import('xm/core/xmWorkload/WorkloadSetMonthList'), name: 'WorkloadSetMonthList', meta: { title: '工时月报',roles:["user"]}}, ] } ] diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 5423c9c8..faa22e6b 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -1,4 +1,4 @@ -import { asyncRouterMap, constantRouterMap } from '@/router' +import { constantRouterMap } from '@/router' /** * 通过meta.role判断是否与当前用户权限匹配 @@ -61,6 +61,10 @@ function findRouteByFullPath(router,fullPath){ * @param roles */ function filterAsyncRouter(asyncRouterMap, roles,menus) { + if(!asyncRouterMap){ + const accessedRouters=[] + return accessedRouters + } const accessedRouters = asyncRouterMap.filter(route => { if(!route.fullPath){ route.fullPath=route.path; @@ -135,7 +139,8 @@ const permission = { mutations: { SET_ROUTERS: (state, routers) => { state.addRouters = routers - state.routers = constantRouterMap.concat(routers) + state.routers=routers + }, SET_ADDED: (state, added) => { state.added = added @@ -143,14 +148,13 @@ const permission = { }, actions: { GenerateRoutes({ commit }, {roles,menus}) { - return new Promise(resolve => { - - initRouter({children:asyncRouterMap}) + return new Promise(resolve => { + initRouter({children:constantRouterMap}) let accessedRouters if (roles.some(role => role.roleid==='superAdmin'||role.roleid==='platformAdmin')) { - accessedRouters = asyncRouterMap + accessedRouters = constantRouterMap } else { - accessedRouters = filterAsyncRouter(asyncRouterMap, roles,menus) + accessedRouters = filterAsyncRouter(constantRouterMap, roles,menus) } commit('SET_ROUTERS', accessedRouters) commit('SET_ADDED', true)