| | |
| | | import AgvMain from './AgvMain'; |
| | | import AgvControl from './AgvControl'; |
| | | import JsonShow from '../../JsonShow'; |
| | | import { getAgvInfo } from '../../http'; |
| | | |
| | | const AgvInsight = (props) => { |
| | | const { sprite, setTitle } = props; |
| | | const theme = useTheme(); |
| | | const themeMode = theme.palette.mode; |
| | | const translate = useTranslate(); |
| | | const theme = useTheme(); |
| | | |
| | | const [activeTab, setActiveTab] = useState(0); |
| | | const [curAgvNo, setCurAgvNo] = useState(null); |
| | | const [jsonData, setJsonData] = useState(null); |
| | | |
| | | const handleTabChange = (event, newValue) => { |
| | | setActiveTab(newValue); |
| | | }; |
| | | const [curAgvInfo, setCurAgvInfo] = useState(null); |
| | | |
| | | useEffect(() => { |
| | | if (sprite) { |
| | | const agvNo = sprite.data.no; |
| | | if (agvNo) { |
| | | setCurAgvNo(agvNo); |
| | | setTitle(translate('page.map.devices.agv') + ' - ' + agvNo); |
| | | setCurAgvNo(agvNo); |
| | | getAgvInfo(agvNo, (response) => { |
| | | setCurAgvInfo(response); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | return () => { |
| | | setTitle(null); |
| | | setJsonData(null); |
| | | setCurAgvInfo(null); |
| | | } |
| | | }, [sprite]) |
| | | |
| | | const handleTabChange = (event, newValue) => { |
| | | setActiveTab(newValue); |
| | | }; |
| | | |
| | | return ( |
| | | <Box sx={{ height: '100%', display: 'flex', flexDirection: 'column' }}> |
| | |
| | | {activeTab === 0 && ( |
| | | <AgvMain |
| | | curAgvNo={curAgvNo} |
| | | setCurAgvNo={setCurAgvNo} |
| | | setJsonData={setJsonData} |
| | | curAgvInfo={curAgvInfo} |
| | | /> |
| | | )} |
| | | {activeTab === 1 && ( |
| | |
| | | )} |
| | | {activeTab === 2 && ( |
| | | <JsonShow |
| | | data={jsonData || sprite?.data} |
| | | data={curAgvInfo || sprite?.data} |
| | | height={550} |
| | | /> |
| | | )} |