index.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. import PageContent from '@/components/PageContent';
  2. import PageTitle from '@/components/PageTitle';
  3. import { queryConditionSnapshot } from '@/services/SmartOps';
  4. import { history, useParams, useRequest } from '@umijs/max';
  5. import { Button, Col, Row } from 'antd';
  6. import dayjs from 'dayjs';
  7. import { useState } from 'react';
  8. import CircleScore from './components/CircleScore';
  9. import styles from './index.less';
  10. const Work = (props) => {
  11. const { projectId } = useParams();
  12. const [open, setOpen] = useState(false);
  13. const { data, loading } = useRequest(queryConditionSnapshot, {
  14. defaultParams: [{ project_id: projectId }],
  15. initialData: {},
  16. });
  17. return (
  18. <PageContent>
  19. <PageTitle>水厂工况</PageTitle>
  20. <div className="content-title">
  21. <div className={styles.score}>
  22. <CircleScore big>
  23. {data?.score}
  24. <div style={{ fontSize: 24 }}>{data?.grade}</div>
  25. </CircleScore>
  26. <div className={styles.scoreRight}>
  27. <h3>当前运行{data?.grade},可继续优化</h3>
  28. <div className={styles.time}>
  29. {dayjs(data?.clac_time).format('YYYY-MM-DD HH:mm')}
  30. </div>
  31. {data?.score && (
  32. <Button
  33. style={{ marginRight: 20 }}
  34. className={styles.btn}
  35. type="primary"
  36. onClick={() =>
  37. history.push(
  38. `/smart/optimization-tasks/${projectId}?score=${data.score}`,
  39. )
  40. }
  41. >
  42. 优化任务
  43. </Button>
  44. )}
  45. <Button
  46. className={styles.btn}
  47. type="primary"
  48. onClick={() =>
  49. history.push('/smart/condition-detection/' + projectId)
  50. }
  51. >
  52. 工况检测
  53. </Button>
  54. </div>
  55. </div>
  56. <Row gutter={40}>
  57. <Col span={12}>
  58. <div className={styles.card}>
  59. <h3>进水数据</h3>
  60. <ul>
  61. <li>
  62. <i></i>进水量:{data?.fwa}
  63. </li>
  64. <li>
  65. <i></i>进水温度:{data?.ft}
  66. </li>
  67. <li>
  68. <i></i>进水浊度:{data?.ftur}
  69. </li>
  70. <li>
  71. <i></i>进水压力:{data?.fpp}
  72. </li>
  73. {/* 与产水数据对其 */}
  74. <li style={{ visibility: 'hidden' }}>
  75. <i></i>
  76. </li>
  77. </ul>
  78. </div>
  79. </Col>
  80. <Col span={12}>
  81. <div className={styles.card}>
  82. <h3>产水数据</h3>
  83. <ul>
  84. <li>
  85. <i></i>外供水流量:{data?.dwa}
  86. </li>
  87. <li>
  88. <i></i>外供水pH:{data?.dph}
  89. </li>
  90. <li>
  91. <i></i>外供水电导率:{data?.dtds}
  92. </li>
  93. <li>
  94. <i></i>外供水浊度:{data?.dtur}
  95. </li>
  96. <li>
  97. <i></i>外供水余氯:{data?.dsan}
  98. </li>
  99. </ul>
  100. </div>
  101. </Col>
  102. <Col span={12}>
  103. <div className={styles.card}>
  104. <h3>水厂负荷数据</h3>
  105. <ul>
  106. <li>
  107. <i></i>实际处理水量:{data?.fact_water}
  108. </li>
  109. <li>
  110. <i></i>设计处理水量:{data?.devise_water}
  111. </li>
  112. </ul>
  113. </div>
  114. </Col>
  115. <Col span={12}>
  116. <div className={styles.card2}>
  117. <h3>
  118. 成本数据
  119. <div
  120. style={{ marginLeft: 14 }}
  121. onClick={() => setOpen(!open)}
  122. className={`password-eye ${open ? 'open' : ''}`}
  123. ></div>
  124. </h3>
  125. <ul>
  126. <li>
  127. <i></i>吨水药成本:{open ? data?.otc_cost_unit : '*******'}
  128. </li>
  129. <li>
  130. <i></i>吨水电成本:{open ? data?.elec_cost_unit : '*******'}
  131. </li>
  132. </ul>
  133. </div>
  134. </Col>
  135. </Row>
  136. <Row gutter={16}>
  137. <Col span={12}>
  138. <div className={styles.card2}>
  139. <h3>能耗数据</h3>
  140. <ul>
  141. <li>
  142. <i></i>吨水电耗:{data?.elec_unit}
  143. </li>
  144. <li>
  145. <i></i>用电量:{data?.elec}
  146. </li>
  147. </ul>
  148. </div>
  149. </Col>
  150. <Col span={12}>
  151. <div className={styles.card2}>
  152. <h3>药耗数据</h3>
  153. <ul>
  154. <li>
  155. <i></i>吨水药耗:{data?.otc_unit}
  156. </li>
  157. <li>
  158. <i></i>药量:{data?.otc}
  159. </li>
  160. </ul>
  161. </div>
  162. </Col>
  163. </Row>
  164. </div>
  165. </PageContent>
  166. );
  167. };
  168. export default Work;