#
vincentlu
2026-01-10 c4a0f3d7da5039635ec22341078d304d7012e5a6
zy-acs-flow/src/page/lane/LaneDeleteAllButton.jsx
@@ -1,39 +1,39 @@
import React, { useCallback, useState } from "react";
import DeleteSweepIcon from '@mui/icons-material/DeleteSweep';
import {
    useDataProvider,
    useNotify,
    useRefresh,
    Button as RaButton,
} from 'react-admin';
import ConfirmButton from "../components/ConfirmButton";
import request from '@/utils/request';
const LaneDeleteAllButton = () => {
    const dataProvider = useDataProvider();
    const notify = useNotify();
    const refresh = useRefresh();
    const [loading, setLoading] = useState(false);
    const handleConfirm = useCallback(() => {
    const handleDeleteAll = useCallback(() => {
        setLoading(true);
        dataProvider.delete('lane', {
            id: '__purge_all__',
            meta: { deleteAll: true },
        }).then(() => {
            notify('page.lane.actions.deleteAllSuccess', { type: 'info' });
            refresh();
        }).catch((error) => {
            console.error(error);
            notify('page.lane.actions.deleteAllError', { type: 'error' });
        request.post("/lane/remove/all").then(res => {
            const { code, msg, data } = res.data;
            if (code === 200) {
                notify(msg || 'common.response.success', { type: 'success', messageArgs: { _: msg } });
                refresh();
            } else {
                notify(msg || 'common.response.fail', { type: 'error', messageArgs: { _: msg } });
            }
        }).catch(error => {
            notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
        }).finally(() => {
            setLoading(false);
        });
    }, [dataProvider, notify, refresh]);
    }, [notify, refresh]);
    return (
        <ConfirmButton
            label="page.lane.actions.deleteAll"
            onConfirm={handleConfirm}
            onConfirm={handleDeleteAll}
            disabled={loading}
            renderButton={({ buttonProps }) => (
                <RaButton