15 changed files with 783 additions and 70 deletions
			
			
		| After Width: | Height: | Size: 58 KiB | 
| After Width: | Height: | Size: 1.5 MiB | 
| After Width: | Height: | Size: 42 KiB | 
| After Width: | Height: | Size: 7.6 KiB | 
| After Width: | Height: | Size: 14 KiB | 
| After Width: | Height: | Size: 43 KiB | 
| @ -0,0 +1,105 @@ | |||||
|  | import React from 'react'; | ||||
|  | import { connect } from 'react-redux'; | ||||
|  | import { Select } from 'antd'; | ||||
|  | import ReactECharts from 'echarts-for-react'; | ||||
|  | import moment from 'moment' | ||||
|  | 
 | ||||
|  | const { Option } = Select; | ||||
|  | 
 | ||||
|  | const LevelTrend = ({ user, voltagePumpId, pumpList, setVoltagePumpId, depthWater }) => { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |    return <div style={{ | ||||
|  |       backgroundImage: 'url(/assets/images/monitor/headerTitle.png)', | ||||
|  |       backgroundSize: '100% 36px', | ||||
|  |       backgroundPosition: '0 0', | ||||
|  |       backgroundRepeat: 'no-repeat', zIndex: 2, | ||||
|  |       width: '26%', height: '60%', minWidth: 360, position: "absolute", left: 10, top: "44%" | ||||
|  |    }}> | ||||
|  |       <div className='site' style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ lineHeight: "36px", color: '#E2F8FF', fontSize: 20., textIndent: 20, fontFamily: 'YouSheBiaoTiHei', fontSizeL: '1rem' }}>液位趋势</div> | ||||
|  |       </div> | ||||
|  |       <div style={{ width: '100%', height: 'calc(100% - 46px)', marginTop: 10, backgroundImage: "linear-gradient(180deg, #000e28e6 1%, #021f48cc 100%)" }}> | ||||
|  |          <ReactECharts | ||||
|  |             option={{ | ||||
|  |                title: { | ||||
|  |                   // text: v.name, 
 | ||||
|  |                }, | ||||
|  |                grid: { | ||||
|  |                   // width: 300,
 | ||||
|  |                   // height: 200
 | ||||
|  |                }, | ||||
|  |                dataZoom: [ | ||||
|  |                   { | ||||
|  |                      type: 'slider', | ||||
|  |                      // startValue: depthWater?.map(v=>v.time) 
 | ||||
|  |                   }, | ||||
|  |                   { | ||||
|  |                      type: 'inside', | ||||
|  |                   }, | ||||
|  |                ], | ||||
|  |                tooltip: { | ||||
|  |                   trigger: 'axis' | ||||
|  |                }, | ||||
|  |                legend: { | ||||
|  |                   data: ['集水池液位', '池前(上游)液位'], | ||||
|  |                   right: '10%', | ||||
|  |                   textStyle: { | ||||
|  |                      color: '#FFF', | ||||
|  |                   }, | ||||
|  |                }, | ||||
|  |                xAxis: { | ||||
|  |                   type: 'category', | ||||
|  |                   // name: "时间",
 | ||||
|  |                   boundaryGap: false, | ||||
|  |                   data: depthWater?.map(v => moment(v.time).format('MM-DD HH:mm')) | ||||
|  |                }, | ||||
|  |                yAxis: { | ||||
|  |                   type: 'value', | ||||
|  |                   name: "单位:M", | ||||
|  |                   areaStyle: { | ||||
|  |                      color: '#FFF', | ||||
|  |                   }, | ||||
|  |                }, | ||||
|  |                series: [ | ||||
|  |                   { | ||||
|  |                      type: 'line', | ||||
|  |                      name: '集水池液位', | ||||
|  |                      smooth: true, | ||||
|  |                      areaStyle: { | ||||
|  |                         color: '#0e9cff26', | ||||
|  |                      }, | ||||
|  |                      data: depthWater?.map(v => v.sLiquid_level) | ||||
|  |                   }, { | ||||
|  |                      type: 'line', | ||||
|  |                      name: '池前(上游)液位', | ||||
|  |                      smooth: true, | ||||
|  |                      areaStyle: { | ||||
|  |                         color: '#0e9cff26', | ||||
|  |                      }, | ||||
|  |                      data: depthWater?.map(v => v.sGrille_level) | ||||
|  |                   }, | ||||
|  |                ] | ||||
|  |             }} | ||||
|  |             notMerge={true} | ||||
|  |             lazyUpdate={true} | ||||
|  |             style={{ width: "100%", height: "100%" }} | ||||
|  |             theme={'ReactEChart'} | ||||
|  |          /> | ||||
|  |       </div> | ||||
|  |    </div> | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | function mapStateToProps (state) { | ||||
|  |    const { auth, global } = state; | ||||
|  |    return { | ||||
|  |       user: auth.user, | ||||
|  |       clientHeight: global.clientHeight, | ||||
|  |    }; | ||||
|  | } | ||||
|  | 
 | ||||
|  | export default connect(mapStateToProps)(LevelTrend); | ||||
| @ -0,0 +1,116 @@ | |||||
|  | import React from 'react'; | ||||
|  | import { connect } from 'react-redux'; | ||||
|  | import { Select } from 'antd'; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | const LineBoxStatus = ({ user, cabinetId, cabinetList, setCabinetId, cabinetOne }) => { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |    return <div style={{ | ||||
|  |       backgroundImage: 'url(/assets/images/monitor/headerTitle.png)', | ||||
|  |       backgroundSize: '100% 36px', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat',zIndex:2, | ||||
|  |       width: '26%', height: '40%', minWidth: 360, position: "absolute", right: 10, top: 0 | ||||
|  |    }}> | ||||
|  |       <div className='site' style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ lineHeight: "36px", color: '#E2F8FF', fontSize: 20., textIndent: 20, fontFamily: 'YouSheBiaoTiHei', fontSizeL: '1rem' }}>进线柜状态</div> | ||||
|  |          <Select | ||||
|  |             className='bigscreen-select' | ||||
|  |             bordered={false} | ||||
|  |             value={cabinetId} | ||||
|  |             optionFilterProp="children" | ||||
|  |             onSelect={v => { | ||||
|  |                setCabinetId(v) | ||||
|  |             }} | ||||
|  |             options={cabinetList || []} | ||||
|  |          /> | ||||
|  |       </div> | ||||
|  |       <div style={{ height: "calc(100% - 36px)", display: 'flex', flexDirection: "column", justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ width: '100%', height: 116, marginTop: 20, display: 'flex', justifyContent: 'space-between', }}> | ||||
|  | 
 | ||||
|  |             <img src={`/assets/images/electrical/cabinet.png`} style={{ width: 98, height: 115 }} /> | ||||
|  |             <div style={{ width: 'calc(100% - 110px)', display: 'flex', flexDirection: "column", justifyContent: 'space-between' }}> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', backgroundImage: 'url(/assets/images/electrical/end-b1.png)', | ||||
|  |                   backgroundSize: '100% 560%', backgroundPosition: '0 16px', backgroundRepeat: 'no-repeat', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6, fontFamily: 'YouSheBiaoTiHei' }}>{cabinetOne?.name}</div> | ||||
|  |                   <div style={{ marginRight: 6 }}>进线柜型号</div> | ||||
|  |                </div> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, borderBottom: '1px solid #96b8bcba', | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6 }}>电柜状态:</div> | ||||
|  |                   <div style={{ marginRight: 6, color: cabinetOne?.data[0]?.sQF_CLOSING ? "#00D748" : "#E83E2B" }}>{cabinetOne?.data[0]?.sQF_CLOSING ? "合闸" : "分闸"}</div> | ||||
|  |                </div> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, borderBottom: '1px solid #96b8bcba', | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6 }}>总用电量:</div> | ||||
|  |                   <div style={{ marginRight: 6 }}>{cabinetOne?.data[0]?.eQF_EQ} kwh</div> | ||||
|  |                </div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |          <div style={{ | ||||
|  |             backgroundImage: 'url(/assets/images/electrical/end-b.png)', | ||||
|  |             backgroundSize: '100% 100%', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat', | ||||
|  |             width: '100%', height: 43, display: 'flex', justifyContent: "space-between", alignItems: 'center' | ||||
|  |          }}> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10,fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>A相电流:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_A_A} A</div> | ||||
|  |             </div> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>A相电压:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_A_V} V</div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |          <div style={{ | ||||
|  |             backgroundImage: 'url(/assets/images/electrical/end-b.png)', | ||||
|  |             backgroundSize: '100% 100%', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat', | ||||
|  |             width: '100%', height: 43, display: 'flex', justifyContent: "space-between", alignItems: 'center' | ||||
|  |          }}> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>B相电流:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_B_A} A</div> | ||||
|  |             </div> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>B相电压:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_B_V} V</div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |          <div style={{ | ||||
|  |             backgroundImage: 'url(/assets/images/electrical/end-b.png)', | ||||
|  |             backgroundSize: '100% 100%', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat', | ||||
|  |             width: '100%', height: 43, display: 'flex', justifyContent: "space-between", alignItems: 'center' | ||||
|  |          }}> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>C相电流:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_C_A} A</div> | ||||
|  |             </div> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 70, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>B相电压:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{cabinetOne?.data[0]?.eQF_C_V} V</div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |       </div> | ||||
|  | 
 | ||||
|  |    </div> | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | function mapStateToProps (state) { | ||||
|  |    const { auth, global } = state; | ||||
|  |    return { | ||||
|  |       user: auth.user, | ||||
|  |       clientHeight: global.clientHeight, | ||||
|  |    }; | ||||
|  | } | ||||
|  | 
 | ||||
|  | export default connect(mapStateToProps)(LineBoxStatus); | ||||
| @ -0,0 +1,107 @@ | |||||
|  | import React from 'react'; | ||||
|  | import { connect } from 'react-redux'; | ||||
|  | import { Select } from 'antd'; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | const RealTimeStatus = ({ user, pumpId, pumpList, setPumpId, pumpOne }) => { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |    return <div style={{ | ||||
|  |       backgroundImage: 'url(/assets/images/monitor/headerTitle.png)', | ||||
|  |       backgroundSize: '100% 36px', | ||||
|  |       backgroundPosition: '0 0', | ||||
|  |       backgroundRepeat: 'no-repeat',zIndex:2, | ||||
|  |       width: '26%', height: '40%', minWidth: 360, position: "absolute", left: 10, top: 0 | ||||
|  |    }}> | ||||
|  |       <div className='site' style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ lineHeight: "36px", color: '#E2F8FF', fontSize: 20., textIndent: 20, fontFamily: 'YouSheBiaoTiHei', fontSizeL: '1rem' }}>实时状态</div> | ||||
|  |          <Select | ||||
|  |             className='bigscreen-select' | ||||
|  |             bordered={false} | ||||
|  |             value={pumpId} | ||||
|  |             optionFilterProp="children" | ||||
|  |             onSelect={v => { | ||||
|  |                setPumpId(v) | ||||
|  |             }} | ||||
|  |             options={pumpList?.map(v => ({ value: v.id, label: v.name })) || []} | ||||
|  |          /> | ||||
|  |       </div> | ||||
|  |       <div style={{ height: "calc(100% - 36px)", display: 'flex', flexDirection: "column", justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ width: '100%', height: 116, marginTop: 20, display: 'flex', justifyContent: 'space-between', }}> | ||||
|  |             {pumpOne?.data ? <img src={`/assets/images/electrical/${[1, 3, 5].includes(pumpOne?.data[0]?.sMotor_RunMode) | ||||
|  |                ? 'close' : [2, 4, 6].includes(pumpOne?.data[0]?.sMotor_RunMode) | ||||
|  |                   ? 'open' : pumpOne?.data[0]?.sMotor_RunMode == 7 | ||||
|  |                      ? '故障' : '无状态'}.png`} style={{ width: 98, height: 115 }} />
 | ||||
|  |                : <img src={`/assets/images/electrical/open.png`} style={{ width: 98, height: 115 }} />} | ||||
|  |             <div style={{ width: 'calc(100% - 110px)', display: 'flex', flexDirection: "column", justifyContent: 'space-between' }}> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', backgroundImage: 'url(/assets/images/electrical/end-b1.png)', | ||||
|  |                   backgroundSize: '100% 560%', backgroundPosition: '0 16px', backgroundRepeat: 'no-repeat', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6, fontFamily: 'YouSheBiaoTiHei' }}>{pumpOne?.name}</div> | ||||
|  |                   <div style={{ width: 52, height: 20, marginRight: 6, textAlign: "center", lineHeight: "20px", background: "#ffc8802e", boxShadow: 'inset 0 0 8px 1px #ffc88080' }}>控制</div> | ||||
|  |                </div> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, borderBottom: '1px solid #96b8bcba', | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6 }}>控制方式:</div> | ||||
|  |                   <div style={{ marginRight: 6 }}>现场就地</div> | ||||
|  |                </div> | ||||
|  |                <div style={{ | ||||
|  |                   height: 30, borderBottom: '1px solid #96b8bcba', | ||||
|  |                   display: 'flex', alignItems: "center", justifyContent: 'space-between', | ||||
|  |                }}> | ||||
|  |                   <div style={{ marginLeft: 6 }}>远程模式:</div> | ||||
|  |                   <div style={{ marginRight: 6 }}>平台手动</div> | ||||
|  |                </div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |          <div style={{ | ||||
|  |             backgroundImage: 'url(/assets/images/electrical/end-b.png)', | ||||
|  |             backgroundSize: '100% 100%', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat', | ||||
|  |             width: '100%', height: 43, display: 'flex', justifyContent: "space-between", alignItems: 'center' | ||||
|  |          }}> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>单次时间:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{pumpOne?.data[0]?.dPump_T_S} min</div> | ||||
|  |             </div> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>积累时间:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{pumpOne?.data[0]?.dPump_T_T} h</div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |          <div style={{ | ||||
|  |             backgroundImage: 'url(/assets/images/electrical/end-b.png)', | ||||
|  |             backgroundSize: '100% 100%', backgroundPosition: '0 0', backgroundRepeat: 'no-repeat', | ||||
|  |             width: '100%', height: 43, display: 'flex', justifyContent: "space-between", alignItems: 'center' | ||||
|  |          }}> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>运行电流:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{pumpOne?.data[0]?.eMotor_A_A} min</div> | ||||
|  |             </div> | ||||
|  |             <div style={{ display: 'flex', width: "48%" }}> | ||||
|  |                <div style={{ width: 80,textIndent:10, fontFamily: "SourceHanSansCN-Medium", color: "#63B0FF", }}>运行电压:</div> | ||||
|  |                <div style={{ flex: 1, textAlign: "end", fontSize: 16, fontFamily: "YouSheBiaoTiHei" }}>{pumpOne?.data[0]?.eMotor_A_V} h</div> | ||||
|  |             </div> | ||||
|  |          </div> | ||||
|  |       </div> | ||||
|  | 
 | ||||
|  |    </div> | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | function mapStateToProps (state) { | ||||
|  |    const { auth, global } = state; | ||||
|  |    return { | ||||
|  |       user: auth.user, | ||||
|  |       clientHeight: global.clientHeight, | ||||
|  |    }; | ||||
|  | } | ||||
|  | 
 | ||||
|  | export default connect(mapStateToProps)(RealTimeStatus); | ||||
| @ -0,0 +1,113 @@ | |||||
|  | import React from 'react'; | ||||
|  | import { connect } from 'react-redux'; | ||||
|  | import { Select } from 'antd'; | ||||
|  | import ReactECharts from 'echarts-for-react'; | ||||
|  | import moment from 'moment' | ||||
|  | 
 | ||||
|  | const { Option } = Select; | ||||
|  | 
 | ||||
|  | const VoltageTrend = ({ user, voltagePumpId, pumpList, setVoltagePumpId, data }) => { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |    return <div style={{ | ||||
|  |       backgroundImage: 'url(/assets/images/monitor/headerTitle.png)', | ||||
|  |       backgroundSize: '100% 36px', | ||||
|  |       backgroundPosition: '0 0', | ||||
|  |       backgroundRepeat: 'no-repeat',zIndex:2, | ||||
|  |       width: '26%', height: '60%', minWidth: 360, position: "absolute", right: 10, top: "44%" | ||||
|  |    }}> | ||||
|  |       <div className='site' style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between' }}> | ||||
|  |          <div style={{ lineHeight: "36px", color: '#E2F8FF', fontSize: 20., textIndent: 20, fontFamily: 'YouSheBiaoTiHei', fontSizeL: '1rem' }}>电压趋势</div> | ||||
|  |          <Select | ||||
|  |             className='bigscreen-select' | ||||
|  |             bordered={false} | ||||
|  |             style={{ width: 150 }} | ||||
|  |             value={voltagePumpId} | ||||
|  |             mode="multiple" | ||||
|  |             maxTagCount={1} | ||||
|  |             optionFilterProp="children" | ||||
|  |             onChange={v => { | ||||
|  |                if (v?.length < 4) { | ||||
|  |                   setVoltagePumpId(v) | ||||
|  |                } | ||||
|  |             }} | ||||
|  | 
 | ||||
|  |          > | ||||
|  |             {pumpList?.map(v => <Option value={v.id}>{v.name}</Option>)} | ||||
|  |          </Select> | ||||
|  |       </div> | ||||
|  |       <div style={{ width: '100%', height: 'calc(100% - 46px)', marginTop: 10, backgroundImage: "linear-gradient(180deg, #000e28e6 1%, #021f48cc 100%)" }}> | ||||
|  |          <ReactECharts | ||||
|  |             option={{ | ||||
|  |                title: { | ||||
|  |                   // text: v.name, 
 | ||||
|  |                }, | ||||
|  |                grid: { | ||||
|  |                   // width: 300,
 | ||||
|  |                   // height: 200
 | ||||
|  |                }, | ||||
|  |                dataZoom: [ | ||||
|  |                   { | ||||
|  |                      type: 'slider', | ||||
|  |                      // startValue: depthWater?.map(v=>v.time) 
 | ||||
|  |                   }, | ||||
|  |                   { | ||||
|  |                      type: 'inside', | ||||
|  |                   }, | ||||
|  |                ], | ||||
|  |                tooltip: { | ||||
|  |                   trigger: 'axis' | ||||
|  |                }, | ||||
|  |                legend: { | ||||
|  |                   data: data?.map(v => v.name) || [], | ||||
|  |                   right: '10%', | ||||
|  |                   textStyle: { | ||||
|  |                      color: '#FFF', | ||||
|  |                   }, | ||||
|  |                }, | ||||
|  |                xAxis: { | ||||
|  |                   type: 'category', | ||||
|  |                   // name: "时间",
 | ||||
|  |                   boundaryGap: false, | ||||
|  |                   data: data[0]?.data?.map(v => moment(v.time).format('MM-DD HH:mm')) || [] | ||||
|  |                }, | ||||
|  |                yAxis: { | ||||
|  |                   type: 'value', | ||||
|  |                   name: "单位:M", | ||||
|  |                   areaStyle: { | ||||
|  |                      color: '#FFF', | ||||
|  |                   }, | ||||
|  |                }, | ||||
|  |                series: data?.map(v => ({ | ||||
|  |                   type: 'line', | ||||
|  |                   name: v.name, | ||||
|  |                   smooth: true, | ||||
|  |                   areaStyle: { | ||||
|  |                      color: '#0e9cff26', | ||||
|  |                   }, | ||||
|  |                   data: v.data?.map(s => s.eMotor_A_V) || [] | ||||
|  |                })) || [] | ||||
|  | 
 | ||||
|  |             }} | ||||
|  |             notMerge={true} | ||||
|  |             lazyUpdate={true} | ||||
|  |             style={{ width: "100%", height: "90%" }} | ||||
|  |             theme={'ReactEChart'} | ||||
|  |          /> | ||||
|  |       </div> | ||||
|  |    </div> | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | function mapStateToProps (state) { | ||||
|  |    const { auth, global } = state; | ||||
|  |    return { | ||||
|  |       user: auth.user, | ||||
|  |       clientHeight: global.clientHeight, | ||||
|  |    }; | ||||
|  | } | ||||
|  | 
 | ||||
|  | export default connect(mapStateToProps)(VoltageTrend); | ||||
| @ -1,58 +1,66 @@ | |||||
| .map { | .map { | ||||
|     width: 100%; |   width: 100%; | ||||
|     height: 100%; |   height: 100%; | ||||
|     overflow: hidden; |   overflow: hidden; | ||||
|     position: absolute; |   position: absolute; | ||||
|     top: 0; |   top: 0; | ||||
|     left: 0; |   left: 0; | ||||
| } | } | ||||
| 
 | 
 | ||||
| .super-screen-top { | .super-screen-top { | ||||
|     position: absolute; |   position: absolute; | ||||
|     top: 0; |   top: 0; | ||||
|     left: 0; |   left: 0; | ||||
|     width: 100%; |   width: 100%; | ||||
|     height: 130px; |   height: 130px; | ||||
|     z-index: 6; |   z-index: 6; | ||||
| } | } | ||||
| 
 | 
 | ||||
| .super-screen-bottom { | .super-screen-bottom { | ||||
|     position: absolute; |   position: absolute; | ||||
|     bottom: 0; |   bottom: 0; | ||||
|     left: 0; |   left: 0; | ||||
|     width: 100%; |   width: 100%; | ||||
|     z-index: 6; |   z-index: 6; | ||||
| } | } | ||||
| 
 | 
 | ||||
| .header { | .header { | ||||
|     position: absolute; |   position: absolute; | ||||
|     width: 100%; |   width: 100%; | ||||
|     z-index: 6; |   z-index: 6; | ||||
| } | } | ||||
| 
 | 
 | ||||
| .bigscreen-select { | .bigscreen-select { | ||||
|     .ant-select-selector { |   .ant-select-selector { | ||||
|         background-color: transparent !important; |     background-color: transparent !important; | ||||
|         height: 18px !important; |     height: 18px !important; | ||||
|     } |   } | ||||
| 
 | 
 | ||||
|     .ant-select-focused { |   .ant-select-focused { | ||||
|         border: 0px; |     border: 0px; | ||||
|     } |   } | ||||
| 
 | 
 | ||||
|     .ant-select-selection-item { |   .ant-select-selection-item { | ||||
|         color: #fff; |     color: #fff; | ||||
|         font-family: YouSheBiaoTiHei; |     font-family: YouSheBiaoTiHei; | ||||
|         height: 16px !important; |     height: 16px !important; | ||||
|         line-height: 16px !important; |     line-height: 10px !important; | ||||
|         text-align: right; |     text-align: right; | ||||
|     } |   } | ||||
| 
 | 
 | ||||
|     .ant-select-selection-search { |   .ant-select-selection-search { | ||||
|         color: #fff; |     color: #fff; | ||||
|     } |   } | ||||
| 
 | 
 | ||||
|     .ant-select-arrow { |   .ant-select-arrow { | ||||
|         color: #fff; |     color: #fff; | ||||
|     } |   } | ||||
|  |   .ant-select-selection-item { | ||||
|  |     background: transparent; | ||||
|  |     border: 0; | ||||
|  |   } | ||||
|  |   .ant-select-multiple, | ||||
|  |   .ant-select-selection-item-remove { | ||||
|  |     color: #fff; | ||||
|  |   } | ||||
| } | } | ||||
|  | |||||
					Loading…
					
					
				
		Reference in new issue