|  | @@ -8,7 +8,7 @@ import {
 | 
											
												
													
														|  |    getRepairRecordList,
 |  |    getRepairRecordList,
 | 
											
												
													
														|  |  } from '@/services/TaskManage';
 |  |  } from '@/services/TaskManage';
 | 
											
												
													
														|  |  import { connect, useLocation, useNavigate, useRequest } from '@umijs/max';
 |  |  import { connect, useLocation, useNavigate, useRequest } from '@umijs/max';
 | 
											
												
													
														|  | -import { Button, Col, Empty, Row, Tabs } from 'antd';
 |  | 
 | 
											
												
													
														|  | 
 |  | +import { Button, Col, Empty, Row, Spin, Tabs } from 'antd';
 | 
											
												
													
														|  |  import dayjs from 'dayjs';
 |  |  import dayjs from 'dayjs';
 | 
											
												
													
														|  |  import { useEffect, useState } from 'react';
 |  |  import { useEffect, useState } from 'react';
 | 
											
												
													
														|  |  import { OrderStatus, OrderType } from '../../constent';
 |  |  import { OrderStatus, OrderType } from '../../constent';
 | 
											
										
											
												
													
														|  | @@ -40,7 +40,8 @@ const WorkOrderList = (props) => {
 | 
											
												
													
														|  |      currentPage: 1,
 |  |      currentPage: 1,
 | 
											
												
													
														|  |      total: 0,
 |  |      total: 0,
 | 
											
												
													
														|  |    });
 |  |    });
 | 
											
												
													
														|  | -  const [workOrderList, setWorkOrderList] = useState(null);
 |  | 
 | 
											
												
													
														|  | 
 |  | +  const [recordList, setRecordList] = useState([]);
 | 
											
												
													
														|  | 
 |  | +  const [workOrderListDOM, setWorkOrderList] = useState(null);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    const goWorkOrderDetail = (order) => {
 |  |    const goWorkOrderDetail = (order) => {
 | 
											
												
													
														|  |      const orderID = order.id || order.Id;
 |  |      const orderID = order.id || order.Id;
 | 
											
										
											
												
													
														|  | @@ -107,8 +108,8 @@ const WorkOrderList = (props) => {
 | 
											
												
													
														|  |      return '-';
 |  |      return '-';
 | 
											
												
													
														|  |    };
 |  |    };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -  const { run: getWorkOrderList } = useRequest(
 |  | 
 | 
											
												
													
														|  | -    (status) => {
 |  | 
 | 
											
												
													
														|  | 
 |  | +  const { run: getWorkOrderList, loading } = useRequest(
 | 
											
												
													
														|  | 
 |  | +    (status, pageInfo) => {
 | 
											
												
													
														|  |        switch (order_type) {
 |  |        switch (order_type) {
 | 
											
												
													
														|  |          case 1:
 |  |          case 1:
 | 
											
												
													
														|  |          case 6:
 |  |          case 6:
 | 
											
										
											
												
													
														|  | @@ -117,25 +118,45 @@ const WorkOrderList = (props) => {
 | 
											
												
													
														|  |              project_id,
 |  |              project_id,
 | 
											
												
													
														|  |              status: status || 0,
 |  |              status: status || 0,
 | 
											
												
													
														|  |              types: order_type === 1 ? 0 : order_type === 6 ? 1 : 2,
 |  |              types: order_type === 1 ? 0 : order_type === 6 ? 1 : 2,
 | 
											
												
													
														|  | 
 |  | +            pageSize: pageInfo?.pageSize || pagination.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: pageInfo?.currentPage || pagination.currentPage,
 | 
											
												
													
														|  |            });
 |  |            });
 | 
											
												
													
														|  |          case 2:
 |  |          case 2:
 | 
											
												
													
														|  |            return getRepairRecordList({
 |  |            return getRepairRecordList({
 | 
											
												
													
														|  |              project_id,
 |  |              project_id,
 | 
											
												
													
														|  |              acceptanceStatus: status || 0,
 |  |              acceptanceStatus: status || 0,
 | 
											
												
													
														|  | 
 |  | +            pageSize: pageInfo?.pageSize || pagination.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: pageInfo?.currentPage || pagination.currentPage,
 | 
											
												
													
														|  |            });
 |  |            });
 | 
											
												
													
														|  |          case 3:
 |  |          case 3:
 | 
											
												
													
														|  | -          return getMaintainRecordList({ project_id, status: status || 0 });
 |  | 
 | 
											
												
													
														|  | 
 |  | +          return getMaintainRecordList({
 | 
											
												
													
														|  | 
 |  | +            project_id,
 | 
											
												
													
														|  | 
 |  | +            status: status || 0,
 | 
											
												
													
														|  | 
 |  | +            pageSize: pageInfo?.pageSize || pagination.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: pageInfo?.currentPage || pagination.currentPage,
 | 
											
												
													
														|  | 
 |  | +          });
 | 
											
												
													
														|  |          case 4:
 |  |          case 4:
 | 
											
												
													
														|  | -          return getPatrolMandateRecord({ project_id, status: status || 0 });
 |  | 
 | 
											
												
													
														|  | 
 |  | +          return getPatrolMandateRecord({
 | 
											
												
													
														|  | 
 |  | +            project_id,
 | 
											
												
													
														|  | 
 |  | +            status: status || 0,
 | 
											
												
													
														|  | 
 |  | +            pageSize: pageInfo?.pageSize || pagination.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: pageInfo?.currentPage || pagination.currentPage,
 | 
											
												
													
														|  | 
 |  | +          });
 | 
											
												
													
														|  |          case 5:
 |  |          case 5:
 | 
											
												
													
														|  | -          return getReagentOrderList({ project_id, status: status || 0 });
 |  | 
 | 
											
												
													
														|  | 
 |  | +          return getReagentOrderList({
 | 
											
												
													
														|  | 
 |  | +            project_id,
 | 
											
												
													
														|  | 
 |  | +            status: status || 0,
 | 
											
												
													
														|  | 
 |  | +            pageSize: pageInfo?.pageSize || pagination.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: pageInfo?.currentPage || pagination.currentPage,
 | 
											
												
													
														|  | 
 |  | +          });
 | 
											
												
													
														|  |        }
 |  |        }
 | 
											
												
													
														|  |      },
 |  |      },
 | 
											
												
													
														|  |      {
 |  |      {
 | 
											
												
													
														|  |        throwOnError: true,
 |  |        throwOnError: true,
 | 
											
												
													
														|  |        formatResult: (result) => {
 |  |        formatResult: (result) => {
 | 
											
												
													
														|  | 
 |  | +        let temp = [];
 | 
											
												
													
														|  |          if (result?.data?.list) {
 |  |          if (result?.data?.list) {
 | 
											
												
													
														|  | -          const temp = result.data.list.map((item) => {
 |  | 
 | 
											
												
													
														|  | 
 |  | +          temp = result.data.list.map((item) => {
 | 
											
												
													
														|  |              return {
 |  |              return {
 | 
											
												
													
														|  |                ...item,
 |  |                ...item,
 | 
											
												
													
														|  |                CreateTime: formatCreateTime(item),
 |  |                CreateTime: formatCreateTime(item),
 | 
											
										
											
												
													
														|  | @@ -167,23 +188,48 @@ const WorkOrderList = (props) => {
 | 
											
												
													
														|  |                }),
 |  |                }),
 | 
											
												
													
														|  |              };
 |  |              };
 | 
											
												
													
														|  |            });
 |  |            });
 | 
											
												
													
														|  | -          renderTabPannal(temp);
 |  | 
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          if (result?.data?.pagination) {
 |  |          if (result?.data?.pagination) {
 | 
											
												
													
														|  | 
 |  | +          const tempPageInfo = {
 | 
											
												
													
														|  | 
 |  | +            pageSize:
 | 
											
												
													
														|  | 
 |  | +              result.data.pagination?.PageSize ||
 | 
											
												
													
														|  | 
 |  | +              result.data.pagination?.pageSize,
 | 
											
												
													
														|  | 
 |  | +            current:
 | 
											
												
													
														|  | 
 |  | +              result.data.pagination?.Current ||
 | 
											
												
													
														|  | 
 |  | +              result.data.pagination?.current,
 | 
											
												
													
														|  | 
 |  | +            total:
 | 
											
												
													
														|  | 
 |  | +              result.data.pagination?.Total || result.data.pagination?.total,
 | 
											
												
													
														|  | 
 |  | +          };
 | 
											
												
													
														|  | 
 |  | +          if (tempPageInfo.current === 1) {
 | 
											
												
													
														|  | 
 |  | +            setRecordList(temp);
 | 
											
												
													
														|  | 
 |  | +          } else {
 | 
											
												
													
														|  | 
 |  | +            setRecordList([...recordList, ...temp]);
 | 
											
												
													
														|  | 
 |  | +          }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +          if ([...recordList, ...temp].length < tempPageInfo.total) {
 | 
											
												
													
														|  | 
 |  | +            tempPageInfo.current++;
 | 
											
												
													
														|  | 
 |  | +          }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |            setPagination({
 |  |            setPagination({
 | 
											
												
													
														|  | -            pageSize: result.data.pagination.PageSize,
 |  | 
 | 
											
												
													
														|  | -            currentPage: result.data.pagination.Current,
 |  | 
 | 
											
												
													
														|  | -            total: result.data.pagination.Total,
 |  | 
 | 
											
												
													
														|  | 
 |  | +            pageSize: tempPageInfo.pageSize,
 | 
											
												
													
														|  | 
 |  | +            currentPage: tempPageInfo.current,
 | 
											
												
													
														|  | 
 |  | +            total: tempPageInfo.total,
 | 
											
												
													
														|  |            });
 |  |            });
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |        },
 |  |        },
 | 
											
												
													
														|  |      },
 |  |      },
 | 
											
												
													
														|  |    );
 |  |    );
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +  useEffect(() => {
 | 
											
												
													
														|  | 
 |  | +    renderTabPannal(recordList);
 | 
											
												
													
														|  | 
 |  | +  }, [recordList]);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |    const onTabChange = (key) => {
 |  |    const onTabChange = (key) => {
 | 
											
												
													
														|  |      setActivedStatus(key);
 |  |      setActivedStatus(key);
 | 
											
												
													
														|  | -    getWorkOrderList(Number(key));
 |  | 
 | 
											
												
													
														|  | 
 |  | +    setRecordList([]);
 | 
											
												
													
														|  | 
 |  | +    setPagination({ pageSize: 20, currentPage: 1, total: 0 });
 | 
											
												
													
														|  | 
 |  | +    getWorkOrderList(Number(key), { pageSize: 20, currentPage: 1, total: 0 });
 | 
											
												
													
														|  |    };
 |  |    };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    return (
 |  |    return (
 | 
											
										
											
												
													
														|  | @@ -201,9 +247,26 @@ const WorkOrderList = (props) => {
 | 
											
												
													
														|  |          {OrderStatus.map((item) => {
 |  |          {OrderStatus.map((item) => {
 | 
											
												
													
														|  |            return (
 |  |            return (
 | 
											
												
													
														|  |              <TabPane tab={item.label} key={String(item.value)}>
 |  |              <TabPane tab={item.label} key={String(item.value)}>
 | 
											
												
													
														|  | -              <div style={{ height: 'calc(100vh - 180px)', overflowY: 'auto' }}>
 |  | 
 | 
											
												
													
														|  | -                {workOrderList}
 |  | 
 | 
											
												
													
														|  | -              </div>
 |  | 
 | 
											
												
													
														|  | 
 |  | +              <Spin spinning={loading}>
 | 
											
												
													
														|  | 
 |  | +                <div
 | 
											
												
													
														|  | 
 |  | +                  style={{ height: 'calc(100vh - 180px)', overflowY: 'auto' }}
 | 
											
												
													
														|  | 
 |  | +                >
 | 
											
												
													
														|  | 
 |  | +                  {workOrderListDOM}
 | 
											
												
													
														|  | 
 |  | +                  <div className={styles.loadMoreBtn}>
 | 
											
												
													
														|  | 
 |  | +                    {recordList.length < pagination.total && (
 | 
											
												
													
														|  | 
 |  | +                      <Button
 | 
											
												
													
														|  | 
 |  | +                        style={{ fontSize: '24px' }}
 | 
											
												
													
														|  | 
 |  | +                        type="link"
 | 
											
												
													
														|  | 
 |  | +                        onClick={() => {
 | 
											
												
													
														|  | 
 |  | +                          getWorkOrderList(activedStatus);
 | 
											
												
													
														|  | 
 |  | +                        }}
 | 
											
												
													
														|  | 
 |  | +                      >
 | 
											
												
													
														|  | 
 |  | +                        加载更多
 | 
											
												
													
														|  | 
 |  | +                      </Button>
 | 
											
												
													
														|  | 
 |  | +                    )}
 | 
											
												
													
														|  | 
 |  | +                  </div>
 | 
											
												
													
														|  | 
 |  | +                </div>
 | 
											
												
													
														|  | 
 |  | +              </Spin>
 | 
											
												
													
														|  |              </TabPane>
 |  |              </TabPane>
 | 
											
												
													
														|  |            );
 |  |            );
 | 
											
												
													
														|  |          })}
 |  |          })}
 |