| | |
| | | <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> |
| | | <div> |
| | | <span class="grid-content">氮氧化物 :<i>29.93</i> 标准 : 100</span> |
| | | <span class="grid-content">二氧化硫 : <i>17.34</i> 标准 : 50</span> |
| | | <span class="grid-content">烟尘 : <i>6.93</i> 标准 : 30</span> |
| | | <span class="grid-content">废气流量 : <i>120343.18</i></span> |
| | | </div> |
| | | </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--> |
| | | <!-- 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>--> |
| | | <!-- <el-button size="mini" round @click="dialogVisible = true">明细表</el-button>--> |
| | | <!-- <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 style="width:100%;height:1rem;margin-top:-0.1rem;position:absolute;" id="echarts" ref="main"> |
| | | <div class="from-search"> |
| | | <div class="pickerMon"> |
| | | <div class="pickerData"> |
| | | <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> |
| | | 采样点数: |
| | | <el-select v-model="formInline.region"> |
| | | <el-option label="0" value="0"></el-option> |
| | | <el-option label="25" value="25"></el-option> |
| | | <el-option label="50" value="50"></el-option> |
| | | <el-option label="75" value="75"></el-option> |
| | | <el-option label="100" value="100"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="detailbtn" @click="onSubmit">查询</div> |
| | | <div class="detailbtn" @click="dialogVisible = true" >明细表</div> |
| | | </div> |
| | | <div style="width:5rem;height:2rem;" id="echarts" ref="main"> |
| | | </div> |
| | | </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> |
| | | </template> |
| | | |
| | | <script> |
| | | // import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList' |
| | | import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList' |
| | | |
| | | export default { |
| | | name: 'ECharts', |
| | | components: { |
| | | // PublicDetailedList |
| | | PublicDetailedList |
| | | }, |
| | | data () { |
| | | return { |
| | | value1: '', |
| | | value2: '', |
| | | watchData: [], |
| | | dialogVisible: false, |
| | | dataDate: [], |
| | | myChar: null, |
| | | value: '', |
| | | options: { |
| | | formInline: { |
| | | user: '', |
| | | region: '' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | onSubmit () { |
| | | const date = [this.value1, this.value2, this.value] |
| | | console.log(date) |
| | | if (date) { |
| | | var date1 = new Date(date) |
| | | date1 = new Date(date1.getTime() - (8 * 3600000)) |
| | | console.log(date1) |
| | | // var dateUtil = new DateUtil() |
| | | // var datePkg = dateUtil.getTowDate(date1, "a", 24 * 3600000 - 1); |
| | | // var datatype = 2; |
| | | } |
| | | }, |
| | | 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: '折线图堆叠' |
| | | }, |
| | |
| | | x: '200px', |
| | | y: '30px', |
| | | data: [{ |
| | | name: '氮氧化物', |
| | | name: 'COD', |
| | | textStyle: { |
| | | color: '#00d0f9' |
| | | } |
| | | }, |
| | | { |
| | | name: '二氧化硫', |
| | | name: '氨氮', |
| | | textStyle: { |
| | | color: '#00d0f9' |
| | | } |
| | | }, |
| | | { |
| | | name: '烟尘', |
| | | textStyle: { |
| | | color: '#00d0f9' |
| | | } |
| | | }, |
| | | { |
| | | name: '废气流量', |
| | | name: '废水流量', |
| | | textStyle: { |
| | | color: '#00d0f9' |
| | | } |
| | |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '1%', |
| | | right: '3%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | toolbox: { |
| | | }, |
| | | toolbox: {}, |
| | | // 图标缩放设置 |
| | | dataZoom: [{ |
| | | type: 'inside', |
| | |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['12:00:00', '13:00:00', '14:00:00', '15:00:00', '16:00:00', '17:00:00', '18:00:00'], |
| | | data: dataDate, |
| | | axisLabel: { // x轴全部显示 |
| | | rotate: 20, |
| | | interval: 0, |
| | | textStyle: { |
| | | color: '#fff' |
| | | color: '#fff', |
| | | fontSize: 10 |
| | | } |
| | | }, |
| | | splitLine: { // 网格垂直线为虚线 |
| | |
| | | // Y 轴的设置 |
| | | yAxis: [{ |
| | | type: 'value', |
| | | // position: 'left', // 多 Y 轴使用 |
| | | // name: yname, // 后期图标Y轴显示单位 |
| | | 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: { |
| | |
| | | }], |
| | | series: [ |
| | | { |
| | | name: '氮氧化物', |
| | | name: 'COD', |
| | | type: 'line', |
| | | stack: '总量', |
| | | data: [120, 132, 101, 134, 90, 230, 210] |
| | | data: dataValue1, |
| | | yAxisIndex: 0 |
| | | }, |
| | | { |
| | | name: '二氧化硫', |
| | | name: '氨氮', |
| | | type: 'line', |
| | | stack: '总量', |
| | | data: [150, 232, 201, 154, 190, 330, 410] |
| | | data: dataValue2, |
| | | yAxisIndex: 0 |
| | | }, |
| | | { |
| | | name: '烟尘', |
| | | name: '废水流量', |
| | | type: 'line', |
| | | stack: '总量', |
| | | data: [320, 332, 301, 334, 390, 330, 320] |
| | | }, |
| | | { |
| | | name: '废气流量', |
| | | type: 'line', |
| | | stack: '总量', |
| | | data: [820, 932, 901, 934, 1290, 1330, 1320] |
| | | data: dataValue3, |
| | | yAxisIndex: 1 |
| | | } |
| | | ] |
| | | }, |
| | | formInline: { |
| | | user: '', |
| | | region: '' |
| | | } |
| | | } |
| | | }, |
| | | 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() |
| | | } |
| | | return options |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | this.drawChart() |
| | | const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getWasteWaterMonitoring)) |
| | | // console.log(dataWatch) |
| | | for (var i = 0; i < dataWatch.length; i++) { |
| | | this.dataDate.push(dataWatch[i].MonTimeStr.substring(10, 17)) |
| | | const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse() |
| | | console.log(dataWatch) |
| | | var dataValue1 = [] |
| | | var dataValue2 = [] |
| | | var dataValue3 = [] |
| | | var dataValue4 = [] |
| | | var dataDate = [] |
| | | for (var i = 0; i < 24; i++) { |
| | | dataDate.push(dataWatch[i].MonTimeStr.substring(9)) |
| | | } |
| | | // console.log(this.dataDate) |
| | | for (var n = 0; n < dataWatch.length; n++) { |
| | | if (this.$attrs.value === 'feishui') { |
| | | 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) |
| | | } else if (this.$attrs.value === 'feiqi') { |
| | | if (dataWatch[n].PoltmtrlName === '废气流量') { |
| | | 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) |
| | | } else if (dataWatch[n].PoltmtrlName === '"氮氧化物"') { |
| | | dataValue4.push(dataWatch[n].MonQty) |
| | | const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3, dataValue4) |
| | | this.myChart = this.$echarts.init(this.$refs.main) |
| | | this.myChart.setOption(opitons) |
| | | } |
| | | } |
| | | } |
| | | // 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"> |
| | | .Infomation { |
| | | margin-left: 10px; |
| | | height: 0.2rem; |
| | | .grid-content{ |
| | | font-size: 8px; |
| | | background-color: #2e4967; |
| | | text-align: center; |
| | | border-radius: 2px; |
| | | margin-right: 10px; |
| | | padding:0 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; |
| | | .infomation { |
| | | padding: 5px 10px; |
| | | } |
| | | |
| | | .form-echrts { |
| | | width: 100%; |
| | | height: 1rem; |
| | | border-top: 1px solid #396d83; |
| | | //margin: 10px 10px 10px 10px; |
| | | .el-dialog-div { |
| | | //height: 50vh!important; |
| | | overflow: auto; |
| | | //overflow: hidden; |
| | | } |
| | | |
| | | #echarts { |
| | | margin: 0; |
| | | padding: 0; |
| | | //height: 3rem; |
| | | //border: 1px solid #396d83; |
| | | width: 100%; |
| | | border-top: 1px solid #396d83; |
| | | //margin: 10px 10px 10px 10px; |
| | | } |
| | | .from-search{ |
| | | display: flex; |
| | | padding:5px; |
| | | >div{margin-left: 10px} |
| | | .pickerMon{ |
| | | display: flex; |
| | | >div:first-child { |
| | | margin-right: 10px; |
| | | } |
| | | .pickerData{ |
| | | flex: 1; |
| | | display: flex; |
| | | >span{line-height: 22px} |
| | | .pickerTable { |
| | | margin-left: 3px; |
| | | } |
| | | } |
| | | } |
| | | /deep/.el-date-editor--datetime{ |
| | | width: 100%; |
| | | } |
| | | /deep/.el-input__inner{ |
| | | position: relative; |
| | | width:140px; |
| | | background-color: #2e4967; |
| | | color: #ffffff; |
| | | font-size: 12px; |
| | | height: 24px; |
| | | padding: 0; |
| | | border-color:#00fff6; |
| | | text-align: center; |
| | | //padding-left:20px ; |
| | | //padding: 0!important; |
| | | } |
| | | /deep/.el-input__icon{ |
| | | display: block; |
| | | width: 140px; |
| | | height: 22px; |
| | | line-height: 22px; |
| | | cursor: pointer; |
| | | font-size: 0; |
| | | } |
| | | .echatsInput{ |
| | | color: #00ffff; |
| | | background-color: #2e4967; |
| | | border: none; |
| | | border-radius: 6px; |
| | | width: 80px; |
| | | height: 22px; |
| | | text-align: center; |
| | | } |
| | | input::-webkit-calendar-picker-indicator { |
| | | opacity: 100; |
| | | } |
| | | .detailbtn{ |
| | | background-color:#2e4967; |
| | | text-align: center; |
| | | padding: 0 7px; |
| | | line-height: 24px; |
| | | border-radius: 4px; |
| | | margin-right: 6px; |
| | | } |
| | | .detailbtn:hover{ |
| | | box-shadow: 0 0 0.03rem #fff700 !important; |
| | | color:#fff700 !important; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .el-dialog-div { |
| | | //height: 50vh!important; |
| | | overflow: auto; |
| | | //overflow: hidden; |
| | | } |
| | | |
| | | #echarts { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | } |
| | | </style> |