From f4f9cd966b0353323636c7aa19b38a6bb3f9936e Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 18 四月 2025 18:26:24 +0800 Subject: [PATCH] no message --- rsf-admin/src/page/basicInfo/loc/BindModal.jsx | 101 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 71 insertions(+), 30 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx index e0f7338..6eca745 100644 --- a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx +++ b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx @@ -10,15 +10,22 @@ SelectInput, ReferenceInput, ReferenceArrayInput, + DatagridConfigurable, AutocompleteInput, Toolbar, required, useDataProvider, + TextField, + NumberField, + ReferenceField, + BooleanField, useNotify, + useSelectAll, Form, useCreateController, useListContext, useRefresh, + List, SelectArrayInput } from 'react-admin'; import { @@ -27,7 +34,6 @@ DialogContent, DialogTitle, Grid, - TextField, Box, Button, Paper, @@ -52,12 +58,27 @@ import { DataGrid } from '@mui/x-data-grid'; import StatusSelectInput from "../../components/StatusSelectInput"; import TreeSelectInput from "@/page/components/TreeSelectInput"; +import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; + + +const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ + '& .css-1vooibu-MuiSvgIcon-root': { + height: '.9em' + }, + '& .RaDatagrid-row': { + cursor: 'auto' + }, + '& .column-name': { + }, +})); + const MatnrModal = ({ open, setOpen }) => { const refresh = useRefresh(); const translate = useTranslate(); - - const notify = useNotify(); + const [options, setOptions] = useState({ + condition: null + }); const [formData, setFormData] = useState({ areaMatId: null, @@ -65,8 +86,7 @@ matnrId: null, }); - const { selectedIds, onUnselectItems } = useListContext(); - + const { selectedIds, onUnselectItems, onSelectAll } = useListContext(); const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); @@ -93,7 +113,7 @@ ...prevData, [name]: value })); - refresh() + refresh(); }; const removeEmptyKeys = (obj) => { @@ -113,31 +133,26 @@ groupId: formData.groupId, matnrId: formData.matnrId, } - const res = await request.post(`/locAreaMatRela/matnr/bind`, parmas); if (res?.data?.code === 200) { handleClose() - } else { notify(res.data.msg); } - - } const [groupId, setGroupId] = useState(); - const warehouseChange = (e) => { setGroupId(e.target.value) } return ( - <Dialog open={open} maxWidth="md" fullWidth> + <Dialog open={open} maxWidth="xl" fullWidth> <Form onSubmit={handleSubmit}> <DialogCloseButton onClose={handleClose} /> <DialogTitle>{translate('toolbar.bindmatnr')}</DialogTitle> <DialogContent sx={{ mt: 2 }}> - <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}> + <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, height: 700 }}> <Grid container spacing={2}> <Grid item xs={4}> <ReferenceInput @@ -153,9 +168,7 @@ filterToQuery={(val) => ({ code: val })} /> </ReferenceInput> - </Grid> - <Grid item xs={4}> <TreeSelectInput label="table.field.locAreaMatRela.groupId" @@ -166,25 +179,53 @@ /> </Grid> - - <Grid item xs={4}> - <ReferenceArrayInput source="matnrId" reference="matnr" filter={{ groupId: formData.groupId }}> - <SelectArrayInput - label="table.field.locAreaMatRela.matnrId" - // validate={required()} - value={formData.matnrId} - onChange={(e) => handleChange(e.target.value, 'matnrId')} - /> - </ReferenceArrayInput> - - </Grid> - </Grid> - + <Grid item xs={4}> + <List + resource="matnr" + filter={{ groupId: formData.groupId }} + empty={false} + queryOptions={{options}} + actions={<></>} + > + <StyledDatagrid + preferenceKey='matnr' + bulkActionButtons={<></>} + rowClick={false} + omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']} + > + <NumberField key="id" source="id" />, + <TextField key="name" source="name" label="table.field.matnr.name" />, + <TextField key="code" source="code" label="table.field.matnr.code" />, + <ReferenceField key="groupId" source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}> + <TextField source="name" /> + </ReferenceField>, + <TextField key="spec" source="spec" label="table.field.matnr.spec" />, + <TextField key="model" source="model" label="table.field.matnr.model" />, + <NumberField key="nromNum" source="nromNum" label="table.field.matnr.nromNum" />, + <TextField key="stockLeval$" source="stockLeval$" label="table.field.matnr.stockLevel" sortable={false} />, + <TextField key="flagLabelMange$" source="flagLabelMange$" label="table.field.matnr.isLabelMange" sortable={false} />, + <NumberField key="safeQty" source="safeQty" label="table.field.matnr.safeQty" />, + <NumberField key="minQty" source="minQty" label="table.field.matnr.minQty" />, + <NumberField key="maxQty" source="maxQty" label="table.field.matnr.maxQty" />, + <NumberField key="validWarn" source="validWarn" label="table.field.matnr.validWarn" />, + <BooleanField key="flagCheck" source="flagCheck" label="table.field.matnr.flagCheck" sortable={false} />, + <BooleanField key="statusBool" source="statusBool" label="common.field.status" sortable={false} />, + <TextField key="memo" source="memo" label="common.field.memo" sortable={false} />, + </StyledDatagrid> + </List> + {/* <ReferenceArrayInput source="matnrId" reference="matnr" filter={{ groupId: formData.groupId }}> + <SelectArrayInput + label="table.field.locAreaMatRela.matnrId" + value={formData.matnrId} + onChange={(e) => handleChange(e.target.value, 'matnrId')} + /> + </ReferenceArrayInput> */} + </Grid> </Box> </DialogContent> <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> - <Box sx={{ width: '100%', display: 'flex', justifyContent: 'space-between' }}> + <Box sx={{ width: '100%', display: 'flex', justifyContent: 'end' }}> <Button type="submit" variant="contained" startIcon={<SaveIcon />}> {translate('toolbar.confirm')} </Button> -- Gitblit v1.9.1