From fac10dcb68a892be100960e267d0a1501f34e984 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 19 三月 2025 10:28:06 +0800 Subject: [PATCH] #修改 基础数据添加空管字段 --- rsf-admin/src/page/basicInfo/loc/BatchModal.jsx | 67 +++++++++++++++++++++------------ 1 files changed, 43 insertions(+), 24 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx index 5e9cfb7..a3448a2 100644 --- a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx +++ b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx @@ -50,7 +50,7 @@ import { Add, Edit, Delete } from '@mui/icons-material'; import _ from 'lodash'; import { DataGrid } from '@mui/x-data-grid'; - +import StatusSelectInput from "../../components/StatusSelectInput"; @@ -62,16 +62,28 @@ const notify = useNotify(); const [formData, setFormData] = useState({ - "areaId": undefined, - "locType": "", - "type": "" + "areaId": null, + "type": null, + 'status': null }); + + const { selectedIds } = useListContext(); const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); + reset() + refresh(); } }; + + const reset = () => { + setFormData({ + "areaId": null, + "type": null, + 'status': null + }) + } const handleReset = (e) => { e.preventDefault(); @@ -80,20 +92,34 @@ const handleChange = (value, name) => { setFormData((prevData) => ({ ...prevData, - [name]: ['locType', 'type'].includes(name) ? value : +value + [name]: value })); }; + const removeEmptyKeys = (obj) => { + return _.pickBy(obj, (value) => { + if (_.isObject(value)) { + const newObj = removeEmptyKeys(value); + return !_.isEmpty(newObj); + } + return !_.isNil(value) && (_.isNumber(value) ? value !== 0 : !_.isEmpty(value)); + }); + } + const handleSubmit = async () => { - const res = await request.post(`/loc/init`, formData); + const parmas = { + id: selectedIds, + loc: removeEmptyKeys(formData) + } + + const res = await request.post(`/loc/modify`, parmas); if (res?.data?.code === 200) { - setOpen(false); - refresh(); + handleClose() + } else { notify(res.data.msg); } } - return ( <Dialog open={open} maxWidth="md" fullWidth> @@ -113,7 +139,6 @@ optionText="name" onChange={(value) => handleChange(value, 'areaId')} value={formData.areaId} - validate={[required()]} filterToQuery={(val) => ({ name: val })} /> </ReferenceInput> @@ -122,28 +147,22 @@ <Grid item xs={4}> <DictionarySelect - label={translate("table.field.loc.locType")} - name="locType" - value={formData.locType} - onChange={(e) => handleChange(e.target.value, 'locType')} - size="small" - validate={[required()]} - dictTypeCode="sys_width_type" - /> - </Grid> - - <Grid item xs={4}> - <DictionarySelect label={translate("table.field.loc.type")} name="type" value={formData.type} - onChange={(e) => handleChange(e.target.value, 'type')} + onChange={(e) => handleChange(+e.target.value, 'type')} size="small" - validate={[required()]} dictTypeCode="sys_loc_type" /> </Grid> + <Grid item xs={4}> + <StatusSelectInput + onChange={(e) => handleChange(e.target.value, 'status')} + defaultValue={''} + require={false} + /> + </Grid> </Grid> -- Gitblit v1.9.1