From fc9eeb9f8b2efba55acfb62a2cb1186ccf2fcad4 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期五, 09 四月 2021 10:31:30 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue | 10 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue | 3 src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue | 188 +++++------ src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue | 196 +++++++++++++ package.json | 2 src/api/mapApi.js | 15 + src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue | 397 ++++++++++++++++++++++++++ src/components/LayerController/logic/WasteWater.js | 22 + src/api/mapUrl.js | 10 src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue | 4 src/components/BaseNav/PublicBounced/PublicBounced.vue | 32 +- 11 files changed, 750 insertions(+), 129 deletions(-) diff --git a/package.json b/package.json index 40e1977..aa3ea33 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "axios": "^0.18.0", "babel-polyfill": "^6.26.0", "core-js": "^3.6.5", - "dayjs": "^1.9.6", + "dayjs": "^1.10.4", "echarts": "^4.2.1", "element-ui": "^2.14.1", "esri-leaflet": "^3.0.1", diff --git a/src/api/mapApi.js b/src/api/mapApi.js index 26ab8bc..51e2068 100644 --- a/src/api/mapApi.js +++ b/src/api/mapApi.js @@ -52,7 +52,22 @@ getWasteWaterMonitoringDetails (data) { return axios.get(mapUrl.getWasteWaterMonitoringDetails, data) }, + // 搴熸按鏃ユ暟鎹拰灏忔椂鏁版嵁鍙婃槑缁嗚〃 + getQueryOnlineMonData (data) { + return axios.get(mapUrl.getQueryOnlineMonData, data) + }, + // 搴熸按浜哄伐鏁版嵁 + getQueryLabMonData (data) { + return axios.get(mapUrl.getQueryLabMonData, data) + }, + // 搴熸按瀹炴椂鏁版嵁 + getDataItems (data) { + return axios.get(mapUrl.getDataItems, data) + }, getCompany (data) { return axios.get(mapUrl.getCompany, data) + }, + DataItems (data) { + return axios.get(mapUrl.DataItems, data) } } diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js index 479b4cd..ef1af63 100644 --- a/src/api/mapUrl.js +++ b/src/api/mapUrl.js @@ -12,10 +12,14 @@ export const getWasteGas = $HOST + '/wasteGas/getWasteGas' export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails' +export const DataItems = $HOST + '/wasteWater/RTDB/DataItems' export const getWasteGasMonData = $HOST + '/wasteGas/QueryOnlineMonData' -export const getWasteWater = $HOST + '/wasteWater/getWasteWater' -export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' -export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails' +export const getWasteWater = $HOST + '/wasteWater/getWasteWater' // 搴熸按鐐逛俊鎭� +export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' // 搴熸按鐩戞祴鏁版嵁 +export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails' // 搴熸按鐩戞祴鏁版嵁鏄庣粏琛� +export const getQueryOnlineMonData = $HOST + '/wasteWater/QueryOnlineMonData' // 搴熸按鏃ユ暟鎹皬鏃舵暟鎹強鏄庣粏琛ㄦ暟鎹� +export const getQueryLabMonData = $HOST + '/wasteWater/QueryLabMonMonData' // 浜哄伐鏁版嵁 +export const getDataItems = $HOST + '/wasteWater/RTDB/DataItems' // 瀹炴椂鏁版嵁 export const getCompany = $HOST + '/company/getCompany' diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue new file mode 100644 index 0000000..712cff4 --- /dev/null +++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue @@ -0,0 +1,397 @@ +<!-- 鏃ユ暟鎹� --> +<template> + <div id="Tab"> + <div class="infomation"> + <!-- <el-tag>姘哀鍖栫墿 : 29.93 鏍囧噯 : 100</el-tag>--> + <!-- <el-tag>浜屾哀鍖栫~ : 17.34 鏍囧噯 : 50</el-tag>--> + <!-- <el-tag>鐑熷皹 : 6.93 鏍囧噯 : 30</el-tag>--> + <!-- <el-tag>搴熸皵娴侀噺 : 120343.18</el-tag>--> + <el-row> + <el-col :span="6"><div class="grid-content bg-purple">姘哀鍖栫墿 : 29.93 鏍囧噯 : 100</div></el-col> + <el-col :span="6"><div class="grid-content bg-purple">浜屾哀鍖栫~ : 17.34 鏍囧噯 : 50</div></el-col> + <el-col :span="6"><div class="grid-content bg-purple">鐑熷皹 : 6.93 鏍囧噯 : 30</div></el-col> + <el-col :span="6"><div class="grid-content bg-purple">搴熸皵娴侀噺 : 120343.18</div></el-col> + <!-- <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>--> + </el-row> + </div> + <div class="form-echrts"> + <div class="from-search"> + <el-row type="flex"> + <el-col :span="14"> + <div class="pickerMon"> + <div class="pickerData"> + <span> 寮�濮嬫椂闂�:</span> + <span class="pickerTable"><el-date-picker + type="datetime" + v-model="value1"> + </el-date-picker></span> + </div> + <div class="pickerData"> + <span >缁撴潫鏃堕棿:</span> + <span class="pickerTable"> + <el-date-picker + type="datetime" + v-model="value2" + > + </el-date-picker> + </span> + </div> + </div> + </el-col> + <el-col :span="5"> + 閲囨牱鐐规暟: + <input list="source" id="ipt" class="echatsInput"> + <datalist id="source"> + <option value="0" /> + <option value="25" /> + <option value="50" /> + <option value="75" /> + <option value="100" /> + </datalist> + </el-col> + <el-col class="detailbtn" :span="2" @click="onSubmit">鏌ヨ</el-col> + <el-col :span="3"> + <div class="detailbtn" @click="dialogVisible = true" >鏄庣粏琛�</div> + <el-dialog :visible.sync="dialogVisible" + :append-to-body="true" + :title="this.$attrs.value==='feiqi'?this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName:this.$attrs.getWasteWaterMonitoringDetails[0].OnLineMonEmissPointName" + width="68%" + center + v-dialogDrag + > + <div class="el-dialog-div" style="height: 500px"> + <public-detailed-list v-bind="$attrs"></public-detailed-list> + </div> + </el-dialog> + </el-col> + </el-row> + </div> + <div style="width:5rem;height:2rem;" id="echarts" ref="main"> + </div> + </div> + </div> +</template> + +<script> +import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList' + +export default { + name: 'ECharts', + components: { + PublicDetailedList + }, + data () { + return { + watchData: [], + dialogVisible: false, + myChar: null, + value: '', + formInline: { + user: '', + region: '' + } + } + }, + methods: { + onSubmit () { + console.log('submit!') + }, + drawChart: function () { + window.onresize = function () { + var h1 = document.documentElement.clientHeight// 鑾峰彇灞忓箷鐨勯珮搴� + if (h1 > 700) { + this.myChart.getDom().style.height = 3 + 'rem' + this.myChart.getDom().style.width = 6 + 'rem' + } else { + this.myChart.getDom().style.height = 3 + 'rem' + this.myChart.getDom().style.width = 6 + 'rem' + } + this.myChart.resize() + } + }, + initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) { + var options = { + title: { + // text: '鎶樼嚎鍥惧爢鍙�' + }, + color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'], + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + label: { + color: '#1a4245' + } + } + }, + legend: { + x: '200px', + y: '30px', + data: [{ + name: 'COD', + textStyle: { + color: '#00d0f9' + } + }, + { + name: '姘ㄦ爱', + textStyle: { + color: '#00d0f9' + } + }, + { + name: '搴熸按娴侀噺', + textStyle: { + color: '#00d0f9' + } + }] + }, + grid: { + left: '3%', + right: '3%', + bottom: '3%', + containLabel: true + }, + toolbox: {}, + // 鍥炬爣缂╂斁璁剧疆 + dataZoom: [{ + type: 'inside', + start: 0, + end: 100 + }, { + start: 0, + end: 100, + show: false, + // handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + // x杞寸殑璁剧疆 + xAxis: { + type: 'category', + boundaryGap: ['10%', '10%'], + data: dataDate, + axisLabel: { // x杞村叏閮ㄦ樉绀� + rotate: 20, + interval: 0, + textStyle: { + color: '#fff', + fontSize: 10 + } + }, + splitLine: { // 缃戞牸鍨傜洿绾夸负铏氱嚎 + show: true, + lineStyle: { + type: 'dashed' + } + }, + axisTick: { // x 杞村埢搴︽樉绀� + show: false + }, + axisLine: { + lineStyle: { + color: '#FFFFFF', + width: 1 // 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑 + } + } + }, + // Y 杞寸殑璁剧疆 + yAxis: [{ + type: 'value', + position: 'left', // 澶� Y 杞翠娇鐢� + name: '娴撳害(mg/m鲁)', + axisLabel: { + formatter: '{value}', + textStyle: { + color: '#fff' // 鍧愭爣鐨勫瓧浣撻鑹� + } + }, + axisPointer: { + snap: true // 鑷姩鍚搁檮鏈�杩戠殑鐐� + }, + splitLine: { + show: false // y杞� 缃戞牸绾夸笉鏄剧ず + }, + axisLine: { + lineStyle: { + color: '#ffffff', // 鍧愭爣杞寸殑棰滆壊 + width: 1 + } + } + }, + { + type: 'value', + position: 'right', // 澶� Y 杞翠娇鐢� + name: '娴侀噺(m鲁/h鲁)', + axisLabel: { + formatter: '{value}', + textStyle: { + color: '#fff' // 鍧愭爣鐨勫瓧浣撻鑹� + } + }, + axisPointer: { + snap: true // 鑷姩鍚搁檮鏈�杩戠殑鐐� + }, + splitLine: { + show: false // y杞� 缃戞牸绾夸笉鏄剧ず + }, + axisLine: { + lineStyle: { + color: '#ffffff', // 鍧愭爣杞寸殑棰滆壊 + width: 1 + } + } + }], + series: [ + { + name: 'COD', + type: 'line', + stack: '鎬婚噺', + data: dataValue1, + yAxisIndex: 0 + }, + { + name: '姘ㄦ爱', + type: 'line', + stack: '鎬婚噺', + data: dataValue2, + yAxisIndex: 0 + }, + { + name: '搴熸按娴侀噺', + type: 'line', + stack: '鎬婚噺', + data: dataValue3, + yAxisIndex: 1 + } + ] + } + return options + } + }, + mounted () { + this.$nextTick(() => { + this.drawChart() + const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse() + console.log(dataWatch) + var dataValue1 = [] + var dataValue2 = [] + var dataValue3 = [] + var dataDate = [] + for (var i = 0; i < 24; i++) { + dataDate.push(dataWatch[i].MonTimeStr.substring(0, 8)) + } + for (var n = 0; n < dataWatch.length; n++) { + if (dataWatch[n].PoltmtrlName === 'COD') { + dataValue1.push(dataWatch[n].MonQty) + } else if (dataWatch[n].PoltmtrlName === '姘ㄦ爱') { + dataValue2.push(dataWatch[n].MonQty) + } else if (dataWatch[n].PoltmtrlName === '搴熸按娴侀噺') { + dataValue3.push(dataWatch[n].MonQty) + } + } + const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3) + this.myChart = this.$echarts.init(this.$refs.main) + this.myChart.setOption(opitons) + }) + } +} +</script> + +<style scoped lang="less"> + .grid-content{ + font-size: 8px!important; + background-color:#2e4967; + text-align: center; + margin: 0 2px 4px 2px; + border-radius: 2px; + } + .Infomation { + margin-left: 10px; + } + + .el-tag { + height: 25px; + width: 140px; + line-height: 25px; + margin-right: 10px; + font-size: 10px; + background-color: rgba(0, 255, 246, 0.14); + color: #00d0f9; + border: none; + padding: 0 15px; + } + + .form-echrts { + width: 100%; + border-top: 1px solid #396d83; + //margin: 10px 10px 10px 10px; + .from-search{ + margin-top: 6px; + .pickerMon{ + display: flex; + .pickerData{ + flex: 1; + display: flex; + .pickerTable{ + margin-left: 6px; + width: 40px; + + /deep/.el-input__icon { + width: 0.9rem; + font-size: 0; + } + } + } + } + /deep/.el-date-editor--datetime{ + width: 100%; + } + /deep/.el-input__inner{ + position: relative; + width: 0.9rem!important; + height: 0.125rem!important; + background-color: #2e4967; + color: #ffffff; + font-size: 8px; + padding: 0; + //padding-left:20px ; + //padding: 0!important; + } + .echatsInput{ + color: #00ffff; + background-color: #2e4967; + border: none; + border-radius: 6px; + width: 40px; + } + .detailbtn{ + background-color:#2e4967; + text-align: center; + padding: 0 7px; + line-height: 20px; + border-radius: 4px; + margin-right: 6px; + } + } + .el-dialog-div { + //height: 50vh!important; + overflow: auto; + //overflow: hidden; + } + + #echarts { + margin: 0; + padding: 0; + //height: 3rem; + //border: 1px solid #396d83; + //margin: 10px 10px 10px 10px; + } + } +</style> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue index 2c4725f..e4f7d3f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue @@ -15,44 +15,7 @@ </el-row> </div> <div class="form-echrts"> - <!-- :title="this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName" --> <div class="from-search"> -<!-- <el-form :inline="true" :model="formInline" class="demo-form-inline">--> -<!-- <el-form-item label="瀹℃壒浜�">--> -<!-- <el-input v-model="formInline.user" placeholder="瀹℃壒浜�"></el-input>--> -<!-- </el-form-item>--> -<!-- <div class="block">--> -<!-- <el-date-picker--> -<!-- size="'mini"--> -<!-- class="date"--> -<!-- v-model="value"--> -<!-- type="datetimerange"--> -<!-- range-separator="鑷�"--> -<!-- start-placeholder="寮�濮嬫棩鏈�"--> -<!-- end-placeholder="缁撴潫鏃ユ湡">--> -<!-- </el-date-picker>--> -<!-- </div>--> -<!-- <el-form-item label="閲囨牱鐐规暟" class="text-size">--> -<!-- <el-select v-model="formInline.region" placeholder="0">--> -<!-- <el-option label="0" value="shanghai"></el-option>--> -<!-- <el-option label="25" value="beijing"></el-option>--> -<!-- <el-option label="50" value="beijing"></el-option>--> -<!-- <el-option label="75" value="beijing"></el-option>--> -<!-- <el-option label="100" value="beijing"></el-option>--> -<!-- </el-select>--> -<!-- </el-form-item>--> -<!-- <el-form-item>--> -<!-- <el-button type="primary" @click="onSubmit">鏌ヨ</el-button>--> -<!-- </el-form-item>--> - -<!-- </el-form>--> -<!-- <input list="students">--> -<!-- <datalist id="students">--> -<!-- <option value="Lily">--> -<!-- <option value="Lucy">--> -<!-- <option value="Jim">--> -<!-- <option value="Lily">--> -<!-- </datalist>--> <el-row type="flex"> <el-col :span="14"> <div class="pickerMon"> @@ -103,7 +66,7 @@ </el-col> </el-row> </div> - <div style="width:100%;height:300px;" id="echarts" ref="main"> + <div style="width:5rem;height:2rem;" id="echarts" ref="main"> </div> </div> </div> @@ -123,9 +86,33 @@ value2: '', watchData: [], dialogVisible: false, - dataDate: [], + myChar: null, value: '', - options: { + formInline: { + user: '', + region: '' + } + } + }, + methods: { + onSubmit () { + console.log('submit!') + }, + drawChart: function () { + window.onresize = function () { + var h1 = document.documentElement.clientHeight// 鑾峰彇灞忓箷鐨勯珮搴� + if (h1 > 700) { + this.myChart.getDom().style.height = 3 + 'rem' + this.myChart.getDom().style.width = 6 + 'rem' + } else { + this.myChart.getDom().style.height = 3 + 'rem' + this.myChart.getDom().style.width = 6 + 'rem' + } + this.myChart.resize() + } + }, + initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) { + var options = { title: { // text: '鎶樼嚎鍥惧爢鍙�' }, @@ -143,25 +130,19 @@ x: '200px', y: '30px', data: [{ - name: '姘哀鍖栫墿', + name: 'COD', textStyle: { color: '#00d0f9' } }, { - name: '浜屾哀鍖栫~', + name: '姘ㄦ爱', textStyle: { color: '#00d0f9' } }, { - name: '鐑熷皹', - textStyle: { - color: '#00d0f9' - } - }, - { - name: '搴熸皵娴侀噺', + name: '搴熸按娴侀噺', textStyle: { color: '#00d0f9' } @@ -169,12 +150,11 @@ }, grid: { left: '3%', - right: '1%', + right: '3%', bottom: '3%', containLabel: true }, - toolbox: { - }, + toolbox: {}, // 鍥炬爣缂╂斁璁剧疆 dataZoom: [{ type: 'inside', @@ -198,12 +178,13 @@ xAxis: { type: 'category', boundaryGap: false, - data: ['12:00:00', '13:00:00', '14:00:00', '15:00:00', '16:00:00', '17:00:00', '18:00:00'], + data: dataDate, axisLabel: { // x杞村叏閮ㄦ樉绀� rotate: 20, interval: 0, textStyle: { - color: '#fff' + color: '#fff', + fontSize: 10 } }, splitLine: { // 缃戞牸鍨傜洿绾夸负铏氱嚎 @@ -225,9 +206,31 @@ // Y 杞寸殑璁剧疆 yAxis: [{ type: 'value', - // position: 'left', // 澶� Y 杞翠娇鐢� - // name: yname, // 鍚庢湡鍥炬爣Y杞存樉绀哄崟浣� + position: 'left', // 澶� Y 杞翠娇鐢� name: '娴撳害(mg/m鲁)', + axisLabel: { + formatter: '{value}', + textStyle: { + color: '#fff' // 鍧愭爣鐨勫瓧浣撻鑹� + } + }, + axisPointer: { + snap: true // 鑷姩鍚搁檮鏈�杩戠殑鐐� + }, + splitLine: { + show: false // y杞� 缃戞牸绾夸笉鏄剧ず + }, + axisLine: { + lineStyle: { + color: '#ffffff', // 鍧愭爣杞寸殑棰滆壊 + width: 1 + } + } + }, + { + type: 'value', + position: 'right', // 澶� Y 杞翠娇鐢� + name: '娴侀噺(m鲁/h鲁)', axisLabel: { formatter: '{value}', textStyle: { @@ -249,66 +252,55 @@ }], series: [ { - name: '姘哀鍖栫墿', + name: 'COD', type: 'line', stack: '鎬婚噺', - data: [120, 132, 101, 134, 90, 230, 210] + data: dataValue1, + yAxisIndex: 0 }, { - name: '浜屾哀鍖栫~', + name: '姘ㄦ爱', type: 'line', stack: '鎬婚噺', - data: [150, 232, 201, 154, 190, 330, 410] + data: dataValue2, + yAxisIndex: 0 }, { - name: '鐑熷皹', + name: '搴熸按娴侀噺', type: 'line', stack: '鎬婚噺', - data: [320, 332, 301, 334, 390, 330, 320] - }, - { - name: '搴熸皵娴侀噺', - type: 'line', - stack: '鎬婚噺', - data: [820, 932, 901, 934, 1290, 1330, 1320] + data: dataValue3, + yAxisIndex: 1 } ] - }, - formInline: { - user: '', - region: '' } - } - }, - methods: { - onSubmit () { - console.log('submit!') - }, - drawChart: function () { - const myChart = this.$echarts.init(this.$refs.main) - myChart.setOption(this.options) - window.onresize = function () { - var h1 = document.documentElement.clientHeight// 鑾峰彇灞忓箷鐨勯珮搴� - if (h1 > 700) { - myChart.getDom().style.height = 3 + 'rem' - myChart.getDom().style.width = 6 + 'rem' - } else { - myChart.getDom().style.height = 3 + 'rem' - myChart.getDom().style.width = 6 + 'rem' - } - myChart.resize() - } + return options } }, mounted () { this.$nextTick(() => { this.drawChart() - const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getWasteWaterMonitoring)) - // console.log(dataWatch) - for (var i = 0; i < dataWatch.length; i++) { - this.dataDate.push(dataWatch[i].MonTimeStr.substring(10, 17)) + const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse() + console.log(dataWatch) + var dataValue1 = [] + var dataValue2 = [] + var dataValue3 = [] + var dataDate = [] + for (var i = 0; i < 24; i++) { + dataDate.push(dataWatch[i].MonTimeStr.substring(9)) } - // console.log(this.dataDate) + for (var n = 0; n < dataWatch.length; n++) { + if (dataWatch[n].PoltmtrlName === 'COD') { + dataValue1.push(dataWatch[n].MonQty) + } else if (dataWatch[n].PoltmtrlName === '姘ㄦ爱') { + dataValue2.push(dataWatch[n].MonQty) + } else if (dataWatch[n].PoltmtrlName === '搴熸按娴侀噺') { + dataValue3.push(dataWatch[n].MonQty) + } + } + const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3) + this.myChart = this.$echarts.init(this.$refs.main) + this.myChart.setOption(opitons) }) } } @@ -324,7 +316,6 @@ } .Infomation { margin-left: 10px; - height: 0.2rem; } .el-tag { @@ -341,7 +332,6 @@ .form-echrts { width: 100%; - height: 2rem; border-top: 1px solid #396d83; //margin: 10px 10px 10px 10px; .from-search{ diff --git a/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue new file mode 100644 index 0000000..3ac2e52 --- /dev/null +++ b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue @@ -0,0 +1,196 @@ +<template> + <div style="width:100%;height:2rem;" ref="echarts"></div> +</template> + +<script> + +import mapApi from '@/api/mapApi' +import 'dayjs/locale/es' +import dayjs from 'dayjs' + +export default { + name: 'ECharts', + data () { + return { + myChart: [], + dataDate: [], + value: '', + seriesData: [], + aseries: '', + result: [], + days: dayjs(new Date()).format('YYYYMMDDHHmmss') + } + }, + methods: { + drawChart (result) { + // const result = this.result + this.myChart = this.$echarts.init(this.$refs.echarts) + + // setInterval(function () { + // }, 3000) + const option = { + title: { + text: '鎶樼嚎鍥惧爢鍙�' + }, + tooltip: { + trigger: 'axis' + }, + legend: { + data: ['閭欢钀ラ攢', '鑱旂洘骞垮憡', '瑙嗛骞垮憡', '鐩存帴璁块棶', '鎼滅储寮曟搸'] + }, + grid: { + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: { + show: false + } + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + // data: seriesData, + data: ['鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚', '鍛ㄦ棩'], + axisLine: { + lineStyle: { + color: '#FFFFFF', + width: 1 + } + } + }, + yAxis: { + type: 'value', + axisLine: { + lineStyle: { + color: '#FFFFFF', + width: 1 + } + } + }, + series: [ + { + name: '閭欢钀ラ攢', + type: 'line', + stack: '鎬婚噺', + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: '鑱旂洘骞垮憡', + type: 'line', + stack: '鎬婚噺', + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: '瑙嗛骞垮憡', + type: 'line', + stack: '鎬婚噺', + data: [150, 232, 201, 154, 190, 330, 410] + }, + { + name: '鐩存帴璁块棶', + type: 'line', + stack: '鎬婚噺', + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: '鎼滅储寮曟搸', + type: 'line', + stack: '鎬婚噺', + data: [820, 932, 901, 934, 1290, 1330, 1320] + } + ] + } + this.myChart.setOption(option) + }, + async echartsData () { + const addDays = dayjs().add(300, 'day') + const data = { + $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001', + $startTime: this.dayjs, + $endTime: addDays, + $step: 15 + } + const result = await mapApi.DataItems(data) + this.result = result.data + }, + // 鏁版嵁鐨勮姹� + requestEcharts () { + setInterval(async () => { + const addDays = dayjs().add(300, 'day') + const data = { + $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001', + $startTime: this.dayjs, + $endTime: addDays, + $step: 15 + } + const result = await mapApi.DataItems(data) + this.result = result.data + for (let i = 0; i < result.length; i++) { + // // console.log(result[i]) + + const seriesData = [] + const aseries = [] + // let nameData = '' + + seriesData.push(result[i].ReadTime) + aseries.push(result[i].TagValue) + // nameData = result[i].UnionTagCode + this.aseries = result[i].UnionTagCode + } + this.myChart.setOption({ + series: [{ + data: data + }] + }) + }, 3000) + } + }, + mounted () { + this.$nextTick(() => { + this.requestEcharts() + this.drawChart() + }) + } +} +</script> + +<style scoped lang="less"> +.Infomation { + margin-left: 10px; + height: 0.2rem; +} + +.el-tag { + height: 25px; + width: 140px; + line-height: 25px; + margin-right: 10px; + font-size: 10px; + background-color: rgba(0, 255, 246, 0.14); + color: #00d0f9; + border: none; + padding: 0 15px; +} + +.form-echrts { + width: 100%; + height: 1rem; + border-top: 1px solid #396d83; + //margin: 10px 10px 10px 10px; + .el-dialog-div { + //height: 50vh!important; + overflow: auto; + //overflow: hidden; + } + + #echarts { + margin: 0; + padding: 0; + //height: 3rem; + //border: 1px solid #396d83; + //margin: 10px 10px 10px 10px; + } +} +</style> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue index 09a7134..b2788bb 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue @@ -7,7 +7,7 @@ <ul class="tab"> <li @click='tabTaggle("ECharts")'>瀹炴椂鏁版嵁</li> <li @click='tabTaggle("EChartsHour")'>灏忔椂鏁版嵁</li> - <li @click='tabTaggle("ECharts")'>鏃ユ暟鎹�</li> + <li @click='tabTaggle("EChartsDate")'>鏃ユ暟鎹�</li> <li @click='tabTaggle("ECharts")'>浜哄伐鏁版嵁</li> </ul> <component :is="currentTab" v-bind="$attrs"></component> @@ -16,11 +16,13 @@ <script> import EChartsHour from './EChartsHour' +import EChartsDate from './EChartsDate' export default { name: 'PublicChart', components: { - EChartsHour + EChartsHour, + EChartsDate }, data () { return { @@ -46,10 +48,10 @@ .win { position: relative; - margin-bottom: 13px; + /*margin-bottom: 13px;*/ background-color: rgba(33, 41, 69, 0.9); border: 0.8px solid #396d83; - height: 1.5rem; + /*height: 1.5rem;*/ } .border_corner { diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue index 267759a..817aed1 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue @@ -105,13 +105,13 @@ color: #00d0f9; display: flex; font-size: 12px !important; + text-align: center; .el-col { + text-align: center; flex: 1; width: 100%; background-color: #243a55; - text-align: center; - line-height: 28px; margin-left: 6px; border-radius: 4px; diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue index 4c581a3..1e67f2f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue @@ -27,11 +27,12 @@ position: relative; background-color: rgba(33, 41, 69, 0.9); //height: 2rem; + width: 3rem; } .main { border: 1px solid #396d83; - padding: 5px; + //padding: 5px; height: 2rem; video { diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue index 5a47938..d3e18d3 100644 --- a/src/components/BaseNav/PublicBounced/PublicBounced.vue +++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue @@ -1,5 +1,6 @@ <template> <div class="public-bounced" v-drag v-if="flag"> + <!-- <Echarts></Echarts>--> <div class="public-bounced-title"> <span>{{ displayContentTitle }}</span> <i class="el-icon-circle-close" @click="closePopup"></i> @@ -13,8 +14,9 @@ :displayContentTable="displayContentTable"></public-table> <public-chart v-else :getWasteGasDetails="getWasteGasDetails" :value="value" - :getWasteWaterMonitoring="getWasteWaterMonitoring" - :getWasteWaterMonitoringDetails="getWasteWaterMonitoringDetails"></public-chart> + :getQueryOnlineMonData="getQueryOnlineMonData" + :getWasteWaterMonitoringDetails="getWasteWaterMonitoringDetails"> + </public-chart> </div> </div> <div class="public-bounced-content-right"> @@ -26,6 +28,8 @@ <script> +// import Echarts from '@components/BaseNav/PublicBounced/GasComponents/Echarts' + import '@/components/BaseNav/SolidWaste/directive/dir' import PublicTabs from '@components/BaseNav/PublicBounced/GasComponents/PublicTabs' import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable' @@ -35,6 +39,7 @@ export default { name: 'PublicBounced', components: { + // Echarts PublicTabs, PublicTable, PublicChart, @@ -51,7 +56,7 @@ value: '', getWasteGasDetails: [], getWasteWaterMonitoringDetails: [], - getWasteWaterMonitoring: [] + getQueryOnlineMonData: [] } }, methods: { @@ -77,10 +82,10 @@ this.flag = true this.value = value }, - setWaterData (dataWater, dataDetail, drawData, value) { + setWaterData (dataWater, dataDetail, hourData, value) { this.setWasteWaterdata = dataWater // console.log(data) - this.getWasteWaterMonitoring = drawData + this.getQueryOnlineMonData = hourData // console.log(drawData) this.getWasteWaterMonitoringDetails = dataDetail this.displayContentTitle = dataWater.Name @@ -93,16 +98,10 @@ <style lang="less" scoped> .public-bounced { - width: 8rem; - //height: 2.6rem; - //width: 70vw; - //height: 30vh; z-index: 999; position: absolute; - //bottom: 2rem; - //left: 5rem; top: 15%; - left: 15%; + left: 20%; background-color: #002432; border: 1px #9fc5c8 solid; @@ -129,17 +128,18 @@ } .public-bounced-content { - margin: 0.2rem auto !important; + padding: 0.1rem; display: flex; //align-items: center; - justify-content: space-around; + //justify-content: space-around; .public-bounced-content-left { - width: 4.8rem; + //width: 4.8rem; } .public-bounced-content-right { - width: 3rem; + //width: 3rem; + margin-left: 0.1rem; } } } diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js index 2ae5507..d8abe79 100644 --- a/src/components/LayerController/logic/WasteWater.js +++ b/src/components/LayerController/logic/WasteWater.js @@ -55,12 +55,28 @@ const dataValue = { StoragePlaceId: e.layer.options.test.StoragePlaceId } - const drawback = await mapApi.getWasteWaterMonitoring() - console.log(drawback) + const hourValue = { + onLineMonEmissPointId: '23', + monItemId: '28,31', + beginTime: '2020-04-06 15:13:20', + endTime: '2020-04-07 15:13:20', + dataType: '2' + } + // const dateValue = { + // onLineMonEmissPointId: '23', + // monItemId: '28,31', + // beginTime: '2020-04-06 15:13:20', + // endTime: '2020-04-07', + // dataType: '1' + // } + const hourData = await mapApi.getQueryOnlineMonData(hourValue) + // const dateData = await mapApi.getQueryOnlineMonData(dateValue) + // const drawback = await mapApi.getWasteWaterMonitoring() + // console.log(drawback) const result = await mapApi.getWasteWaterMonitoringDetails(dataValue) const PublicBounced = window.Vue.extend(publicBounced) const instance = new PublicBounced() - instance.setWaterData(e.layer.options.test, result.Result.DataInfo, drawback.Result.DataInfo, 'feishui') + instance.setWaterData(e.layer.options.test, result.Result.DataInfo, hourData.Result.DataInfo, 'feishui') // console.log(e.layer.options.test) instance.$mount() document.body.appendChild(instance.$el) -- Gitblit v1.8.0