From a7dc80523af0b970764df72fb190c80cf7f8527e Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期日, 25 四月 2021 17:51:43 +0800 Subject: [PATCH] 废水图表问题修改 --- src/components/BaseNav/WasteWater/HourData.vue | 348 ++++++++++++++++----------------------------------------- 1 files changed, 99 insertions(+), 249 deletions(-) diff --git a/src/components/BaseNav/WasteWater/HourData.vue b/src/components/BaseNav/WasteWater/HourData.vue index b48393f..bda31d2 100644 --- a/src/components/BaseNav/WasteWater/HourData.vue +++ b/src/components/BaseNav/WasteWater/HourData.vue @@ -1,33 +1,31 @@ <template> - <div id="Tab"> + <div class="echarts-box"> <div class="tab-scroll"> <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard> - <span class="time-select">{{ formInline.timeStart }}鏃垛�斺�攞{ formInline.timeEnd }}鏃�</span> + <span class="time-select">{{ formData.startTime }}鈥攞{ formData.endTime }}</span> </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" value-format="yyyy-MM-dd HH" v-model="formInline.timeStart"> - </el-date-picker> - </span> - </div> - <div class="pickerData"> - <span>缁撴潫鏃堕棿:</span> - <span class="pickerTable"> - <el-date-picker type="datetime" value-format="yyyy-MM-dd HH" v-model="formInline.timeEnd"> - </el-date-picker> - </span> - </div> - </div> - <div class="detailbtn">鏌ヨ</div> - <div class="detailbtn">鏄庣粏琛�</div> - </div> - <div class="boxChart"> - <div style="width: 5rem;height:1.5rem;" id="echarts" ref="echartsHour"></div> - </div> + <div class="echarts-form"> + <span class="demonstration">寮�濮嬫椂闂达細</span> + <el-date-picker + v-model="formData.startTime" + value-format="yyyy-MM-dd HH" + type="datetime"> + </el-date-picker> + <span class="demonstration">缁撴潫鏃堕棿锛�</span> + <el-date-picker + v-model="formData.endTime" + value-format="yyyy-MM-dd HH" + type="datetime"> + </el-date-picker> + <span class="demonstration">閲囨牱鐐规暟锛�</span> + <el-select v-model="formData.region" placeholder="璇烽�夋嫨" style="width: 80px"> + <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option> + </el-select> + <el-button @click="querySearch()">鏌ヨ</el-button> + <el-button>鏄庣粏琛�</el-button> + </div> + <div class="echarts-chart"> + <div style="width:5rem;height:1.5rem;" ref="echartsHour"></div> </div> </div> </template> @@ -35,10 +33,10 @@ <script> import PublicDataStandard from '../PublicDataStandard' import dayjs from 'dayjs' -import mapApi from '@/api/mapApi' +import mapApi from '../../../api/mapApi' export default { - name: 'ECharts', + name: 'HourData', components: { PublicDataStandard }, @@ -86,12 +84,12 @@ val: null } }], - formInline: { - timeStart: dayjs().subtract(24, 'hours').format('YYYY-MM-DD HH'), - timeEnd: dayjs().format('YYYY-MM-DD HH') + formData: { + region: '25', + regionList: [25, 50, 75, 100], + startTime: dayjs().subtract(16, 'hour').format('YYYY-MM-DD HH'), + endTime: dayjs().format('YYYY-MM-DD HH') }, - // timeEnd: dayjs().format('YYYY-MM-DD HH'), - // timeStart: dayjs().subtract(24, 'hours').format('YYYY-MM-DD HH'), chart: null, jcdID: 1, dataType: 2, @@ -104,38 +102,37 @@ this.draw24Chart() }, methods: { + // 鐐瑰嚮鏌ヨ鍔熻兘 + querySearch () { + + }, async draw24Chart () { - // 鐢ㄤ簬鎺ュ彛鏁版嵁璇锋眰鐨勫弬鏁� 寮�濮�/缁撴潫鏃堕棿 || 鍙�夋嫨鏌ヨ鐨勫紑濮�/缁撴潫鏃堕棿 - // this.formInline.timeEnd = dayjs().format('YYYY-MM-DD HH') - // this.formInline.timeStart = dayjs().subtract(24, 'hours').format('YYYY-MM-DD HH') const data = { onLineMonEmissPointId: 23, monItemId: 28, - beginTime: this.formInline.timeStart, - endTime: this.formInline.timeEnd, + beginTime: this.formData.startTime, + endTime: this.formData.endTime, dataType: this.dataType } const result = (await mapApi.getQueryOnlineMonData(data)).Result.DataInfo + // console.log(result) this.get24HourDate(result) }, - // 缁樺埗灏忔椂鏁版嵁 - get24HourDate (res) { - if (res.length > 0) { - const d = res + // 缁樺埗灏忔椂鏁版嵁鎶樼嚎鍥� + get24HourDate (result) { + if (result.length > 0) { + const d = result const nameList = [] // 瀛樻斁鍥句緥 const dateList = [] // 瀛樻斁鏃堕棿 let dataList = [] // 瀛樻斁鏁版嵁 let data = [] const bzh = [] - // wrwIDS = [] for (let i = 0; i < d.length; i++) { if (d[i].MonItemId === '29') { continue } const MonTimeStr = d[i].MonTimeStr - - // getWRW(d[i]) let strDate const d1 = MonTimeStr.split('/') // 鏈� @@ -181,8 +178,6 @@ if (nameList.length === 0) { nameList.push(d[i].PoltmtrlName.trim()) dateList.push(strDate) - /* let data=new Array(); - data.push(d.MonQty); */ if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) { d[i].MonQty = 0 } @@ -214,9 +209,6 @@ data.push(d[i].MonQty) } } - // 澶勭悊鏁版嵁缁撴潫 - - // dateList=get24DateTime(); const newList = [] @@ -226,31 +218,28 @@ } dataList = newList - const divid = 'mycharteff' - const title = name - const lengList = [] let objTemp for (let l = 0; l < nameList.length; l++) { let obj - let iconurl + let iconUrl if (nameList[l] === 'COD') { - iconurl = 'image://../assets/imgs/legend/SO2.png' + iconUrl = 'image://../assets/imgs/legend/SO2.png' } else if (nameList[l] === '姘ㄦ爱') { - iconurl = 'image://../assets/imgs/legend/NOX.png' + iconUrl = 'image://../assets/imgs/legend/NOX.png' } else if (nameList[l] === '鎬荤7') { - iconurl = 'image://../assets/imgs/legend/YanChen.png' + iconUrl = 'image://../assets/imgs/legend/YanChen.png' } else if (nameList[l] === '鎬绘爱') { - iconurl = 'image://../assets/imgs/legend/zongdan.png' + iconUrl = 'image://../assets/imgs/legend/zongdan.png' } else { - iconurl = 'image://../assets/imgs/legend/VOCs.png' + iconUrl = 'image://../assets/imgs/legend/VOCs.png' } if (nameList[l] === '搴熸按' || nameList[l] === '搴熸按娴侀噺') { // 灏嗗簾姘存祦閲忔帓鍒版暟缁勬渶鍚� objTemp = { name: nameList[l], - icon: iconurl, + icon: iconUrl, textStyle: { color: '#ccc' }, @@ -260,7 +249,7 @@ } else { obj = { name: nameList[l], - icon: iconurl, + icon: iconUrl, textStyle: { color: '#ccc' }, @@ -284,15 +273,9 @@ } else if (nameList[j] === '姘ㄦ爱') { zdcbcolor = 'red' zxcolor = '#00B0F0' - } else if (nameList[j] === '鎬荤7') { - zdcbcolor = 'red' - zxcolor = '#f48183' } else if (nameList[j] === '搴熸按娴侀噺') { zdcbcolor = 'red' - zxcolor = '#9ACD32' - } else { - zdcbcolor = 'red' - zxcolor = '#d9f2f4' + zxcolor = '#8fdc6e' } const ydata = { name: nameList[j], @@ -309,26 +292,31 @@ this.bzzList.push(this.bzz) ydatas.push(ydata) } - console.log(ydatas) + // console.log(ydatas) const yname = '娴撳害(mg/l)' - this.effChartShow(divid, title, legend, xdata, ydatas, yname, this.jcdID, this.datatype) + this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype) } }, - effChartShow (divid, title, legend, xdata, ydatas, yname, jcdID, datatype) { + effChartShow (legend, xdata, ydatas, yname, jcdID, datatype) { + // console.log(ydatas) + // 鍒濆鍖栧浘鏍� this.chart = this.$echarts.init(this.$refs.echartsHour) - console.log(ydatas) - // this.chart.clear() + this.chart.clear() + // const bzlist = this.bzzList + // const bzz = this.bz + let dataUnit = '' if (datatype === 1) { dataUnit = '娴侀噺(m鲁/d)' } else { dataUnit = '娴侀噺(m鲁/h)' } + const bzzList = this.bzzList const serLists = [] for (let i = 0; i < ydatas.length; i++) { - // let zdcbcolor = ydatas[i].zdcbcolor + const zdcbcolor = ydatas[i].zxcolor const bz = ydatas[i].bzz let obj if (bz) { @@ -339,17 +327,15 @@ smooth: false, // 鐩寸嚎 锛宼rue 涓烘洸绾� itemStyle: { normal: { - // color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹� - // // let biaozhuiz - // let bzlist = this.bzzList - // for (let i = 0; i < this.bzzList.length; i++) { - // if (this.bzzList[i].name === c.seriesName) { - // this.bz = this.bzzList[i].bzhui + // color: function (c) { + // for (let i = 0; i < bzlist.length; i++) { + // if (bzlist[i].name === c.seriesName) { + // this.bzz = bzlist[i].bzhui // } // } - // if (c.value > this.bz) { + // if (c.value > bzz) { // return zdcbcolor - // } else if (c.value > this.bz * 0.9) { + // } else if (c.value > bzz * 0.9) { // return '#FFA500' // } else { // return '#33c95f' @@ -359,7 +345,7 @@ color: ydatas[i].zxcolor, width: 5 }, - borderColor: 'black', // 鎶樼偣杈规鐨勯鑹� + borderColor: ydatas[i].zxcolor, // 鎶樼偣杈规鐨勯鑹� label: { // 鏄剧ず鍊� show: false } @@ -383,8 +369,7 @@ type: 'dashed', width: 2 } - } - ] + }] } } } else { @@ -394,31 +379,33 @@ symbolSize: 10, // 澶у皬 smooth: false, // 鐩寸嚎 锛宼rue 涓烘洸绾� yAxisIndex: 1, - // itemStyle: { - // normal: { - // color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹� - // // let biaozhuiz - // for (let i = 0; i < this.bzzList.length; i++) { - // if (this.bzzList[i].name === c.seriesName) { - // this.bz = this.bzzList[i].bzhui - // } - // } - // if (c.value > 9999999) { - // return zdcbcolor - // } else { - // return '#33c95f' - // } - // }, - // lineStyle: { // 鎶樼嚎鐨勯鑹� - // color: ydatas[i].zxcolor, - // width: 5 - // }, - // borderColor: 'black', // 鎶樼偣杈规鐨勯鑹� - // label: { // 鏄剧ず鍊� - // show: false - // } - // } - // }, + itemStyle: { + normal: { + color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹� + let biaozhuiz + for (let i = 0; i < bzzList.length; i++) { + if (bzzList[i].name === c.seriesName) { + biaozhuiz = bzzList[i].bzhui + } + } + if (c.value[1] > biaozhuiz) { + return zdcbcolor + } else if (c.value[1] > biaozhuiz * 0.9) { + return '#FFA500' + } else { + return '#33c95f' + } + }, + lineStyle: { // 鎶樼嚎鐨勯鑹� + color: ydatas[i].zxcolor, + width: 5 + }, + borderColor: 'black', // 鎶樼偣杈规鐨勯鑹� + label: { // 鏄剧ず鍊� + show: false + } + } + }, type: 'line', data: ydatas[i].data } @@ -426,10 +413,7 @@ serLists.push(obj) } const option = { - /* title: { - text: title, - }, */ - tooltip: { // 鎻愮ず妗� + tooltip: { trigger: 'axis', axisPointer: { type: 'cross', @@ -466,7 +450,7 @@ return s } }, - toolbox: { // 鎵撳嵃绛夊伐鍏� + toolbox: { show: false, feature: { saveAsImage: {} @@ -593,139 +577,5 @@ </script> <style scoped lang="less"> -.tab-scroll { - display: flex; - align-items: center; - justify-content: space-between; - .time-select { - //margin: 0 10px; - cursor: pointer; - padding: 5px; - border: 1px solid #2b87c8; - border-radius: 4px; - text-align: center; - color: #fff; - font-size: 11px; - width: 280px; - } -} - -.grid-content { - font-size: 8px; - background-color: #2e4967; - text-align: center; - border-radius: 2px; - margin-right: 10px; - padding: 0 10px - //>i{ - // color: #f00; - // } -} - -.infomation { - padding: 5px 10px; -} - -.form-echrts { - width: 100%; - border-top: 1px solid #396d83; - //margin: 10px 10px 10px 10px; - .from-search { - display: flex; - padding: 15px 0; - - > div { - margin-left: 30px - } - - .pickerMon { - display: flex; - - > div:first-child { - margin-right: 10px; - } - - .pickerData { - flex: 1; - display: flex; - - > span { - line-height: 22px; - margin-right: 15px; - } - - .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; - z-index: 9999; - //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 { - overflow: auto; - } - - #echarts { - margin: 0; - padding: 0; - } -} </style> -- Gitblit v1.8.0