From c63087b698d27edf8d5867a78a04a0713498a0c2 Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期一, 12 四月 2021 17:42:23 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue | 434 ++++++++++++++++++++++++------------------------------ 1 files changed, 192 insertions(+), 242 deletions(-) diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue index cf5bcb8..0844f9f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue @@ -1,130 +1,64 @@ -<!-- 灏忔椂鏁版嵁 --> +<!-- 鏃ユ暟鎹� --> <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>--> -<!-- <input list="students">--> -<!-- <datalist id="students">--> -<!-- <option value="Lily">--> -<!-- <option value="Lucy">--> -<!-- <option value="Jim">--> -<!-- <option value="Lily">--> -<!-- </datalist>--> - <el-row type="flex" :gutter="20"> - <el-col :span="14"> -<!-- <el-row>--> -<!-- <el-col :span="12">--> -<!-- <el-row type="flex" justify="space-between">--> -<!-- <el-col class="pickerData">--> -<!-- 寮�濮嬫椂闂�:--> -<!-- <el-date-picker--> -<!-- type="date">--> -<!-- </el-date-picker>--> -<!-- </el-col>--> -<!-- </el-row>--> -<!-- </el-col>--> -<!-- <el-col :span="12" type="flex">--> -<!-- <el-row type="flex" justify="center">--> -<!-- <el-col>--> -<!-- 缁撴潫鏃堕棿:--> -<!-- <el-date-picker--> -<!-- type="date"--> -<!-- >--> -<!-- </el-date-picker>--> -<!-- </el-col>--> -<!-- </el-row>--> -<!-- </el-col>--> -<!-- </el-row>--> - </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> -<!-- <div data-tap-disabled="true">--> -<!-- 閲囨牱鐐规暟:--> -<!-- <select id="source">--> -<!-- <option value="1">0</option>--> -<!-- <option value="2">25</option>--> -<!-- <option value="3">50</option>--> -<!-- <option value="4">75</option>--> -<!-- <option value="5">100</option>--> -<!-- </select>--> -<!-- </div>--> - </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:600px;height:200px;" id="echarts" ref="main"> - </div> - </div> + <div id="Tab"> + <div class="animation"> + <div class="infomation"> + <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"> + <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" placeholder="50"> + <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 dayjs from 'dayjs' export default { name: 'ECharts', @@ -133,6 +67,8 @@ }, data () { return { + value1: '', + value2: '', watchData: [], dialogVisible: false, myChar: null, @@ -140,7 +76,8 @@ formInline: { user: '', region: '' - } + }, + info: this.series } }, methods: { @@ -160,12 +97,12 @@ this.myChart.resize() } }, - initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) { + initOptions: function (dateDate, series) { var options = { title: { // text: '鎶樼嚎鍥惧爢鍙�' }, - color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'], + color: ['#446cdc', '#c4c916', '#c1187e'], tooltip: { trigger: 'axis', axisPointer: { @@ -199,7 +136,7 @@ }, grid: { left: '3%', - right: '6%', + right: '3%', bottom: '3%', containLabel: true }, @@ -213,7 +150,6 @@ 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', @@ -226,8 +162,8 @@ // x杞寸殑璁剧疆 xAxis: { type: 'category', - boundaryGap: ['10%', '10%'], - data: dataDate, + boundaryGap: false, + data: dateDate, axisLabel: { // x杞村叏閮ㄦ樉绀� rotate: 20, interval: 0, @@ -299,29 +235,7 @@ } } }], - 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 - } - ] + series: series } return options } @@ -329,31 +243,33 @@ mounted () { this.$nextTick(() => { this.drawChart() - const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse() + const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonDateData)).reverse() console.log(dataWatch) - var dataValue1 = [] - var dataValue2 = [] - var dataValue3 = [] - var dataDate = [] - for (var i = 0; i < 24; i++) { - if (i === 0 || i === 23) { - dataDate.push(dataWatch[i].MonTimeStr.substring(0, 8)) - } - } + var dateDate = [] + // {COD:[3,4,5]} + var data = {} for (var n = 0; n < dataWatch.length; n++) { - if (dataWatch[n].PoltmtrlName === 'COD') { - const valueData1 = [] - valueData1.push(dataWatch[n].MonQty) - } else if (dataWatch[n].PoltmtrlName === '姘ㄦ爱') { - const valueData2 = [] - valueData2.push(dataWatch[n].MonQty) - console.log(dataValue2) - } else if (dataWatch[n].PoltmtrlName === '搴熸按娴侀噺') { - const valueData3 = [] - valueData3.push(dataWatch[n].MonQty) + var d = dataWatch[n].MonTimeStr.substring(5, 9) + if (dateDate.indexOf(d) < 0) { + dateDate.push(d) + } + if (data[dataWatch[n].PoltmtrlName]) { + data[dataWatch[n].PoltmtrlName].push(dataWatch[n].MonQty) + } else { + data[dataWatch[n].PoltmtrlName] = [dataWatch[n].MonQty] } } - const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3) + var series = [] + for (var k in data) { + series.push({ + name: k, + type: 'line', + yAxisIndex: k === '搴熸按娴侀噺' ? 1 : 0, + data: data[k] + }) + } + console.log(series) + const opitons = this.initOptions(dateDate, series) this.myChart = this.$echarts.init(this.$refs.main) this.myChart.setOption(opitons) }) @@ -362,80 +278,114 @@ </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; - background-color: rgba(0, 255, 246, 0.14); - color: #00d0f9; - border: none; - padding: 0 15px; -} - -.form-echrts { - width: 100%; - height: 1rem; - border-top: 1px solid #396d83; - //margin: 10px 10px 10px 10px; - .from-search{ - //display: flex; - //justify-content: space-between; - .pickerData{ - display: flex; - justify-content: space-between; - } - /deep/.el-input__inner{ - width: 40px!important; - height: 16px!important; - background-color: #2e4967; - } - .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; - } +//.animation{ +// padding: 0 1rem; +// overflow: hidden; +// //width: 1rem; +// .infomation{ +// display: flex; +// //margin: 0 1rem; +// overflow: hidden; +// animation: move 1s linear 0s infinite; +// @keyframes move { +// 0% { +// } +// 100% { +// transform: translateX(-10%); +// } +// } +// /* 榧犳爣缁忚繃marquee 灏卞仠姝㈠姩鐢� */ +// &:hover { +// //z-index: 9999999; +// animation-play-state: paused; +// } +// } +//} + .grid-content { + font-size: 8px; + background-color: #2e4967; + text-align: center; + border-radius: 2px; + margin-right: 10px; + padding:0 10px } - .el-dialog-div { - //height: 50vh!important; - overflow: auto; - //overflow: hidden; +.animation { + //width: 600px; + //height: 0.06rem; + .infomation { + padding: 5px 10px; } - - .from-search { - background-color: red; - .date{ - width: 200px; - height: 30px; - padding: 0; - border: none; - .el-icon-time{ - line-height: 30px; +} + .form-echrts { + 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: #fff; + 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; + } + input::-webkit-calendar-picker-indicator { + opacity: 100; + } + .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 { -- Gitblit v1.8.0