From 06d7fb698ce6d0efc7ff4224c6b68d2f50feb716 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 21 四月 2025 16:23:46 +0800 Subject: [PATCH] DO单修改及优化 --- rsf-admin/src/page/basicInfo/loc/BindModal.jsx | 76 +++++++++++++++++++++++--------------- 1 files changed, 46 insertions(+), 30 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx index 38854f7..5b2e606 100644 --- a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx +++ b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx @@ -2,7 +2,6 @@ import { CreateBase, useTranslate, - SearchInput, TextInput, NumberInput, BooleanInput, @@ -25,9 +24,11 @@ Form, useCreateController, useListContext, + SearchInput, useRefresh, List, - SelectArrayInput + SelectArrayInput, + useListController } from 'react-admin'; import { Dialog, @@ -56,10 +57,11 @@ 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'; - +import ConfirmationNumber from '@mui/icons-material/ConfirmationNumber'; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -73,7 +75,7 @@ })); const filters = [ - <SearchInput source="condition" alwaysOn /> + <SearchInput source="condition" alwaysOn />, ] const MatnrModal = ({ open, setOpen }) => { @@ -134,12 +136,12 @@ 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(); @@ -147,16 +149,14 @@ setGroupId(e.target.value) } - - return ( - <Dialog open={open} maxWidth="1" fullWidth> + <Dialog open={open} maxWidth="md" fullWidth> <Form onSubmit={handleSubmit}> <DialogCloseButton onClose={handleClose} /> <DialogTitle>{translate('toolbar.bindmatnr')}</DialogTitle> <DialogContent sx={{ mt: 2 }}> - <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, height: 900 }}> - <Grid container spacing={2}> + <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, height: 200 }}> + <Grid container spacing={3}> <Grid item xs={3}> <ReferenceInput source="areaMatId" @@ -181,19 +181,20 @@ onChange={(e) => handleChange(e.target.value, 'groupId')} /> </Grid> - </Grid> - <Grid item xs={4}> - <List + <Grid item xs={3}> + {/* </Grid> */} + {/* <Grid item xs={4}> */} + {/* <List resource="matnr" filter={{ groupId: formData.groupId }} - queryOptions={{}} - // filters={filters} + storeKey="matnrSelectList" + filters={filters} empty={false} actions={<></>} > <StyledDatagrid preferenceKey='matnr' - bulkActionButtons={<></>} + bulkActionButtons={<> <SelectMatnrs></SelectMatnrs> </>} rowClick={false} omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']} > @@ -216,14 +217,15 @@ <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> */} + </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> </Grid> </Box> </DialogContent> @@ -239,4 +241,18 @@ ); } -export default MatnrModal; \ No newline at end of file +export default MatnrModal; + +const SelectMatnrs = () => { + const { selectedIds, data, isPending, onUnselectItems } = useListContext(); + const clickMatnrs = () => { + console.log(selectedIds); + onUnselectItems() + } + + return ( + <Button label={"toolbar.confirmSelect"} onClick={clickMatnrs}> + <ConfirmationNumber /> + </Button> + ) +} -- Gitblit v1.9.1