From b047f19a6b34a73e018d7e24fb7ec55db2edf472 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 28 五月 2025 12:33:04 +0800 Subject: [PATCH] 库位导出功能优化 --- rsf-admin/src/page/basicInfo/loc/LocList.jsx | 132 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 102 insertions(+), 30 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx index af7f744..c93cee0 100644 --- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx +++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx @@ -47,9 +47,7 @@ import BatchModal from './BatchModal'; import SubzoneModal from './SubzoneModal'; import PageDrawer from "../../components/PageDrawer"; -import MyField from "../../components/MyField"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; -import * as Common from '@/utils/common'; import DashboardIcon from '@mui/icons-material/Dashboard'; import EditIcon from '@mui/icons-material/Edit'; import request from '@/utils/request'; @@ -68,24 +66,29 @@ '& .column-name': { }, '& .opt': { - width: 200 + width: 180 }, - '& .RaDatagrid-headerCell': { - textAlign: 'left' + // '& .RaDatagrid-headerCell': { + // textAlign: 'left' + // }, + // '& .RaDatagrid-rowCell': { + // textAlign: 'left' + // }, + '& .type .MuiTypography-root': { + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + display: 'block', + width: 'auto', }, - '& .RaDatagrid-rowCell': { - textAlign: 'left' - } })); const filters = [ <SearchInput source="condition" alwaysOn />, - <ReferenceInput source="warehouseId" label="table.field.loc.warehouseId" reference="warehouse" - alwaysOn > <AutocompleteInput label="table.field.loc.warehouseId" @@ -97,7 +100,6 @@ source="areaId" label="table.field.loc.areaId" reference="warehouseAreas" - alwaysOn > <AutocompleteInput label="table.field.loc.areaId" @@ -138,7 +140,6 @@ const translate = useTranslate(); const notify = useNotify(); const refresh = useRefresh(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); const [initDialog, setInitDialog] = useState(false); @@ -168,7 +169,6 @@ onClick={() => { setCreateDialog(true) }}> {translate('create.empty.button')} </Button> - <Button variant="contained" color="primary" @@ -201,7 +201,10 @@ align="left" bulkActionButtons={ <> - <BatchButton /> + <BatchWateButton /> + <BatchAreasButton /> + <BatchLocTypeButton /> + <BatchStatusButton /> <BindButton /> <SubzoneButton /> <BulkDeleteButton /> @@ -214,35 +217,32 @@ <NumberField source="warehouseId$" label="table.field.loc.warehouseId" /> <NumberField source="areaId$" label="table.field.loc.areaId" /> <TextField source="code" label="table.field.loc.code" /> - <TextField source="typeIds$" label="table.field.loc.type" /> + <TextField source="typeIds$" label="table.field.loc.type" cellClassName="type" /> {/* <TextField source="name" label="table.field.loc.name" /> */} {/* <NumberField source="flagLogic" label="table.field.loc.flagLogic" /> <TextField source="fucAtrrs" label="table.field.loc.fucAtrrs" /> - <TextField source="barcode" label="table.field.loc.barcode" /> */} + */} {/* <TextField source="unit" label="table.field.loc.unit" /> */} + <TextField source="barcode" label="table.field.loc.barcode" /> <TextField source="length" label="table.field.loc.length" /> <TextField source="width" label="table.field.loc.width" /> <TextField source="height" label="table.field.loc.height" /> <NumberField source="row" label="table.field.loc.row" /> <NumberField source="col" label="table.field.loc.col" /> <NumberField source="lev" label="table.field.loc.lev" /> + <NumberField source="channel" label="table.field.loc.channel" /> {/* <NumberField source="channel" label="table.field.loc.channel" /> <NumberField source="maxParts" label="table.field.loc.maxParts" /> <NumberField source="maxPack" label="table.field.loc.maxPack" /> <NumberField source="flagLabelMange" label="table.field.loc.flagLabelMange" /> <TextField source="locAttrs" label="table.field.loc.locAttrs" /> */} <TextField source="useStatus$" label="table.field.loc.useStatus" /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> - <TextField source="nickname" /> - </ReferenceField> + <TextField source="updateBy$" label="common.field.updateBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime align="left" /> - <ReferenceField source="createBy" label="common.field.createBy" align="left" reference="user" link={false} sortable={false}> - <TextField source="nickname" /> - </ReferenceField> + <TextField source="createBy$" label="common.field.createBy" /> <DateField source="createTime" label="common.field.createTime" showTime align="left" /> <BooleanField source="statusBool" label="common.field.status" sortable={false} align="left" /> <TextField source="memo" label="common.field.memo" sortable={false} /> - <WrapperField cellClassName="opt" label="common.field.opt"> <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */} @@ -250,6 +250,10 @@ </WrapperField> </StyledDatagrid> + <InitModal + open={initDialog} + setOpen={setInitDialog} + /> </List> <LocCreate open={createDialog} @@ -262,10 +266,7 @@ > </PageDrawer> - <InitModal - open={initDialog} - setOpen={setInitDialog} - /> + </Box> ) } @@ -298,7 +299,30 @@ ) } -const BatchButton = () => { +const BatchWateButton = () => { + const record = useRecordContext(); + const notify = useNotify(); + const refresh = useRefresh(); + + const [createDialog, setCreateDialog] = useState(false); + + return ( + <> + <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouse"}> + <EditIcon /> + </Button> + + <BatchModal + open={createDialog} + setOpen={setCreateDialog} + fieldType={'warehouseId'} + /> + </> + + ) +} + +const BatchAreasButton = () => { const record = useRecordContext(); const notify = useNotify(); const refresh = useRefresh(); @@ -306,16 +330,64 @@ const [createDialog, setCreateDialog] = useState(false); - return ( <> - <Button onClick={() => setCreateDialog(true)} label={"toolbar.batch"}> + <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouseAreas"}> <EditIcon /> </Button> <BatchModal open={createDialog} setOpen={setCreateDialog} + fieldType={'areaId'} + /> + </> + + ) +} + +const BatchLocTypeButton = () => { + const record = useRecordContext(); + const notify = useNotify(); + const refresh = useRefresh(); + + + const [createDialog, setCreateDialog] = useState(false); + + return ( + <> + <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchLocType"}> + <EditIcon /> + </Button> + + <BatchModal + open={createDialog} + setOpen={setCreateDialog} + fieldType={'typeIds'} + /> + </> + + ) +} + +const BatchStatusButton = () => { + const record = useRecordContext(); + const notify = useNotify(); + const refresh = useRefresh(); + + + const [createDialog, setCreateDialog] = useState(false); + + return ( + <> + <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchStatus"}> + <EditIcon /> + </Button> + + <BatchModal + open={createDialog} + setOpen={setCreateDialog} + fieldType={'status'} /> </> -- Gitblit v1.9.1