From d4f8d26f81eb8812651b52e71301b92f5ad5ad0c Mon Sep 17 00:00:00 2001 From: JIANG Date: Mon, 22 Dec 2025 11:27:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=85=A8=E9=83=A8=E6=B8=85=E6=B4=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B8=85=E6=B4=97=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/olmap/SCADADeviceList.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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={} > 确认清洗