| | |
| | | } |
| | | |
| | | useEffect(() => { |
| | | if (info) { |
| | | if (curAgvNo) { |
| | | setLoading(true); |
| | | setTimeout(() => { |
| | | startThree(containerRef.current); |
| | |
| | | }, 200); |
| | | } |
| | | return endThree; |
| | | }, [info]); |
| | | }, [curAgvNo]); |
| | | |
| | | const handleRestoreAll = () => { |
| | | handleRestoreAgvAll({ agvNo: info.agvNo }); |
| | |
| | | <KeyValuePair label={translate('table.field.agvDetail.backpack')} value={info?.backpack.filter(item => item.loaded === true).length} /> |
| | | </Grid> |
| | | <Grid item xs={12}> |
| | | <KeyValuePair label={translate('table.field.agvDetail.error')} value={info?.error} /> |
| | | </Grid> |
| | | <Grid item xs={12}> |
| | | <KeyValuePair label={translate('table.field.agvDetail.task')} value={info?.taskIds?.join(',')} /> |
| | | </Grid> |
| | | </Grid> |
| | |
| | | import React, { useState, useRef, useEffect } from 'react'; |
| | | import { useTranslate } from "react-admin"; |
| | | import { Box, Typography, Tabs, Tab, Stack, useTheme, Divider } from '@mui/material'; |
| | | import { CUSTOM_PAGES_DATA_INTERVAL } from '@/config/setting'; |
| | | import AgvMain from './AgvMain'; |
| | | import AgvControl from './AgvControl'; |
| | | import JsonShow from '../../JsonShow'; |
| | |
| | | } |
| | | |
| | | useEffect(() => { |
| | | let intervalId; |
| | | if (sprite) { |
| | | const agvNo = sprite.data.no; |
| | | if (agvNo) { |
| | | fetchAgvInfo(agvNo); |
| | | intervalId = setInterval(() => { |
| | | fetchAgvInfo(agvNo); |
| | | }, CUSTOM_PAGES_DATA_INTERVAL); |
| | | } |
| | | } |
| | | |
| | | return () => { |
| | | setTitle(null); |
| | | setCurAgvInfo(null); |
| | | if (intervalId) { |
| | | clearInterval(intervalId) |
| | | } |
| | | } |
| | | }, [sprite]) |
| | | |
| | |
| | | vo.setDirection(agvDetail.getAgvAngle()); |
| | | vo.setBackpack(GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class)); |
| | | vo.setPatrol(patrolService.isPatrolling(agvNo)); |
| | | String error = agvDetail.realError(); |
| | | if (!Cools.isEmpty(error)) { |
| | | vo.setError(error); |
| | | } |
| | | } |
| | | List<Task> tasks = taskService.selectInSts(agv.getId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS); |
| | | if (!Cools.isEmpty(tasks)) { |
| | |
| | | |
| | | private Double direction = 0.0; |
| | | |
| | | private String error = "-"; |
| | | |
| | | private List<BackpackDto> backpack = new ArrayList<>(); |
| | | |
| | | private List<Long> taskIds = new ArrayList<>(); |