From 9cbfaa22c35822e4f2f985907fce5da4c9ef7ac9 Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Tue, 24 Jun 2025 17:30:07 +0800 Subject: [PATCH] fix:超时办件优化 --- src/views/workEfficiency/component/TimeoutDialog.jsx | 53 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/views/workEfficiency/component/TimeoutDialog.jsx b/src/views/workEfficiency/component/TimeoutDialog.jsx index 0d788a0..09f51a7 100644 --- a/src/views/workEfficiency/component/TimeoutDialog.jsx +++ b/src/views/workEfficiency/component/TimeoutDialog.jsx @@ -211,23 +211,56 @@ caseId: '', type: 0, }) + const [isResetting, setIsResetting] = useState(false); // 添加重置标志位 useEffect(() => { - getTableData() + if (!isResetting) { + getTableData() + } }, [searchData]) + + // 监听timeoutKey变化,重置数据 + useEffect(() => { + setIsResetting(true); // 开始重置 + // 重置表格数据 + setTableData([]); + setTotal(0); + // 重置搜索条件 + setSearchData({ + page: 1, + size: 10, + sortType: 2, + sortColmn: 1, + }); + // 重置表单 + form.resetFields(); + // 重置选择状态 + setSelectedRowKeys([]); + setSelectedRows([]); + + // 延迟重置标志位,确保重置完成后再允许API调用 + setTimeout(() => { + setIsResetting(false); + }, 100); + }, [props.timeoutKey]); //获取表格数据 const getTableData = async () => { setLoading(true) - const res = await getTable({ - ...searchData, - queryType: dialogTypeMap[props.timeoutKey], - ...props.search, - }) - if (res.type) { - const { data } = res - setTableData(data?.content) - setTotal(data.totalElements) + try { + const res = await getTable({ + ...searchData, + queryType: dialogTypeMap[props.timeoutKey], + ...props.search, + }) + if (res.type) { + const { data } = res + setTableData(data?.content) + setTotal(data.totalElements) + } + } catch (error) { + console.error('获取表格数据失败:', error) + } finally { setLoading(false) } } -- Gitblit v1.8.0