| | |
| | | }, |
| | | ]; |
| | | |
| | | // 是否 |
| | | const isOrNot = [ |
| | | { |
| | | value: '1', |
| | | label: '是', |
| | | }, |
| | | { |
| | | value: '0', |
| | | label: '否', |
| | | }, |
| | | ]; |
| | | |
| | | // VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 暂时用不到,防止以后会用的,先保留 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV |
| | | |
| | | // 调解类型 |
| | |
| | | resultList, |
| | | rmtjList, |
| | | inputWay, |
| | | isOrNot, |
| | | }; |
| | | |
| | | export default obj; |
| | |
| | | caseId: '', |
| | | type: 0, |
| | | }) |
| | | const [isResetting, setIsResetting] = useState(false); // 添加重置标志位 |
| | | |
| | | useEffect(() => { |
| | | 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) |
| | | try { |
| | | const res = await getTable({ |
| | | ...searchData, |
| | | queryType: dialogTypeMap[props.timeoutKey], |
| | |
| | | const { data } = res |
| | | setTableData(data?.content) |
| | | setTotal(data.totalElements) |
| | | } |
| | | } catch (error) { |
| | | console.error('获取表格数据失败:', error) |
| | | } finally { |
| | | setLoading(false) |
| | | } |
| | | } |
| | |
| | | // 超时办件列表 |
| | | async function pageQuantity(search, values = {}) { |
| | | global.setSpinning(true); |
| | | try { |
| | | const res = await pageQuantityApi({ ...search, ...values }); |
| | | global.setSpinning(false); |
| | | if (res.type) { |
| | | let data = res.data.content || []; |
| | | let total = res?.data?.totalElements || 0; |
| | | setTableData({ list: data, total }); |
| | | setTableData({ |
| | | list: data, |
| | | total, |
| | | page: search.page || 1, |
| | | size: search.size || 10 |
| | | }); |
| | | setTimeoutSearch(search); |
| | | } else { |
| | | // API调用失败时,确保数据状态正确 |
| | | setTableData({ |
| | | list: [], |
| | | total: 0, |
| | | page: search.page || 1, |
| | | size: search.size || 10 |
| | | }); |
| | | } |
| | | } catch (error) { |
| | | console.error('获取超时办件列表失败:', error); |
| | | // 异常时,确保数据状态正确 |
| | | setTableData({ |
| | | list: [], |
| | | total: 0, |
| | | page: search.page || 1, |
| | | size: search.size || 10 |
| | | }); |
| | | } finally { |
| | | global.setSpinning(false); |
| | | } |
| | | } |
| | | |
| | |
| | | }, |
| | | }, |
| | | { |
| | | title: '任务节点', |
| | | dataIndex: 'nodeName', |
| | | width: 150, |
| | | sorter: true, |
| | | sortNumber: 1, //设置这个传给后端的 |
| | | }, |
| | | { |
| | | title: '处理时限', |
| | | dataIndex: 'timeLimit', |
| | | defaultSortOrder: 'descend', |
| | |
| | | {`超${$$.formatHoursToDaysAndHours(text)}`} |
| | | </div> |
| | | ); |
| | | }, |
| | | }, |
| | | { |
| | | title: '是否处理', |
| | | dataIndex: 'taskStatus', |
| | | width: 80, |
| | | render: (text) => { |
| | | return <span>{text === 1 ? '是' : '否'}</span>; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | treedata: $$.caseTypeSelect.caseTypeSelect, |
| | | }, |
| | | { type: 'Select', name: 'canal', label: '事项来源', placeholder: '请选择', span: 8, selectdata: $$.options.caseCanal }, |
| | | { type: 'Select', name: 'taskStatus', label: '任务是否处理', placeholder: '请选择', span: 8, selectdata: $$.options.isOrNot }, |
| | | ]} |
| | | handleReset={() => { |
| | | form.resetFields(); |
| | |
| | | activeKey={radioData.tab2} |
| | | onChange={(v) => { |
| | | setRadioData({ ...radioData, tab2: v }); |
| | | pageQuantity({ ...timeoutSearch, queryType: v }, search); |
| | | // 立即清空数据,确保TableView显示清空状态 |
| | | setTableData({ list: [], total: 0, page: 1, size: 10 }); |
| | | // 重置分页状态,避免列表内容重复 |
| | | const resetSearch = { |
| | | ...timeoutSearch, |
| | | queryType: v, |
| | | page: 1 |
| | | }; |
| | | pageQuantity(resetSearch, search); |
| | | listTimeOutTaskGroup({ queryType: v }, search); |
| | | }} |
| | | /> |
| | |
| | | <div> |
| | | {radioData.radio2 === '1' && ( |
| | | <TableView |
| | | key={`timeout-table-${radioData.tab2}`} // 添加key强制重新渲染 |
| | | columns={fxColumns} |
| | | dataSource={tableData.list} |
| | | size="small" |