From cd67e854d4715bc92a16dc7bffdbde7be1da9957 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 27 三月 2025 13:02:37 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/loc/LocList.jsx |   53 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/zy-acs-flow/src/page/loc/LocList.jsx b/zy-acs-flow/src/page/loc/LocList.jsx
index eaf3fcd..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';
@@ -41,10 +42,13 @@
 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 } from '@/config/setting';
 import * as Common from '@/utils/common';
-import RepartitionIcon from '@mui/icons-material/Repartition';
+import CorporateFareIcon from '@mui/icons-material/CorporateFare';
 import LocInit from "./LocInit";
+import rowSx from "./rowSx";
+import BulkUpdateButton from "../components/BulkUpdateButton";
+import LocBulkUpdateContent from './LocBulkUpdateContent';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -62,26 +66,25 @@
 }));
 
 const filters = [
+    <TextInput source="locNo" label="table.field.loc.locNo" alwaysOn />,
+    <ReferenceInput source="locSts" label="table.field.loc.locSts" reference="locSts" alwaysOn>
+        <AutocompleteInput label="table.field.loc.locSts" optionText="name" filterToQuery={(val) => ({ name: val })} />
+    </ReferenceInput>,
+    <NumberInput source="row" label="table.field.loc.row" alwaysOn />,
+    <NumberInput source="bay" label="table.field.loc.bay" alwaysOn />,
+    <NumberInput source="lev" label="table.field.loc.lev" alwaysOn />,
     <SearchInput source="condition" alwaysOn />,
-    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
-    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
+    <ReferenceInput source="code" label="table.field.loc.code" reference="code" alwaysOn>
+        <AutocompleteInput label="table.field.loc.code" optionText="data" filterToQuery={(val) => ({ data: val })} />
+    </ReferenceInput>,
+    <DateInput label='common.time.after' source="timeStart" />,
+    <DateInput label='common.time.before' source="timeEnd" />,
     <TextInput source="uuid" label="table.field.loc.uuid" />,
     <ReferenceInput source="zoneId" label="table.field.loc.zoneId" reference="zone">
         <AutocompleteInput label="table.field.loc.zoneId" optionText="name" filterToQuery={(val) => ({ name: val })} />
     </ReferenceInput>,
-    <TextInput source="locNo" label="table.field.loc.locNo" alwaysOn />,
     <TextInput source="name" label="table.field.loc.name" />,
-    <ReferenceInput source="code" label="table.field.loc.code" reference="code" alwaysOn>
-        <AutocompleteInput label="table.field.loc.code" optionText="data" filterToQuery={(val) => ({ data: val })} />
-    </ReferenceInput>,
-    <ReferenceInput source="locSts" label="table.field.loc.locSts" reference="locSts" alwaysOn>
-        <AutocompleteInput label="table.field.loc.locSts" optionText="name" filterToQuery={(val) => ({ name: val })} />
-    </ReferenceInput>,
     <NumberInput source="offset" label="table.field.loc.offset" />,
-    <NumberInput source="row" label="table.field.loc.row" alwaysOn />,
-    <NumberInput source="bay" label="table.field.loc.bay" alwaysOn />,
-    <NumberInput source="lev" label="table.field.loc.lev" alwaysOn />,
     <TextInput source="barcode" label="table.field.loc.barcode" />,
     <TextInput source="zpallet" label="table.field.loc.zpallet" />,
     <ReferenceInput source="locType" label="table.field.loc.locType" reference="locType">
@@ -98,6 +101,18 @@
         ]}
     />,
 ]
+
+const LocBulkActionButtons = () => {
+    return (
+        <>
+            <BulkUpdateButton>
+                <LocBulkUpdateContent />
+            </BulkUpdateButton>
+            <BulkDeleteButton mutationMode={OPERATE_MODE} />
+        </>
+    );
+};
+
 
 const LocList = () => {
     const translate = useTranslate();
@@ -126,21 +141,23 @@
                         <FilterButton />
                         <Button label='page.loc.init' onClick={(event) => {
                             setInitDialog(true);
-                        }}><RepartitionIcon /></Button>
+                        }}><CorporateFareIcon /></Button>
                         <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                         <SelectColumnsButton preferenceKey='loc' />
                         <MyExportButton />
                     </TopToolbar>
                 )}
-                perPage={25}
+                pagination={<Pagination rowsPerPageOptions={[10, 20, 50, 100, 300, 500]} />}
+                perPage={20}
             >
                 <StyledDatagrid
                     preferenceKey='loc'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+                    bulkActionButtons={<LocBulkActionButtons />}
                     rowClick={(id, resource, record) => false}
                     expand={() => <LocPanel />}
                     expandSingle={true}
                     omit={['id', 'locType', 'uuid', 'statusBool', 'updateBy', 'createTime', 'createBy', 'memo']}
+                    rowSx={rowSx(drawerVal || null)}
                 >
                     <NumberField source="id" />
                     <TextField source="locNo" label="table.field.loc.locNo" />

--
Gitblit v1.9.1