#
luxiaotao1123
2024-09-21 f52098060fcaf898deb02853da462a013c1e7ce5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import React, { useState, useRef, useEffect, useMemo } from "react";
import {
    ShowBase,
    TabbedShowLayout,
    useShowContext,
} from 'react-admin';
import {
    Box,
    Button,
    Card,
    CardContent,
    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);
 
    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 (
        <>
            {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>
        </>
    )
}