From bfc43ca0e4683c1c0322a6cad5d5be2bc07decc3 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 24 七月 2025 15:00:44 +0800 Subject: [PATCH] 新增调拔单功能 盘点功能优化 --- rsf-admin/src/page/locItem/LocItemList.jsx | 206 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 121 insertions(+), 85 deletions(-) diff --git a/rsf-admin/src/page/locItem/LocItemList.jsx b/rsf-admin/src/page/locItem/LocItemList.jsx index 7b4aa44..49f35cc 100644 --- a/rsf-admin/src/page/locItem/LocItemList.jsx +++ b/rsf-admin/src/page/locItem/LocItemList.jsx @@ -31,18 +31,16 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + useRefresh, + Button, + useList, } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; -import LocItemCreate from "./LocItemCreate"; -import LocItemPanel from "./LocItemPanel"; -import EmptyData from "../components/EmptyData"; import MyCreateButton from "../components/MyCreateButton"; import MyExportButton from '../components/MyExportButton'; -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 LocListAside from "./LocListAside"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -54,50 +52,103 @@ '& .column-name': { }, '& .opt': { - width: 100 + width: 180 }, + '& .type .MuiTypography-root': { + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + display: 'block', + width: 'auto', + }, + '& .MuiTableCell-root': { + whiteSpace: 'nowrap', + overflow: 'visible', + textOverflow: 'unset' + } })); -const filters = [ - <SearchInput source="condition" alwaysOn />, - <DateInput label='common.time.after' source="timeStart" />, - <DateInput label='common.time.before' source="timeEnd" />, - <NumberInput source="locId" label="table.field.locItem.locId" />, - <TextInput source="locCode" label="table.field.locItem.locCode" />, - <NumberInput source="orderId" label="table.field.locItem.orderId" />, - <TextInput source="type" label="table.field.locItem.type" />, - <NumberInput source="orderItemId" label="table.field.locItem.orderItemId" />, - <NumberInput source="wkType" label="table.field.locItem.wkType" />, - <NumberInput source="matnrId" label="table.field.locItem.matnrId" />, - <TextInput source="maktx" label="table.field.locItem.maktx" />, - <TextInput source="matnrCode" label="table.field.locItem.matnrCode" />, - <TextInput source="trackCode" label="table.field.locItem.trackCode" />, - <TextInput source="unit" label="table.field.locItem.unit" />, - <NumberInput source="anfme" label="table.field.locItem.anfme" />, - <NumberInput source="qty" label="table.field.locItem.qty" />, - <NumberInput source="workQty" label="table.field.locItem.workQty" />, - <TextInput source="batch" label="table.field.locItem.batch" />, - <TextInput source="splrBatch" label="table.field.locItem.splrBatch" />, - <TextInput source="spec" label="table.field.locItem.spec" />, - <TextInput source="model" label="table.field.locItem.model" />, - <TextInput source="fieldsIndex" label="table.field.locItem.fieldsIndex" />, - <TextInput label="common.field.memo" source="memo" />, - <SelectInput - label="common.field.status" - source="status" - choices={[ - { id: '1', name: 'common.enums.statusTrue' }, - { id: '0', name: 'common.enums.statusFalse' }, - ]} - resettable - />, -] + const LocItemList = () => { const translate = useTranslate(); - + const notify = useNotify(); + const refresh = useRefresh(); const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + const [initDialog, setInitDialog] = useState(false); + const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_use_stas')) || []; + const locType = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || []; + + + const filters = [ + <SearchInput source="condition" alwaysOn />, + <ReferenceInput + source="warehouseId" + label="table.field.loc.warehouseId" + reference="warehouse" + > + <AutocompleteInput + label="table.field.loc.warehouseId" + optionText="name" + filterToQuery={(val) => ({ name: val })} + /> + </ReferenceInput>, + <ReferenceInput + source="areaId" + label="table.field.loc.areaId" + reference="warehouseAreas" + > + <AutocompleteInput + label="table.field.loc.areaId" + optionText="name" + filterToQuery={(val) => ({ name: val })} + /> + </ReferenceInput>, + <AutocompleteInput + choices={dicts} + optionText="label" + label="table.field.loc.useStatus" + source="useStatus" + optionValue="value" + parse={v => v} + + />, + <TextInput source="code" label="table.field.loc.code" />, + <AutocompleteInput + choices={locType} + optionText="label" + label="table.field.loc.type" + source="type" + optionValue="value" + parse={v => v} + />, <TextInput source="name" label="table.field.loc.name" />, + <NumberInput source="flagLogic" label="table.field.loc.flagLogic" />, + <TextInput source="fucAtrrs" label="table.field.loc.fucAtrrs" />, + <TextInput source="barcode" label="table.field.loc.barcode" />, + <TextInput source="unit" label="table.field.loc.unit" />, + <TextInput source="size" label="table.field.loc.size" />, + <NumberInput source="row" label="table.field.loc.row" />, + <NumberInput source="col" label="table.field.loc.col" />, + <NumberInput source="lev" label="table.field.loc.lev" />, + <NumberInput source="channel" label="table.field.loc.channel" />, + <NumberInput source="maxParts" label="table.field.loc.maxParts" />, + <NumberInput source="maxPack" label="table.field.loc.maxPack" />, + <NumberInput source="flagLabelMange" label="table.field.loc.flagLabelMange" />, + <TextInput source="locAttrs" label="table.field.loc.locAttrs" />, + <TextInput label="common.field.memo" source="memo" />, + <SelectInput + label="common.field.status" + source="status" + choices={[ + { id: '1', name: 'common.enums.statusTrue' }, + { id: '0', name: 'common.enums.statusFalse' }, + ]} + resettable + />, + ] + + return ( <Box display="flex"> @@ -108,73 +159,58 @@ theme.transitions.create(['all'], { duration: theme.transitions.duration.enteringScreen, }), - marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, + marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} + storeKey="locItem" + resource="loc" title={"menu.locItem"} empty={false} filters={filters} + filter={{ useStatus: 'F' }} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> - {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} - <SelectColumnsButton preferenceKey='locItem' /> - {/* <MyExportButton /> */} + {/* <SelectColumnsButton preferenceKey='loc' /> */} </TopToolbar> )} perPage={DEFAULT_PAGE_SIZE} + aside={<LocListAside />} > <StyledDatagrid preferenceKey='locItem' + align="left" bulkActionButtons={false} - rowClick={false} - expand={() => <LocItemPanel />} - expandSingle={true} - omit={['id', 'createTime','locId','orderId', 'orderItemId', 'matnrId', 'splrBatch','workQty','qty', 'createBy', 'memo','fieldsIndex']} - + rowClick={() => false} + omit={['id', 'createTime', 'createBy$', 'memo', 'updateTime', 'updateBy','statusBool','length','width','height']} > <NumberField source="id" /> - <NumberField source="locId" label="table.field.locItem.locId" /> - <TextField source="locCode" label="table.field.locItem.locCode" /> - <NumberField source="orderId" label="table.field.locItem.orderId" /> - <TextField source="type$" label="table.field.locItem.type" /> - <NumberField source="orderItemId" label="table.field.locItem.orderItemId" /> - <NumberField source="wkType$" label="table.field.locItem.wkType" /> - <NumberField source="matnrId" label="table.field.locItem.matnrId" /> - <TextField source="matnrCode" label="table.field.locItem.matnrCode" /> - <TextField source="maktx" label="table.field.locItem.maktx" /> - <TextField source="spec" label="table.field.locItem.spec" /> - <TextField source="model" label="table.field.locItem.model" /> - <TextField source="batch" label="table.field.locItem.batch" /> - <TextField source="trackCode" label="table.field.locItem.trackCode" /> - <TextField source="unit" label="table.field.locItem.unit" /> - <NumberField source="anfme" label="table.field.locItem.anfme" /> - <TextField source="splrBatch" label="table.field.locItem.splrBatch" /> - <TextField source="fieldsIndex" label="table.field.locItem.fieldsIndex" /> - <TextField source="updateBy$" label="common.field.updateBy" /> - <DateField source="updateTime" label="common.field.updateTime" showTime /> + <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" cellClassName="type" /> + <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" /> + <TextField source="useStatus$" label="table.field.loc.useStatus" /> + <TextField source="updateBy$" label="common.field.updateBy" /> + <DateField source="updateTime" label="common.field.updateTime" showTime align="left" /> <TextField source="createBy$" label="common.field.createBy" /> - <DateField source="createTime" label="common.field.createTime" showTime /> - <BooleanField source="statusBool" label="common.field.status" sortable={false} /> + <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} /> */} + <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} resource="locItem" label="toolbar.detail" /> </WrapperField> </StyledDatagrid> </List> - <LocItemCreate - open={createDialog} - setOpen={setCreateDialog} - /> - <PageDrawer - title='LocItem Detail' - drawerVal={drawerVal} - setDrawerVal={setDrawerVal} - > - </PageDrawer> </Box> ) } -export default LocItemList; +export default LocItemList; \ No newline at end of file -- Gitblit v1.9.1