bufenxiugai

This commit is contained in:
shijing 2024-03-05 09:18:06 +08:00
parent c9f78b5d6a
commit b230202990
2 changed files with 273 additions and 400 deletions

View File

@ -1,55 +1,69 @@
<template>
<el-container>
<el-header class="panel_title">
<div class="left-panel">
空气质量监测微站
</div>
<div class="right-panel">
<div class="backMap" @click="backtoMap">
切换地图
<el-icon>
<Switch />
</el-icon>
</div>
</div>
</el-header>
<el-main class="nopadding">
<el-header style="height:60%">
<el-container>
<el-header class="searchWrap">
<div class="left-panel"></div>
<el-header class="panel_title">
<div class="left-panel">
空气质量监测微站
</div>
<div class="right-panel">
<el-select v-model="query.mgroup" placeholder="全部工序" @change="handleQuery" clearable>
<el-option v-for="item in processOptions" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder="设备名称/设备编号"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<div class="backMap" @click="backtoMap">
切换地图
<el-icon>
<Switch />
</el-icon>
</div>
</div>
</el-header>
<el-main>
<scTable :apiObj="apiObj" size="large" :params="params" :query="query">
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="设备编号"></el-table-column>
<el-table-column prop="level" label="设备名称"></el-table-column>
<el-table-column prop="type" label="设备类型"></el-table-column>
<el-table-column prop="mgroup_name" label="所属工序"></el-table-column>
<el-table-column prop="running_state" label="运行状态"></el-table-column>
<el-table-column label="PM2.5" align="center">
<el-table-column prop="mgroup" label="实测值"></el-table-column>
<el-table-column prop="mgroup" label="预警值"></el-table-column>
</el-table-column>
<el-table-column prop="mgroup" label="PM10" align="center">
<el-table-column prop="mgroup" label="实测值"></el-table-column>
<el-table-column prop="mgroup" label="预警值"></el-table-column>
</el-table-column>
<el-table-column prop="level" label="湿度"></el-table-column>
<el-table-column prop="mgroup" label="温度"></el-table-column>
<el-table-column prop="eqpment" label="大气压"></el-table-column>
<el-table-column prop="mgroup" label="风向"></el-table-column>
</scTable>
<el-main class="nopadding">
<el-container>
<el-header class="searchWrap">
<div class="left-panel"></div>
<div class="right-panel">
<el-select v-model="query.mgroup" placeholder="全部工序" @change="handleQuery" clearable>
<el-option v-for="item in processOptions" :key="item" :label="item"
:value="item"></el-option>
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px"
v-model="query.search" placeholder="设备名称/设备编号"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</el-header>
<el-main>
<scTable :apiObj="apiObj" size="large" :params="params" :query="query">
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="设备编号"></el-table-column>
<el-table-column prop="level" label="设备名称"></el-table-column>
<el-table-column prop="type" label="设备类型"></el-table-column>
<el-table-column prop="mgroup_name" label="所属工序"></el-table-column>
<el-table-column prop="running_state" label="运行状态"></el-table-column>
<el-table-column prop="PM25" label="PM2.5实测值"></el-table-column>
<el-table-column prop="PM10" label="PM10实测值"></el-table-column>
<el-table-column prop="level" label="湿度"></el-table-column>
<el-table-column prop="mgroup" label="温度"></el-table-column>
<el-table-column prop="eqpment" label="大气压"></el-table-column>
<el-table-column prop="mgroup" label="风向"></el-table-column>
</scTable>
</el-main>
</el-container>
</el-main>
</el-container>
</el-header>
<el-main>
<el-container>
<el-header class="panel_title">
<div class="left-panel">
空气质量微站实时监测详情
</div>
<div class="right-panel">
</div>
</el-header>
<el-main class="nopadding">
<div v-show="currentEquipmentId != ''" id="lineChart" style="width: 100%; height:100%;"></div>
</el-main>
</el-container>
</el-main>
</el-container>
</template>
<script>
@ -60,14 +74,41 @@ export default {
query: {},
apiObj: null,
processOptions: [],
currentEquipmentId: '',
}
},
methods: {
handleQuery() {
this.$refs.table.queryData(this.query);
},
timeHandleQuery() { },
carHandleQuery() { },
initChart() {
var that = this;
var myChart = echarts.getInstanceByDom(document.getElementById('lineChart'));
if (myChart == undefined) {
myChart = echarts.init(document.getElementById('lineChart'), 'dark');
}
myChart.showLoading();
this.$API.bi.dataset.exec.req('enp_edata2', {
query: this.query,
raise_exception: true
}).then(res => {
let newOption = Object.assign({}, this.basicOption);
let ds0 = res.data.ds0
ds0.pop()
let series = []
if (ds0) {
let ds00 = ds0[0]
for (var x = 1, y = ds00.length; x < y; x++) {
series.push({ type: 'line' })
}
}
newOption.dataset.source = res.data.ds0;
newOption.series = series;
newOption.title.text = this.currentEquipmentName;
myChart.setOption(newOption);
}).then(() => { myChart.hideLoading() })
},
}
}
</script>

View File

@ -107,61 +107,41 @@
</div>
<!-- 左侧列表数据 -->
<div v-show="activeIndex == 0" class="left_other animate__animated animate__backInLeft">
<!-- 主要排放口实时监测清单 -->
<!-- 有组织排放实时监测清单CEMS -->
<div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">主要排放口实时监测清单</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="title_s">{{ cemsData.equipment_name }}</div>
<div class="status"><span style="color:#32D74B">数据正常</span><span>2024-01-26 14:32:06</span></div>
<div class="tableHear" style="padding: 0 1vh;">
<!-- <div class="title_s">{{ cemsData.equipment_name }}</div> -->
<!-- <div class="status"><span style="color:#32D74B">数据正常</span><span>2024-01-26 14:32:06</span></div> -->
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight" :rowData="lineData" :titleData="liData1"
:refValue="refValue1"></scScrollTavle>
<!-- <div class="tableHear" style="padding: 0 1vh;">
<div style="flex:1;height:1vh"></div>
<div style="flex:5;margin: 0 1vh;">项目</div>
<div style="flex:2">实测</div>
<div style="flex:2">折算</div>
<div style="flex:5;margin: 0 1vh;">设备名称</div>
<div style="flex:2">颗粒物</div>
<div style="flex:2">SO₂</div>
<div style="flex:2">NOx</div>
</div>
<div class="rowItem">
<div class="rowindex">1</div>
<div class="rowname">颗粒物(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_rtd !== null">{{ cemsData.envdata.dust_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rowname">设备名称</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_zs !== null">{{ cemsData.envdata.dust_zs }}</span>
<span v-else>-</span>
</div>
</div>
<div class=" rowItem">
<div class="rowindex">2</div>
<div class="rowname">SO₂(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_rtd !== null">{{ cemsData.envdata.so2_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_zs !== null">{{ cemsData.envdata.so2_zs
}}</span>
<span v-else>-</span>
</div>
</div>
<div class="rowItem">
<div class="rowindex">3</div>
<div class="rowname">NOx(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_rtd !== null">{{ cemsData.envdata.nox_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_zs !== null">{{ cemsData.envdata.nox_zs }}</span>
<span v-else>-</span>
</div>
</div>
</div> -->
</div>
</div>
<!-- 接入设备数量总览 -->
@ -205,289 +185,98 @@
</div>
</div>
</div>
<!-- 主要排放口实时监测清单 -->
<!-- 无组织排放实时监测清单 TSP-->
<div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">主要排放口实时监测清单</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="title_s">{{ cemsData.equipment_name }}</div>
<div class="status"><span style="color:#32D74B">数据正常</span><span>2024-01-26 14:32:06</span></div>
<div class="tableHear" style="padding: 0 1vh;">
<div style="flex:1;height:1vh"></div>
<div style="flex:5;margin: 0 1vh;">项目</div>
<div style="flex:2">实测</div>
<div style="flex:2">折算</div>
</div>
<div class="rowItem">
<div class="rowindex">1</div>
<div class="rowname">颗粒物(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_rtd !== null">{{ cemsData.envdata.dust_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_zs !== null">{{ cemsData.envdata.dust_zs }}</span>
<span v-else>-</span>
</div>
</div>
<div class=" rowItem">
<div class="rowindex">2</div>
<div class="rowname">SO₂(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_rtd !== null">{{ cemsData.envdata.so2_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_zs !== null">{{ cemsData.envdata.so2_zs
}}</span>
<span v-else>-</span>
</div>
</div>
<div class="rowItem">
<div class="rowindex">3</div>
<div class="rowname">NOx(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_rtd !== null">{{ cemsData.envdata.nox_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_zs !== null">{{ cemsData.envdata.nox_zs }}</span>
<span v-else>-</span>
</div>
</div>
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight" :rowData="lineData2" :titleData="liData2"
:refValue="refValue2"></scScrollTavle>
</div>
</div>
</div>
<!-- 右侧数据 -->
<div v-show="activeIndex == 0" class="right_other animate__animated animate__backInRight">
<!-- 主要排放口实时监测清单 -->
<!-- 空气微站实时监测清单 -->
<div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">环境质量实时监测清单</div>
<div class="blockTitleText">空气微站实时监测清单</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="tableHear" style="padding: 0 1vh;">
<div style="flex:1;height:1vh"></div>
<div style="flex:5;margin: 0 1vh;">项目</div>
<div style="flex:2">实测</div>
<div style="flex:2">折算</div>
<scScrollTavle v-if="table3Visible" :tableHeight="containerHeight" :rowData="lineData3" :titleData="liData3"
:refValue="refValue3"></scScrollTavle>
<!-- <div>
<div class="tableHear"
style="margin:1vh 0;height:2.6vh;line-height:2.6vh;display:flex;padding:1vh;font-size:1.2vh">
<div style="flex:2">监测设备名称</div>
<div style="flex:1">PM10(μg/)</div>
<div style="flex:1">PM2.5(μg/)</div>
</div>
<div class="rowItem">
<div class="rowindex">1</div>
<div class="rowname">颗粒物(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_rtd !== null">{{ cemsData.envdata.dust_rtd
}}</span>
<span v-else>-</span>
<div class="tableBody">
<div v-for="item in wData" :key="item">
<div class="badyItem">
<div style="flex:2">
<img src="img/enp_blue/listImg.png"
style="width:2vh;height:2vh;margin:1.2vh 1vh;vertical-align:middle">
<span>{{ item.name }}</span>
</div>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm10 }}</span>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm25 }}</span>
</div>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_zs !== null">{{ cemsData.envdata.dust_zs }}</span>
<span v-else>-</span>
<div v-for="item in wData" :key="item">
<div class="badyItem">
<div style="flex:2">
<img src="img/enp_blue/listImg.png"
style="width:2vh;height:2vh;margin:1.2vh 1vh;vertical-align:middle">
<span>{{ item.name }}</span>
</div>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm10 }}</span>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm25 }}</span>
</div>
</div>
<div v-for="item in wData" :key="item">
<div class="badyItem">
<div style="flex:2">
<img src="img/enp_blue/listImg.png"
style="width:2vh;height:2vh;margin:1.2vh 1vh;vertical-align:middle">
<span>{{ item.name }}</span>
</div>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm10 }}</span>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm25 }}</span>
</div>
</div>
</div>
<div class=" rowItem">
<div class="rowindex">2</div>
<div class="rowname">SO₂(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_rtd !== null">{{ cemsData.envdata.so2_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_zs !== null">{{ cemsData.envdata.so2_zs
}}</span>
<span v-else>-</span>
</div>
</div>
<div class="rowItem">
<div class="rowindex">3</div>
<div class="rowname">NOx(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_rtd !== null">{{ cemsData.envdata.nox_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_zs !== null">{{ cemsData.envdata.nox_zs }}</span>
<span v-else>-</span>
</div>
</div>
</div>
</div> -->
</div>
<!-- 车辆数量总览 -->
<!-- 今日车辆统计数据 -->
<div class="panel panel2">
<div class="blockTitle">
<div class="blockTitleText">出入厂车辆数量统计</div>
<div class="blockTitleText">今日车辆统计数据</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="chart" id="chart1" style="width:7vw;height:7vw;"></div>
<div style="display:flex;">
<div class="chart" id="pieChart"></div>
<div style="width:50%">
</div>
</div>
</div>
<!-- 主要排放口实时监测清单 -->
<!-- 环卫车作业情况 -->
<div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">主要排放口实时监测清单</div>
<div class="blockTitleText">环卫车作业情况</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="title_s">{{ cemsData.equipment_name }}</div>
<div class="status"><span style="color:#32D74B">数据正常</span><span>2024-01-26 14:32:06</span></div>
<div class="tableHear" style="padding: 0 1vh;">
<div style="flex:1;height:1vh"></div>
<div style="flex:5;margin: 0 1vh;">项目</div>
<div style="flex:2">实测</div>
<div style="flex:2">折算</div>
</div>
<div class="rowItem">
<div class="rowindex">1</div>
<div class="rowname">颗粒物(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_rtd !== null">{{ cemsData.envdata.dust_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.dust_zs !== null">{{ cemsData.envdata.dust_zs }}</span>
<span v-else>-</span>
</div>
</div>
<div class=" rowItem">
<div class="rowindex">2</div>
<div class="rowname">SO₂(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_rtd !== null">{{ cemsData.envdata.so2_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.so2_zs !== null">{{ cemsData.envdata.so2_zs
}}</span>
<span v-else>-</span>
</div>
</div>
<div class="rowItem">
<div class="rowindex">3</div>
<div class="rowname">NOx(mg/)</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_rtd !== null">{{ cemsData.envdata.nox_rtd
}}</span>
<span v-else>-</span>
</div>
<div class="rownum">
<span v-if="cemsData.envdata && cemsData.envdata.nox_zs !== null">{{ cemsData.envdata.nox_zs }}</span>
<span v-else>-</span>
</div>
</div>
</div>
</div>
<!-- 环境质量实时监测清单 -->
<!-- <div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">环境质量实时监测清单</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="tableHear"
style="margin:1vh 0;height:2.6vh;line-height:2.6vh;display:flex;padding:1vh;font-size:1.3vh">
<div style="flex:2">监测设备名称</div>
<div style="flex:1">PM10(μg/)</div>
<div style="flex:1">PM2.5(μg/)</div>
</div>
<div class="tableBody">
<div v-for="item in wData" :key="item">
<div class="badyItem">
<div style="flex:2">
<img src="img/enp_blue/listImg.png"
style="width:2vh;height:2vh;margin:1.2vh 1vh;vertical-align:middle">
<span>{{ item.name }}</span>
</div>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm10 }}</span>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm25 }}</span>
</div>
</div>
</div>
</div>
</div> -->
<!-- 接入设备数量总览 -->
<!-- <div class="panel panel2">
<div class="blockTitle">
<div class="blockTitleText">接入设备数量总览</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div style="display: flex;padding: 1vh 1vw;">
<div style="width: 50%;height:100%">
<div class="eqItem">
<img class="eqImg" src="img/enp_blue/eq_s.svg">
<div class="eqText">
<div class="eqName">生产设备</div>
<div class="eqNumWrap"><span class="eqNum">{{ eqNumData.sc }}</span></div>
</div>
</div>
<div class="eqItem">
<img class="eqImg" src="img/enp_blue/eq_v.svg">
<div class="eqText">
<div class="eqName">监测设备</div>
<div class="eqNumWrap"><span class="eqNum">{{ eqNumData.jc }}</span></div>
</div>
</div>
</div>
<div style="width: 50%;height:100%">
<div class="eqItem">
<img class="eqImg " src="img/enp_blue/eq_z.svg">
<div class="eqText">
<div class="eqName">治理设备</div>
<div class="eqNumWrap"><span class="eqNum">{{ eqNumData.zl }}</span></div>
</div>
</div>
<div class="eqItem">
<img class="eqImg" src="img/enp_blue/eq_c.svg">
<div class="eqText">
<div class="eqName">监控设备</div>
<div class="eqNumWrap"><span class="eqNum">{{ eqNumData.jk }}</span></div>
</div>
</div>
</div>
</div>
</div> -->
<!-- 环境质量实时监测清单 -->
<!-- <div class="panel panel1">
<div class="blockTitle">
<div class="blockTitleText">环境质量实时监测清单</div>
<img class="blockTitleImg" src="img/enp_blue/block_title.png">
</div>
<div>
<div class="tableHear"
style="margin:1vh 0;height:2.6vh;line-height:2.6vh;display:flex;padding:1vh;font-size:1.3vh">
<div style="flex:2">监测设备名称</div>
<div style="flex:1">PM10(μg/)</div>
<div style="flex:1">PM2.5(μg/)</div>
</div>
<div class="tableBody">
<div v-for="item in wData" :key="item">
<div class="badyItem">
<div style="flex:2">
<img src="img/enp_blue/listImg.png"
style="width:2vh;height:2vh;margin:1.2vh 1vh;vertical-align:middle">
<span>{{ item.name }}</span>
</div>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm10 }}</span>
<span style="flex:1" v-if="item.envdata">{{ item.envdata.pm25 }}</span>
</div>
</div>
</div>
</div>
</div> -->
</div>
<!-- 左右两条边框线 -->
<!-- <div v-show="activeIndex == 0" class="left_border"></div> -->
<!-- <div v-show="activeIndex == 0" class="right_border"></div> -->
<!-- 设备分类 -->
<div v-show="activeIndex == 0" class="btns_enp">
<div class="btns" :class="bindBtnClass(0)">生产设备</div>
<div class="btns" :class="bindBtnClass(1)">治理设备</div>
@ -495,6 +284,7 @@
<div class="btns" :class="bindBtnClass(3)">监控设备</div>
<!-- <div class="btns" :class="bindBtnClass(4)">环境监测</div> -->
</div>
<!-- 底部背景图片 -->
<div v-show="activeIndex == 0" class="bottom_enp"></div>
<div v-if="activeIndex != 0" class="container">
<el-drawer v-model="elDrawer" :modal="false" :close-on-click-modal="false" size="95%" :with-header="false"
@ -547,7 +337,8 @@ import alarmrecord from "./enpComponents/alarmrecord.vue";
import pollutant2 from "./enpComponents/pollutant2.vue"
import smartg from "./enpComponents/smartg.vue";
import videowall from "./enpComponents/video.vue";
import 'babylonjs-loaders';
import scScrollTavle from '@/components/scScrollTable.vue';
// import 'babylonjs-loaders';
import 'animate.css';
export default {
components: {
@ -566,7 +357,8 @@ export default {
alarmrecord,
pollutant2,
smartg,
videowall
videowall,
scScrollTavle
},
data() {
return {
@ -595,18 +387,32 @@ export default {
activeSectionName: '回转窑',
updateTime: '2023-08-17 16:00:00',
pieOption: {
title: {
text: '',
subtext: '',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: {
// orient: 'vertical',
right: 10,
bottom: 1,
data: ['新能源', '其他']
},
backgroundColor: 'rgba(255,255,255,0)',
color: ['rgb(3,195,198)', 'rgb(155,248,249)', 'rgb(110,181,249)', 'rgb(205,248,248)'],
grid: {
left: '3%',
right: '4%',
bottom: '3%',
top: '3%',
containLabel: true
},
series: {
name: '出入场车辆数量统计',
name: '今日车辆数量统计',
type: 'pie',
radius: [45, 55],
radius: [35, 45],
center: ['50%', '50%'],
emphasis: {
focus: 'series',
@ -633,12 +439,23 @@ export default {
{ value: 2, name: '新能源' },
{ value: 6, name: '其他' },
],
wryData: {
count: 0,
count_product: 0,
count_mtrans: 0,
count_mstore: 0
},
containerHeight: 100,
refValue1: 'moocBox1',
table1Visible: true,
lineData: [],
liData1: ['', '设备名称', '颗粒物', 'SO₂', 'NOx'],
refValue2: 'moocBox2',
table2Visible: true,
lineData2: [],
liData2: ['', '设备名称', 'TSP测量值'],
refValue3: 'moocBox3',
table3Visible: true,
lineData3: [],
liData3: ['', '设备名称', 'PM10', 'PM2.5'],
eqNumData: {
sc: 0,
jc: 0,
@ -648,55 +465,27 @@ export default {
},
cemsData: [],
tspData: [],
monitorData: [
{ value: 1.167, name: '颗粒物(mg/m³)' },
{ value: 5.714, name: 'SO₂(mg/m³)' },
{ value: 12.546, name: 'NOx(mg/m³)' },
],
arguData: [
{ value: 21.215, name: '含氧量' },
{ value: 78.318, name: '温度' },
{ value: 4.183, name: '流速' },
{ value: 21.215, name: '压力' },
{ value: 3.612, name: '湿度' },
{ value: 2, name: '流量' },
],
mgroupValues: {
电石渣: { total: '0', elec: '0' },
原料磨: { total: '0', elec: '0' },
煤磨: { total: '0', elec: '0' },
回转窑: { total: '0', elec: '0' },
水泥磨: { total: '0', elec: '0' },
水泥包装: { total: '0', elec: '0' }
},
wData: [
{ name: '磅房', pm10: '2.9', pm25: '14.2' },
{ name: '北厂界', pm10: '-', pm25: '68.1' },
{ name: '东厂界', pm10: '-', pm25: '41.322' },
],
wData: [],
}
},
created() {
document.documentElement.classList.add("dark")
this.$TOOL.data.set("APP_DARK", true)
},
mounted() {
let that = this;
that.initDomStyle();
that.getleft1Data();
that.getleft2Data();
that.getleft3Data();
this.getright1Data();
this.getright2Data();
this.getright3Data();
that.initCharts();
that.addListener();
that.initDomStyle();
that.$nextTick(() => {
setTimeout(function () {
// that.initFactory();
}, 1000);
}, 5000);
});
},
beforeUnmount() {
@ -707,15 +496,30 @@ export default {
}
},
methods: {
//
// CEMS
getleft1Data() {
let that = this;
that.$API.enp.drain.countcate.req({ type: 20 }).then((res) => {
console.log(res)
that.wryData = res;
that.pieData[0].value = res.count_product;
that.pieData[1].value = res.count_mtrans;
that.pieData[2].value = res.count_mstore;
that.$API.em.equipment.list.req({ type: 20, cate__code: 'cems', has_envdata: 'yes' }).then(res => {
that.cemsDataList = res.results;
that.cemsData = res.results[0];
let lineData = [];
res.results.forEach((item, index) => {
let arr = [], obj1 = {}, obj2 = {}, obj3 = {}, obj4 = {};
obj1.elType = 'primary';
obj1.value = item.name;//
obj2.elType = 'primary';
obj2.value = item.envdata && item.envdata.dust_zs ? item.envdata.dust_zs : '-';//
obj3.elType = 'primary';
obj3.value = item.envdata && item.envdata.so2_zs ? item.envdata.so2_zs : '-';//SO
obj4.elType = 'primary';
obj4.value = item.envdata && item.envdata.nox_zs ? item.envdata.nox_zs : '-';//NOx
arr.push(obj1);
arr.push(obj2);
arr.push(obj3);
arr.push(obj4);
lineData.push(arr);
});
this.lineData = lineData;
})
},
//
@ -737,30 +541,55 @@ export default {
this.eqNumData.jk = res4.count;
})
},
// CEMS
getleft3Data() {
let that = this;
that.$API.em.equipment.list.req({ type: 20, cate__code: 'cems', has_envdata: 'yes' }).then(res => {
that.cemsDataList = res.results;
that.cemsData = res.results[0];
})
},
//TSP
getright1Data() {
getleft3Data() {
let that = this;
that.$API.em.equipment.list.req({ type: 20, cate__code: 'tsp', has_envdata: 'yes' }).then(res => {
that.tspDataList = res.results;
that.tspData = res.results[0];
let lineData = [];
res.results.forEach((item, index) => {
let arr = [], obj1 = {}, obj2 = {};
obj1.elType = 'primary';
obj1.value = item.name;//
obj2.elType = 'primary';
obj2.value = item.envdata && item.envdata.dust_zs ? item.envdata.dust_zs : '-';//
arr.push(obj1);
arr.push(obj2);
lineData.push(arr);
});
this.lineData2 = lineData;
})
},
//---
getright2Data() {
//---
getright1Data() {
let that = this;
that.$API.em.equipment.list.req({ type: 20, cate__code: 'aqms', has_envdata: 'yes' }).then(res => {
that.wData = res.results;
console.log('wData', this.wData)
let lineData = [];
res.results.forEach((item, index) => {
let arr = [], obj1 = {}, obj2 = {}, obj3 = {};
obj1.elType = 'primary';
obj1.value = item.name;//
obj2.elType = 'primary';
obj2.value = item.envdata && item.envdata.PM10 ? item.envdata.PM10 : '-';//PM10
obj3.elType = 'primary';
obj3.value = item.envdata && item.envdata.PM25 ? item.envdata.PM25 : '-';//PM2.5
arr.push(obj1);
arr.push(obj2);
arr.push(obj3);
lineData.push(arr);
});
this.lineData3 = lineData;
})
},
//
getright2Data() {
},
//
getright3Data() { },
configDark() {
this.config.dark = this.config.dark ? false : true
},
@ -775,6 +604,7 @@ export default {
this.elDrawer = true;
},
initDomStyle() {
let that = this;
//
var windowHeight = window.innerHeight;
var windowWidth = window.innerWidth;
@ -794,10 +624,10 @@ export default {
// model.style.height = (windowHeight - 4) + 'px';
// model.style.top = 0;
var chartHeight1 = (100 - 18) * 0.37 + 'vh';
var chartHeight2 = (100 - 18) * 0.25 + 'vh';
console.log(chartHeight1);
console.log(chartHeight2);
var chartHeight1 = (100 - 18) * 0.35 + 'vh';
var chartHeight2 = (100 - 18) * 0.29 + 'vh';
let piechart = document.getElementById('pieChart');
piechart.style.height = ((100 - 18) * 0.29 - 4) + 'vh';
// var chartHeight3 = (100 - 17) * 0.28 + 'vh';
// var chartHeight4 = (100 - 17) * 0.715 + 'vh';
var charts = document.getElementsByClassName('panel')
@ -841,6 +671,10 @@ export default {
chart.style.height = chartHeight;
}
}
let containerHeight = document.getElementsByClassName('panel1')[0].clientHeight;
debugger;
console.log('containerHeight', containerHeight);
that.containerHeight = containerHeight;
if (this.engine != null) {
this.engine.resize();
}
@ -868,7 +702,6 @@ export default {
},
menuClick(index) {
if (index == 0) { this.activeIndex = index; }
//
},
handleClick(command) {
this.activeIndex = 1;
@ -898,7 +731,6 @@ export default {
getMessage(msg) {
console.log(msg);
},
compare(property) {
return function (a, b) {
return a[property] - b[property];
@ -906,9 +738,9 @@ export default {
},
initCharts() {
let that = this;
//
//
that.pieOption.series.data = that.pieData;
that.setChart('chart1', that.pieOption);
that.setChart('pieChart', that.pieOption);
},
addListener() {
var that = this;
@ -1208,7 +1040,7 @@ header {
.eqText {
flex: 1;
height: 9vh;
height: 100%;
font-size: 1.4vh;
padding-left: 0.5vw;
margin: 0.5vh 0;
@ -1243,11 +1075,11 @@ header {
}
.chart {
width: 100%;
height: 100%;
width: 50%;
height: 80%;
}
#chart1 {
#pieChart {
/* background-image: url('/public/img/enp_blue/huan_bg.png');
background-size: 75%;
background-repeat: no-repeat;