修复:更改角色后菜单不能正确显示的问题;#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) { menuData(state, getters, rootState) {
if (state.filterMenu) { if (state.filterMenu) {
const {permissions, roles} = rootState.account const {permissions, roles} = rootState.account
filterMenu(state.menuData, permissions, roles) state.menuData = filterMenu(state.menuData, permissions, roles)
} }
return state.menuData return state.menuData
}, },

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

Loading…
Cancel
Save