#
luxiaotao1123
2024-09-21 f52098060fcaf898deb02853da462a013c1e7ce5
zy-acs-flow/src/page/agv/show/AgvShowTask.jsx
@@ -12,15 +12,101 @@
    Stack,
    Typography,
    Avatar,
    Skeleton,
    Divider,
} from '@mui/material';
import { formatDistance } from 'date-fns';
import request from '@/utils/request';
export const AgvShowTask = ({ agvId, pageSize = 20 }) => {
    const [currCount, setCurrCount] = useState(pageSize);
    const [records, setRecords] = useState(null);
    const [total, setTotal] = useState(0);
export const AgvShowTask = ({ agvId }) => {
    useEffect(() => {
        const http = async () => {
            const res = await request.post('task/page', { agvId: agvId, pageSize: currCount });
            const { code, msg, data } = res.data;
            if (code === 200) {
                setTotal(data.total);
                setRecords(data.records);
            } else {
                setRecords(null);
            }
        }
        if (agvId) { http(); }
    }, [agvId, currCount]);
    if (!records) {
        return (
            <Stack mt={0.5}>
                {Array.from({ length: 5 }).map((_, index) => (
                    <Stack spacing={2} sx={{ mt: 1 }} key={index}>
                        <Stack
                            direction="row"
                            spacing={2}
                            sx={{ alignItems: 'center' }}
                        >
                            <Skeleton
                                variant="circular"
                                width={20}
                                height={20}
                            />
                            <Skeleton width="100%" />
                        </Stack>
                        <Skeleton variant="rectangular" height={50} />
                        <Divider />
                    </Stack>
                ))}
            </Stack>
        );
    }
    return (
        <>
            <h1>Task</h1>
            {records.length > 0 ? (
                <Box>
                    {records.map(record => {
                        return (
                            <TaskItem
                                key={record.id}
                                record={record}
                            />
                        )
                    })}
                    {currCount < total && (
                        <Button
                            onClick={() =>
                                setCurrCount(
                                    currCount =>
                                        currCount + pageSize
                                )
                            }
                            fullWidth
                        >
                            Load more activity
                        </Button>
                    )}
                </Box>
            ) : (
                <Typography>
                    no data found
                </Typography>
            )}
        </>
    )
}
const TaskItem = ({ record }) => {
    return (
        <>
            <Typography
            >
                {record.seqNum}
            </Typography>
        </>
    )
}