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/WasteWaterHoursChart.vue | 227 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 175 insertions(+), 52 deletions(-) diff --git a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue index 2acfe80..6cdefb1 100644 --- a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue +++ b/src/components/base-page/WasteWater/WasteWaterHoursChart.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="echartsHour"></div> @@ -26,56 +33,21 @@ import PublicDataStandard from '../PublicDataStandard' import dayjs from 'dayjs' import mapApi from '../../../api/mapApi' +import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご export default { name: 'WasteWaterHoursChart', 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: 123 - }, - standard: { - name: '', - val: null - } - }], + dataStandard: [], + popUpName: '', + tableData: null, + mingxiBoxHtml: '', formData: { region: '25', regionList: [25, 50, 75, 100], @@ -87,7 +59,98 @@ dataType: 2, bzz: null, bzzList: [], - bz: '' + bz: '', + // 琛ㄥご鏁版嵁 + 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 () { @@ -105,18 +168,20 @@ poltMtrlId: '', emissTypeId: '', onLineMonEmissPointId: 23, - monItemId: 28, + monItemId: '28,31,35', // 鐩戞祴椤� COD銆佹皑姘�丳H beginTime: this.formData.startTime, endTime: this.formData.endTime, dataType: this.dataType } const result = (await mapApi.getQueryOnlineMonData(data)).Result.DataInfo - // console.log(result) + this.popUpName = result[0].OnLineMonEmissPointName this.get24HourDate(result) }, // 缁樺埗灏忔椂鏁版嵁鎶樼嚎鍥� get24HourDate (result) { if (result.length > 0) { + this.dataStandard = [] + this.tableData = this.analysisResult(result) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋� const d = result const nameList = [] // 瀛樻斁鍥句緥 const dateList = [] // 瀛樻斁鏃堕棿 @@ -170,24 +235,43 @@ } } } - if (nameList.length === 0) { nameList.push(d[i].PoltmtrlName.trim()) + this.dataStandard.push({ + current: { + name: d[i].PoltmtrlName.trim(), + val: 29.93 + }, + standard: { + name: '鏍囧噯', + val: 100 + } + }) dateList.push(strDate) if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) { d[i].MonQty = 0 } - data.push(d[i].MonQty) + if (d[i].MonQty !== null)data.push(d[i].MonQty) bzh.push(d[i].StdValue) } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) { nameList.push(d[i].PoltmtrlName) + this.dataStandard.push({ + current: { + name: d[i].PoltmtrlName.trim(), + val: 29.93 + }, + standard: { + name: '鏍囧噯', + val: 100 + } + }) bzh.push(d[i].StdValue) dataList.push(data) data = [] if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) { d[i].MonQty = 0 } - data.push(d[i].MonQty) + if (d[i].MonQty !== null)data.push(d[i].MonQty) } else if (i === d.length - 1) { if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) { d[i].MonQty = 0 @@ -202,10 +286,9 @@ if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) { d[i].MonQty = 0 } - data.push(d[i].MonQty) + if (d[i].MonQty !== null)data.push(d[i].MonQty) } } - const newList = [] for (let i = 0; i < dataList.length; i++) { @@ -291,7 +374,10 @@ // console.log(ydatas) const yname = '娴撳害(mg/l)' - + 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 + } this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype) } }, @@ -570,6 +656,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