forked from Gitlink/forgeplus-react
未登录用户不可访问后台管理、给角色分配三级菜单失效问题
This commit is contained in:
parent
c5ee88a23c
commit
1c97c59adc
|
@ -139,6 +139,16 @@ const GatheringList = Loadable({
|
||||||
})
|
})
|
||||||
|
|
||||||
const Managements = (propsF) => {
|
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 (
|
return (
|
||||||
<div className="newMain clearfix managementMain">
|
<div className="newMain clearfix managementMain">
|
||||||
|
|
|
@ -31,6 +31,8 @@ export default Form.create()(({form}) => {
|
||||||
const [selectedMenuFa, setSelectedMenuFa] = useState(undefined);
|
const [selectedMenuFa, setSelectedMenuFa] = useState(undefined);
|
||||||
// 一级菜单项
|
// 一级菜单项
|
||||||
let oneTree = [];
|
let oneTree = [];
|
||||||
|
// 二级菜单项
|
||||||
|
let twoTree = [];
|
||||||
|
|
||||||
const helper = useCallback(
|
const helper = useCallback(
|
||||||
(label, name, rules, widget, initialValue) => (
|
(label, name, rules, widget, initialValue) => (
|
||||||
|
@ -216,7 +218,9 @@ export default Form.create()(({form}) => {
|
||||||
listMenu(roleId).then(response=>{
|
listMenu(roleId).then(response=>{
|
||||||
if(response && response.message=='success'){
|
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);
|
setSelectedMenu(keys);
|
||||||
setRoleId(roleId);
|
setRoleId(roleId);
|
||||||
setMenuModal(true);
|
setMenuModal(true);
|
||||||
|
@ -239,7 +243,17 @@ export default Form.create()(({form}) => {
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
treeList().then(response=>{
|
treeList().then(response=>{
|
||||||
if(response && response.message=='success'){
|
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);
|
setMenuTreeData(response.data);
|
||||||
}
|
}
|
||||||
}).finally(()=>{
|
}).finally(()=>{
|
||||||
|
|
Loading…
Reference in New Issue