import React,{useEffect} from 'react'; import { Menu } from 'antd'; import { createCrudService } from '../../components/crud/_'; import apiurl from '../../service/apiurl'; import {ProfileOutlined} from '@ant-design/icons'; import {useNavigate} from 'react-router'; import {MenuItem} from '../../models/_'; import {useDispatch,useSelector} from "react-redux"; function getMenuUrl(menuItem: MenuItem | undefined): string | null { if (!menuItem) { return null; } const url = menuItem.path || menuItem.redirect; 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; } const TopMenu: React.FC<{ menu: MenuItem[]; menuIndexes: string[]; }> = ({menu, menuIndexes}) => { console.log(menu); console.log(menuIndexes); const dispatch = useDispatch(); const navigate = useNavigate(); const getMenuIcon = (val: any) => { let icon = null; if (val.icon === "HomeFilled") { icon = } else if (val.icon === "FundFilled") { icon = } else if (val.icon === "AlertFilled") { icon = } else if (val.icon === "GoldenFilled") { icon = } else if (val.icon === "AppstoreFilled") { icon = } else if (val.icon === "FileTextFilled") { icon = } return icon; }; const menuClicked = (id: any) => { const menuItem:any = menu.find(m => m.id == id); if (menuItem.title === "雨水工灾情") { getReadStatus() } const url = getMenuUrl(menuItem); if (url) { navigate(url); } } /** * @description 由于进入雨水工灾情 初始化进入是这个页面 发请求来获取未读和已读状态 * */ const getReadStatus = () => { createCrudService(apiurl.ssyq.status).delGet().then((res) => { if (res.code === 200) { dispatch.runtime.setIsReadObject(res.data) } }) } useEffect(() => { getReadStatus() }, []) return (