| | |
| | | * @param {*} menu |
| | | */ |
| | | export function getAsyncRoutes(routes, menu) { |
| | | // menu 中flag "0" 表示 true "1"表示false |
| | | const menuCode = []// 将后端code取出存成数组形式 |
| | | const menuNameAndCode = []// 将后端code与name取出存成数组形式 |
| | | menu.forEach(item => { |
| | | menuCode.push(item.code) |
| | | if (item.children && item.children.length > 0) { |
| | | item.children.forEach(it => { |
| | | menuCode.push(it.code) |
| | | }) |
| | | if (item.flag === '0') { |
| | | menuCode.push(item.code) |
| | | menuNameAndCode.push({ code: item.code, name: item.name }) |
| | | if (item.children && item.children.length > 0) { |
| | | item.children.forEach(it => { |
| | | if (it.flag === '0') { |
| | | menuCode.push(it.code) |
| | | menuNameAndCode.push({ code: it.code, name: it.name }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | |
| | |
| | | |
| | | routes.forEach(item => { |
| | | if (menuCode.includes(item.code) && item.children && item.children.length > 0) { |
| | | item.meta.title = menuNameAndCode.find(item2 => item2.code === item.code).name |
| | | const children = [] |
| | | let flag = false// 判断是否有children存进去 |
| | | item.children.forEach(it => { |
| | | if (menuCode.includes(it.code)) { |
| | | it.meta.title = menuNameAndCode.find(item2 => item2.code === it.code).name |
| | | children.push(it) |
| | | flag = true |
| | | } |
| | |
| | | const actions = { |
| | | generateRoutes({ commit }, menu) { |
| | | return new Promise(resolve => { |
| | | const newRoutes = getAsyncRoutes(asyncRoutes, menu) |
| | | // console.log(menu, 'menu') |
| | | // const newRoutes = getAsyncRoutes(asyncRoutes, menu) |
| | | // const arr = ['1001', '1002', '1004'] |
| | | // const newRoutes = asyncRoutes.filter(i => { |
| | | // if (arr.includes(i.code)) { |
| | | // return i |
| | | // } |
| | | // }) |
| | | |
| | | const newRoutes = asyncRoutes |
| | | |
| | | commit('SET_ROUTES', newRoutes) |
| | | resolve(newRoutes) |
| | | }) |