| | |
| | | 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) |
| | | } |
| | | } |