From 64bafdbf7abf3f686d04569e24573a4113d02ee4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 02 四月 2025 16:14:07 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/agv/AgvList.jsx | 38 ++++++++++++++++++++++----------------
1 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/zy-acs-flow/src/page/agv/AgvList.jsx b/zy-acs-flow/src/page/agv/AgvList.jsx
index 4f03c6c..b0855da 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,
@@ -34,8 +34,9 @@
ListBase,
Title,
Pagination,
+ ListToolbar,
} from 'react-admin';
-import { Box, Typography, Card, Stack } from '@mui/material';
+import { Box, Typography, LinearProgress, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import AgvCreate from "./AgvCreate";
import AgvPanel from "./AgvPanel";
@@ -44,19 +45,17 @@
import MyExportButton from '../components/MyExportButton';
import PageDrawer from "../components/PageDrawer";
import MyField from "../components/MyField";
-import { PAGE_DRAWER_WIDTH, OPERATE_MODE } from '@/config/setting';
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, CUSTOM_PAGES_DATA_INTERVAL } from '@/config/setting';
import * as Common from '@/utils/common';
import { ImageList } from "./GridList";
-
+import { AgvListFilter } from "./AgvListFilter";
export const AgvGrid = () => {
- const { identity } = useGetIdentity();
- if (!identity) return null;
const [createDialog, setCreateDialog] = useState(false);
return (
<>
- <ListBase perPage={50} sort={{ field: "uuid", order: "asc" }}>
+ <ListBase perPage={50} sort={{ field: "create_time", order: "asc" }}>
<AgvGridLayout
setCreateDialog={setCreateDialog}
/>
@@ -69,21 +68,29 @@
)
}
-const AgvGridLayout = (props) => {
- const { data, isPending, filterValues } = useListContext();
+const AgvGridLayout = ({ setCreateDialog }) => {
+ const { data, isPending, filterValues, refetch } = useListContext();
const hasFilters = filterValues && Object.keys(filterValues).length > 0;
- if (isPending) return null;
- if (!data?.length && !hasFilters) return <EmptyData onClick={() => { props.setCreateDialog(true) }} />;
+ React.useEffect(() => {
+ const intervalId = setInterval(() => {
+ refetch();
+ }, CUSTOM_PAGES_DATA_INTERVAL);
+
+ return () => clearInterval(intervalId);
+ }, [refetch]);
+
+ if (isPending) return <LinearProgress />;
+ if (!data?.length && !hasFilters) return <EmptyData onClick={() => { setCreateDialog(true) }} />;
return (
<Stack direction="row" component="div">
+ <AgvListFilter />
<Stack sx={{ width: '100%' }}>
- <Title title={'Companies'} />
+ <Title title={"menu.agv"} />
<ListToolbar actions={(
<TopToolbar>
- <FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+ <MyCreateButton onClick={() => { setCreateDialog(true) }} variant="contained" />
<MyExportButton />
</TopToolbar>
)} />
@@ -93,7 +100,6 @@
</Stack>
);
}
-
@@ -176,7 +182,7 @@
<MyExportButton />
</TopToolbar>
)}
- perPage={25}
+ perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
preferenceKey='agv'
--
Gitblit v1.9.1