forked from Gitlink/forgeplus-react
未登录用户不可访问后台管理、给角色分配三级菜单失效问题
This commit is contained in:
parent
c5ee88a23c
commit
1c97c59adc
|
@ -139,6 +139,16 @@ const GatheringList = Loadable({
|
|||
})
|
||||
|
||||
const Managements = (propsF) => {
|
||||
useEffect(()=>{
|
||||
const {current_user, history} = propsF;
|
||||
if(current_user && current_user.login){
|
||||
if(!current_user.admin){
|
||||
history.push('/403')
|
||||
}
|
||||
}else{
|
||||
propsF.showLoginDialog();
|
||||
}
|
||||
},[])
|
||||
|
||||
return (
|
||||
<div className="newMain clearfix managementMain">
|
||||
|
|
|
@ -31,6 +31,8 @@ export default Form.create()(({form}) => {
|
|||
const [selectedMenuFa, setSelectedMenuFa] = useState(undefined);
|
||||
// 一级菜单项
|
||||
let oneTree = [];
|
||||
// 二级菜单项
|
||||
let twoTree = [];
|
||||
|
||||
const helper = useCallback(
|
||||
(label, name, rules, widget, initialValue) => (
|
||||
|
@ -216,7 +218,9 @@ export default Form.create()(({form}) => {
|
|||
listMenu(roleId).then(response=>{
|
||||
if(response && response.message=='success'){
|
||||
// 过滤掉一级菜单项
|
||||
const keys = response.data.map(item=>{return oneTree.indexOf(item.key.toString()) === -1 ? item.key.toString() : null});
|
||||
const keys = response.data.map(item=>{
|
||||
return (oneTree.indexOf(item.key.toString()) !== -1 || twoTree.indexOf(item.key.toString()) !== -1) ? null : item.key.toString()
|
||||
});
|
||||
setSelectedMenu(keys);
|
||||
setRoleId(roleId);
|
||||
setMenuModal(true);
|
||||
|
@ -239,7 +243,17 @@ export default Form.create()(({form}) => {
|
|||
useEffect(()=>{
|
||||
treeList().then(response=>{
|
||||
if(response && response.message=='success'){
|
||||
oneTree = response.data.map(item=>{return item.key.toString()});
|
||||
// 遍历菜单数组找到所有的一级、二级菜单项(原因: antd tree checkedKeys属性如果包含了上级菜单,下级菜单默认是勾选的)
|
||||
response.data.map(item=>{
|
||||
oneTree.push(item.key.toString())
|
||||
if(item.children && item.children.length){
|
||||
item.children.map(i =>{
|
||||
if(i.children && i.children.length){
|
||||
twoTree.push(i.key.toString());
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
setMenuTreeData(response.data);
|
||||
}
|
||||
}).finally(()=>{
|
||||
|
|
Loading…
Reference in New Issue