123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import { Table, Tooltip } from 'antd';
- import { useMemo } from 'react';
- import { current, indicators } from './mock';
- import styles from '../OptimizationTasks.less';
- // import styles from './WorkConditionAssessment.less';
- /**
- * 评估报告组件
- * @param {boolean} isAbnormal - 是否存在异常情况
- * @param {object} compareData - 同比环比数据
- * @param {number} compareData.lastPeriod - 上期同比数据(百分比)
- * @param {number} compareData.lastYear - 去年同期同比数据(百分比)
- * @param {string} optimizationSuggestions - 优化建议
- */
- const EvaluationReport = (props) => {
- const { dataKey } = props;
- const dataSource = useMemo(() => {
- let data = current[dataKey];
- let dataSource = indicators[dataKey]
- .filter((item) => item.delta !== false)
- .map((item) => {
- let key = item.value;
- let realTimeData = data['realTimeData'][key];
- let forecastData = data['forecastData'][key];
- return {
- indicator: item.label,
- delta1: (
- ((forecastData - realTimeData) / forecastData) *
- 100
- ).toFixed(2),
- };
- });
- let error = { color: '#f5222d' },
- success = { color: '#7cb305' };
- if (dataKey == 'allProject') {
- dataSource.push({
- indicator: '总结',
- delta1: (
- <div>
- 【2024年1月】 <span style={error}>异常</span>
- <br />
- (1)生产安全评估: <span style={success}>正常</span>
- <br />
- 达标率、产水量实时工况与仿真、最优和标准工况对比皆在偏差范围内,正常
- <br />
- <br />
- (2)经济评估:<span style={error}>异常</span>
- <br />
- 电耗实时工况与仿真工况对比,偏差为1.89,预计比仿真多消耗21269kWh,系统判断预计下一阶段会持续增加
- </div>
- ),
- });
- dataSource.push({
- indicator: '优化建议',
- delta1: <div>根据上述结论,为减少电耗,建议检查膜车间工艺段</div>,
- });
- } else {
- dataSource.push({
- indicator: '总结',
- delta1: (
- <div>
- (1)生产安全评估: <span style={error}>异常</span>
- <br />
- 膜阻力、TMP实时工况与标准工况对比偏差偏大;与最优工况对比膜阻力有偏离;与预测工况对比,膜阻力、TMP会持续增加
- <br />
- <br />
- (2)经济评估:<span style={success}>正常</span>
- <br />
- 处理水量此时为正常,系统判断下一阶段随着膜阻力、TMP增加会影响产水量
- </div>
- ),
- });
- dataSource.push({
- indicator: '优化建议',
- delta1: (
- <div>
- 根据上述结论,为保证产水量,需要增加膜的反冲洗频次和清洗强度。
- </div>
- ),
- });
- }
- return dataSource;
- }, []);
- const columns = [
- {
- title: '指标',
- dataIndex: 'indicator',
- key: 'indicator',
- width: 200,
- },
- {
- title: (
- <Tooltip
- title="(预测 - 实际) / 预测 * 100"
- // overlayClassName={styles.toolTip}
- >
- Δ1
- {/* <Icon type="info-circle" /> */}
- </Tooltip>
- ),
- dataIndex: 'delta1',
- key: 'delta1',
- render: (text, row, index) => {
- if (index < dataSource.length - 2) {
- return text;
- }
- return {
- children: text,
- props: {
- colSpan: 3,
- },
- };
- },
- },
- ];
- // return null
- return (
- <div className={styles.pageCard}>
- <h3 className={styles.title} style={{ justifyContent: 'space-between' }}>
- <div>
- <i />
- 评估报告
- </div>
- </h3>
- <div style={{ fontSize: 18, color: '#fff' }}>
- <Table columns={columns} dataSource={dataSource} pagination={false} />
- </div>
- </div>
- );
- };
- export default EvaluationReport;
|