loulijun2021
2022-07-18 f35da7050efeaff1fd442c233008fdc00b10851f
src/store/modules/permission.js
@@ -13,28 +13,37 @@
/**
 * 把后台返回菜单组装成routes要求的格式
 * @param {*} routes
 * @param {*} menu
 */
export function getAsyncRoutes(routes2, 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 })
          }
        })
      }
    }
  })
  const routes = routes2
  const newRoutes = []
  const newRoutes = [] // 新路由
  routes.forEach(item => {
    if (menuCode.includes(item.code) && item.children && item.children.length > 0) {
      console.log(item)
      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
        }
@@ -90,7 +99,6 @@
  generateRoutes({ commit }, menu) {
    return new Promise(resolve => {
      const newRoutes = getAsyncRoutes(asyncRoutes, menu)
      console.log(newRoutes, 2)
      commit('SET_ROUTES', newRoutes)
      resolve(newRoutes)
    })