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 | 424 ++++++++++++++++++----------------------------------
1 files changed, 150 insertions(+), 274 deletions(-)
diff --git a/src/components/BaseNav/WasteWater/HourData.vue b/src/components/BaseNav/WasteWater/HourData.vue
index 20031db..bda31d2 100644
--- a/src/components/BaseNav/WasteWater/HourData.vue
+++ b/src/components/BaseNav/WasteWater/HourData.vue
@@ -1,30 +1,31 @@
<template>
- <div id="Tab">
- <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
- <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="formInline.timeStart">
- </el-date-picker>
- </span>
- </div>
- <div class="pickerData">
- <span>缁撴潫鏃堕棿:</span>
- <span class="pickerTable">
- <el-date-picker type="datetime" 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-box">
+ <div class="tab-scroll">
+ <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
+ <span class="time-select">{{ formData.startTime }}鈥攞{ formData.endTime }}</span>
+ </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>
@@ -32,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
},
@@ -83,9 +84,11 @@
val: null
}
}],
- formInline: {
- timeStart: '',
- timeEnd: ''
+ 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')
},
chart: null,
jcdID: 1,
@@ -99,38 +102,37 @@
this.draw24Chart()
},
methods: {
+ // 鐐瑰嚮鏌ヨ鍔熻兘
+ querySearch () {
+
+ },
async draw24Chart () {
- // 鐢ㄤ簬鎺ュ彛鏁版嵁璇锋眰鐨勫弬鏁� 寮�濮�/缁撴潫鏃堕棿 || 鍙�夋嫨鏌ヨ鐨勫紑濮�/缁撴潫鏃堕棿
- this.formInline.timeEnd = dayjs().format('YYYY-MM-DD HH:mm:ss')
- this.formInline.timeStart = dayjs().subtract(24, 'hours').format('YYYY-MM-DD HH:mm:ss')
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
}
- var MonTimeStr = d[i].MonTimeStr
-
- // getWRW(d[i])
+ const MonTimeStr = d[i].MonTimeStr
let strDate
const d1 = MonTimeStr.split('/') // 鏈�
@@ -176,8 +178,6 @@
if (nameList.length === 0) {
nameList.push(d[i].PoltmtrlName.trim())
dateList.push(strDate)
- /* var data=new Array();
- data.push(d.MonQty); */
if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
d[i].MonQty = 0
}
@@ -209,43 +209,37 @@
data.push(d[i].MonQty)
}
}
- // 澶勭悊鏁版嵁缁撴潫
-
- // dateList=get24DateTime();
const newList = []
for (let i = 0; i < dataList.length; i++) {
- var list = dataList[i].reverse()
+ const list = dataList[i].reverse()
newList.push(list)
}
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'
},
@@ -255,7 +249,7 @@
} else {
obj = {
name: nameList[l],
- icon: iconurl,
+ icon: iconUrl,
textStyle: {
color: '#ccc'
},
@@ -267,11 +261,11 @@
}
lengList.push(objTemp)
- var legend = lengList
- var xdata = dateList.reverse()
- var ydatas = []
+ const legend = lengList
+ const xdata = dateList.reverse()
+ const ydatas = []
- for (var j = 0; j < nameList.length; j++) {
+ for (let j = 0; j < nameList.length; j++) {
let zdcbcolor, zxcolor
if (nameList[j] === 'COD') {
zdcbcolor = 'red'
@@ -279,15 +273,9 @@
} else if (nameList[j] === '姘ㄦ爱') {
zdcbcolor = 'red'
zxcolor = '#00B0F0'
- } else if (nameList[j] === '鎬荤7') {
+ } else if (nameList[j] === '搴熸按娴侀噺') {
zdcbcolor = 'red'
- zxcolor = '#f48183'
- } else if (nameList[j] === '鎬绘爱') {
- zdcbcolor = 'red'
- zxcolor = '#d9f2f4'
- } else {
- zdcbcolor = 'red'
- zxcolor = '#9ACD32'
+ zxcolor = '#8fdc6e'
}
const ydata = {
name: nameList[j],
@@ -304,61 +292,65 @@
this.bzzList.push(this.bzz)
ydatas.push(ydata)
}
+ // console.log(ydatas)
- var yname = '娴撳害(mg/l)'
+ 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(this.chart)
this.chart.clear()
- var dataUnit = ''
+ // const bzlist = this.bzzList
+ // const bzz = this.bz
+
+ let dataUnit = ''
if (datatype === 1) {
dataUnit = '娴侀噺(m鲁/d)'
} else {
dataUnit = '娴侀噺(m鲁/h)'
}
- var serLists = []
- for (var i = 0; i < ydatas.length; i++) {
- // var zdcbcolor = ydatas[i].zdcbcolor
- var bz = ydatas[i].bzz
- var obj
+ const bzzList = this.bzzList
+ const serLists = []
+ for (let i = 0; i < ydatas.length; i++) {
+ const zdcbcolor = ydatas[i].zxcolor
+ const bz = ydatas[i].bzz
+ let obj
if (bz) {
obj = {
name: ydatas[i].name,
symbol: 'circle', // 鎶樼偣褰㈢姸
symbolSize: 10, // 澶у皬
smooth: false, // 鐩寸嚎 锛宼rue 涓烘洸绾�
- // itemStyle: {
- // normal: {
- // color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹�
- // // var 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
- // }
- // }
- // if (c.value > this.bz) {
- // return zdcbcolor
- // } else if (c.value > this.bz * 0.9) {
- // return '#FFA500'
- // } else {
- // return '#33c95f'
- // }
- // },
- // lineStyle: { // 鎶樼嚎鐨勯鑹�
- // color: ydatas[i].zxcolor,
- // width: 5
- // },
- // borderColor: 'black', // 鎶樼偣杈规鐨勯鑹�
- // label: { // 鏄剧ず鍊�
- // show: false
- // }
- // }
- // },
+ itemStyle: {
+ normal: {
+ // 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 > bzz) {
+ // return zdcbcolor
+ // } else if (c.value > bzz * 0.9) {
+ // return '#FFA500'
+ // } else {
+ // return '#33c95f'
+ // }
+ // },
+ lineStyle: { // 鎶樼嚎鐨勯鑹�
+ color: ydatas[i].zxcolor,
+ width: 5
+ },
+ borderColor: ydatas[i].zxcolor, // 鎶樼偣杈规鐨勯鑹�
+ label: { // 鏄剧ず鍊�
+ show: false
+ }
+ }
+ },
type: 'line',
data: ydatas[i].data,
markLine: { // 骞冲潎鍊� 锛� 鍜� 鎸囨爣涓婇檺
@@ -377,8 +369,7 @@
type: 'dashed',
width: 2
}
- }
- ]
+ }]
}
}
} else {
@@ -388,42 +379,41 @@
symbolSize: 10, // 澶у皬
smooth: false, // 鐩寸嚎 锛宼rue 涓烘洸绾�
yAxisIndex: 1,
- // itemStyle: {
- // normal: {
- // color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹�
- // // var 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
}
}
serLists.push(obj)
}
- var option = {
- /* title: {
- text: title,
- }, */
- tooltip: { // 鎻愮ず妗�
+ const option = {
+ tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
@@ -432,43 +422,43 @@
}
},
formatter: function (params) {
- var s = params[0].name + '<br />'
- for (var i = 0; i < params.length; i++) {
- // var name = params[i].name
+ let s = params[0].name + '<br />'
+ for (let i = 0; i < params.length; i++) {
+ // let name = params[i].name
// 鍥捐〃title鍚嶇О
- var seriesName = params[i].seriesName
+ const seriesName = params[i].seriesName
// 鍊�
- var value = params[i].value
+ const value = params[i].value
- // var valueFliter = formatter(value)
- var valueFliter = parseFloat(value).toFixed(2)
+ // let valueFliter = formatter(value)
+ const valueFliter = parseFloat(value).toFixed(2)
- var maker = params[i].marker
+ let maker = params[i].marker
if (seriesName === 'COD') {
maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#fff21c;"></span>'
} else if (seriesName === '姘ㄦ爱') {
maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#00B0F0;"></span>'
} else if (seriesName === '鎬荤7') {
maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f48183;"></span>'
- } else if (seriesName === '鎬绘爱') {
- maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#d9f2f4;"></span>'
- } else {
+ } else if (seriesName === '搴熸按娴侀噺') {
maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#9ACD32;"></span>'
+ } else {
+ maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#d9f2f4;"></span>'
}
s += maker + seriesName + ':' + valueFliter + '<br />'
}
return s
}
},
- toolbox: { // 鎵撳嵃绛夊伐鍏�
+ toolbox: {
show: false,
feature: {
saveAsImage: {}
}
},
grid: { // 缃戞牸
- top: '20%',
- left: '5%'
+ top: '20%'
+ // left: '15%'
},
legend: {
data: legend
@@ -522,7 +512,7 @@
type: 'value',
name: yname,
// max: function (value) {
- // var max_val_list = [] // 鎵�鏈夋樉绀烘姌绾跨殑鏍囧噯鍊�
+ // let max_val_list = [] // 鎵�鏈夋樉绀烘姌绾跨殑鏍囧噯鍊�
// if (bzzList && bzzList.length > 0) {
// $.each(bzzList, function (index, item) {
// max_val_list.push(item.bzhui)
@@ -531,7 +521,7 @@
// max_val_list = max_val_list.sort(function (a, b) {
// return a - b
// }) // 鎺掑簭
- // var ma = value.max > max_val_list[max_val_list.length - 1] ? value.max + 5 : max_val_list[max_val_list.length - 1]
+ // let ma = value.max > max_val_list[max_val_list.length - 1] ? value.max + 5 : max_val_list[max_val_list.length - 1]
// return parseInt(ma)
// },
axisLabel: {
@@ -580,126 +570,12 @@
series: serLists
}
this.chart.setOption(option)
+ window.onresize = this.chart.resize
}
}
}
</script>
<style scoped lang="less">
-.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: 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;
- 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