From c44cdd8db1e6691e2b2d6a915f37e956d2ed4b60 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 15 七月 2025 10:18:17 +0800 Subject: [PATCH] 盘点单导入功能优化 --- rsf-admin/src/page/basicInfo/loc/InitModal.jsx | 114 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 68 insertions(+), 46 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx index a02d8b9..38a3297 100644 --- a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx +++ b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx @@ -58,13 +58,15 @@ const InitModal = ({ open, setOpen }) => { const refresh = useRefresh(); const translate = useTranslate(); + const { filterValues } = useListContext(); // 鑾峰彇鍒楄〃涓婁笅鏂� const notify = useNotify(); + const [disabled, setDisabled] = useState(false) const [formData, setFormData] = useState({ - "warehouseId": null, - "areaId": undefined, + "warehouseId": filterValues.warehouseId, + "areaId": filterValues.areaId, "endBay": undefined, "endLev": undefined, "endRow": undefined, @@ -94,6 +96,7 @@ }; const handleSubmit = async () => { + setDisabled(true) const res = await request.post(`/loc/init`, formData); if (res?.data?.code === 200) { setOpen(false); @@ -101,12 +104,13 @@ } else { notify(res.data.msg); } + setDisabled(false) } return ( <Dialog open={open} maxWidth="md" fullWidth> - <Form onSubmit={handleSubmit}> + <Form onSubmit={handleSubmit} defaultValues={filterValues}> <DialogCloseButton onClose={handleClose} /> <DialogTitle>{translate('toolbar.locInit')}</DialogTitle> <DialogContent sx={{ mt: 2 }}> @@ -118,6 +122,7 @@ reference="warehouse" > <AutocompleteInput + debounce label="table.field.loc.warehouseId" optionText="name" onChange={(value) => handleChange(value, 'warehouseId')} @@ -144,40 +149,15 @@ filterToQuery={(val) => ({ name: val })} /> </ReferenceInput> - </Grid> - - <Grid item xs={4}> <ReferenceArrayInput source="typeIds" reference="locType" > - <SelectArrayInput label="table.field.loc.type" onChange={(e) => handleChange(e.target.value, 'typeIds')} /> + <SelectArrayInput label="table.field.loc.type" validate={[required()]} onChange={(e) => handleChange(e.target.value, 'typeIds')} /> </ReferenceArrayInput> + {/* <ReferenceArrayInput source="typeIds" reference="dictData" filter={{}}> + <SelectArrayInput label="table.field.loc.type" onChange={(e) => handleChange(e.target.value, 'typeIds')} validate={[required()]} /> + </ReferenceArrayInput> */} </Grid> - - <Grid item xs={4}> - <TextInput - label={translate("table.field.loc.startBay")} - name="startBay" - value={formData.startBay} - onChange={(e) => handleChange(+e.target.value, 'startBay')} - size="small" - type="number" - validate={[required()]} - /> - </Grid> - - <Grid item xs={4}> - <TextInput - label={translate("table.field.loc.startLev")} - name="startLev" - value={formData.startLev} - onChange={(e) => handleChange(+e.target.value, 'startLev')} - size="small" - type="number" - validate={[required()]} - /> - </Grid> - <Grid item xs={4}> <TextInput label={translate("table.field.loc.startRow")} @@ -189,31 +169,28 @@ validate={[required()]} /> </Grid> - <Grid item xs={4}> <TextInput - label={translate("table.field.loc.endBay")} - name="endBay" - value={formData.endBay} - onChange={(e) => handleChange(+e.target.value, 'endBay')} + label={translate("table.field.loc.startBay")} + name="startBay" + value={formData.startBay} + onChange={(e) => handleChange(+e.target.value, 'startBay')} size="small" type="number" validate={[required()]} /> </Grid> - <Grid item xs={4}> <TextInput - label={translate("table.field.loc.endLev")} - name="endLev" - value={formData.endLev} - onChange={(e) => handleChange(+e.target.value, 'endLev')} + label={translate("table.field.loc.startLev")} + name="startLev" + value={formData.startLev} + onChange={(e) => handleChange(+e.target.value, 'startLev')} size="small" type="number" validate={[required()]} /> </Grid> - <Grid item xs={4}> <TextInput label={translate("table.field.loc.endRow")} @@ -225,21 +202,66 @@ validate={[required()]} /> </Grid> - + <Grid item xs={4}> + <TextInput + label={translate("table.field.loc.endBay")} + name="endBay" + value={formData.endBay} + onChange={(e) => handleChange(+e.target.value, 'endBay')} + size="small" + type="number" + validate={[required()]} + /> + </Grid> + <Grid item xs={4}> + <TextInput + label={translate("table.field.loc.endLev")} + name="endLev" + value={formData.endLev} + onChange={(e) => handleChange(+e.target.value, 'endLev')} + size="small" + type="number" + validate={[required()]} + /> + </Grid> + <Grid item xs={4}> + <TextInput + label={"table.field.loc.channel"} + name="channel" + value={formData.channel} + onChange={(e) => handleChange(+e.target.value, 'channel')} + size="small" + type="number" + validate={[required()]} + /> + </Grid> + <Grid item xs={4}> + <TextInput + label={"table.field.loc.startChannel"} + name="startChannel" + value={formData.startChannel} + onChange={(e) => handleChange(+e.target.value, 'startChannel')} + size="small" + type="number" + validate={[required()]} + /> + </Grid> </Grid> - </Box> </DialogContent> <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> <Box sx={{ width: '100%', display: 'flex', justifyContent: 'space-between' }}> - <Button type="submit" variant="contained" startIcon={<SaveIcon />}> + <Button disabled={disabled} type="submit" variant="contained" startIcon={<SaveIcon />} > {translate('toolbar.confirm')} </Button> </Box> + </DialogActions> </Form> </Dialog> ); } + + export default InitModal; \ No newline at end of file -- Gitblit v1.9.1