| | |
| | | import { useTranslate } from 'react-admin'; |
| | | import { Box, Tabs, Tab, Divider } from '@mui/material'; |
| | | import JsonShow from '../../JsonShow'; |
| | | import { getPointInfo } from '../../http'; |
| | | import { getCodeInfo, getCodeRouteList, getCodeFuncStaList } from '../../http'; |
| | | import CodeMain from './CodeMain'; |
| | | |
| | | const CodeInsight = ({ sprite, setTitle }) => { |
| | |
| | | const [loading, setLoading] = useState(false); |
| | | |
| | | const codeLabel = translate('page.map.devices.code', { |
| | | _: translate('page.map.devices.point', { _: 'Code' }) |
| | | _: '地面码' |
| | | }); |
| | | |
| | | const fetchCodeInfo = useCallback(async (code, options = {}) => { |
| | |
| | | setTitle(`${codeLabel} - ${code}`); |
| | | setCurrentCode(code); |
| | | try { |
| | | await getPointInfo(code, (response) => { |
| | | setCodeInfo(response || null); |
| | | }); |
| | | const [info, routeList, funcStaList] = await Promise.all([ |
| | | new Promise((resolve) => { |
| | | getCodeInfo(code, resolve, () => resolve(null)); |
| | | }), |
| | | new Promise((resolve) => { |
| | | getCodeRouteList(code, resolve, () => resolve([])); |
| | | }), |
| | | new Promise((resolve) => { |
| | | getCodeFuncStaList(code, resolve, () => resolve([])); |
| | | }), |
| | | ]); |
| | | setCodeInfo(info ? { |
| | | ...info, |
| | | routeList, |
| | | funcStaList, |
| | | } : null); |
| | | } finally { |
| | | if (!options?.silent) { |
| | | setLoading(false); |