index.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import PageContent from '@/components/PageContent';
  2. import PageTitle from '@/components/PageTitle';
  3. import ScrollLoading from '@/components/ScrollLoading';
  4. import { GetTokenFromUrl, UnityAction } from '@/utils/utils';
  5. import { connect, history, useParams } from '@umijs/max';
  6. import dayjs from 'dayjs';
  7. import { useEffect, useState } from 'react';
  8. import styles from './index.less';
  9. function List(props) {
  10. const { loading, processList = [], dispatch } = props;
  11. const { projectId } = useParams();
  12. const [list, setList] = useState([]);
  13. const [curPagination, setCurPagination] = useState({
  14. pageSize: 50,
  15. currentPage: 1,
  16. });
  17. const defaultParam = {
  18. projectId: projectId,
  19. auto: 1,
  20. startDate: dayjs().subtract(10, 'day').format('YYYY-MM-DD 00:00:00'),
  21. endDate: dayjs().format('YYYY-MM-DD 23:59:59'),
  22. pageSize: 50,
  23. currentPage: 1,
  24. };
  25. const goToDetail = (record) => {
  26. UnityAction.sendMsg('reportDetail', '');
  27. history.push(
  28. `/self-inspection/detail/${projectId}/${
  29. record.Id
  30. }?JWT-TOKEN=${GetTokenFromUrl()}&eTime=${record.CreatedTime}`,
  31. );
  32. };
  33. useEffect(() => {
  34. queryData(1);
  35. }, []);
  36. const queryData = (currentPage) => {
  37. const params = { ...defaultParam, currentPage };
  38. dispatch({
  39. type: 'patrolArtificialRecord/queryPatrol',
  40. payload: params,
  41. callback: (data) => {
  42. setList([...list, ...data.list]);
  43. setCurPagination(data.pagination);
  44. },
  45. });
  46. };
  47. return (
  48. <PageContent closeable={false}>
  49. <PageTitle returnable>自检记录</PageTitle>
  50. <ScrollLoading
  51. loading={loading}
  52. pagination={curPagination}
  53. handleLoadData={queryData}
  54. >
  55. <div>
  56. {list.map((item) => (
  57. <div className={styles.item} onClick={() => goToDetail(item)}>
  58. {item.Status == 0 ? (
  59. <div className={`${styles.status}`}>正常</div>
  60. ) : (
  61. <div className={`${styles.status} ${styles.statusError}`}>
  62. 异常
  63. </div>
  64. )}
  65. <div className={styles.info}>
  66. <div className={styles.time}>
  67. <i></i>自检时间:
  68. {dayjs(item.CreatedTime).format('MM-DD HH:mm')}
  69. </div>
  70. <div className={styles.desc}>
  71. <i></i>
  72. 发现异常
  73. <span className={styles.number}>{item.Status}</span>
  74. <span>项</span>
  75. </div>
  76. </div>
  77. <div className={styles.btn}></div>
  78. </div>
  79. ))}
  80. </div>
  81. </ScrollLoading>
  82. </PageContent>
  83. );
  84. }
  85. export default connect(({ patrolArtificialRecord, loading }) => ({
  86. routeInfoList: patrolArtificialRecord.routeInfoList,
  87. loading: loading.models.patrolArtificialRecord,
  88. processList: patrolArtificialRecord.processList,
  89. }))(List);