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; },