From 2799c6690aff9c1577ba4dc290dc56a28767a769 Mon Sep 17 00:00:00 2001 From: DESKTOP-LMJ82IJ\Eno <creaycat@gmail.com> Date: 星期六, 19 四月 2025 15:03:43 +0800 Subject: [PATCH] #修改 1. 采购单界面优化及修改 --- rsf-admin/src/page/basicInfo/loc/BindModal.jsx | 125 ++++++++++++++++++++++++++++------------- 1 files changed, 85 insertions(+), 40 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx index 41e8d6f..38854f7 100644 --- a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx +++ b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx @@ -2,6 +2,7 @@ import { CreateBase, useTranslate, + SearchInput, TextInput, NumberInput, BooleanInput, @@ -10,15 +11,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 +35,6 @@ DialogContent, DialogTitle, Grid, - TextField, Box, Button, Paper, @@ -49,14 +56,29 @@ import request from '@/utils/request'; import { Add, Edit, Delete } from '@mui/icons-material'; import _ from 'lodash'; -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 filters = [ + <SearchInput source="condition" alwaysOn /> +] + const MatnrModal = ({ open, setOpen }) => { const refresh = useRefresh(); const translate = useTranslate(); - - const notify = useNotify(); const [formData, setFormData] = useState({ @@ -65,8 +87,7 @@ matnrId: null, }); - const { selectedIds, onUnselectItems } = useListContext(); - + const { selectedIds, onUnselectItems, onSelectAll } = useListContext(); const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); @@ -93,7 +114,7 @@ ...prevData, [name]: value })); - refresh() + refresh(); }; const removeEmptyKeys = (obj) => { @@ -110,35 +131,33 @@ const parmas = { locId: selectedIds, areaMatId: formData.areaMatId, + 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 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="1" 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: 900 }}> <Grid container spacing={2}> - <Grid item xs={4}> + <Grid item xs={3}> <ReferenceInput source="areaMatId" reference="locAreaMat" @@ -152,10 +171,8 @@ filterToQuery={(val) => ({ code: val })} /> </ReferenceInput> - </Grid> - - <Grid item xs={4}> + <Grid item xs={3}> <TreeSelectInput label="table.field.locAreaMatRela.groupId" resource={'matnrGroup'} @@ -164,26 +181,54 @@ onChange={(e) => handleChange(e.target.value, 'groupId')} /> </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 }} + queryOptions={{}} + // filters={filters} + empty={false} + 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