广州市综治平台前端
xusd
54 mins ago 55fe568e028bd396fea4a5b46b4bfec6af354f80
src/views/workEfficiency/index.jsx
@@ -212,7 +212,7 @@
   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' });
@@ -295,13 +295,38 @@
   // 超时办件列表
   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);
      }
   }
@@ -502,12 +527,12 @@
         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
@@ -525,6 +550,13 @@
         },
      },
      {
         title: '任务节点',
         dataIndex: 'nodeName',
         width: 150,
         sorter: true,
         sortNumber: 1, //设置这个传给后端的
      },
      {
         title: '处理时限',
         dataIndex: 'timeLimit',
         defaultSortOrder: 'descend',
@@ -537,6 +569,14 @@
                  {`超${$$.formatHoursToDaysAndHours(text)}`}
               </div>
            );
         },
      },
      {
         title: '是否处理',
         dataIndex: 'taskStatus',
         width: 80,
         render: (text) => {
            return <span>{text === 1 ? '是' : '否'}</span>;
         },
      },
      {
@@ -694,14 +734,14 @@
               (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,
@@ -753,6 +793,7 @@
                           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();
@@ -790,17 +831,6 @@
                  <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')}
                        >
@@ -808,6 +838,17 @@
                              <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}>
@@ -994,14 +1035,14 @@
                                          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}
@@ -1079,14 +1120,14 @@
                                                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) || []}
@@ -1112,7 +1153,15 @@
                           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);
                           }}
                        />
@@ -1132,6 +1181,7 @@
                     <div>
                        {radioData.radio2 === '1' && (
                           <TableView
                              key={`timeout-table-${radioData.tab2}`} // 添加key强制重新渲染
                              columns={fxColumns}
                              dataSource={tableData.list}
                              size="small"
@@ -1316,16 +1366,16 @@
                                    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="暂无历史记录"
@@ -1394,16 +1444,16 @@
                                             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) || []}