From ea3ca5f67756a7f3afd1493f86d1265deb8fdf42 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期二, 25 三月 2025 15:07:52 +0800 Subject: [PATCH] 2 --- rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx | 59 ++++++++++++++++++- rsf-admin/src/page/warehouseAreas/BatchModal.jsx | 63 ++++++++++++++++---- rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx | 4 - rsf-admin/src/i18n/zh.js | 3 + rsf-admin/src/i18n/en.js | 3 + rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx | 5 - rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 4 7 files changed, 116 insertions(+), 25 deletions(-) diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index dfb832c..b970d00 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -646,6 +646,9 @@ bindmatnr: 'bind matnr', bindloc: 'bind loc', batchMatnrGropu: 'batchMatnrGropu', + batchStatus: 'batchStatus', + batchMix: 'batchFiexed', + batchWarehouse: 'batchWarehouse', }, }; diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index a1976a7..6e7ede8 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -648,6 +648,9 @@ bindmatnr: '缁戝畾鐗╂枡', bindloc: '缁戝畾搴撲綅', batchMatnrGropu: '鎵归噺鐗╂枡鍒嗙粍', + batchStatus: '鎵归噺鐘舵��', + batchMix: '鎵归噺娣锋斁', + batchWarehouse: '鎵归噺浠撳簱', }, }; diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx index 04b4d48..0d5ff70 100644 --- a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx +++ b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx @@ -172,7 +172,6 @@ <AutocompleteInput label="table.field.matnr.shipperId" optionText="name" - validate={[required()]} filterToQuery={(val) => ({ name: val })} /> </ReferenceInput> @@ -188,7 +187,6 @@ <TextInput label="table.field.matnr.platCode" source="platCode" - validate={[required()]} parse={v => v} /> </Grid> @@ -287,7 +285,8 @@ <Grid key={item.id} item xs={6} display="flex" gap={1}> <TextInput label={item.fieldsAlise} - source={item.fields} + source={`extendFields.[${item.fields}]`} + validate={required()} /> </Grid> ) diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx index def6d1a..c86aeef 100644 --- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx +++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx @@ -144,7 +144,6 @@ <Grid item xs={6} display="flex" gap={1}> <ReferenceInput source="shipperId" reference="companys" filter={{ type: 'shipper' }}> <AutocompleteInput - validate={[required()]} label="table.field.matnr.shipperId" optionText="name" filterToQuery={(val) => ({ name: val })} @@ -269,7 +268,8 @@ <Grid key={item.id} item xs={6} display="flex" gap={1}> <TextInput label={item.fieldsAlise} - source={item.fields} + source={`extendFields.[${item.fields}]`} + validate={required()} /> </Grid> ) diff --git a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx index 4fbd112..01b56be 100644 --- a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx +++ b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx @@ -79,8 +79,7 @@ <TextInput label="table.field.matnrGroup.parCode" source="parCode" - value={editRecord?.parCode} - parse={v => v} + value={'11'} readOnly /> </Grid> @@ -132,7 +131,6 @@ const onSubmit = (data) => { const _params = { ...data }; if (editRecord) { - debugger if (_params.parentId === editRecord.id) { notify('common.response.dataError', { type: 'error' }); return; diff --git a/rsf-admin/src/page/warehouseAreas/BatchModal.jsx b/rsf-admin/src/page/warehouseAreas/BatchModal.jsx index 34ebb10..1f64a7b 100644 --- a/rsf-admin/src/page/warehouseAreas/BatchModal.jsx +++ b/rsf-admin/src/page/warehouseAreas/BatchModal.jsx @@ -51,7 +51,7 @@ import { DataGrid } from '@mui/x-data-grid'; import StatusSelectInput from "../components/StatusSelectInput"; -const InitModal = ({ open, setOpen }) => { +const InitModal = ({ open, setOpen, fieldType }) => { const refresh = useRefresh(); const translate = useTranslate(); @@ -59,7 +59,9 @@ const notify = useNotify(); const [formData, setFormData] = useState({ - 'status': null + 'status': null, + 'wareId': null, + 'flagMix': null, }); const { selectedIds, onUnselectItems } = useListContext(); @@ -75,7 +77,9 @@ const reset = () => { setFormData({ - 'status': null + 'status': null, + 'wareId': null, + 'flagMix': null, }) } @@ -103,10 +107,10 @@ const handleSubmit = async () => { const parmas = { id: selectedIds, - matnr: removeEmptyKeys(formData) + ...removeEmptyKeys(formData) } - const res = await request.post(`/matnr/modify`, parmas); + const res = await request.post(`/warehouseAreas/modify`, parmas); if (res?.data?.code === 200) { handleClose() @@ -116,20 +120,53 @@ } return ( - <Dialog open={open} maxWidth="md" fullWidth> + <Dialog open={open} maxWidth="xs" fullWidth> <Form onSubmit={handleSubmit}> <DialogCloseButton onClose={handleClose} /> <DialogTitle>{translate('toolbar.batch')}</DialogTitle> <DialogContent sx={{ mt: 2 }}> <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}> <Grid container spacing={2}> - <Grid item xs={4}> - <StatusSelectInput - onChange={(e) => handleChange(e.target.value, 'status')} - defaultValue={''} - require={false} - /> - </Grid> + {fieldType === 'status' && + <Grid item xs={6}> + <StatusSelectInput + onChange={(e) => handleChange(e.target.value, 'status')} + defaultValue={''} + require={false} + /> + </Grid> + } + {fieldType === 'flagMix' && + <Grid item xs={6}> + <SelectInput + label="table.field.warehouseAreas.flagMix" + source="flagMix" + validate={[required()]} + onChange={(e) => handleChange(e.target.value, 'flagMix')} + choices={[ + { id: 0, name: '鍚�' }, + { id: 1, name: '鏄�' }, + ]} + /> + </Grid> + } + {fieldType === 'wareId' && + <Grid item xs={6}> + <ReferenceInput + source="warehouseId" + reference="warehouse" + + > + <AutocompleteInput + onChange={(value) => handleChange(value, 'warehouseId')} + label="table.field.warehouseAreas.wareId" + optionText="name" + validate={[required()]} + filterToQuery={(val) => ({ name: val })} + /> + </ReferenceInput> + </Grid> + } </Grid> </Box> diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx index a44e1fb..180bcf2 100644 --- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx +++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx @@ -63,7 +63,7 @@ const filters = [ <SearchInput source="condition" alwaysOn />, - <TextField source="warehouseId" label="table.field.warehouseAreas.wareId" alwaysOn />, + <TextField source="warehouseId" label="table.field.warehouseAreas.wareId" />, <TextInput source="uuid" label="table.field.warehouseAreas.uuid" />, <TextInput source="name" label="table.field.warehouseAreas.name" />, <TextInput source="code" label="table.field.warehouseAreas.code" />, @@ -137,7 +137,9 @@ preferenceKey='warehouseAreas' bulkActionButtons={ <> - <BatchButton /> + <WareButton /> + <MixButton /> + <StatusButton /> <BulkDeleteButton mutationMode={OPERATE_MODE} /> </> } @@ -191,7 +193,7 @@ export default WarehouseAreasList; -const BatchButton = () => { +const MixButton = () => { const record = useRecordContext(); const notify = useNotify(); const refresh = useRefresh(); @@ -201,13 +203,62 @@ return ( <> - <Button onClick={() => setCreateDialog(true)} label={"toolbar.batch"}> + <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchMix"}> <EditIcon /> </Button> <BatchModal open={createDialog} setOpen={setCreateDialog} + fieldType={'flagMix'} + /> + </> + + ) +} + +const WareButton = () => { + 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={'wareId'} + /> + </> + + ) +} + +const StatusButton = () => { + 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