fix(): 修复菜单权限问题
parent
08f2ff9348
commit
1322a6cdfa
|
|
@ -12,7 +12,7 @@ function getMenuUrl(menuItem: MenuItem | undefined): string | null {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = menuItem.path || menuItem.redirect;
|
const url = menuItem.path;
|
||||||
if (url) {
|
if (url) {
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +65,6 @@ const TopMenu: React.FC<{
|
||||||
navigate(menuItem.path)
|
navigate(menuItem.path)
|
||||||
}
|
}
|
||||||
const url = getMenuUrl(menuItem);
|
const url = getMenuUrl(menuItem);
|
||||||
|
|
||||||
if (url) {
|
if (url) {
|
||||||
navigate(url);
|
navigate(url);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ const DashboardLayout: React.FC = () => {
|
||||||
|
|
||||||
|
|
||||||
const menuIndexes = useMemo(() => findMenu(menu, pathname), [menu, pathname]);
|
const menuIndexes = useMemo(() => findMenu(menu, pathname), [menu, pathname]);
|
||||||
|
|
||||||
const menuUrl = ['/mgr/home', '/mgr/forecast', '/mgr/earlyWarning', '/mgr/preview', '/mgr/plan','/mgr/videoSurveillance'];
|
const menuUrl = ['/mgr/home', '/mgr/forecast', '/mgr/earlyWarning', '/mgr/preview', '/mgr/plan','/mgr/videoSurveillance'];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -60,9 +60,32 @@ const MenuTitleCard = ({ key, title }) => {
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
function getMenuUrl(menuItem){
|
||||||
|
if (!menuItem) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const url = menuItem.path;
|
||||||
|
if (url) {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (menuItem.children && menuItem.children.length) {
|
||||||
|
for (const m of menuItem.children) {
|
||||||
|
const url = getMenuUrl(m);
|
||||||
|
|
||||||
|
if (url) {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
const menu = useSelector((state) => state.auth.menu);
|
const menu = useSelector((state) => state.auth.menu);
|
||||||
const [title, setTitle] = useState([])
|
const [title, setTitle] = useState([])
|
||||||
|
const [menuList, setMenuList] = useState([])
|
||||||
const [showTabLeft, setShowTabLeft] = useState(false)
|
const [showTabLeft, setShowTabLeft] = useState(false)
|
||||||
const [showTabRight, setShowTabRight] = useState(false)
|
const [showTabRight, setShowTabRight] = useState(false)
|
||||||
// const title = menu.map(item => ({ title: item.menuName, key: item.path || item.redirect }))
|
// const title = menu.map(item => ({ title: item.menuName, key: item.path || item.redirect }))
|
||||||
|
|
@ -229,7 +252,10 @@ export default function Home() {
|
||||||
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const jumpMenu = (item) => {
|
const jumpMenu = (item) => {
|
||||||
navigate(item.key)
|
const url = getMenuUrl(item);
|
||||||
|
if (url) {
|
||||||
|
navigate(url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const [videoList, setVideoList] = useState([])
|
const [videoList, setVideoList] = useState([])
|
||||||
const [videoArr, setvideoArr] = useState({})
|
const [videoArr, setvideoArr] = useState({})
|
||||||
|
|
@ -273,7 +299,8 @@ export default function Home() {
|
||||||
const getMenu = async () => {
|
const getMenu = async () => {
|
||||||
try {
|
try {
|
||||||
const data = await loadMenu();
|
const data = await loadMenu();
|
||||||
setTitle(data.map(item => ({ title: item.menuName, key: item.path || item.redirect })))
|
setMenuList(data)
|
||||||
|
setTitle(data.map(item => ({ ...item, key: item.path || item.redirect })))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue