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