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 | 60 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 44 insertions(+), 16 deletions(-) diff --git a/zy-acs-flow/src/page/loc/LocList.jsx b/zy-acs-flow/src/page/loc/LocList.jsx index a576324..83bdbc5 100644 --- a/zy-acs-flow/src/page/loc/LocList.jsx +++ b/zy-acs-flow/src/page/loc/LocList.jsx @@ -30,6 +30,8 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + Button, + Pagination, } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; @@ -40,8 +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 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': { @@ -59,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"> @@ -96,11 +102,24 @@ />, ] +const LocBulkActionButtons = () => { + return ( + <> + <BulkUpdateButton> + <LocBulkUpdateContent /> + </BulkUpdateButton> + <BulkDeleteButton mutationMode={OPERATE_MODE} /> + </> + ); +}; + + const LocList = () => { const translate = useTranslate(); const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + const [initDialog, setInitDialog] = useState(false); return ( <Box display="flex"> @@ -120,20 +139,25 @@ actions={( <TopToolbar> <FilterButton /> + <Button label='page.loc.init' onClick={(event) => { + setInitDialog(true); + }}><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" /> @@ -186,6 +210,10 @@ setDrawerVal={setDrawerVal} > </PageDrawer> + <LocInit + open={initDialog} + setOpen={setInitDialog} + /> </Box> ) } -- Gitblit v1.9.1