|  | @@ -1,10 +1,13 @@
 | 
	
		
			
				|  |  | +import ModuleTitle from '@/components/ManagementPage/moduleTitle';
 | 
	
		
			
				|  |  |  import TabsContent from '@/components/TabsContent';
 | 
	
		
			
				|  |  |  import ThresholdDetail from '@/components/ThresholdDetail';
 | 
	
		
			
				|  |  |  import { UnityAction } from '@/utils/utils';
 | 
	
		
			
				|  |  |  import { connect } from '@umijs/max';
 | 
	
		
			
				|  |  |  import { Spin, Table, Tabs } from 'antd';
 | 
	
		
			
				|  |  | +import dayjs from 'dayjs';
 | 
	
		
			
				|  |  |  import { useEffect, useMemo, useState } from 'react';
 | 
	
		
			
				|  |  |  import styles from './DeviceAnalysis.less';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const { TabPane } = Tabs;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const DeviceAnalysis = (props) => {
 | 
	
	
		
			
				|  | @@ -106,8 +109,30 @@ const DeviceAnalysis = (props) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    const data = useMemo(() => {
 | 
	
		
			
				|  |  |      return [
 | 
	
		
			
				|  |  | -      { name: '异常', type: '1', data: autoReport?.extendWarningData },
 | 
	
		
			
				|  |  | -      { name: '全部', type: '2', data: autoReport?.extendWarningAllData },
 | 
	
		
			
				|  |  | +      {
 | 
	
		
			
				|  |  | +        name: '异常',
 | 
	
		
			
				|  |  | +        type: '1',
 | 
	
		
			
				|  |  | +        data: autoReport?.extendWarningData,
 | 
	
		
			
				|  |  | +        FluidLevelList: autoReport?.FluidLevelList?.filter(
 | 
	
		
			
				|  |  | +          (item) => item.status,
 | 
	
		
			
				|  |  | +        ),
 | 
	
		
			
				|  |  | +        DrugFlowList: autoReport?.DrugFlowList?.filter((item) => item.status),
 | 
	
		
			
				|  |  | +        WaterInCheckList: autoReport?.WaterInCheckList?.filter(
 | 
	
		
			
				|  |  | +          (item) => item.status,
 | 
	
		
			
				|  |  | +        ),
 | 
	
		
			
				|  |  | +        PressureCompareList: autoReport?.PressureCompareList,
 | 
	
		
			
				|  |  | +        WaterQualityCompareList: autoReport?.WaterQualityCompareList,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      {
 | 
	
		
			
				|  |  | +        name: '全部',
 | 
	
		
			
				|  |  | +        type: '2',
 | 
	
		
			
				|  |  | +        data: autoReport?.extendWarningAllData,
 | 
	
		
			
				|  |  | +        FluidLevelList: autoReport?.FluidLevelList,
 | 
	
		
			
				|  |  | +        DrugFlowList: autoReport?.DrugFlowList,
 | 
	
		
			
				|  |  | +        WaterInCheckList: autoReport?.WaterInCheckList,
 | 
	
		
			
				|  |  | +        PressureCompareList: autoReport?.PressureCompareList,
 | 
	
		
			
				|  |  | +        WaterQualityCompareList: autoReport?.WaterQualityCompareList,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |      ];
 | 
	
		
			
				|  |  |    }, [autoReport]);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -143,7 +168,7 @@ const DeviceAnalysis = (props) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    return (
 | 
	
		
			
				|  |  |      <Spin spinning={loading}>
 | 
	
		
			
				|  |  | -      <div className="card-box">
 | 
	
		
			
				|  |  | +      <div>
 | 
	
		
			
				|  |  |          <TabsContent
 | 
	
		
			
				|  |  |            small={true}
 | 
	
		
			
				|  |  |            center={false}
 | 
	
	
		
			
				|  | @@ -153,17 +178,43 @@ const DeviceAnalysis = (props) => {
 | 
	
		
			
				|  |  |                label: `${item.name}(${item.data?.length || 0})`,
 | 
	
		
			
				|  |  |                key: item.type,
 | 
	
		
			
				|  |  |                children: (
 | 
	
		
			
				|  |  | -                <Table
 | 
	
		
			
				|  |  | -                  dataSource={item.data}
 | 
	
		
			
				|  |  | -                  columns={columns}
 | 
	
		
			
				|  |  | -                  rowKey="Id"
 | 
	
		
			
				|  |  | -                  rowClassName={setRowClassName}
 | 
	
		
			
				|  |  | -                  onRow={(record, index) => ({
 | 
	
		
			
				|  |  | -                    onClick: () => onSelectRow(record, index),
 | 
	
		
			
				|  |  | -                  })}
 | 
	
		
			
				|  |  | -                  pagination={false}
 | 
	
		
			
				|  |  | -                  scroll={{ y: document.body.clientHeight - 730 }}
 | 
	
		
			
				|  |  | -                />
 | 
	
		
			
				|  |  | +                <>
 | 
	
		
			
				|  |  | +                  {(item.type === '1' ? item?.data?.length > 0 : true) && (
 | 
	
		
			
				|  |  | +                    <>
 | 
	
		
			
				|  |  | +                      <ModuleTitle title="设备检测" />
 | 
	
		
			
				|  |  | +                      <Table
 | 
	
		
			
				|  |  | +                        dataSource={item.data}
 | 
	
		
			
				|  |  | +                        columns={columns}
 | 
	
		
			
				|  |  | +                        rowKey="Id"
 | 
	
		
			
				|  |  | +                        rowClassName={setRowClassName}
 | 
	
		
			
				|  |  | +                        onRow={(record, index) => ({
 | 
	
		
			
				|  |  | +                          onClick: () => onSelectRow(record, index),
 | 
	
		
			
				|  |  | +                        })}
 | 
	
		
			
				|  |  | +                        pagination={false}
 | 
	
		
			
				|  |  | +                        // scroll={{ y: document.body.clientHeight - 730 }}
 | 
	
		
			
				|  |  | +                      />
 | 
	
		
			
				|  |  | +                    </>
 | 
	
		
			
				|  |  | +                  )}
 | 
	
		
			
				|  |  | +                  {(item.type === '1'
 | 
	
		
			
				|  |  | +                    ? item?.FluidLevelList.length > 0
 | 
	
		
			
				|  |  | +                    : true) && <LiquidLevel allData={item?.FluidLevelList} />}
 | 
	
		
			
				|  |  | +                  {(item.type === '1'
 | 
	
		
			
				|  |  | +                    ? item?.DrugFlowList.length > 0
 | 
	
		
			
				|  |  | +                    : true) && <DosingFlow allData={item?.DrugFlowList} />}
 | 
	
		
			
				|  |  | +                  {(item.type === '1'
 | 
	
		
			
				|  |  | +                    ? item?.WaterInCheckList.length > 0
 | 
	
		
			
				|  |  | +                    : true) && <WaterFlow allData={item?.WaterInCheckList} />}
 | 
	
		
			
				|  |  | +                  {(item.type === '1'
 | 
	
		
			
				|  |  | +                    ? item?.PressureCompareList.length > 0
 | 
	
		
			
				|  |  | +                    : true) && (
 | 
	
		
			
				|  |  | +                    <PressureGauge allData={item?.PressureCompareList} />
 | 
	
		
			
				|  |  | +                  )}
 | 
	
		
			
				|  |  | +                  {(item.type === '1'
 | 
	
		
			
				|  |  | +                    ? item?.WaterQualityCompareList.length > 0
 | 
	
		
			
				|  |  | +                    : true) && (
 | 
	
		
			
				|  |  | +                    <WaterQuality allData={item?.WaterQualityCompareList} />
 | 
	
		
			
				|  |  | +                  )}
 | 
	
		
			
				|  |  | +                </>
 | 
	
		
			
				|  |  |                ),
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |            })}
 | 
	
	
		
			
				|  | @@ -177,3 +228,517 @@ export default connect(({ eqSelfInspection, loading }) => ({
 | 
	
		
			
				|  |  |    loading: loading.effects['eqSelfInspection/getPatrolDataById'],
 | 
	
		
			
				|  |  |    autoReport: eqSelfInspection.autoReport,
 | 
	
		
			
				|  |  |  }))(DeviceAnalysis);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const LiquidLevel = (props) => {
 | 
	
		
			
				|  |  | +  const { allData } = props;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const columns = [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设备名称',
 | 
	
		
			
				|  |  | +      width: '20%',
 | 
	
		
			
				|  |  | +      dataIndex: 'device_name',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '类型',
 | 
	
		
			
				|  |  | +      key: 'template_item_name',
 | 
	
		
			
				|  |  | +      dataIndex: 'template_item_name',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '液位数',
 | 
	
		
			
				|  |  | +      dataIndex: 'origin_value',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '差值/比值',
 | 
	
		
			
				|  |  | +      dataIndex: 'value',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设定值范围',
 | 
	
		
			
				|  |  | +      width: '25%',
 | 
	
		
			
				|  |  | +      render: (record) => (
 | 
	
		
			
				|  |  | +        <ThresholdDetail
 | 
	
		
			
				|  |  | +          current={record.value || 0}
 | 
	
		
			
				|  |  | +          data={{
 | 
	
		
			
				|  |  | +            JsonNumThreshold: record?.json_num_threshold,
 | 
	
		
			
				|  |  | +            Type: record.type,
 | 
	
		
			
				|  |  | +          }}
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '状态',
 | 
	
		
			
				|  |  | +      dataIndex: 'status',
 | 
	
		
			
				|  |  | +      width: '1.25rem',
 | 
	
		
			
				|  |  | +      render: (status) => {
 | 
	
		
			
				|  |  | +        switch (status) {
 | 
	
		
			
				|  |  | +          case -1:
 | 
	
		
			
				|  |  | +          case 0:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#60FE76' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                正常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 1:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 2:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FFE26D' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                警告
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          default:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return (
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <ModuleTitle title="液位检测" />
 | 
	
		
			
				|  |  | +      <Table dataSource={allData} columns={columns} />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  );
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const DosingFlow = (props) => {
 | 
	
		
			
				|  |  | +  const { allData } = props;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const columns = [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设备名称',
 | 
	
		
			
				|  |  | +      width: '15%',
 | 
	
		
			
				|  |  | +      dataIndex: 'device_name',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '类型',
 | 
	
		
			
				|  |  | +      key: 'template_item_name',
 | 
	
		
			
				|  |  | +      dataIndex: 'template_item_name',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '实际流量',
 | 
	
		
			
				|  |  | +      dataIndex: 'origin_value',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '计量流量',
 | 
	
		
			
				|  |  | +      dataIndex: 'value',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '差值/比值',
 | 
	
		
			
				|  |  | +      dataIndex: 'value',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设定值范围',
 | 
	
		
			
				|  |  | +      width: '20%',
 | 
	
		
			
				|  |  | +      render: (record) => (
 | 
	
		
			
				|  |  | +        <ThresholdDetail
 | 
	
		
			
				|  |  | +          current={record.value || 0}
 | 
	
		
			
				|  |  | +          data={{
 | 
	
		
			
				|  |  | +            JsonNumThreshold: record?.json_num_threshold,
 | 
	
		
			
				|  |  | +            Type: record.type || 2,
 | 
	
		
			
				|  |  | +          }}
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '状态',
 | 
	
		
			
				|  |  | +      dataIndex: 'status',
 | 
	
		
			
				|  |  | +      width: '1.25rem',
 | 
	
		
			
				|  |  | +      render: (status) => {
 | 
	
		
			
				|  |  | +        switch (status) {
 | 
	
		
			
				|  |  | +          case -1:
 | 
	
		
			
				|  |  | +          case 0:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#12CEB3' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                正常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 1:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 2:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FFE26D' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                警告
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          default:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +  return (
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <ModuleTitle title="加药流量校验" />
 | 
	
		
			
				|  |  | +      <Table dataSource={allData} columns={columns} />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  );
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const WaterFlow = (props) => {
 | 
	
		
			
				|  |  | +  const { allData } = props;
 | 
	
		
			
				|  |  | +  const columns = [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设备名称',
 | 
	
		
			
				|  |  | +      width: '20%',
 | 
	
		
			
				|  |  | +      dataIndex: 'item_alias',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // {
 | 
	
		
			
				|  |  | +    //   title: '实际流量',
 | 
	
		
			
				|  |  | +    //   width: '20%',
 | 
	
		
			
				|  |  | +    //   dataIndex: 'current_val',
 | 
	
		
			
				|  |  | +    // },
 | 
	
		
			
				|  |  | +    // {
 | 
	
		
			
				|  |  | +    //   title: '计量流量',
 | 
	
		
			
				|  |  | +    //   width: '16%',
 | 
	
		
			
				|  |  | +    //   dataIndex: 'thresholds',
 | 
	
		
			
				|  |  | +    // },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '差值',
 | 
	
		
			
				|  |  | +      // width: '15%',
 | 
	
		
			
				|  |  | +      dataIndex: 'current_val',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '时间',
 | 
	
		
			
				|  |  | +      // width: '15%',
 | 
	
		
			
				|  |  | +      dataIndex: 'create_time',
 | 
	
		
			
				|  |  | +      render: (text) => {
 | 
	
		
			
				|  |  | +        if (text) {
 | 
	
		
			
				|  |  | +          return dayjs(text).format('HH:mm:ss');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return '-';
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设定值范围',
 | 
	
		
			
				|  |  | +      width: '30%',
 | 
	
		
			
				|  |  | +      render: (record) => (
 | 
	
		
			
				|  |  | +        <ThresholdDetail
 | 
	
		
			
				|  |  | +          current={record.current_val || 0}
 | 
	
		
			
				|  |  | +          data={{
 | 
	
		
			
				|  |  | +            JsonNumThreshold: {
 | 
	
		
			
				|  |  | +              exception: [
 | 
	
		
			
				|  |  | +                { ThresholdValue: record?.thresholds, ThresholdType: 1 },
 | 
	
		
			
				|  |  | +              ],
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            Type: 2,
 | 
	
		
			
				|  |  | +          }}
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      ),
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '状态',
 | 
	
		
			
				|  |  | +      dataIndex: 'status',
 | 
	
		
			
				|  |  | +      width: '1.25rem',
 | 
	
		
			
				|  |  | +      render: (status) => {
 | 
	
		
			
				|  |  | +        switch (status) {
 | 
	
		
			
				|  |  | +          case -1:
 | 
	
		
			
				|  |  | +          case 0:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#12CEB3' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                正常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 1:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 2:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FFE26D' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                警告
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          default:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return (
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <ModuleTitle title="进出水流量校验" />
 | 
	
		
			
				|  |  | +      <Table dataSource={allData} columns={columns} />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  );
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const PressureGauge = (props) => {
 | 
	
		
			
				|  |  | +  const { allData } = props;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const columns = [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设备名称',
 | 
	
		
			
				|  |  | +      width: '20%',
 | 
	
		
			
				|  |  | +      key: 'item_alias',
 | 
	
		
			
				|  |  | +      dataIndex: 'item_alias',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '时间范围',
 | 
	
		
			
				|  |  | +      key: 'dataRange',
 | 
	
		
			
				|  |  | +      width: '1.5rem',
 | 
	
		
			
				|  |  | +      render: (record) => {
 | 
	
		
			
				|  |  | +        if (record.query_start && record.query_end) {
 | 
	
		
			
				|  |  | +          return (
 | 
	
		
			
				|  |  | +            <>
 | 
	
		
			
				|  |  | +              {dayjs(record.query_start).format('HH:mm:ss')}
 | 
	
		
			
				|  |  | +              <br />
 | 
	
		
			
				|  |  | +              {dayjs(record.query_end).format('HH:mm:ss')}
 | 
	
		
			
				|  |  | +            </>
 | 
	
		
			
				|  |  | +          );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return '-';
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '仪表最小数',
 | 
	
		
			
				|  |  | +      width: '2rem',
 | 
	
		
			
				|  |  | +      key: 'data_min',
 | 
	
		
			
				|  |  | +      dataIndex: 'data_min',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '仪表最大数',
 | 
	
		
			
				|  |  | +      width: '2rem',
 | 
	
		
			
				|  |  | +      key: 'data_max',
 | 
	
		
			
				|  |  | +      dataIndex: 'data_max',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '可能原因',
 | 
	
		
			
				|  |  | +      key: 'content',
 | 
	
		
			
				|  |  | +      dataIndex: 'content',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '状态',
 | 
	
		
			
				|  |  | +      key: 'status',
 | 
	
		
			
				|  |  | +      dataIndex: 'status',
 | 
	
		
			
				|  |  | +      width: '1.25rem',
 | 
	
		
			
				|  |  | +      render: (status) => {
 | 
	
		
			
				|  |  | +        switch (status) {
 | 
	
		
			
				|  |  | +          case -1:
 | 
	
		
			
				|  |  | +          case 0:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#12CEB3' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                正常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 1:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 2:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FFE26D' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                警告
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          default:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return (
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <ModuleTitle title="压力仪表校验" />
 | 
	
		
			
				|  |  | +      <Table dataSource={allData} columns={columns} />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  );
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const WaterQuality = (props) => {
 | 
	
		
			
				|  |  | +  const { allData } = props;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const columns = [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '设备名称',
 | 
	
		
			
				|  |  | +      width: '20%',
 | 
	
		
			
				|  |  | +      key: 'item_alias',
 | 
	
		
			
				|  |  | +      dataIndex: 'item_alias',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '时间范围',
 | 
	
		
			
				|  |  | +      key: 'dataRange',
 | 
	
		
			
				|  |  | +      width: '1.5rem',
 | 
	
		
			
				|  |  | +      render: (record) => {
 | 
	
		
			
				|  |  | +        if (record.query_start && record.query_end) {
 | 
	
		
			
				|  |  | +          return (
 | 
	
		
			
				|  |  | +            <>
 | 
	
		
			
				|  |  | +              {dayjs(record.query_start).format('HH:mm:ss')}
 | 
	
		
			
				|  |  | +              <br />
 | 
	
		
			
				|  |  | +              {dayjs(record.query_end).format('HH:mm:ss')}
 | 
	
		
			
				|  |  | +            </>
 | 
	
		
			
				|  |  | +          );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return '-';
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '仪表最小数',
 | 
	
		
			
				|  |  | +      width: '2rem',
 | 
	
		
			
				|  |  | +      key: 'data_min',
 | 
	
		
			
				|  |  | +      dataIndex: 'data_min',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '仪表最大数',
 | 
	
		
			
				|  |  | +      width: '2rem',
 | 
	
		
			
				|  |  | +      key: 'data_max',
 | 
	
		
			
				|  |  | +      dataIndex: 'data_max',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '可能原因',
 | 
	
		
			
				|  |  | +      key: 'content',
 | 
	
		
			
				|  |  | +      dataIndex: 'content',
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: '状态',
 | 
	
		
			
				|  |  | +      key: 'status',
 | 
	
		
			
				|  |  | +      dataIndex: 'status',
 | 
	
		
			
				|  |  | +      width: '1.25rem',
 | 
	
		
			
				|  |  | +      render: (status) => {
 | 
	
		
			
				|  |  | +        switch (status) {
 | 
	
		
			
				|  |  | +          case -1:
 | 
	
		
			
				|  |  | +          case 0:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#12CEB3' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                正常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 1:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          case 2:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FFE26D' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                警告
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +          default:
 | 
	
		
			
				|  |  | +            return (
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <i
 | 
	
		
			
				|  |  | +                  className={styles.iconStatus}
 | 
	
		
			
				|  |  | +                  style={{ background: '#FF8600' }}
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                异常
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return (
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <ModuleTitle title="水质仪表校验" />
 | 
	
		
			
				|  |  | +      <Table dataSource={allData} columns={columns} />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  );
 | 
	
		
			
				|  |  | +};
 |