diff --git a/src/components/olmap/SCADADeviceList.tsx b/src/components/olmap/SCADADeviceList.tsx index 8c327ef..6a9b14e 100644 --- a/src/components/olmap/SCADADeviceList.tsx +++ b/src/components/olmap/SCADADeviceList.tsx @@ -146,6 +146,7 @@ const SCADADeviceList: React.FC = ({ ); const [cleanEndTime, setCleanEndTime] = useState(() => dayjs()); const [timeRangeError, setTimeRangeError] = useState(""); + const [isCleaning, setIsCleaning] = useState(false); // 防抖更新搜索查询 const debouncedSetSearchQuery = useCallback((value: string) => { @@ -602,6 +603,8 @@ const SCADADeviceList: React.FC = ({ return; } + setIsCleaning(true); + try { const startTime = dayjs(cleanStartTime).toISOString(); const endTime = dayjs(cleanEndTime).toISOString(); @@ -624,6 +627,7 @@ const SCADADeviceList: React.FC = ({ } else { throw new Error(response.data?.message || "清洗失败"); } + setIsCleaning(false); } catch (err: any) { console.error("[SCADADeviceList] 数据清洗失败:", err); open?.({ @@ -631,6 +635,7 @@ const SCADADeviceList: React.FC = ({ message: "数据清洗失败", description: err.response?.data?.message || err.message || "未知错误", }); + setIsCleaning(false); } handleCleanDialogClose(); @@ -1272,7 +1277,7 @@ const SCADADeviceList: React.FC = ({ variant="contained" color="secondary" onClick={handleConfirmClean} - disabled={!!timeRangeError} + disabled={!!timeRangeError || isCleaning} startIcon={} > 确认清洗