| | |
| | | const [form] = Form.useForm(); |
| | | |
| | | // tab切换 |
| | | const [tabKey, setTabKey] = useState('1'); |
| | | const [tabKey, setTabKey] = useState('2'); |
| | | |
| | | // 列表、统计图切换 |
| | | const [radioData, setRadioData] = useState({ radio1: '1', select1: '1', radio2: '1', tab2: '4', radio3: '1', select3: '1' }); |
| | |
| | | // 超时办件列表 |
| | | 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); |
| | | } |
| | | } |
| | | |
| | |
| | | sort.column?.dataIndex === 'timeLimit' |
| | | ? '2' |
| | | : sort.column?.dataIndex === 'turnaroundTime' |
| | | ? '1' |
| | | : sort.column?.dataIndex === 'caseGrade' |
| | | ? '3' |
| | | : sort.column?.dataIndex === 'superviseCount' |
| | | ? '4' |
| | | : ''; |
| | | ? '1' |
| | | : sort.column?.dataIndex === 'caseGrade' |
| | | ? '3' |
| | | : sort.column?.dataIndex === 'superviseCount' |
| | | ? '4' |
| | | : ''; |
| | | let sortType = sort.order == 'descend' ? 2 : 1; //1:正序;2:倒序 |
| | | pageQuantity({ ...timeoutSearch, page, size: pageSize, sortType, sortColmn }, search); |
| | | // sortType: 2, sortColmn: 1, queryType: '4', page: 1, size: 10 |
| | |
| | | }, |
| | | }, |
| | | { |
| | | 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>; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | (params.caseStatus === 0 |
| | | ? '总登记' |
| | | : params.caseStatus === 1 |
| | | ? '自行受理' |
| | | : params.caseStatus === 2 |
| | | ? '流转受理' |
| | | : params.caseStatus === 3 |
| | | ? '流转中' |
| | | : params.caseStatus === 4 |
| | | ? '不予受理' |
| | | : '') + |
| | | ? '自行受理' |
| | | : params.caseStatus === 2 |
| | | ? '流转受理' |
| | | : params.caseStatus === 3 |
| | | ? '流转中' |
| | | : params.caseStatus === 4 |
| | | ? '不予受理' |
| | | : '') + |
| | | ')', |
| | | tableData: res.data?.content || [], // 接口返回的列表数据 |
| | | total: res.data?.totalElements || 0, |
| | |
| | | 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(); |
| | |
| | | <Row gutter={32}> |
| | | <Col span={8}> |
| | | <div |
| | | className={`workEfficiency-tab-title ${tabKey === '1' ? 'workEfficiency-tab-title-active' : ''}`} |
| | | onClick={() => tabsOnchange('1')} |
| | | > |
| | | <div className="workEfficiency-tab-img-box"> |
| | | <img className="workEfficiency-tab-img" src={workEfficiency_3} alt="" srcset="" /> |
| | | </div> |
| | | <div>办件时长</div> |
| | | </div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div |
| | | className={`workEfficiency-tab-title ${tabKey === '2' ? 'workEfficiency-tab-title-active' : ''}`} |
| | | onClick={() => tabsOnchange('2')} |
| | | > |
| | |
| | | <img className="workEfficiency-tab-img" src={workEfficiency_4} alt="" srcset="" /> |
| | | </div> |
| | | <div>超时办件</div> |
| | | </div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div |
| | | className={`workEfficiency-tab-title ${tabKey === '1' ? 'workEfficiency-tab-title-active' : ''}`} |
| | | onClick={() => tabsOnchange('1')} |
| | | > |
| | | <div className="workEfficiency-tab-img-box"> |
| | | <img className="workEfficiency-tab-img" src={workEfficiency_3} alt="" srcset="" /> |
| | | </div> |
| | | <div>办件时长</div> |
| | | </div> |
| | | </Col> |
| | | <Col span={8}> |
| | |
| | | sorter?.column?.dataIndex === 'fp' |
| | | ? '1' |
| | | : sorter?.column?.dataIndex === 'sl' |
| | | ? '2' |
| | | : sorter?.column?.dataIndex === 'blz' |
| | | ? '3' |
| | | : sorter?.column?.dataIndex === 'sp' |
| | | ? '4' |
| | | : sorter?.column?.dataIndex === 'db' |
| | | ? '5' |
| | | : ''; |
| | | ? '2' |
| | | : sorter?.column?.dataIndex === 'blz' |
| | | ? '3' |
| | | : sorter?.column?.dataIndex === 'sp' |
| | | ? '4' |
| | | : sorter?.column?.dataIndex === 'db' |
| | | ? '5' |
| | | : ''; |
| | | AvgDurationGroup({ sortType, sortColmn }, search); |
| | | }} |
| | | dataSource={doData} |
| | |
| | | radioData.select1 === '1' |
| | | ? i.fp |
| | | : radioData.select1 === '2' |
| | | ? i.sl |
| | | : radioData.select1 === '3' |
| | | ? i.blz |
| | | : radioData.select1 === '4' |
| | | ? i.sp |
| | | : radioData.select1 === '5' |
| | | ? i.db |
| | | : '' |
| | | ? i.sl |
| | | : radioData.select1 === '3' |
| | | ? i.blz |
| | | : radioData.select1 === '4' |
| | | ? i.sp |
| | | : radioData.select1 === '5' |
| | | ? i.db |
| | | : '' |
| | | ) || [] |
| | | } |
| | | dataAxis={doChartsData?.map((i) => i.groupName) || []} |
| | |
| | | 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" |
| | |
| | | sorter?.column?.dataIndex === 'lzl' |
| | | ? '1' |
| | | : sorter?.column?.dataIndex === 'zdj' |
| | | ? '2' |
| | | : sorter?.column?.dataIndex === 'zxsl' |
| | | ? '3' |
| | | : sorter?.column?.dataIndex === 'lzsl' |
| | | ? '4' |
| | | : sorter?.column?.dataIndex === 'lzz' |
| | | ? '5' |
| | | : sorter?.column?.dataIndex === 'bysl' |
| | | ? '6' |
| | | : ''; |
| | | ? '2' |
| | | : sorter?.column?.dataIndex === 'zxsl' |
| | | ? '3' |
| | | : sorter?.column?.dataIndex === 'lzsl' |
| | | ? '4' |
| | | : sorter?.column?.dataIndex === 'lzz' |
| | | ? '5' |
| | | : sorter?.column?.dataIndex === 'bysl' |
| | | ? '6' |
| | | : ''; |
| | | statisticsCirculation({ sortType, sortColmn }, search); |
| | | }} |
| | | direction="暂无历史记录" |
| | |
| | | radioData.select3 === '1' |
| | | ? i.lzl |
| | | : radioData.select3 === '2' |
| | | ? i.zdj |
| | | : radioData.select3 === '3' |
| | | ? i.zxsl |
| | | : radioData.select3 === '4' |
| | | ? i.lzsl |
| | | : radioData.select3 === '5' |
| | | ? i.lzz |
| | | : radioData.select3 === '6' |
| | | ? i.bysl |
| | | : '' |
| | | ? i.zdj |
| | | : radioData.select3 === '3' |
| | | ? i.zxsl |
| | | : radioData.select3 === '4' |
| | | ? i.lzsl |
| | | : radioData.select3 === '5' |
| | | ? i.lzz |
| | | : radioData.select3 === '6' |
| | | ? i.bysl |
| | | : '' |
| | | ) || [] |
| | | } |
| | | dataAxis={circulationChartsData?.filter((i) => i.groupName !== '平均值')?.map((i) => i.groupName) || []} |