From bf616f97b4d1a96e0ee89c52178a88e044e52a1d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 21 九月 2024 10:40:24 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/agv/AgvList.jsx | 67 +++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/zy-acs-flow/src/page/agv/AgvList.jsx b/zy-acs-flow/src/page/agv/AgvList.jsx
index 7a9a0c0..6692039 100644
--- a/zy-acs-flow/src/page/agv/AgvList.jsx
+++ b/zy-acs-flow/src/page/agv/AgvList.jsx
@@ -8,7 +8,7 @@
SelectColumnsButton,
EditButton,
FilterButton,
- CreateButton,
+ useRefresh,
ExportButton,
BulkDeleteButton,
WrapperField,
@@ -30,6 +30,11 @@
ReferenceArrayInput,
AutocompleteInput,
DeleteButton,
+ useGetIdentity,
+ ListBase,
+ Title,
+ Pagination,
+ ListToolbar,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -42,6 +47,62 @@
import MyField from "../components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE } from '@/config/setting';
import * as Common from '@/utils/common';
+import { ImageList } from "./GridList";
+import { AgvListFilter } from "./AgvListFilter";
+
+export const AgvGrid = () => {
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <ListBase perPage={50} sort={{ field: "create_time", order: "asc" }}>
+ <AgvGridLayout
+ setCreateDialog={setCreateDialog}
+ />
+ </ListBase>
+ <AgvCreate
+ open={createDialog}
+ setOpen={setCreateDialog}
+ />
+ </>
+ )
+}
+
+const AgvGridLayout = ({ setCreateDialog }) => {
+ const refresh = useRefresh();
+ const { data, isPending, filterValues } = useListContext();
+ const hasFilters = filterValues && Object.keys(filterValues).length > 0;
+
+ React.useEffect(() => {
+ const intervalId = setInterval(() => {
+ refresh();
+ }, 2000);
+ return () => clearInterval(intervalId);
+ }, [refresh]);
+
+ if (isPending) return null;
+ if (!data?.length && !hasFilters) return <EmptyData onClick={() => { setCreateDialog(true) }} />;
+
+ return (
+ <Stack direction="row" component="div">
+ <AgvListFilter />
+ <Stack sx={{ width: '100%' }}>
+ <Title title={"menu.agv"} />
+ <ListToolbar actions={(
+ <TopToolbar>
+ <MyCreateButton onClick={() => { setCreateDialog(true) }} variant="contained" />
+ <MyExportButton />
+ </TopToolbar>
+ )} />
+ <ImageList />
+ <Pagination rowsPerPageOptions={[10, 25, 50, 100]} />
+ </Stack>
+ </Stack>
+ );
+}
+
+
+
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -92,7 +153,7 @@
/>,
]
-const AgvList = () => {
+export const AgvList = () => {
const translate = useTranslate();
const [createDialog, setCreateDialog] = useState(false);
@@ -174,5 +235,3 @@
</Box>
)
}
-
-export default AgvList;
--
Gitblit v1.9.1