From 82732610befafe88ae9512c9ac37e6a4bcf291c7 Mon Sep 17 00:00:00 2001 From: XingChuan <m17600301067@163.com> Date: 星期日, 30 五月 2021 22:59:44 +0800 Subject: [PATCH] 废气小时数据、日数据、人工数据接口替换;增加点位id、检测项id查询;无数据提示;UI优化。 --- src/components/base-page/WasteGas/HourData.vue | 312 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 255 insertions(+), 57 deletions(-) diff --git a/src/components/base-page/WasteGas/HourData.vue b/src/components/base-page/WasteGas/HourData.vue index 52ab5e3..6590b1e 100644 --- a/src/components/base-page/WasteGas/HourData.vue +++ b/src/components/base-page/WasteGas/HourData.vue @@ -1,5 +1,5 @@ <template> - <div class="echarts-box"> + <div id="waste-gas-hours-chart-box" class="waste-gas-hours-chart-box echarts-box"> <div class="tab-scroll"> <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard> </div> @@ -9,11 +9,18 @@ <span class="demonstration">缁撴潫鏃堕棿锛�</span> <el-date-picker v-model="formData.timeEnd" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="mini"></el-date-picker> <span class="demonstration">閲囨牱鐐规暟锛�</span> - <el-select v-model="formData.region" placeholder="璇烽�夋嫨" size="mini" > + <el-select class="selectBox" v-model="formData.region" placeholder="璇烽�夋嫨" size="mini" > <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 @click="ScheduleShow">鏄庣粏琛�</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 class="mingxiBtn" slot="reference" id="mingxiBtn">鏄庣粏琛�</el-button> + </el-popover> </div> <div class="echarts-chart"> <div ref="wastegashour"></div> @@ -31,6 +38,7 @@ <script> import Scheduleof from '@components/base-page/WasteGas/Scheduleof' import PublicDataStandard from '../PublicDataStandard' +import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご琛ㄦ牸 import 'dayjs/locale/es' import dayjs from 'dayjs' @@ -41,69 +49,149 @@ components: { // PublicDetailedList PublicDataStandard, - Scheduleof + Scheduleof, + DynamicTable + }, + props: { + OnlineMonEmissPointId: { + type: Number + } }, 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: [], formData: { region: '25', regionList: [25, 50, 75, 100], timeStart: dayjs().subtract(24, 'hours').format('YYYY-MM-DD HH:mm:ss'), timeEnd: dayjs().format('YYYY-MM-DD HH:mm:ss') }, + tableData: [], showSchedule: false, dataType: 2, myChart: null, exhbzz: null, jcdID: 1, - exhbzzList: [] + exhbzzList: [], + // 閰嶇疆鏄庣粏琛ㄨ〃澶� + tableConfig: [ + { + id: 100, + label: '鎺掓斁鐐�', + prop: 'OnLineMonEmissPointName' + }, + { + id: 200, + label: '鐩戞祴鏃堕棿', + prop: 'MonTimeStr' + }, + { + id: 300, + label: '姘哀鍖栫墿', + prop: 'PoltmtrlName', + children: [ + { + id: 310, + label: '娴撳害锛坢g/m鲁锛�', + prop: '姘哀鍖栫墿_OrglQty' + }, + { + id: 320, + label: '鎶樼畻鍊硷紙mg/m鲁锛夛級', + prop: '姘哀鍖栫墿_ConvertQty' + }, + { + id: 330, + label: '鏍囧噯鍊硷紙mg/m鲁锛�', + prop: '姘哀鍖栫墿_StdValue' + }, + { + id: 340, + label: '鎺掓斁閲忥紙kg/h锛�', + prop: '姘哀鍖栫墿_EmissQty' + } + ] + }, + { + id: 400, + label: '浜屾哀鍖栫~', + prop: 'PoltmtrlName', + children: [ + { + id: 410, + label: '娴撳害锛坢g/m鲁锛�', + prop: '姘哀鍖栫墿_OrglQty' + }, + { + id: 420, + label: '鎶樼畻鍊硷紙mg/m鲁锛夛級', + prop: '姘哀鍖栫墿_ConvertQty' + }, + { + id: 430, + label: '鏍囧噯鍊硷紙mg/m鲁锛�', + prop: '姘哀鍖栫墿_StdValue' + }, + { + id: 440, + label: '鎺掓斁閲忥紙kg/h锛�', + prop: '姘哀鍖栫墿_EmissQty' + } + ] + }, + { + id: 500, + label: '鐑熷皹', + prop: 'PoltmtrlName', + children: [ + { + id: 510, + label: '娴撳害锛坢g/m鲁锛�', + prop: '姘哀鍖栫墿_OrglQty' + }, + { + id: 520, + label: '鎶樼畻鍊硷紙mg/m鲁锛夛級', + prop: '姘哀鍖栫墿_ConvertQty' + }, + { + id: 530, + label: '鏍囧噯鍊硷紙mg/m鲁锛�', + prop: '姘哀鍖栫墿_StdValue' + }, + { + id: 540, + label: '鎺掓斁閲忥紙kg/h锛�', + prop: '姘哀鍖栫墿_EmissQty' + } + ] + }, + { + id: 600, + label: '搴熸皵娴侀噺', + prop: '', + children: [ + { + id: 610, + label: '姘旈噺锛坢鲁/h锛�', + prop: '搴熸皵娴侀噺_MonQty' + } + ] + } + ] } }, mounted () { this.$nextTick(() => { - this.initnData() + if (!this.OnlineMonEmissPointId) { + document.querySelector('#waste-gas-hours-chart-box').innerHTML = '娌℃湁鏌ヨ鍒版暟鎹紒' + document.querySelector('#waste-gas-hours-chart-box').style.textAlign = 'center' + document.querySelector('#waste-gas-hours-chart-box').style.height = '2.02rem' + document.querySelector('#waste-gas-hours-chart-box').style.lineHeight = '1rem' + } else { + this.initnData() + } }) }, methods: { @@ -116,8 +204,11 @@ }, async initnData () { const data = { - onLineMonEmissPointId: 23, - monItemId: 28, + poltSourceId: '', + poltMtrlId: '', + emissTypeId: '', + onLineMonEmissPointId: this.OnlineMonEmissPointId, + monItemId: '28,31,226', beginTime: this.formData.timeStart, endTime: this.formData.timeEnd, dataType: this.dataType @@ -128,6 +219,8 @@ }, get24HourDate (res) { if (res.length > 0) { + this.dataStandard = [] + this.tableData = this.analysisResult(res) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋� // 澶勭悊鏁版嵁寮�濮� const d = res const nameList = [] // 瀛樻斁鍥句緥 @@ -210,21 +303,41 @@ 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 @@ -238,7 +351,7 @@ 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) } } // 澶勭悊鏁版嵁缁撴潫 @@ -337,7 +450,10 @@ } const yname = '娴撳害(mg/m鲁)' - + 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.CreateChart(id, title, legend, xdata, ydatas, yname, this.jcdID, this.datatype) } }, @@ -525,10 +641,12 @@ saveAsImage: {} } }, - grid: { // 缃戞牸 + grid: { + // 涓庣粷瀵瑰畾浣嶇浉浼硷紝top锛宭eft锛宺ight锛宐ottom 璁惧畾鏄牴鎹笂绾х洅瀛愬楂樻潵璁$畻 top: '20%', - left: '15%' - // containLabel: true + left: '6%', + right: '8%', + bottom: '12%' }, legend: { // 鍥句緥 data: legend @@ -646,10 +764,90 @@ series: serLists } this.myChart.setOption(option) + }, + 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 + '_OrglQty'] = rgdata.OrglQty ? rgdata.OrglQty.toFixed(2) : '--' // 鍘熷鍊� + el[rgdata.PoltmtrlName + '_ConvertQty'] = rgdata.ConvertQty ? rgdata.ConvertQty.toFixed(2) : '--' // 鎶樻爣閲� + el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--' // 鏍囧噯鍊� + el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--' // 鎺掓斁閲� + el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--' // 鐩戞祴閲� + } + let FQLLtemp = '' + let FQWDtemp = '' + let FQYHLtemp = '' + for (var key in json) { + if (key === '搴熸皵娴侀噺' || key === '搴熸皵') { + FQLLtemp = key + } else if (key === '娓╁害') { + FQWDtemp = key + } else if (key === '姘у惈閲�') { + FQYHLtemp = key + } else { + arr.push(key) + } + } + if (FQLLtemp != null) { + arr.push(FQLLtemp) + } + if (FQWDtemp != null) { + arr.push(FQWDtemp) + } + if (FQYHLtemp != null) { + arr.push(FQYHLtemp) + } + for (var p in dataMap) { + bodyDataList.push(dataMap[p]) + } + return bodyDataList } } } </script> -<style scoped lang="less"> +<style lang="less"> +.waste-gas-hours-chart-box .echarts-form .el-input__inner { + background-color: rgba(0, 0, 0, 0); + height: .13rem; + border-color: #336fa4; +} +.waste-gas-hours-chart-box .echarts-form{ + margin-top: 1px +} +.waste-gas-hours-chart-box .echarts-form .el-input__icon{ + height: .13rem; + top: -.02rem; + right: -0.03rem; + position: absolute; + color: #00d0f9; +} +.waste-gas-hours-chart-box .echarts-form .selectBox .el-input__icon:last-child{ + top: .02rem; +} +.waste-gas-hours-chart-box .echarts-form .selectBox .is-reverse{ + top: -.02rem !important; +} +.waste-gas-hours-chart-box .echarts-form .el-button{ + background-color: rgba(0, 0, 0, 0); + height: .13rem; +} +.waste-gas-hours-chart-box .echarts-form .mingxiBtn{ + margin-left: -.02rem; +} </style> -- Gitblit v1.8.0