修复:更改角色后菜单不能正确显示的问题;#179

fix: the menu does not display correctly after changing roles;
master
chenghongxing 4 years ago
parent 83c6381a4b
commit 2fc5b9d594
  1. 2
      src/store/modules/setting.js
  2. 11
      src/utils/authority-utils.js

@ -25,7 +25,7 @@ export default {
menuData(state, getters, rootState) {
if (state.filterMenu) {
const {permissions, roles} = rootState.account
filterMenu(state.menuData, permissions, roles)
state.menuData = filterMenu(state.menuData, permissions, roles)
}
return state.menuData
},

@ -69,15 +69,16 @@ function hasAuthority(route, permissions, roles) {
* @param roles
*/
function filterMenu(menuData, permissions, roles) {
menuData.forEach(menu => {
return menuData.filter(menu => {
if (menu.meta && menu.meta.invisible === undefined) {
if (!hasAuthority(menu, permissions, roles)) {
menu.meta.invisible = true
}
if (menu.children && menu.children.length > 0) {
filterMenu(menu.children, permissions, roles)
return false
}
}
if (menu.children && menu.children.length > 0) {
menu.children = filterMenu(menu.children, permissions, roles)
}
return true
})
}

Loading…
Cancel
Save