From 6faab23aa66f4c29f9f83458d2d899341f5725b0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 08 十一月 2024 14:26:40 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/loc/LocBulkUpdateContent.jsx    |   56 ++++++++++++++++++++++++++++
 zy-acs-flow/src/page/components/BulkUpdateButton.jsx |   43 +--------------------
 zy-acs-flow/src/page/loc/LocList.jsx                 |   11 ++++-
 3 files changed, 67 insertions(+), 43 deletions(-)

diff --git a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx b/zy-acs-flow/src/page/components/BulkUpdateButton.jsx
similarity index 62%
rename from zy-acs-flow/src/page/loc/BulkUpdateButton.jsx
rename to zy-acs-flow/src/page/components/BulkUpdateButton.jsx
index 572f8ee..eeeccbb 100644
--- a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx
+++ b/zy-acs-flow/src/page/components/BulkUpdateButton.jsx
@@ -16,11 +16,10 @@
 } from 'react-admin';
 import { Dialog, DialogActions, DialogContent, DialogTitle, Grid, Stack, Divider } from '@mui/material';
 import UpdateIcon from '@mui/icons-material/Update';
-import MemoInput from "../components/MemoInput";
 import ContentSave from '@mui/icons-material/Save';
 import CloseIcon from '@mui/icons-material/Close';
 
-const BulkUpdateButton = ({ label = 'ra.action.update' }) => {
+const BulkUpdateButton = ({ label = 'ra.action.update', children }) => {
     const [open, setOpen] = useState(false);
 
     const refresh = useRefresh();
@@ -36,7 +35,7 @@
     const [updateMany, { loading }] = useUpdateMany();
 
     const handleSubmit = (data) => {
-        delete filteredData['memoWrap'];
+        delete data['memoWrap'];
         const filteredData = Object.fromEntries(
             Object.entries(data).filter(([key, value]) => value !== null && value !== undefined)
         );
@@ -71,43 +70,7 @@
                 <Form onSubmit={handleSubmit}>
                     <DialogTitle>{translate('ra.action.update')}</DialogTitle>
                     <DialogContent>
-                        <Grid container rowSpacing={2} columnSpacing={2}>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <ReferenceInput
-                                    source="code"
-                                    reference="code"
-                                >
-                                    <AutocompleteInput
-                                        label="table.field.loc.code"
-                                        optionText="data"
-                                        filterToQuery={(val) => ({ data: val })}
-                                    />
-                                </ReferenceInput>
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <ReferenceInput
-                                    source="locSts"
-                                    reference="locSts"
-                                >
-                                    <AutocompleteInput
-                                        label="table.field.loc.locSts"
-                                        optionText="name"
-                                        filterToQuery={(val) => ({ name: val })}
-                                    />
-                                </ReferenceInput>
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.offset"
-                                    source="offset"
-                                />
-                            </Grid>
-                            <Grid item xs={12} display="flex" gap={1}>
-                                <Stack direction="column" spacing={1} width={'100%'}>
-                                    <MemoInput />
-                                </Stack>
-                            </Grid>
-                        </Grid>
+                        {children}
                     </DialogContent>
                     <Divider sx={{ mb: 1 }} />
                     <DialogActions sx={{ mb: 1 }}>
diff --git a/zy-acs-flow/src/page/loc/LocBulkUpdateContent.jsx b/zy-acs-flow/src/page/loc/LocBulkUpdateContent.jsx
new file mode 100644
index 0000000..f6ba7b6
--- /dev/null
+++ b/zy-acs-flow/src/page/loc/LocBulkUpdateContent.jsx
@@ -0,0 +1,56 @@
+import React, { useState } from 'react';
+import {
+    Form,
+    ReferenceInput,
+    AutocompleteInput,
+    NumberInput,
+} from 'react-admin';
+import { Grid, Stack } from '@mui/material';
+import MemoInput from "../components/MemoInput";
+
+const LocBulkUpdateContent = () => {
+
+    return (
+        <>
+            <Grid container rowSpacing={2} columnSpacing={2}>
+                <Grid item xs={6} display="flex" gap={1}>
+                    <ReferenceInput
+                        source="code"
+                        reference="code"
+                    >
+                        <AutocompleteInput
+                            label="table.field.loc.code"
+                            optionText="data"
+                            filterToQuery={(val) => ({ data: val })}
+                        />
+                    </ReferenceInput>
+                </Grid>
+                <Grid item xs={6} display="flex" gap={1}>
+                    <ReferenceInput
+                        source="locSts"
+                        reference="locSts"
+                    >
+                        <AutocompleteInput
+                            label="table.field.loc.locSts"
+                            optionText="name"
+                            filterToQuery={(val) => ({ name: val })}
+                        />
+                    </ReferenceInput>
+                </Grid>
+                <Grid item xs={6} display="flex" gap={1}>
+                    <NumberInput
+                        label="table.field.loc.offset"
+                        source="offset"
+                    />
+                </Grid>
+                <Grid item xs={12} display="flex" gap={1}>
+                    <Stack direction="column" spacing={1} width={'100%'}>
+                        <MemoInput />
+                    </Stack>
+                </Grid>
+            </Grid>
+        </>
+    )
+}
+
+export default LocBulkUpdateContent;
\ No newline at end of file
diff --git a/zy-acs-flow/src/page/loc/LocList.jsx b/zy-acs-flow/src/page/loc/LocList.jsx
index 753e1f2..83bdbc5 100644
--- a/zy-acs-flow/src/page/loc/LocList.jsx
+++ b/zy-acs-flow/src/page/loc/LocList.jsx
@@ -31,6 +31,7 @@
     AutocompleteInput,
     DeleteButton,
     Button,
+    Pagination,
 } from 'react-admin';
 import { Box, Typography, Card, Stack } from '@mui/material';
 import { styled } from '@mui/material/styles';
@@ -46,7 +47,8 @@
 import CorporateFareIcon from '@mui/icons-material/CorporateFare';
 import LocInit from "./LocInit";
 import rowSx from "./rowSx";
-import BulkUpdateButton from "./BulkUpdateButton";
+import BulkUpdateButton from "../components/BulkUpdateButton";
+import LocBulkUpdateContent from './LocBulkUpdateContent';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -103,7 +105,9 @@
 const LocBulkActionButtons = () => {
     return (
         <>
-            <BulkUpdateButton />
+            <BulkUpdateButton>
+                <LocBulkUpdateContent />
+            </BulkUpdateButton>
             <BulkDeleteButton mutationMode={OPERATE_MODE} />
         </>
     );
@@ -143,7 +147,8 @@
                         <MyExportButton />
                     </TopToolbar>
                 )}
-                perPage={DEFAULT_PAGE_SIZE}
+                pagination={<Pagination rowsPerPageOptions={[10, 20, 50, 100, 300, 500]} />}
+                perPage={20}
             >
                 <StyledDatagrid
                     preferenceKey='loc'

--
Gitblit v1.9.1