| | |
| | | // 超时办件列表 |
| | | async function pageQuantity(search, values = {}) { |
| | | global.setSpinning(true); |
| | | 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 }); |
| | | setTimeoutSearch(search); |
| | | try { |
| | | const res = await pageQuantityApi({ ...search, ...values }); |
| | | if (res.type) { |
| | | let data = res.data.content || []; |
| | | let total = res?.data?.totalElements || 0; |
| | | 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" |