index.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import PageContent from '@/components/PageContent';
  2. import { queryDailyWorkReport } from '@/services/user';
  3. import { LeftOutlined } from '@ant-design/icons';
  4. import { useParams, useRequest } from '@umijs/max';
  5. import { Spin } from 'antd';
  6. import dayjs from 'dayjs';
  7. import styles from './index.less';
  8. const SystemDaily = (props) => {
  9. const { projectId } = useParams();
  10. const { data = {}, loading } = useRequest(queryDailyWorkReport, {
  11. defaultParams: [projectId],
  12. onSuccess: (res) => {
  13. const data = res.data;
  14. const result = {
  15. ...data,
  16. task_percent:
  17. data.push_task !== 0 ? data.push_complete_task / data.push_task : 0,
  18. work_percent:
  19. data.work_order_task !== 0
  20. ? data.work_order_complete_task / data.work_order_task
  21. : 0,
  22. };
  23. return result;
  24. },
  25. });
  26. const {
  27. automatic_task = 0,
  28. push_optimize_task = 0,
  29. self_inspection_task = 0,
  30. self_inspection_normal_task = 0,
  31. self_inspection_abnormal_task = 0,
  32. push_task = 0,
  33. task_percent = 0,
  34. work_order_task = 0,
  35. work_percent = 0,
  36. user_name = '',
  37. user_name_count = 0,
  38. } = data;
  39. const handleOnClick = () => {
  40. history.back();
  41. };
  42. return (
  43. <PageContent closeable={false}>
  44. <Spin spinning={loading}>
  45. <div className={styles.titleContent}>
  46. <div className={styles.title}>
  47. <LeftOutlined
  48. onClick={handleOnClick}
  49. style={{ fontSize: 36, cursor: 'pointer', marginRight: '20px' }}
  50. />
  51. 系统工作日报
  52. </div>
  53. <div className={styles.time}>{dayjs().format('MM月DD日')}</div>
  54. </div>
  55. <div className={styles.content}>
  56. <div className={styles.text}>
  57. 执行自控指令次数:{automatic_task}次
  58. </div>
  59. <div className={styles.text}>
  60. 推送优化建议:{push_optimize_task}条
  61. </div>
  62. <div className={styles.text}>
  63. 系统自检次数:{self_inspection_task}条
  64. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;正常次数:
  65. {self_inspection_normal_task}条
  66. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;异常次数:
  67. {self_inspection_abnormal_task}条
  68. </div>
  69. <div className={styles.text}>
  70. 推送任务:{push_task}条&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  71. 任务完成率:{task_percent}%
  72. </div>
  73. <div className={styles.text}>
  74. 工单数量:{work_order_task}条
  75. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;工单完成率:
  76. {work_percent}%
  77. </div>
  78. <div className={styles.text}>
  79. 工单完成人员第一名:{user_name}完成{user_name_count}个工单
  80. </div>
  81. </div>
  82. </Spin>
  83. </PageContent>
  84. );
  85. };
  86. export default SystemDaily;