|  | @@ -12,6 +12,8 @@ import {
 | 
	
		
			
				|  |  |    queryMembraneConditions,
 | 
	
		
			
				|  |  |    queryMembraneList,
 | 
	
		
			
				|  |  |    queryProjectConfig,
 | 
	
		
			
				|  |  | +  queryPump,
 | 
	
		
			
				|  |  | +  queryPumpList,
 | 
	
		
			
				|  |  |  } from '@/services/SmartOps';
 | 
	
		
			
				|  |  |  import { AreaChartOutlined } from '@ant-design/icons';
 | 
	
		
			
				|  |  |  import { useRequest } from '@umijs/max';
 | 
	
	
		
			
				|  | @@ -74,6 +76,48 @@ const TYPE = {
 | 
	
		
			
				|  |  |      device: queryDesignNobList,
 | 
	
		
			
				|  |  |      chart: queryDesignNob,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | +  td_pump_nf: {
 | 
	
		
			
				|  |  | +    name: '纳滤水泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_nf' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_nf' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_uf: {
 | 
	
		
			
				|  |  | +    name: '超滤水泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_uf' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_uf' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_ro: {
 | 
	
		
			
				|  |  | +    // td_pump: {
 | 
	
		
			
				|  |  | +    name: '反渗透水泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_ro' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_ro' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_mf: {
 | 
	
		
			
				|  |  | +    name: '微滤水泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_mf' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_mf' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_nf_drug: {
 | 
	
		
			
				|  |  | +    name: '加药泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_nf_drug' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_nf_drug' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_uf_drug: {
 | 
	
		
			
				|  |  | +    name: '加药泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_uf_drug' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_uf_drug' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_ro_drug: {
 | 
	
		
			
				|  |  | +    // td_pump: {
 | 
	
		
			
				|  |  | +    name: '加药泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_ro_drug' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_ro_drug' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  td_pump_mf_drug: {
 | 
	
		
			
				|  |  | +    name: '加药泵',
 | 
	
		
			
				|  |  | +    device: (params) => queryPumpList({ ...params, stage: 'td_pump_mf_drug' }),
 | 
	
		
			
				|  |  | +    chart: (params) => queryPump({ ...params, stage: 'td_pump_mf_drug' }),
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  const SimulateDetail = (props) => {
 | 
	
		
			
				|  |  |    const { projectId } = props;
 | 
	
	
		
			
				|  | @@ -295,6 +339,7 @@ const DeviceList = (props) => {
 | 
	
		
			
				|  |  |  function getOption(data = [], active) {
 | 
	
		
			
				|  |  |    let formatter,
 | 
	
		
			
				|  |  |      yAxisName = '',
 | 
	
		
			
				|  |  | +    y2AxisName = '',
 | 
	
		
			
				|  |  |      series = [],
 | 
	
		
			
				|  |  |      xAxis = [];
 | 
	
		
			
				|  |  |    var data1 = [],
 | 
	
	
		
			
				|  | @@ -432,18 +477,6 @@ function getOption(data = [], active) {
 | 
	
		
			
				|  |  |      case 'tdr_nob':
 | 
	
		
			
				|  |  |      case 'tdr_pac':
 | 
	
		
			
				|  |  |        yAxisName = '投加量';
 | 
	
		
			
				|  |  | -      // formatter = params => {
 | 
	
		
			
				|  |  | -      //   let content = '';
 | 
	
		
			
				|  |  | -      //   let item = data[params[0].dataIndex];
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      //   content += item.c_time;
 | 
	
		
			
				|  |  | -      //   content += '<br />最高加药浓度' + item.dosh + 'g/m3';
 | 
	
		
			
				|  |  | -      //   content += '<br />最低加药浓度:' + item.dosl + 'g/m3';
 | 
	
		
			
				|  |  | -      //   content += '<br />最高加药浊度:' + item.tubh + 'g/m3';
 | 
	
		
			
				|  |  | -      //   content += '<br />最低加药浊度:' + item.tubl + 'g/m3';
 | 
	
		
			
				|  |  | -      //   content += '<br />实际进水浊度:' + item.tubr;
 | 
	
		
			
				|  |  | -      //   return content;
 | 
	
		
			
				|  |  | -      // };
 | 
	
		
			
				|  |  |        data?.forEach((item) => {
 | 
	
		
			
				|  |  |          // 实际冲洗
 | 
	
		
			
				|  |  |          data1.push(Math.ceil(item.fr / 60));
 | 
	
	
		
			
				|  | @@ -473,20 +506,20 @@ function getOption(data = [], active) {
 | 
	
		
			
				|  |  |        yAxisName = '渗透率';
 | 
	
		
			
				|  |  |        data?.forEach((item) => {
 | 
	
		
			
				|  |  |          // 实际跨膜压差
 | 
	
		
			
				|  |  | -        data1.push(item.permeability);
 | 
	
		
			
				|  |  | +        data1.push(item.std_tmp);
 | 
	
		
			
				|  |  |          // 模拟跨膜压差
 | 
	
		
			
				|  |  |          data2.push(item.std_permeability);
 | 
	
		
			
				|  |  |          xAxis.push(dayjs(item.c_time).format('YYYY-MM-DD HH:mm:ss'));
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |        series = [
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -          name: '实际渗透率',
 | 
	
		
			
				|  |  | +          name: '标准跨膜压差',
 | 
	
		
			
				|  |  |            type: 'line',
 | 
	
		
			
				|  |  |            data: data1,
 | 
	
		
			
				|  |  |            showSymbol: false,
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -          name: '模拟渗透率',
 | 
	
		
			
				|  |  | +          name: '标准渗透率',
 | 
	
		
			
				|  |  |            type: 'line',
 | 
	
		
			
				|  |  |            data: data2,
 | 
	
		
			
				|  |  |            showSymbol: false,
 | 
	
	
		
			
				|  | @@ -531,6 +564,39 @@ function getOption(data = [], active) {
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |        ];
 | 
	
		
			
				|  |  |        break;
 | 
	
		
			
				|  |  | +    case 'td_pump_nf':
 | 
	
		
			
				|  |  | +    case 'td_pump_uf':
 | 
	
		
			
				|  |  | +    case 'td_pump_ro':
 | 
	
		
			
				|  |  | +    // case 'td_pump':
 | 
	
		
			
				|  |  | +    case 'td_pump_mf':
 | 
	
		
			
				|  |  | +    case 'td_pump_nf_drug':
 | 
	
		
			
				|  |  | +    case 'td_pump_mf_drug':
 | 
	
		
			
				|  |  | +    case 'td_pump_mf_drug':
 | 
	
		
			
				|  |  | +    case 'td_pump_mf_drug':
 | 
	
		
			
				|  |  | +      yAxisName = '频率 Hz';
 | 
	
		
			
				|  |  | +      y2AxisName = '电流 A';
 | 
	
		
			
				|  |  | +      data?.forEach((item) => {
 | 
	
		
			
				|  |  | +        // 实际跨膜压差
 | 
	
		
			
				|  |  | +        data1.push(item.frequency);
 | 
	
		
			
				|  |  | +        data2.push(item.current);
 | 
	
		
			
				|  |  | +        xAxis.push(dayjs(item.c_time).format('YYYY-MM-DD HH:mm:ss'));
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      series = [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          name: '频率',
 | 
	
		
			
				|  |  | +          type: 'line',
 | 
	
		
			
				|  |  | +          data: data1,
 | 
	
		
			
				|  |  | +          showSymbol: false,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          name: '电流',
 | 
	
		
			
				|  |  | +          type: 'line',
 | 
	
		
			
				|  |  | +          data: data2,
 | 
	
		
			
				|  |  | +          yAxisIndex: 1,
 | 
	
		
			
				|  |  | +          showSymbol: false,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      ];
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    const option = {
 | 
	
	
		
			
				|  | @@ -541,7 +607,7 @@ function getOption(data = [], active) {
 | 
	
		
			
				|  |  |          type: 'shadow',
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        textStyle: {
 | 
	
		
			
				|  |  | -        fontSize: 24
 | 
	
		
			
				|  |  | +        fontSize: 24,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        formatter,
 | 
	
		
			
				|  |  |      },
 | 
	
	
		
			
				|  | @@ -583,7 +649,13 @@ function getOption(data = [], active) {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      series,
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  if (y2AxisName) {
 | 
	
		
			
				|  |  | +    let y1 = option.yAxis;
 | 
	
		
			
				|  |  | +    let y2 = JSON.parse(JSON.stringify(y1));
 | 
	
		
			
				|  |  | +    y2 = { ...y2, name: y2AxisName };
 | 
	
		
			
				|  |  | +    option.yAxis = [y1, y2];
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  console.log(option);
 | 
	
		
			
				|  |  |    return option;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -633,7 +705,7 @@ function getMembraneOption(data = []) {
 | 
	
		
			
				|  |  |          type: 'shadow',
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        textStyle: {
 | 
	
		
			
				|  |  | -        fontSize: 24
 | 
	
		
			
				|  |  | +        fontSize: 24,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      legend: {
 |