From e5ff577d91179d9f0ae1f689d182bb2e0465fca1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 08 十一月 2024 13:48:12 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/loc/BulkUpdateButton.jsx | 95 ++++++++++++++++++++++++----------------------- 1 files changed, 48 insertions(+), 47 deletions(-) diff --git a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx b/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx index bfe5f0e..0bb42eb 100644 --- a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx +++ b/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx @@ -21,17 +21,19 @@ const BulkUpdateButton = ({ resource, label = 'ra.action.update', ...rest }) => { const [open, setOpen] = useState(false); - const [formData, setFormData] = useState({}); const refresh = useRefresh(); const notify = useNotify(); const translate = useTranslate(); const unselectAll = useUnselectAll(resource); - const { selectedIds, onUnselectItems } = useListContext(); + const { selectedIds } = useListContext(); + + const handleOpen = () => setOpen(true); + const handleClose = () => setOpen(false); const [updateMany, { loading }] = useUpdateMany( resource, - { ids: selectedIds, data: formData }, + { ids: selectedIds, data: {} }, { onSuccess: () => { setOpen(false); @@ -45,29 +47,28 @@ } ); - const handleOpen = () => setOpen(true); - const handleClose = () => setOpen(false); - - const handleChange = (e) => { - const { name, value } = e.target; - setFormData({ - ...formData, - [name]: value, - }); - }; - - const handleSubmit = () => { - console.log(formData); - updateMany(); + const handleSubmit = (data) => { + const filteredData = Object.fromEntries( + Object.entries(data).filter(([key, value]) => value !== null && value !== undefined) + ); + delete filteredData['memoWrap']; + if (Object.keys(filteredData).length > 0) { + console.log(filteredData); + updateMany({ + data: filteredData, + }); + } else { + notify('common.response.fail', { type: 'warning' }); + } }; return ( <> <RaButton onClick={handleOpen} startIcon={<UpdateIcon />} label={label} /> <Dialog open={open} onClose={handleClose}> - <DialogTitle>{translate('ra.action.update')}</DialogTitle> - <DialogContent> - <Form> + <Form onSubmit={handleSubmit}> + <DialogTitle>{translate('ra.action.update')}</DialogTitle> + <DialogContent> <Grid container rowSpacing={2} columnSpacing={2}> <Grid item xs={6} display="flex" gap={1}> <ReferenceInput @@ -105,33 +106,33 @@ </Stack> </Grid> </Grid> - </Form> - </DialogContent> - <Divider sx={{ mb: 1 }} /> - <DialogActions sx={{ mb: 1 }}> - <RaButton - onClick={handleClose} - variant="contained" - color="inherit" - size='large' - label='ra.action.cancel' - sx={{ mr: 1 }} - > - <CloseIcon /> - </RaButton> - <RaButton - onClick={handleSubmit} - variant="contained" - color="primary" - size='large' - label='ra.action.save' - disabled={loading} - sx={{ mr: 1 }} - > - <ContentSave /> - </RaButton> - </DialogActions> - </Dialog> + </DialogContent> + <Divider sx={{ mb: 1 }} /> + <DialogActions sx={{ mb: 1 }}> + <RaButton + onClick={handleClose} + variant="contained" + color="inherit" + size='large' + label='ra.action.cancel' + sx={{ mr: 1 }} + > + <CloseIcon /> + </RaButton> + <RaButton + type="submit" + variant="contained" + color="primary" + size='large' + label='ra.action.save' + disabled={loading} + sx={{ mr: 1 }} + > + <ContentSave /> + </RaButton> + </DialogActions> + </Form> + </Dialog > </> ); }; -- Gitblit v1.9.1