From f52098060fcaf898deb02853da462a013c1e7ce5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 21 九月 2024 14:33:55 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/agv/show/AgvShowTask.jsx |   89 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 79 insertions(+), 10 deletions(-)

diff --git a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx
index 5c9bfb9..391fc0c 100644
--- a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx
+++ b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx
@@ -12,32 +12,101 @@
     Stack,
     Typography,
     Avatar,
+    Skeleton,
+    Divider,
 } from '@mui/material';
 import { formatDistance } from 'date-fns';
 import request from '@/utils/request';
 
-export const AgvShowTask = ({ agvId }) => {
-
+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 (agvId) => {
-            const res = await request.post('task/page', { agvId: agvId });
+        const http = async () => {
+            const res = await request.post('task/page', { agvId: agvId, pageSize: currCount });
             const { code, msg, data } = res.data;
             if (code === 200) {
-                setRecords(data);
+                setTotal(data.total);
+                setRecords(data.records);
             } else {
                 setRecords(null);
             }
         }
-        if (agvId) {
-            http(agvId);
-        }
-    }, [agvId]);
+        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>{JSON.stringify(records)}</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>
         </>
     )
 }
\ No newline at end of file

--
Gitblit v1.9.1