From f8865d1c7f36c4ffa66002e0dd3a9d5e99e4fe6b Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期日, 30 五月 2021 13:45:44 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/base-page/WasteWater/WasteWaterDayChart.vue | 243 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 186 insertions(+), 57 deletions(-) diff --git a/src/components/base-page/WasteWater/WasteWaterDayChart.vue b/src/components/base-page/WasteWater/WasteWaterDayChart.vue index 1fcb2c9..8f0bce3 100644 --- a/src/components/base-page/WasteWater/WasteWaterDayChart.vue +++ b/src/components/base-page/WasteWater/WasteWaterDayChart.vue @@ -13,7 +13,14 @@ <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> + <el-popover + placement="top" + width="100%" + popper-class="popoverBoxStyle" + trigger="click"> + <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table> + <el-button slot="reference">鏄庣粏琛�</el-button> + </el-popover> </div> <div class="echarts-chart"> <div ref="echartsDay"></div> @@ -26,56 +33,19 @@ import dayjs from 'dayjs' import PublicDataStandard from '../PublicDataStandard' import mapApi from '@/api/mapApi' +import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご export default { name: 'WasteWaterDayChart', components: { - PublicDataStandard + PublicDataStandard, + DynamicTable }, data () { return { // tab鏍忎紶閫掓帴鏀舵暟鎹� - dataStandard: [ - { - current: { - name: '姘哀鍖栫墿', - val: 29.93 - }, - standard: { - name: '鏍囧噯', - val: 100 - } - }, - { - current: { - name: '浜屾哀鍖栫~', - val: 17.34 - }, - standard: { - name: '鏍囧噯', - val: 50 - } - }, - { - current: { - name: '鐑熷皹', - val: 6.93 - }, - standard: { - name: '鏍囧噯', - val: 30 - } - }, - { - current: { - name: '搴熸皵娴侀噺', - val: 120 - }, - standard: { - name: '', - val: null - } - }], + dataStandard: [], + tableData: null, formData: { region: '25', regionList: [25, 50, 75, 100], @@ -86,7 +56,98 @@ dataType: 1, jcdID: 1, bzz: null, - bzzList: [] + bzzList: [], + // 琛ㄥご鏁版嵁 + tableConfig: [ + { + id: 100, + label: '鎺掓斁鐐�', + prop: 'OnLineMonEmissPointName' + }, + { + id: 200, + label: '鐩戞祴鏃堕棿', + prop: 'MonTimeStr' + }, + { + id: 300, + label: 'COD', + prop: 'PoltmtrlName', + children: [ + { + id: 310, + label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�', + prop: 'COD_EmissQty' + }, + { + id: 320, + label: '瀹炴祴娴撳害锛坢g/l锛�', + prop: 'COD_MonQty' + }, + { + id: 330, + label: '鏍囧噯鍊硷紙mg/l锛�', + prop: 'COD_StdValue' + } + ] + }, + { + id: 400, + label: '姘ㄦ爱', + prop: 'PoltmtrlName', + children: [ + { + id: 410, + label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�', + prop: '姘ㄦ爱_EmissQty' + }, + { + id: 420, + label: '瀹炴祴娴撳害锛坢g/l锛�', + prop: '姘ㄦ爱_MonQty' + }, + { + id: 430, + label: '鏍囧噯鍊硷紙mg/l锛�', + prop: '姘ㄦ爱_StdValue' + } + ] + }, + { + id: 500, + label: 'PH', + prop: 'PoltmtrlName', + children: [ + { + id: 510, + label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�', + prop: 'pH_EmissQty' + }, + { + id: 520, + label: '瀹炴祴娴撳害锛坢g/l锛�', + prop: 'pH_MonQty' + }, + { + id: 530, + label: '鏍囧噯鍊硷紙mg/l锛�', + prop: 'pH_StdValue' + } + ] + }, + { + id: 600, + label: '搴熸按娴侀噺', + prop: '', + children: [ + { + id: 610, + label: '瀹炴祴娴侀噺锛坢鲁/h锛�', + prop: '搴熸按娴侀噺_MonQty' + } + ] + } + ] } }, mounted () { @@ -104,7 +165,7 @@ poltMtrlId: '', emissTypeId: '', onLineMonEmissPointId: 23, - monItemId: 28, + monItemId: '28,31,35', // 鐩戞祴椤� COD銆佹皑姘�丳H beginTime: this.formData.timeStart, endTime: this.formData.timeEnd, dataType: this.dataType @@ -114,6 +175,8 @@ }, get24HourDate (res) { if (res.length > 0) { + this.dataStandard = [] + this.tableData = this.analysisResult(res) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋� // 澶勭悊鏁版嵁寮�濮� const d = res const nameList = [] // 瀛樻斁鍥句緥 @@ -148,19 +211,44 @@ if (nameList.length === 0) { nameList.push(d[i].PoltmtrlName.trim()) dateList.push(strDate) - + this.dataStandard.push({ + current: { + name: d[i].PoltmtrlName.trim(), + val: '' + }, + standard: { + name: '鏍囧噯', + val: '' + } + }) bzh.push(d[i].StdValue) data = { name: d[i].PoltmtrlName.trim(), - data: [d[i].MonQty] + data: [] + } + if (d[i].MonQty !== null) { + data.data.push(d[i].MonQty) } dataList.push(data) } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) { nameList.push(d[i].PoltmtrlName) bzh.push(d[i].StdValue) + this.dataStandard.push({ + current: { + name: d[i].PoltmtrlName.trim(), + val: '' + }, + standard: { + name: '鏍囧噯', + val: '' + } + }) data = { name: d[i].PoltmtrlName.trim(), - data: [d[i].MonQty] + data: [] + } + if (d[i].MonQty !== null) { + data.data.push(d[i].MonQty) } dataList.push(data) } else { @@ -169,7 +257,7 @@ } for (let j = 0; j < dataList.length; j++) { if (d[i].PoltmtrlName.trim() === dataList[j].name) { - dataList[j].data.push(d[i].MonQty) + if (d[i].MonQty !== null)dataList[j].data.push(d[i].MonQty) } } } @@ -265,7 +353,10 @@ } ydatas.push(ydata) } - + for (var t = 0; t < this.dataStandard.length; t++) { + this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2) + this.dataStandard[t].standard.val = ydatas[t].bzz + } const yname = '娴撳害(mg/l)' this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype) } @@ -273,7 +364,6 @@ effChartShow (legend, xdata, ydatas, yname, jcdID, datatype) { this.chart = this.$echarts.init(this.$refs.echartsDay) this.chart.clear() - // console.log(this.chart) this.chart.clear() let dataUnit = '' if (datatype === 1) { @@ -302,12 +392,14 @@ biaozhuiz = bzzList[i].bzhui } } - if (c.value[1] > biaozhuiz) { - return zdcbcolor - } else if (c.value[1] > biaozhuiz * 0.9) { - return '#FFA500' - } else { - return '#33c95f' + if (c.value) { + if (c.value[1] > biaozhuiz) { + return zdcbcolor + } else if (c.value[1] > biaozhuiz * 0.9) { + return '#FFA500' + } else { + return '#33c95f' + } } }, lineStyle: { // 鎶樼嚎鐨勯鑹� @@ -544,6 +636,43 @@ } this.chart.setOption(option) window.onresize = this.chart.resize + }, + analysisResult (result) { + // 澶勭悊琛ㄦ牸澶� + const json = {} + const arr = [] + // 澶勭悊琛ㄦ牸鍐呭 + const bodyDataList = [] + const dataMap = {} + for (let i = 0; i < result.length; i++) { + json[result[i].PoltmtrlName] = result[i].PoltmtrlName + const rgdata = result[i] + const timeTag = rgdata.MonTimeStr + if (!dataMap[timeTag]) { + dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr } + } + // 寰�鏁版嵁涓坊鍔犲睘鎬ф暟鎹� + const el = dataMap[timeTag] + el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName + el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--' + el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--' + el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--' + } + let FSLLtemp = null + for (var key in json) { + if (key === '搴熸按娴侀噺' || key === '搴熸按') { + FSLLtemp = key + } else { + arr.push(key) + } + } + if (FSLLtemp != null) { + arr.push(FSLLtemp) + } + for (var p in dataMap) { + bodyDataList.push(dataMap[p]) + } + return bodyDataList } } } -- Gitblit v1.8.0