Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
| | |
| | | "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", |
| | |
| | | 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) |
| | | } |
| | | } |
| | |
| | | |
| | | 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' |
New file |
| | |
| | | <!-- 日数据 --> |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | </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> |
| | |
| | | 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: '折线图堆叠' |
| | | }, |
| | |
| | | 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' |
| | | } |
| | |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '1%', |
| | | right: '3%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | toolbox: { |
| | | }, |
| | | toolbox: {}, |
| | | // 图标缩放设置 |
| | | dataZoom: [{ |
| | | type: 'inside', |
| | |
| | | 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: { // 网格垂直线为虚线 |
| | |
| | | // 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: { |
| | |
| | | }], |
| | | 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) |
| | | }) |
| | | } |
| | | } |
| | |
| | | } |
| | | .Infomation { |
| | | margin-left: 10px; |
| | | height: 0.2rem; |
| | | } |
| | | |
| | | .el-tag { |
| | |
| | | |
| | | .form-echrts { |
| | | width: 100%; |
| | | height: 2rem; |
| | | border-top: 1px solid #396d83; |
| | | //margin: 10px 10px 10px 10px; |
| | | .from-search{ |
New file |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | |
| | | <script> |
| | | import EChartsHour from './EChartsHour' |
| | | import EChartsDate from './EChartsDate' |
| | | |
| | | export default { |
| | | name: 'PublicChart', |
| | | components: { |
| | | EChartsHour |
| | | EChartsHour, |
| | | EChartsDate |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | |
| | | .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 { |
| | |
| | | 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; |
| | | |
| | |
| | | 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 { |
| | |
| | | <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> |
| | |
| | | :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"> |
| | |
| | | |
| | | <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' |
| | |
| | | export default { |
| | | name: 'PublicBounced', |
| | | components: { |
| | | // Echarts |
| | | PublicTabs, |
| | | PublicTable, |
| | | PublicChart, |
| | |
| | | value: '', |
| | | getWasteGasDetails: [], |
| | | getWasteWaterMonitoringDetails: [], |
| | | getWasteWaterMonitoring: [] |
| | | getQueryOnlineMonData: [] |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | 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 |
| | |
| | | |
| | | <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; |
| | | |
| | |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | } |
| | |
| | | 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) |