|
@@ -1,76 +1,119 @@
|
|
|
<template>
|
|
|
- <!-- 电厂大屏第三页:全厂在线分析仪表 -->
|
|
|
+ <!-- 电厂大屏第三页:环保监控 -->
|
|
|
<div id="frontThree">
|
|
|
<!-- 第一排开始 -->
|
|
|
<div id="rowOne">
|
|
|
- <dv-border-box-10 style="height:4rem;width:32%;display:inline-block;margin:10px;padding:0px;">
|
|
|
- <analysisTopLeft :xDataTopLeft="xDataTopLeft" :yDataTopLeft="yDataTopLeft"></analysisTopLeft>
|
|
|
- </dv-border-box-10>
|
|
|
- <dv-border-box-10 style="height:4rem;width:32%;display:inline-block;margin:10px;padding:0px;">
|
|
|
- <analysisTopCenter :xDataTopCenter="xDataTopCenter" :yDataTopCenter="yDataTopCenter"></analysisTopCenter>
|
|
|
- </dv-border-box-10>
|
|
|
- <dv-border-box-10 style="height:4rem;width:32%;display:inline-block;margin:10px;padding:0px;">
|
|
|
- <analysisTopRight :xDataTopRight="xDataTopRight" :yDataTopRight="yDataTopRight"></analysisTopRight>
|
|
|
- </dv-border-box-10>
|
|
|
+ <dv-border-box-1 style="height:5rem;width:33.3%;display:inline-block;float:left;">
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <analysisTopLeft style="display:inline-block;float:left;"></analysisTopLeft>
|
|
|
+ </div>
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">烟尘</span>
|
|
|
+ <dv-water-level-pond :config="configTopLeft1" style="width: 2.1rem;height:1.4rem;" />
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">SO2</span>
|
|
|
+ <dv-water-level-pond :config="configTopLeft2" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">NOx</span>
|
|
|
+ <dv-water-level-pond :config="configTopLeft3" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-1>
|
|
|
+
|
|
|
+ <dv-border-box-1 style="height:5rem;width:33.3%;display:inline-block;float:left;">
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <analysisTopCenter style="display:inline-block;float:left;"></analysisTopCenter>
|
|
|
+ </div>
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">烟尘</span>
|
|
|
+ <dv-water-level-pond :config="configTopCenter1" style="width: 2.1rem;height:1.4rem;" />
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">SO2</span>
|
|
|
+ <dv-water-level-pond :config="configTopCenter2" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">NOx</span>
|
|
|
+ <dv-water-level-pond :config="configTopCenter3" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-1>
|
|
|
+
|
|
|
+ <dv-border-box-1 style="height:5rem;width:33.3%;display:inline-block;float:left;">
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <analysisTopRight style="display:inline-block;float:left;"></analysisTopRight>
|
|
|
+ </div>
|
|
|
+ <div style="width:6.6rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">烟尘</span>
|
|
|
+ <dv-water-level-pond :config="configTopRight1" style="width: 2.1rem;height:1.4rem;" />
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">SO2</span>
|
|
|
+ <dv-water-level-pond :config="configTopRight2" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ <div style="width:2.1rem;height:1.5rem;display:inline-block;float:left;margin:0.05rem;">
|
|
|
+ <span style="width:2.1rem;height:0.1rem;fontWeight:bold;fontSize:14px;">NOx</span>
|
|
|
+ <dv-water-level-pond :config="configTopRight3" style="width: 2.1rem;height:1.4rem;"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-1>
|
|
|
</div>
|
|
|
<!-- 第一排结束 -->
|
|
|
+
|
|
|
<!-- 第二排开始 -->
|
|
|
<div id="rowTwo">
|
|
|
- <div style="height:5.5rem;width:32%;display:inline-block;float:left;margin:0px 10px;">
|
|
|
- <dv-border-box-12 style="height:2.75rem;">
|
|
|
- <div style="height:140px;overflow:hidden;padding:50px 75px;transform:scale(1.5,1.5);padding-top:60px;">
|
|
|
- <dv-capsule-chart :config="configBottomLeft1" style="width:300px;height:120px;margin:0px auto;" />
|
|
|
- </div>
|
|
|
- </dv-border-box-12>
|
|
|
- <dv-border-box-12 style="height:2.75rem;">
|
|
|
- <div style="height:130px;overflow:hidden;padding:50px 75px;transform:scale(1.5,1.5);">
|
|
|
- <dv-capsule-chart :config="configBottomLeft2" style="width:300px;height:120px;margin:0px auto;" />
|
|
|
- </div>
|
|
|
- </dv-border-box-12>
|
|
|
+ <dv-border-box-13 style="height:5rem;width:33.3%;display:inline-block;float:left;">
|
|
|
+ <div style="width:6.8rem;margin:0px auto;margin-top:25px;">
|
|
|
+ <analysisBottomLeft1 style="display:inline-block;float:left;"></analysisBottomLeft1>
|
|
|
+ <analysisBottomLeft2 style="display:inline-block;float:left;"></analysisBottomLeft2>
|
|
|
+ </div>
|
|
|
+ <div style="width:6.8rem;margin:0px auto;">
|
|
|
+ <analysisBottomLeft3 style="display:inline-block;float:left;"></analysisBottomLeft3>
|
|
|
+ <analysisBottomLeft4 style="display:inline-block;float:left;"></analysisBottomLeft4>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+
|
|
|
+ <div style="height:4.8rem;width:66%;display:inline-block;float:left;margin:0.1rem 0px;margin-left:5px;">
|
|
|
+ <dv-scroll-board :config="configBottomRight" style="height:100%;width:100%;"/>
|
|
|
</div>
|
|
|
- <dv-border-box-10 style="height:5.5rem;width:65%;display:inline-block;float:left;margin:0px 10px;">
|
|
|
- <h1 style="text-align:center;margin-top:35px;">设备排量超标预警</h1>
|
|
|
- <dv-scroll-board :config="configBottomRight" style="width:1000px;height:4rem;margin:0px auto;"/>
|
|
|
- </dv-border-box-10>
|
|
|
</div>
|
|
|
<!-- 第二排结束 -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import analysisTopLeft from './analysisTopLeft.vue';
|
|
|
- import analysisTopCenter from './analysisTopCenter.vue';
|
|
|
- import analysisTopRight from './analysisTopRight.vue';
|
|
|
import analysisBottomLeft1 from './analysisBottomLeft1.vue';
|
|
|
import analysisBottomLeft2 from './analysisBottomLeft2.vue';
|
|
|
import analysisBottomLeft3 from './analysisBottomLeft3.vue';
|
|
|
import analysisBottomLeft4 from './analysisBottomLeft4.vue';
|
|
|
+ import analysisTopLeft from './analysisTopLeft.vue';
|
|
|
+ import analysisTopCenter from './analysisTopCenter.vue';
|
|
|
+ import analysisTopRight from './analysisTopRight.vue';
|
|
|
export default {
|
|
|
name: "materialBalance",
|
|
|
- components: { analysisTopLeft, analysisTopCenter, analysisTopRight, analysisBottomLeft1, analysisBottomLeft2, analysisBottomLeft3, analysisBottomLeft4 },
|
|
|
+ components: {
|
|
|
+ analysisBottomLeft1, analysisBottomLeft2, analysisBottomLeft3, analysisBottomLeft4,
|
|
|
+ analysisTopLeft, analysisTopCenter, analysisTopRight
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- // 第一排左上角柱状图横纵轴数据
|
|
|
- xDataTopLeft: [
|
|
|
- { value: 2050, itemStyle: { color: '#8378EA' } },
|
|
|
- { value: 607, itemStyle: { color: '#F74F4E' } },
|
|
|
- { value: 100, itemStyle: { color: '#6BE5EA' } }
|
|
|
- ],
|
|
|
- yDataTopLeft: ['NOx折算', 'SO2折算', '烟尘折算'],
|
|
|
- // 第一排中间柱状图横纵轴数据
|
|
|
- xDataTopCenter: [
|
|
|
- { value: 1900, itemStyle: { color: '#8378EA' } },
|
|
|
- { value: 572, itemStyle: { color: '#4A7CF9' } },
|
|
|
- { value: 200, itemStyle: { color: '#F74F4E' } }
|
|
|
- ],
|
|
|
- yDataTopCenter: ['NOx折算', 'SO2折算', '烟尘折算'],
|
|
|
- // 第一排右上角柱状图横纵轴数据
|
|
|
- xDataTopRight: [
|
|
|
- { value: 2050, itemStyle: { color: '#8378EA' } },
|
|
|
- { value: 572, itemStyle: { color: '#4A7CF9' } },
|
|
|
- { value: 100, itemStyle: { color: '#6BE5EA' } }
|
|
|
- ],
|
|
|
- yDataTopRight: ['NOx折算', 'SO2折算', '烟尘折算'],
|
|
|
+ // 第一排左上角水位图配置、基准值、实测值
|
|
|
+ configTopLeft1: {}, configTopLeft2: {}, configTopLeft3: {},
|
|
|
+ limitTopLeft1: 100, limitTopLeft2: 572, limitTopLeft3: 2050,
|
|
|
+ dataTopLeft1: 20, dataTopLeft2: 400, dataTopLeft3: 500,
|
|
|
+ // 第一排中间水位图配置、基准值、实测值
|
|
|
+ configTopCenter1: {}, configTopCenter2: {}, configTopCenter3: {},
|
|
|
+ limitTopCenter1: 100, limitTopCenter2: 572, limitTopCenter3: 2050,
|
|
|
+ dataTopCenter1: 20, dataTopCenter2: 400, dataTopCenter3: 500,
|
|
|
+ // 第一排右上角水位图配置、基准值、实测值
|
|
|
+ configTopRight1: {}, configTopRight2: {}, configTopRight3: {},
|
|
|
+ limitTopRight1: 100, limitTopRight2: 572, limitTopRight3: 2050,
|
|
|
+ dataTopRight1: 20, dataTopRight2: 400, dataTopRight3: 500,
|
|
|
// 第二排右下角轮播表表头、表数据、表配置
|
|
|
tableHeaderBottomRight: ['时间', '设备', '编号', '内容'],
|
|
|
tableDataBottomRight: [
|
|
@@ -85,108 +128,107 @@
|
|
|
['2022-4-5 12:10', '设备 HRSC #2', 'AI82302', 'PH @ HRSG#2 HP DRUM BLOWDOWN', ],
|
|
|
['2022-4-5 14:46', '设备 HRSC #3', 'AI82403', 'CC @ HRSG#3 HP DRUM DISCHARGE']
|
|
|
],
|
|
|
- capsuleDataBottomLeft1: [
|
|
|
- {
|
|
|
- name: 'COD of Waste Water (mg/l)',
|
|
|
- value: 22
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'PH of Waste Water',
|
|
|
- value: 7
|
|
|
- }
|
|
|
- ],
|
|
|
- capsuleDataBottomLeft2: [
|
|
|
- {
|
|
|
- name: 'COD of Rain Water (mg/l)',
|
|
|
- value: 14
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'PH of Rain Water',
|
|
|
- value: 12
|
|
|
- }
|
|
|
- ],
|
|
|
- configBottomRight: {},
|
|
|
- configBottomLeft1: {},
|
|
|
- configBottomLeft2: {}
|
|
|
+ configBottomRight: {}
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
+ /**
|
|
|
+ * 第一排左上角水位图初始化
|
|
|
+ */
|
|
|
+ initTopLeft() {
|
|
|
+ this.configTopLeft1 = {
|
|
|
+ data: [ ( (this.dataTopLeft1/this.limitTopLeft1) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopLeft1 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopLeft2 = {
|
|
|
+ data: [ ( (this.dataTopLeft2/this.limitTopLeft2) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopLeft2 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopLeft3 = {
|
|
|
+ data: [ ( (this.dataTopLeft3/this.limitTopLeft3) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopLeft3 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 第一排中间水位图初始化
|
|
|
+ */
|
|
|
+ initTopCenter() {
|
|
|
+ this.configTopCenter1 = {
|
|
|
+ data: [ ( (this.dataTopCenter1/this.limitTopCenter1) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopCenter1 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopCenter2 = {
|
|
|
+ data: [ ( (this.dataTopCenter2/this.limitTopCenter2) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopCenter2 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopCenter3 = {
|
|
|
+ data: [ ( (this.dataTopCenter3/this.limitTopCenter3) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopCenter3 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 第一排右上角水位图初始化
|
|
|
+ */
|
|
|
+ initTopRight() {
|
|
|
+ this.configTopRight1 = {
|
|
|
+ data: [ ( (this.dataTopRight1/this.limitTopRight1) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopRight1 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopRight2 = {
|
|
|
+ data: [ ( (this.dataTopRight2/this.limitTopRight2) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopRight2 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ this.configTopRight3 = {
|
|
|
+ data: [ ( (this.dataTopRight3/this.limitTopRight3) * 100 ).toFixed(1) ],
|
|
|
+ waveHeight: 10,
|
|
|
+ formatter: this.dataTopRight3 + ' mg/m3',
|
|
|
+ shape: 'roundRect'
|
|
|
+ };
|
|
|
+ },
|
|
|
/**
|
|
|
* 第二排右下角轮播表配置初始化
|
|
|
*/
|
|
|
- initCarouselBottomRight() {
|
|
|
+ initBottomRight() {
|
|
|
this.configBottomRight = {
|
|
|
data: this.tableDataBottomRight,
|
|
|
header: this.tableHeaderBottomRight,
|
|
|
- rowNum: 6,
|
|
|
+ rowNum: 8,
|
|
|
headerBGC: '#00BAFF',
|
|
|
oddRowBGC: '#003B51',
|
|
|
evenRowBGC: '#0A2732',
|
|
|
- waitTime: 1000,
|
|
|
- align: 'center',
|
|
|
- headerHeight: 50
|
|
|
- }
|
|
|
- },
|
|
|
- initCapsuleBottomLeft() {
|
|
|
- this.configBottomLeft1 = {
|
|
|
- data: this.capsuleDataBottomLeft1,
|
|
|
- colors: ['#FF9800', '#FF9800'],
|
|
|
- showValue: true
|
|
|
- }
|
|
|
- this.configBottomLeft2 = {
|
|
|
- data: this.capsuleDataBottomLeft2,
|
|
|
- colors: ['#00FF0D', '#00FF0D'],
|
|
|
- showValue: true
|
|
|
- }
|
|
|
- }
|
|
|
+ waitTime: 3000, // in ms
|
|
|
+ align: ['center', 'center', 'center', 'center'],
|
|
|
+ columnWidth: [300, 200, 200],
|
|
|
+ headerHeight: 50,
|
|
|
+ carousel: 'single' // 'single' | 'page'
|
|
|
+ };
|
|
|
+ }
|
|
|
},
|
|
|
mounted () {
|
|
|
- this.initCarouselBottomRight();
|
|
|
- this.initCapsuleBottomLeft();
|
|
|
+ this.initBottomRight();
|
|
|
+ this.initTopLeft();
|
|
|
+ this.initTopCenter();
|
|
|
+ this.initTopRight();
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss">
|
|
|
- #frontThree {
|
|
|
- padding: 0.2rem;
|
|
|
- height: 11.7rem;
|
|
|
- min-width: 3.75rem;
|
|
|
- padding-top: 0.8rem;
|
|
|
- border-radius: 0.0625rem;
|
|
|
- .bg-color-black {
|
|
|
- height: 11.5rem;
|
|
|
- border-radius: 0.125rem;
|
|
|
- }
|
|
|
- .text {
|
|
|
- color: #ffffff;
|
|
|
- }
|
|
|
- .chart-box {
|
|
|
- margin-top: 0.2rem;
|
|
|
- width: 2.125rem;
|
|
|
- height: 2.125rem;
|
|
|
- .active-ring-name {
|
|
|
- padding-top: 0.125rem;
|
|
|
- }
|
|
|
- }
|
|
|
- .bottom-data {
|
|
|
- .item-box {
|
|
|
- float: right;
|
|
|
- position: relative;
|
|
|
- width: 50%;
|
|
|
- color: #d3d6dd;
|
|
|
- // 金币
|
|
|
- .coin {
|
|
|
- position: absolute;
|
|
|
- left: 0.1rem;
|
|
|
- top: 0.2125rem;
|
|
|
- font-size: 0.25rem;
|
|
|
- color: #ffc107;
|
|
|
- }
|
|
|
- .colorYellow {
|
|
|
- color: yellowgreen;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+<style scoped>
|
|
|
+
|
|
|
</style>
|