From 3ad5a6cfb6cb5341a96a5ca2c952b66e997a1cac Mon Sep 17 00:00:00 2001 From: zuiidea Date: Wed, 12 Jul 2017 19:41:32 +0800 Subject: [PATCH] fix permission.visit is null --- src/models/app.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/models/app.js b/src/models/app.js index 740dbc2..4bfd55e 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -50,23 +50,25 @@ export default { if (success && user) { const { list } = yield call(menusService.query) const { permissions } = user + let menu = list + if (permissions.role === EnumRoleType.ADMIN || permissions.role === EnumRoleType.DEVELOPER) { + permissions.visit = list.map(item => item.id) + } else { + menu = list.filter(item => { + const cases = [ + permissions.visit.includes(item.id), + item.mpid ? permissions.visit.includes(item.mpid) || item.mpid === '-1' : true, + item.bpid ? permissions.visit.includes(item.bpid) : true, + ] + return cases.every(_ => _) + }) + } yield put({ type: 'updateState', payload: { user, permissions, - menu: list.filter(item => { - if (permissions.role === EnumRoleType.ADMIN || permissions.role === EnumRoleType.DEVELOPER) { - return true - } - const cases = [ - permissions.visit.includes(item.id), - item.mpid ? permissions.visit.includes(item.mpid) || item.mpid === '-1' : true, - item.bpid ? permissions.visit.includes(item.bpid) : true, - ] - return cases.every(_ => _) - } - ), + menu, }, }) if (location.pathname === '/login') {