From fc9eeb9f8b2efba55acfb62a2cb1186ccf2fcad4 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期五, 09 四月 2021 10:31:30 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue | 306 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 209 insertions(+), 97 deletions(-) diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue index 49744bd..e4f7d3f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue @@ -2,55 +2,71 @@ <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-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--> -<!-- 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"> + <el-row type="flex"> + <el-col :span="14"> + <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> + </el-col> + <el-col :span="5"> + 閲囨牱鐐规暟: + <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> + </el-col> + <el-col class="detailbtn" :span="2" @click="onSubmit">鏌ヨ</el-col> + <el-col :span="3"> + <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> + </el-col> + </el-row> + </div> + <div style="width:5rem;height:2rem;" id="echarts" ref="main"> </div> </div> </div> @@ -66,11 +82,37 @@ }, data () { return { + value1: '', + value2: '', watchData: [], dialogVisible: false, - dataDate: [], + myChar: null, value: '', - options: { + 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: '鎶樼嚎鍥惧爢鍙�' }, @@ -88,25 +130,19 @@ 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' } @@ -114,12 +150,11 @@ }, grid: { left: '3%', - right: '1%', + right: '3%', bottom: '3%', containLabel: true }, - toolbox: { - }, + toolbox: {}, // 鍥炬爣缂╂斁璁剧疆 dataZoom: [{ type: 'inside', @@ -143,12 +178,13 @@ 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: { // 缃戞牸鍨傜洿绾夸负铏氱嚎 @@ -170,9 +206,31 @@ // 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: { @@ -194,68 +252,75 @@ }], 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) + 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 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 (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; - height: 0.2rem; } .el-tag { height: 25px; + width: 140px; line-height: 25px; margin-right: 10px; font-size: 10px; @@ -267,9 +332,56 @@ .form-echrts { width: 100%; - height: 1rem; border-top: 1px solid #396d83; //margin: 10px 10px 10px 10px; + .from-search{ + margin-top: 6px; + .pickerMon{ + display: flex; + .pickerData{ + flex: 1; + display: flex; + .pickerTable{ + margin-left: 6px; + width: 40px; + + /deep/.el-input__icon { + width: 0.9rem; + font-size: 0; + } + } + } + } + /deep/.el-date-editor--datetime{ + width: 100%; + } + /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; -- Gitblit v1.8.0