|
@@ -1,7 +1,7 @@
|
|
|
import ModuleTitle from '@/components/ManagementPage/moduleTitle';
|
|
|
import { queryWorkReport } from '@/services/smartReport';
|
|
|
import { useNavigate, useParams, useRequest } from '@umijs/max';
|
|
|
-import { ConfigProvider, DatePicker, Select } from 'antd';
|
|
|
+import { ConfigProvider, DatePicker, Select, Spin } from 'antd';
|
|
|
import zhCN from 'antd/es/locale/zh_CN';
|
|
|
import dayjs from 'dayjs';
|
|
|
import * as echarts from 'echarts';
|
|
@@ -17,7 +17,7 @@ const SmartReport = () => {
|
|
|
|
|
|
const [showRange, setShowRange] = useState(false);
|
|
|
const [date, setDate] = useState({
|
|
|
- stime: dayjs().subtract('week', 1).format(FORMAT),
|
|
|
+ stime: dayjs().subtract(1, 'week').format(FORMAT),
|
|
|
etime: dayjs().format(FORMAT),
|
|
|
});
|
|
|
|
|
@@ -100,7 +100,11 @@ const SmartReport = () => {
|
|
|
// ],
|
|
|
// };
|
|
|
|
|
|
- const { data = {}, run } = useRequest(
|
|
|
+ const {
|
|
|
+ data = {},
|
|
|
+ run,
|
|
|
+ loading,
|
|
|
+ } = useRequest(
|
|
|
(date) =>
|
|
|
queryWorkReport({
|
|
|
project_id: projectId,
|
|
@@ -265,120 +269,126 @@ const SmartReport = () => {
|
|
|
<div>{showRange && <RangePicker onChange={onChange} />}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div className={styles.box}>
|
|
|
- <div className={styles.left}>概览</div>
|
|
|
- <div className={styles.title}>无锡锡山水厂</div>
|
|
|
- <div className={styles.content}>
|
|
|
- {/* <div className={styles.item}>智慧运营天数:{}天</div>
|
|
|
+ <Spin spinning={loading}>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <div className={styles.left}>概览</div>
|
|
|
+ <div className={styles.title}>无锡锡山水厂</div>
|
|
|
+ <div className={styles.content}>
|
|
|
+ {/* <div className={styles.item}>智慧运营天数:{}天</div>
|
|
|
<div className={styles.item}>智慧运营节省金额:{}元</div> */}
|
|
|
- <div className={styles.item}>累积进水:{in_water}</div>
|
|
|
- <div className={styles.item}>累积出水:{out_water}</div>
|
|
|
- <div className={styles.item}>吨水能耗:{water_electricity}</div>
|
|
|
- <div className={styles.item}>吨水药耗:{water_medicine}元</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 系统自检次数:{self_inspection_task}次
|
|
|
- </div>
|
|
|
- <div className={styles.item}>优化建议: {push_optimize_task}条</div>
|
|
|
- <div className={styles.item}>任务完成:{push_complete_task}个</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 工单完成:{work_order_complete_task}个
|
|
|
+ <div className={styles.item}>累积进水:{in_water}</div>
|
|
|
+ <div className={styles.item}>累积出水:{out_water}</div>
|
|
|
+ <div className={styles.item}>吨水能耗:{water_electricity}</div>
|
|
|
+ <div className={styles.item}>吨水药耗:{water_medicine}元</div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 系统自检次数:{self_inspection_task}次
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 优化建议: {push_optimize_task}条
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 任务完成:{push_complete_task}个
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 工单完成:{work_order_complete_task}个
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>设备维修:{repair_record}个</div>
|
|
|
+ <div className={styles.item}>设备保养:{maintain_record}个</div>
|
|
|
</div>
|
|
|
- <div className={styles.item}>设备维修:{repair_record}个</div>
|
|
|
- <div className={styles.item}>设备保养:{maintain_record}个</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="水量" />
|
|
|
- <div className={styles.content}>
|
|
|
- <div className={styles.item}>累积进水:{in_water}</div>
|
|
|
- <div className={styles.item}>累积出水:{out_water}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="能耗" />
|
|
|
- <div className={styles.content}>
|
|
|
- <div className={styles.item}>吨水能耗:{water_electricity}</div>
|
|
|
- <div className={styles.item}>累积耗能量:{electricity}</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="药耗" />
|
|
|
- <div className={styles.content}>
|
|
|
- <div className={styles.item}>吨水药耗:{water_medicine}</div>
|
|
|
- <div className={styles.item}>累积用药量:{medicine}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="系统自检" />
|
|
|
- <div className={styles.threeContent}>
|
|
|
- <div className={styles.numItem}>
|
|
|
- <div>{self_inspection_task}</div>
|
|
|
- <div>自检次数</div>
|
|
|
- </div>
|
|
|
- <div className={styles.numItem}>
|
|
|
- <div>{self_inspection_abnormal_task}</div>
|
|
|
- <div>异常次数</div>
|
|
|
- </div>
|
|
|
- <div className={styles.numItem}>
|
|
|
- <div>{self_inspection_normal_task}</div>
|
|
|
- <div>正常次数</div>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="水量" />
|
|
|
+ <div className={styles.content}>
|
|
|
+ <div className={styles.item}>累积进水:{in_water}</div>
|
|
|
+ <div className={styles.item}>累积出水:{out_water}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div
|
|
|
- ref={eqDomRef}
|
|
|
- style={{ height: '340px', margin: '10px 0 10px 0' }}
|
|
|
- ></div>
|
|
|
- {/* <div>异常类型统计(设备异常、工艺异常、安全隐患异常)</div> */}
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="智慧运营" />
|
|
|
- <div className={styles.smartText}>
|
|
|
- 优化条数:{push_optimize_task}条
|
|
|
- </div>
|
|
|
- <div
|
|
|
- ref={workScoreDomRef}
|
|
|
- style={{ height: '340px', margin: '10px 0 10px 0' }}
|
|
|
- ></div>
|
|
|
- {/* <div className={styles.smartText}>工况分数统计(折线图)</div> */}
|
|
|
- <div className={styles.smartText}>
|
|
|
- 超滤工况统计(膜寿命、能耗、药耗数据)
|
|
|
- </div>
|
|
|
- <div className={styles.smartText}>
|
|
|
- 反渗透工况统计(膜寿命、能耗、药耗数据)
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="能耗" />
|
|
|
+ <div className={styles.content}>
|
|
|
+ <div className={styles.item}>吨水能耗:{water_electricity}</div>
|
|
|
+ <div className={styles.item}>累积耗能量:{electricity}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="任务工单" />
|
|
|
- <div className={styles.content}>
|
|
|
- <div className={styles.item}>任务数量:{push_task}</div>
|
|
|
- <div className={styles.item}>工单数量:{work_order_task}</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 任务完成数量:{push_complete_task}
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="药耗" />
|
|
|
+ <div className={styles.content}>
|
|
|
+ <div className={styles.item}>吨水药耗:{water_medicine}</div>
|
|
|
+ <div className={styles.item}>累积用药量:{medicine}</div>
|
|
|
</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 工单完成数量:{work_order_complete_task}
|
|
|
+ </div>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="系统自检" />
|
|
|
+ <div className={styles.threeContent}>
|
|
|
+ <div className={styles.numItem}>
|
|
|
+ <div>{self_inspection_task}</div>
|
|
|
+ <div>自检次数</div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.numItem}>
|
|
|
+ <div>{self_inspection_abnormal_task}</div>
|
|
|
+ <div>异常次数</div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.numItem}>
|
|
|
+ <div>{self_inspection_normal_task}</div>
|
|
|
+ <div>正常次数</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 任务完成率:{push_complete_task_per}%
|
|
|
+ <div
|
|
|
+ ref={eqDomRef}
|
|
|
+ style={{ height: '340px', margin: '10px 0 10px 0' }}
|
|
|
+ ></div>
|
|
|
+ {/* <div>异常类型统计(设备异常、工艺异常、安全隐患异常)</div> */}
|
|
|
+ </div>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="智慧运营" />
|
|
|
+ <div className={styles.smartText}>
|
|
|
+ 优化条数:{push_optimize_task}条
|
|
|
</div>
|
|
|
- <div className={styles.item}>
|
|
|
- 工单完成率:{work_order_complete_task_per}%
|
|
|
+ <div
|
|
|
+ ref={workScoreDomRef}
|
|
|
+ style={{ height: '340px', margin: '10px 0 10px 0' }}
|
|
|
+ ></div>
|
|
|
+ {/* <div className={styles.smartText}>工况分数统计(折线图)</div> */}
|
|
|
+ <div className={styles.smartText}>
|
|
|
+ 超滤工况统计(膜寿命、能耗、药耗数据)
|
|
|
</div>
|
|
|
- <div className={styles.item}>
|
|
|
- <div ref={taskDomRef} style={{ height: '300px' }}></div>
|
|
|
+ <div className={styles.smartText}>
|
|
|
+ 反渗透工况统计(膜寿命、能耗、药耗数据)
|
|
|
</div>
|
|
|
- <div className={styles.item}>
|
|
|
- <div ref={workDomRef} style={{ height: '300px' }}></div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="任务工单" />
|
|
|
+ <div className={styles.content}>
|
|
|
+ <div className={styles.item}>任务数量:{push_task}</div>
|
|
|
+ <div className={styles.item}>工单数量:{work_order_task}</div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 任务完成数量:{push_complete_task}
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 工单完成数量:{work_order_complete_task}
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 任务完成率:{push_complete_task_per}%
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ 工单完成率:{work_order_complete_task_per}%
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ <div ref={taskDomRef} style={{ height: '300px' }}></div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.item}>
|
|
|
+ <div ref={workDomRef} style={{ height: '300px' }}></div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div className={styles.box}>
|
|
|
- <ModuleTitle title="设备维修保养" />
|
|
|
- <div className={styles.content}>
|
|
|
- <div className={styles.item}>维修数量:{repair_record}</div>
|
|
|
- <div className={styles.item}>保养数量:{maintain_record}</div>
|
|
|
+ <div className={styles.box}>
|
|
|
+ <ModuleTitle title="设备维修保养" />
|
|
|
+ <div className={styles.content}>
|
|
|
+ <div className={styles.item}>维修数量:{repair_record}</div>
|
|
|
+ <div className={styles.item}>保养数量:{maintain_record}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </Spin>
|
|
|
</div>
|
|
|
</ConfigProvider>
|
|
|
);
|