Browse Source

智慧工况修改

xujunjie 1 year ago
parent
commit
9b18273ed6
2 changed files with 111 additions and 22 deletions
  1. 90 18
      src/pages/Smart/components/SimulateDetail.js
  2. 21 4
      src/services/SmartOps.js

+ 90 - 18
src/pages/Smart/components/SimulateDetail.js

@@ -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: {

+ 21 - 4
src/services/SmartOps.js

@@ -1,12 +1,13 @@
+import dayjs from 'dayjs';
 import { stringify } from 'qs';
 import { request } from 'umi';
 
 export async function queryEnergy(projectId) {
-  const res = await request(`/api/energy/v1/analy-card/list`,{
+  const res = await request(`/api/energy/v1/analy-card/list`, {
     method: 'POST',
     data: {
-      project_id: projectId
-    }
+      project_id: projectId,
+    },
   });
   return res;
 }
@@ -317,6 +318,20 @@ export async function queryDesignNob(data) {
   return res;
 }
 
+// 项目泵设计:拉取设计列表  type膜类型 mf | uf | nf | ro
+export async function queryPumpList(data) {
+  let res = await request(
+    `/api/simulations/v1/design/pump/list?${stringify(data)}`,
+  );
+  return res;
+}
+
+// 运行记录:拉取泵运行记录  type膜类型 mf | uf | nf | ro
+export async function queryPump(data) {
+  let res = await request(`/api/simulations/v1/record/pump?${stringify(data)}`);
+  return res;
+}
+
 // 水厂工况
 export async function queryConditionSnapshot(data) {
   let res = await request(
@@ -351,7 +366,9 @@ export async function queryRealEstimateChart(project_id) {
 // 项目配置:获取所有拥有配置的项目
 export async function queryProjectConfig(projectId) {
   let res = await request(
-    `/api/simulations/v1/project?project_id=${projectId}`,
+    `/api/simulations/v1/project?project_id=${projectId}&s_time=${dayjs().format(
+      'YYYY-MM-DD HH:mm:ss',
+    )}&e_time=${dayjs().format('YYYY-MM-DD HH:mm:ss')}`,
   );
   return { data: res.data.info.technologys };
 }