循环的路由
<template v-for="(item,index) in menusRouter" v-if="!item.hidden">
<el-submenu :index="index+''" :key="index" v-if="item.leaf">
<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
<el-menu-item v-for="(child,index) in item.children" :index="child.path" :key="index" v-show="child.hidden">{{child.name}}</el-menu-item>
</el-submenu>
</template>
//那些用户让到页面的路由设置 不要再router中写 因为退出切换用户的后不加载router.js文件在循环路由的页面处理路由
getRouter(){
let jurisdiction = {
//不同的用户 让看到不同的页面
'Admin':
['userlist','/userlist','/exchange','/deposit','/withdraw','/newopenuser',
'tradewallet','/tradewallet','/withdrawconfig',
'userwallet','/userwallet','/dayend','/userposition',
],
'Dealing':
['userlist','/userlist','/exchange','/deposit','/withdraw','/newopenuser',
'tradewallet','/tradewallet','/withdrawconfig',
'userwallet','/userwallet','/dayend','/userposition',
],
'Compliance':
['userlist','/userlist','/exchange','/deposit','/withdraw','/newopenuser',
'tradewallet','/tradewallet','/withdrawconfig',
'userwallet','/userwallet','/dayend','/userposition',
],
'CS':
['userlist','/userlist','/exchange','/deposit','/withdraw','/newopenuser',
],
'Counter':
['userlist','/userlist'],
}
//获取到路由
let menusRoutersfrot=this.$router.options.routes
//登录后返回的用户权限处理 存入sessionStorage 退出清除
let menusRouters = JSON.parse(JSON.stringify(menusRoutersfrot))
let diction = sessionStorage.getItem("bospower");
for(let i =0;i<menusRouters.length;i++){
if(menusRouters[i].pathName){
if(jurisdiction[diction].indexOf(menusRouters[i].pathName)>=0){
menusRouters[i].leaf = true;
}
if(menusRouters[i]['children']){
for(let j = 0;j<menusRouters[i]['children'].length;j++){
if(jurisdiction[diction].indexOf(menusRouters[i]['children'] [j].path)>=0){
menusRouters[i]['children'][j].hidden = true;
}
}
}
}
}
this.menusRouter = menusRouters
}
//路由
import Login from './views/Login.vue'
import NotFound from './views/404.vue'
import Home from './views/Home.vue'
// 用户管理
import userlist from './views/homeUser/userlist.vue'
import usercheckstatus from './views/homeUser/usercheckstatus.vue'
import exchange from './views/homeUser/exchange.vue'
import deposit from './views/homeUser/deposit.vue'
import withdraw from './views/homeUser/withdraw.vue'
import newopenuser from './views/homeUser/newopenuser.vue'
// 交易钱包
import tradewallet from './views/dealmoney/tradewallet.vue'
import withdrawconfig from './views/dealmoney/withdrawconfig.vue'
// 风控管理
import dayend from './views/riskcontrol/dayend.vue'
import userwallet from './views/riskcontrol/userwallet.vue'
import userposition from './views/riskcontrol/userposition.vue'
import Page5 from './views/dealmoney/Page5.vue'
import Page6 from './views/nav3/Page6.vue'
let routes = [
{
path: '/login',
component: Login,
name: '',
},
{
path: '/404',
component: NotFound,
name: '',
},
{
path: '/',
component: Home,
redirect:'/userlist',
pathName:'userlist',
name: '用户管理',
leaf:false, //一级菜单能不能看到
iconCls: 'el-icon-s-custom',
children: [
{ path: '/userlist',component: userlist, name: '用户列表',hidden:false//二级菜单能不能看到},
// { path: '/usercheckstatus', component: usercheckstatus, name: '用户审核信息状态'},
{ path: '/exchange', component: exchange, name: '用户兑换记录',hidden:false},
{ path: '/deposit', component: deposit, name: '用户充值记录',hidden:false},
{ path: '/withdraw', component: withdraw, name: '用户提现记录',hidden:false},
{ path: '/newopenuser', component: newopenuser, name: '人工开户',hidden:false},
]
},
{
path: '/',
component: Home,
name: '交易钱包',
leaf:false,
pathName:'tradewallet',
iconCls: 'fa fa-id-card-o',
children: [
{ path: '/tradewallet', component: tradewallet, name: '交易钱包列表',hidden:false },
{ path: '/withdrawconfig', component: withdrawconfig, name: '提现设置',hidden:false },
]
},
{
path: '/',
component: Home,
name: '风控管理',
leaf:false,
pathName:'userwallet',
iconCls: 'el-icon-s-data',
children: [
{ path: '/userwallet',component:userwallet, name: '用户交易钱包',hidden:false},
{ path: '/dayend', component: dayend, name: '日结数据',hidden:false},
{ path: '/userposition', component: userposition, name: '实时持仓',hidden:false},
]
},
{
path: '/',
component: Home,
name: '00',
iconCls: 'fa fa-id-card-o',
leaf: false,
children: [
{ path: '/page6', component: Page6, name: '导航三' }
]
},
{
path: '*',
leaf: false,
redirect: { path: '/404' }
}
];
export default routes;
vue不同用户登录权限设置
最新推荐文章于 2024-07-01 21:01:42 发布