routes() {
/*获取数据里面的控制业务端和营销端的mode数值*/
const property = Vue.ls.get(ACCESS_MODE);
/*const */
/* const showingMenu = staticRoutes.filter(item){
return !item.hidden
}*/
/*去除里面的不是item.hidden是隐藏的属性*/
const showingMenu = staticRoutes.filter(item => !item.hidden);
/*拿出所有的菜单*/
let menu = [];
let pNames = new Set();
/*for循环得出所需要的结构 打印出所有的结构*/
for (const item of showingMenu) {
console.log(showingMenu)
/*如果没有父亲级别菜单 就开始继续进行执行*/
if (!item.meta.pName) {
/*如果这个端是业务端 并且里面的name的数值不是没有大菜单 比较多的*/
if (property == 1 && (item.name == "Order" || item.name == "Content"||item.name=="Home"||item.name == "Task"))
{
} else {
/*否则就是业务端*/
menu.push({
path: item.path,
name: item.name,
icon: item.meta.icon,
text: item.meta.text
});
}
/*如果pnames有大菜单 */
} else if (!pNames.has(item.meta.pName)) {
/*就去除里面的pname*/
const peers = showingMenu
.filter(i => i.meta.pName === item.meta.pName)
.map(i => ({
path: i.path,
name: i.name,
icon: i.meta.icon,
text: i.meta.text
}));
if (property == 1 && (item.meta.pName == "结算管理" )||(item.meta.pName == "数据分析"))
{
}else{
menu.push({
text: item.meta.pName,
icon: iconMap[item.meta.pName],
children: peers
});
pNames.add(item.meta.pName);
}
}
}
return menu;
},
statusRouter
/*各个路由模块的建立*/
import Home from "@/views/Home/Home";
import GlobalLayout from "@/layout/GlobalLayout";
import Login from "@/views/login/Login";
const SYSTEM_MANAGEMENT = "系统管理";
const SETTLEMENT_MANAGEMENT = "结算管理";
const DATAANALYSIS_MANAGEMENT = "数据分析";
/*定义路径的数值 自定义路径的值*/
export const LOGIN_PATH = "/login";
export const HOME_PATH = "/";
export const APP_PATH = "/HomeApp";
/**
* 菜单配置
*
* 参数例子:
* {
* path: 路径,
* name: 组件名称,
* meta: {
* text: 左侧菜单栏显示文字,
* icon: 左侧菜单栏显示图标,
* pName: 父级菜单名称
* },
* hidden: 是否在菜单栏中隐藏,
* component: 组件(按需引入)
* }
*/
/*进行路由设置处理*/
export const staticRoutes = [
{
path: HOME_PATH,
name: "Home",
meta: {
text: "首页",
icon: "el-icon-tickets"
},
component: Home
},
{
path: "/order",
name: "Order",
meta: {
text: "订单管理",
icon: "el-icon-tickets"
},
component: () => import("@/views/order/Order")
},
{
path: "/task",
name: "Task",
meta: {
text: "任务管理",
icon: "el-icon-tickets"
},
component: () => import("@/views/task/Task")
},
{
path: "/content",
name: "Content",
meta: {
text: "内容管理",
icon: "el-icon-document-copy"
},
component: () => import("@/views/content/Content")
},
{
path: "/settlement",
name: "Settlement",
meta: {
text: "任务结算",
icon: "el-icon-document-copy",
pName: SETTLEMENT_MANAGEMENT
},
component: () => import("@/views/settlement/settlement/Settlement")
},
{
path: "/transaction",
name: "Transaction",
meta: {
text: "交易记录",
icon: "el-icon-document-copy",
pName: SETTLEMENT_MANAGEMENT
},
component: () => import("@/views/settlement/transaction/Transaction")
},
{
path: "/list",
name: "list",
meta: {
text: "数据列表页",
icon: "el-icon-document-copy",
pName: DATAANALYSIS_MANAGEMENT
},
component: () => import("@/views/Detaildata/DetailList/List")
},
{
path: "/list/analysis/:id",
name: "Analysis",
meta: {
text: "数据详情页",
pName: "数据列表页"
},
props: true,
hidden: true,
component: () => import("@/views/Detaildata/DetailEmpty/Empty")
},
{
path: "/app",
name: "app",
meta: {
text: "营销端页面",
icon: "el-icon-document-copy",
pName: DATAANALYSIS_MANAGEMENT
},
component: () => import("@/views/Detaildata/DetailApp/App")
},
{
path: "/pc",
name: "pc",
meta: {
text: "业务端页面",
icon: "el-icon-document-copy",
pName: DATAANALYSIS_MANAGEMENT
},
component: () => import("@/views/Detaildata/DetailPc/Pc")
},
{
path: "/user",
name: "User",
meta: {
text: "用户管理",
icon: "el-icon-user",
pName: SYSTEM_MANAGEMENT
},
component: () => import("@/views/system/user/UserList")
},
{
path: "/department",
name: "Department",
meta: {
text: "部门管理",
icon: "el-icon-user",
pName: SYSTEM_MANAGEMENT
},
component: () => import("@/views/system/department/Department.vue")
},
{
path: "/account",
name: "Account",
meta: {
text: "账号管理",
icon: "el-icon-user",
pName: SYSTEM_MANAGEMENT
},
component: () => import("@/views/system/account/Account.vue")
},
{
path: "/dictionary",
name: "Dictionary",
meta: {
text: "数据字典",
pName: SYSTEM_MANAGEMENT
},
component: () => import("@/views/system/dictionary/Dictionary")
}
];
/**
* 一级路由
*/
export const routes = [
{
path: "/",
component: GlobalLayout,
children: staticRoutes
},
// {
// /*营销端*/
// path: APP_PATH,
// component: GlobalApp,
// children: staticRoutesApp
// },
{
path: LOGIN_PATH,
name: "Login",
component: Login
},
{
path: "/404",
name: "404",
hidden: true,
component: () => import("@/views/404")
},
{
path: "*",
redirect: "/404",
hidden: true
}
];
/**
* 非路由菜单项图标
*/
export const iconMap = {
[SYSTEM_MANAGEMENT]: "el-icon-setting",
[SETTLEMENT_MANAGEMENT]: "el-icon-coin",
[DATAANALYSIS_MANAGEMENT]: "el-icon-setting"
};
浙公网安备 33010602011771号