广州市综治平台前端
xusd
2 days ago b4725b231cfe2a710288e8bd0b1b9d990989f90c
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)
    }
  }