<!-- 小时数据 -->
|
<template>
|
<div id="Tab">
|
<div class="infomation">
|
<!-- <el-tag>氮氧化物 : 29.93 标准 : 100</el-tag>-->
|
<!-- <el-tag>二氧化硫 : 17.34 标准 : 50</el-tag>-->
|
<!-- <el-tag>烟尘 : 6.93 标准 : 30</el-tag>-->
|
<!-- <el-tag>废气流量 : 120343.18</el-tag>-->
|
<el-row>
|
<el-col :span="6"><div class="grid-content bg-purple">氮氧化物 : 29.93 标准 : 100</div></el-col>
|
<el-col :span="6"><div class="grid-content bg-purple">二氧化硫 : 17.34 标准 : 50</div></el-col>
|
<el-col :span="6"><div class="grid-content bg-purple">烟尘 : 6.93 标准 : 30</div></el-col>
|
<el-col :span="6"><div class="grid-content bg-purple">废气流量 : 120343.18</div></el-col>
|
<!-- <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>-->
|
</el-row>
|
</div>
|
<div class="form-echrts">
|
<!-- :title="this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName" -->
|
<div class="from-search">
|
<!-- <el-form :inline="true" :model="formInline" class="demo-form-inline">-->
|
<!-- <el-form-item label="审批人">-->
|
<!-- <el-input v-model="formInline.user" placeholder="审批人"></el-input>-->
|
<!-- </el-form-item>-->
|
<!-- <div class="block">-->
|
<!-- <el-date-picker-->
|
<!-- size="'mini"-->
|
<!-- class="date"-->
|
<!-- v-model="value"-->
|
<!-- type="datetimerange"-->
|
<!-- range-separator="至"-->
|
<!-- start-placeholder="开始日期"-->
|
<!-- end-placeholder="结束日期">-->
|
<!-- </el-date-picker>-->
|
<!-- </div>-->
|
<!-- <el-form-item label="采样点数" class="text-size">-->
|
<!-- <el-select v-model="formInline.region" placeholder="0">-->
|
<!-- <el-option label="0" value="shanghai"></el-option>-->
|
<!-- <el-option label="25" value="beijing"></el-option>-->
|
<!-- <el-option label="50" value="beijing"></el-option>-->
|
<!-- <el-option label="75" value="beijing"></el-option>-->
|
<!-- <el-option label="100" value="beijing"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- <el-form-item>-->
|
<!-- <el-button type="primary" @click="onSubmit">查询</el-button>-->
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
<div class="layoutFrom">
|
<div class="pickerMon">
|
<div class="pickerData pickerDataLeft">
|
<span> 开始时间:</span>
|
<span class="pickerTable"><el-date-picker
|
type="datetime"
|
v-model="value1">
|
</el-date-picker></span>
|
</div>
|
<div class="pickerData">
|
<span >结束时间:</span>
|
<span class="pickerTable">
|
<el-date-picker
|
type="datetime"
|
v-model="value2"
|
>
|
</el-date-picker>
|
</span>
|
</div>
|
</div>
|
<div class="sampling">
|
<span>
|
采样点数:
|
</span>
|
<input list="source" id="ipt" class="echatsInput">
|
<datalist id="source">
|
<option value="0" />
|
<option value="25" />
|
<option value="50" />
|
<option value="75" />
|
<option value="100" />
|
</datalist>
|
</div>
|
<div class="InquiryBtn">
|
<div>查询</div>
|
</div>
|
<div class="detailBox">
|
<div class="detailbtn" @click="dialogVisible = true" >明细表</div>
|
<el-dialog :visible.sync="dialogVisible"
|
:append-to-body="true"
|
:title="this.$attrs.value==='feiqi'?this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName:this.$attrs.getWasteWaterMonitoringDetails[0].OnLineMonEmissPointName"
|
width="68%"
|
center
|
v-dialogDrag
|
>
|
<div class="el-dialog-div" style="height: 500px">
|
<public-detailed-list v-bind="$attrs"></public-detailed-list>
|
</div>
|
</el-dialog>
|
</div>
|
</div>
|
</div>
|
<div style="width:5rem;height:2rem;" id="echarts" ref="main">
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
|
|
export default {
|
name: 'ECharts',
|
components: {
|
PublicDetailedList
|
},
|
data () {
|
return {
|
value1: '',
|
value2: '',
|
watchData: [],
|
dialogVisible: false,
|
myChar: null,
|
value: '',
|
formInline: {
|
user: '',
|
region: ''
|
}
|
}
|
},
|
methods: {
|
onSubmit () {
|
console.log('submit!')
|
},
|
drawChart: function () {
|
window.onresize = function () {
|
var h1 = document.documentElement.clientHeight// 获取屏幕的高度
|
if (h1 > 700) {
|
this.myChart.getDom().style.height = 3 + 'rem'
|
this.myChart.getDom().style.width = 6 + 'rem'
|
} else {
|
this.myChart.getDom().style.height = 3 + 'rem'
|
this.myChart.getDom().style.width = 6 + 'rem'
|
}
|
this.myChart.resize()
|
}
|
},
|
initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) {
|
var options = {
|
title: {
|
// text: '折线图堆叠'
|
},
|
color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'],
|
tooltip: {
|
trigger: 'axis',
|
axisPointer: {
|
type: 'cross',
|
label: {
|
color: '#1a4245'
|
}
|
}
|
},
|
legend: {
|
x: '200px',
|
y: '30px',
|
data: [{
|
name: 'COD',
|
textStyle: {
|
color: '#00d0f9'
|
}
|
},
|
{
|
name: '氨氮',
|
textStyle: {
|
color: '#00d0f9'
|
}
|
},
|
{
|
name: '废水流量',
|
textStyle: {
|
color: '#00d0f9'
|
}
|
}]
|
},
|
grid: {
|
left: '3%',
|
right: '3%',
|
bottom: '3%',
|
containLabel: true
|
},
|
toolbox: {},
|
// 图标缩放设置
|
dataZoom: [{
|
type: 'inside',
|
start: 0,
|
end: 100
|
}, {
|
start: 0,
|
end: 100,
|
show: false,
|
// handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
|
handleSize: '80%',
|
handleStyle: {
|
color: '#fff',
|
shadowBlur: 3,
|
shadowColor: 'rgba(0, 0, 0, 0.6)',
|
shadowOffsetX: 2,
|
shadowOffsetY: 2
|
}
|
}],
|
// x轴的设置
|
xAxis: {
|
type: 'category',
|
boundaryGap: false,
|
data: dataDate,
|
axisLabel: { // x轴全部显示
|
rotate: 20,
|
interval: 0,
|
textStyle: {
|
color: '#fff',
|
fontSize: 10
|
}
|
},
|
splitLine: { // 网格垂直线为虚线
|
show: true,
|
lineStyle: {
|
type: 'dashed'
|
}
|
},
|
axisTick: { // x 轴刻度显示
|
show: false
|
},
|
axisLine: {
|
lineStyle: {
|
color: '#FFFFFF',
|
width: 1 // 这里是为了突出显示加上的
|
}
|
}
|
},
|
// Y 轴的设置
|
yAxis: [{
|
type: 'value',
|
position: 'left', // 多 Y 轴使用
|
name: '浓度(mg/m³)',
|
axisLabel: {
|
formatter: '{value}',
|
textStyle: {
|
color: '#fff' // 坐标的字体颜色
|
}
|
},
|
axisPointer: {
|
snap: true // 自动吸附最近的点
|
},
|
splitLine: {
|
show: false // y轴 网格线不显示
|
},
|
axisLine: {
|
lineStyle: {
|
color: '#ffffff', // 坐标轴的颜色
|
width: 1
|
}
|
}
|
},
|
{
|
type: 'value',
|
position: 'right', // 多 Y 轴使用
|
name: '流量(m³/h³)',
|
axisLabel: {
|
formatter: '{value}',
|
textStyle: {
|
color: '#fff' // 坐标的字体颜色
|
}
|
},
|
axisPointer: {
|
snap: true // 自动吸附最近的点
|
},
|
splitLine: {
|
show: false // y轴 网格线不显示
|
},
|
axisLine: {
|
lineStyle: {
|
color: '#ffffff', // 坐标轴的颜色
|
width: 1
|
}
|
}
|
}],
|
series: [
|
{
|
name: 'COD',
|
type: 'line',
|
stack: '总量',
|
data: dataValue1,
|
yAxisIndex: 0
|
},
|
{
|
name: '氨氮',
|
type: 'line',
|
stack: '总量',
|
data: dataValue2,
|
yAxisIndex: 0
|
},
|
{
|
name: '废水流量',
|
type: 'line',
|
stack: '总量',
|
data: dataValue3,
|
yAxisIndex: 1
|
}
|
]
|
}
|
return options
|
}
|
},
|
// methods: {
|
// // onSubmit () {
|
// // console.log('submit!')
|
// // },
|
// drawChart: function () {
|
// const myChart = this.$echarts.init(this.$refs.main)
|
// myChart.setOption(this.options)
|
// window.onresize = function () {
|
// var h1 = document.documentElement.clientHeight// 获取屏幕的高度
|
// if (h1 > 700) {
|
// myChart.getDom().style.height = 3 + 'rem'
|
// myChart.getDom().style.width = 6 + 'rem'
|
// } else {
|
// myChart.getDom().style.height = 3 + 'rem'
|
// myChart.getDom().style.width = 6 + 'rem'
|
// }
|
// myChart.resize()
|
// }
|
// }
|
// },
|
mounted () {
|
this.$nextTick(() => {
|
this.drawChart()
|
const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse()
|
console.log(dataWatch)
|
var dataValue1 = []
|
var dataValue2 = []
|
var dataValue3 = []
|
var dataDate = []
|
for (var i = 0; i < 24; i++) {
|
dataDate.push(dataWatch[i].MonTimeStr.substring(9))
|
}
|
for (var n = 0; n < dataWatch.length; n++) {
|
if (dataWatch[n].PoltmtrlName === 'COD') {
|
dataValue1.push(dataWatch[n].MonQty)
|
} else if (dataWatch[n].PoltmtrlName === '氨氮') {
|
dataValue2.push(dataWatch[n].MonQty)
|
} else if (dataWatch[n].PoltmtrlName === '废水流量') {
|
dataValue3.push(dataWatch[n].MonQty)
|
}
|
}
|
const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3)
|
this.myChart = this.$echarts.init(this.$refs.main)
|
this.myChart.setOption(opitons)
|
})
|
}
|
}
|
</script>
|
|
<style scoped lang="less">
|
.grid-content{
|
font-size: 8px!important;
|
background-color:#2e4967;
|
text-align: center;
|
margin: 0 2px 4px 2px;
|
border-radius: 2px;
|
}
|
.Infomation {
|
margin-left: 10px;
|
}
|
|
.el-tag {
|
height: 25px;
|
width: 140px;
|
line-height: 25px;
|
margin-right: 10px;
|
font-size: 10px;
|
background-color: rgba(0, 255, 246, 0.14);
|
color: #00d0f9;
|
border: none;
|
padding: 0 15px;
|
}
|
|
.form-echrts {
|
width: 100%;
|
border-top: 1px solid #396d83;
|
//margin: 10px 10px 10px 10px;
|
.from-search{
|
margin-top: 6px;
|
.layoutFrom{
|
display: flex;
|
.sampling{
|
margin-left: 100px;
|
>span{
|
margin-right: 10px;
|
}
|
}
|
.InquiryBtn{
|
margin-left: 30px;
|
width: 36px;
|
height: 20px;
|
font-size: 8px;
|
background-color:#2e4967 ;
|
text-align: center;
|
border-radius: 3px;
|
}
|
.detailBox{
|
margin-left: 30px;
|
}
|
.pickerMon{
|
display: flex;
|
.pickerDataLeft{
|
margin-left: 10px;
|
margin-right: 90px;
|
}
|
.pickerData{
|
flex: 1;
|
display: flex;
|
>span{
|
margin-right: 15px;
|
}
|
.pickerTable{
|
margin-left: 6px;
|
width: 40px;
|
|
/deep/.el-input__icon {
|
width: 1rem;
|
font-size: 0;
|
}
|
}
|
}
|
}
|
}
|
/deep/.el-input__inner{
|
position: relative;
|
width: 0.9rem!important;
|
height: 0.125rem!important;
|
background-color: #2e4967;
|
color: #ffffff;
|
font-size: 8px;
|
padding: 0;
|
//padding-left:20px ;
|
//padding: 0!important;
|
}
|
.echatsInput{
|
color: #00ffff;
|
background-color: #2e4967;
|
border: none;
|
border-radius: 6px;
|
width: 40px;
|
}
|
.detailbtn{
|
background-color:#2e4967;
|
text-align: center;
|
padding: 0 7px;
|
line-height: 20px;
|
border-radius: 4px;
|
margin-right: 6px;
|
}
|
}
|
.el-dialog-div {
|
//height: 50vh!important;
|
overflow: auto;
|
//overflow: hidden;
|
}
|
|
#echarts {
|
margin: 0;
|
padding: 0;
|
//height: 3rem;
|
//border: 1px solid #396d83;
|
//margin: 10px 10px 10px 10px;
|
}
|
}
|
</style>
|