#
luxiaotao1123
2024-11-08 e5ff577d91179d9f0ae1f689d182bb2e0465fca1
#
1个文件已修改
39 ■■■■ 已修改文件
zy-acs-flow/src/page/loc/BulkUpdateButton.jsx 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = (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,
        });
    };
    const handleSubmit = () => {
        console.log(formData);
        updateMany();
        } else {
            notify('common.response.fail', { type: 'warning' });
        }
    };
    return (
        <>
            <RaButton onClick={handleOpen} startIcon={<UpdateIcon />} label={label} />
            <Dialog open={open} onClose={handleClose}>
                <Form onSubmit={handleSubmit}>
                <DialogTitle>{translate('ra.action.update')}</DialogTitle>
                <DialogContent>
                    <Form>
                        <Grid container rowSpacing={2} columnSpacing={2}>
                            <Grid item xs={6} display="flex" gap={1}>
                                <ReferenceInput
@@ -105,7 +106,6 @@
                                </Stack>
                            </Grid>
                        </Grid>
                    </Form>
                </DialogContent>
                <Divider sx={{ mb: 1 }} />
                <DialogActions sx={{ mb: 1 }}>
@@ -120,7 +120,7 @@
                        <CloseIcon />
                    </RaButton>
                    <RaButton
                        onClick={handleSubmit}
                            type="submit"
                        variant="contained"
                        color="primary"
                        size='large'
@@ -131,6 +131,7 @@
                        <ContentSave />
                    </RaButton>
                </DialogActions>
                </Form>
            </Dialog>
        </>
    );