From c9ef2687d3460da668d08d58dee6af468ed6693e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 05 十一月 2024 11:48:34 +0800
Subject: [PATCH] 最新版本541200007
---
screen/src/views/EnergyConsum.vue | 296 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 164 insertions(+), 132 deletions(-)
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index c745f28..e885fb9 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -1,5 +1,5 @@
<template>
- <v-scale-screen width="1920" height="960" :fullScreen="true">
+ <v-scale-screen width="1920" height="960" >
<div class="main_app">
<img src="@/assets/images/bg_main_app.png" class="main_bg" alt="" />
<div class="main_header">
@@ -17,34 +17,15 @@
<div class="com_header">
<div class="title">
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>瀹炴椂涓夌浉鐢垫祦/鐢靛帇</div>
+ <div>鏈勾绱寰幆鐑熺</div>
</div>
<img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
<div class="content">
- <div class="item">
- <div class="lab">A鐩哥數娴�(A)</div>
- <div class="val">60</div>
- </div>
- <div class="item">
- <div class="lab">B鐩哥數娴�(A)</div>
- <div class="val">60</div>
- </div>
- <div class="item">
- <div class="lab">C鐩哥數娴�(A)</div>
- <div class="val">60</div>
- </div>
- <div class="item">
- <div class="lab">鏈夊姛鍔熺巼(KW)</div>
- <div class="val">60</div>
- </div>
- <div class="item">
- <div class="lab">鍔熺巼鍥犳暟</div>
- <div class="val">60</div>
- </div>
- <div class="item">
- <div class="lab">鏈夊姛鐢靛害(掳)</div>
- <div class="val">60</div>
+ <img src="@/assets/images/nenghao_ic1.png" class="co2" alt="">
+ <div>
+ <div class="name">鏈勾绱寰幆鐑熺</div>
+ <div><span class="num">{{ data1.smokeBoxTotal }}</span><span>鍙�</span></div>
</div>
</div>
</div>
@@ -67,11 +48,11 @@
<div>鏈堣兘鑰楀垎鏋�</div>
</div>
<div class="tabs">
- <div class="tab active">鐢ㄧ數</div>
+ <div class="tab" :class="{ active: activeTab2 == 0 }" @click="tabsClick2(0)">鐢ㄦ按</div>
<div class="separate"></div>
- <div class="tab">鐢ㄦ按</div>
+ <div class="tab" :class="{ active: activeTab2 == 2 }" @click="tabsClick2(2)">鐢ㄧ數</div>
<div class="separate"></div>
- <div class="tab">鐢ㄦ皵</div>
+ <div class="tab" :class="{ active: activeTab2 == 1 }" @click="tabsClick2(1)">鐢ㄦ皵</div>
</div>
<img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
@@ -88,16 +69,16 @@
<img class="icon" src="@/assets/images/ic_yongdian@2x.png" alt="" />
<div class="content">
<div class="name">涓婃湀鐢ㄧ數(kw路h)</div>
- <div class="num">450</div>
+ <div class="num">{{ data1.electricityQuantity }}</div>
</div>
</div>
<div class="static">
<span class="lab">鍚屾瘮</span>
<img class="icon" src="@/assets/images/ic_up.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.electricityYear }}</span>
<span class="lab">鐜瘮</span>
<img class="icon" src="@/assets/images/ic_down.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.gasMonth }}</span>
</div>
</div>
<div class="item">
@@ -105,16 +86,16 @@
<img class="icon" src="@/assets/images/ic_yongshui@2x.png" alt="" />
<div class="content">
<div class="name">涓婃湀鐢ㄦ按(t)</div>
- <div class="num">450</div>
+ <div class="num">{{ data1.waterQuantity }}</div>
</div>
</div>
<div class="static">
<span class="lab">鍚屾瘮</span>
<img class="icon" src="@/assets/images/ic_up.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.waterMonth }}</span>
<span class="lab">鐜瘮</span>
<img class="icon" src="@/assets/images/ic_down.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.waterYear }}</span>
</div>
</div>
<div class="item">
@@ -122,16 +103,16 @@
<img class="icon" src="@/assets/images/ic_yongqi@2x.png" alt="" />
<div class="content">
<div class="name">涓婃湀鐢ㄦ皵(t)</div>
- <div class="num">450</div>
+ <div class="num">{{ data1.gasQuantity }}</div>
</div>
</div>
<div class="static">
<span class="lab">鍚屾瘮</span>
<img class="icon" src="@/assets/images/ic_up.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.gasMonth }}</span>
<span class="lab">鐜瘮</span>
<img class="icon" src="@/assets/images/ic_down.webp" alt="" />
- <span class="val">11</span>
+ <span class="val">{{ data1.gasYear }}</span>
</div>
</div>
</div>
@@ -139,45 +120,45 @@
<div class="center_box_two">
<img class="bg" src="@/assets/images/img_city@2x.png" alt="" />
<div class="item item1">
- <div class="num fs_linear">240<span class="unit">kw路h</span></div>
+ <div class="num fs_linear">{{ data1.workHouseQuantity }}<span class="unit">kw路h</span></div>
<div class="name">鑱斿悎宸ユ埧</div>
<img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
</div>
<div class="item item2">
- <div class="num fs_linear">240<span class="unit">kw路h</span></div>
- <div class="name">鑱斿悎宸ユ埧</div>
+ <div class="num fs_linear">{{ data1.officeQuantity }}<span class="unit">kw路h</span></div>
+ <div class="name">鍔炲叕妤�</div>
<img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
</div>
<div class="item item3">
- <div class="num fs_linear">240<span class="unit">kw路h</span></div>
- <div class="name">鑱斿悎宸ユ埧</div>
+ <div class="num fs_linear">{{ data1.parkQuantity }}<span class="unit">kw路h</span></div>
+ <div class="name">鐗╂祦鍥尯</div>
<img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
</div>
<div class="item item4">
- <div class="num fs_linear">240<span class="unit">kw路h</span></div>
- <div class="name">鑱斿悎宸ユ埧</div>
+ <div class="num fs_linear">{{ data1.productHouseQuantity }}<span class="unit">kw路h</span></div>
+ <div class="name">鎴愬搧搴�</div>
<img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
</div>
<div class="item item5">
- <div class="num fs_linear">240<span class="unit">kw路h</span></div>
- <div class="name">鑱斿悎宸ユ埧</div>
+ <div class="num fs_linear">{{ data1.powerQuantity }}<span class="unit">kw路h</span></div>
+ <div class="name">鍔ㄥ姏绔欐埧</div>
<img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
</div>
<div class="bottom_wrap">
<div class="bottom bottom1">
- <div class="num fs_linear">240</div>
+ <div class="num fs_linear">{{ data1.yesterdayElectricity }}</div>
<div class="name">鏄ㄦ棩鐢ㄧ數</div>
<div class="unit">kw路h</div>
<img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
</div>
<div class="bottom bottom2">
- <div class="num">240</div>
+ <div class="num">{{ data1.todayElectricity }}</div>
<div class="name">浠婃棩鐢ㄧ數</div>
<div class="unit">kw路h</div>
<img src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
</div>
<div class="bottom bottom3">
- <div class="num fs_linear">240</div>
+ <div class="num fs_linear">{{ data1.monthElectricity }}</div>
<div class="name">鏈湀鐢ㄧ數</div>
<div class="unit">kw路h</div>
<img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
@@ -198,7 +179,7 @@
<img src="@/assets/images/ic_co2@2x.png" class="co2" alt="">
<div>
<div class="name">鏈湀绱纰虫帓鏀�</div>
- <div><span class="num">22.22</span><span>鍚�</span></div>
+ <div><span class="num">{{ data1.carbon }}</span><span>鍚�</span></div>
</div>
</div>
</div>
@@ -212,13 +193,13 @@
<img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
<div class="list">
- <div class="line" v-for="item, i in 6">
+ <div class="line" v-for="item, i in data3">
<div class="top"><span v-if="i < 3">top</span>{{ i }}</div>
- <div class="id_card">鐨朅12313</div>
+ <div class="id_card">{{ item.carNo }}</div>
<div class="wrap">
- <ChargeRate :rate="15" :color />
+ <ChargeRate :rate="item.rate" :color />
</div>
- <div class="num">1000</div>
+ <div class="num">{{ item.quantity }}</div>
</div>
</div>
</div>
@@ -246,6 +227,12 @@
import ChargeRate from '@/components/ChargeRate.vue'
import * as echarts from 'echarts'
import VScaleScreen from 'v-scale-screen'
+import {
+ zxcenterData,
+ zxenergyDataList,
+ zxlastMonthOil,
+ zxloadCurve,
+} from '@/api'
const weekMap = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�',]
@@ -289,7 +276,13 @@
xAxis: {
type: 'category',
boundaryGap: false,
- data: [1, 2, 3, 4, 5, 5]
+ data: data5.value.map(i => i.timeData)
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'line'
+ },
},
yAxis: {
type: 'value',
@@ -308,7 +301,7 @@
}
},
grid: {
- top: '16%',
+ top: '26%',
left: '4%',
right: '2%',
bottom: '2%',
@@ -316,12 +309,7 @@
},
series: [
{
- data: [1, 2, 3, 4, 4, 5].map(i => {
- return {
- name: i,
- value: i,
- }
- }),
+ data: data5.value.map(i => i.energy),
type: 'line',
areaStyle: {
normal: {
@@ -357,7 +345,7 @@
width: 2, // 绾挎潯绮楃粏
},
symbol: 'circle',
- symbolSize: 10,
+ symbolSize: 6,
itemStyle: {
normal: {
color: '#F3BD00', //鎶樼嚎鐐圭殑棰滆壊
@@ -377,31 +365,35 @@
var myChart = echarts.init(document.querySelector('.loadRef'))
// 缁樺埗鍥捐〃
myChart.setOption({
- // tooltip: {
- // trigger: 'axis',
- // axisPointer: {
- // type: 'line'
- // },
- // formatter: function (params) {
- // setTimeout(() => {
- // console.log('params', params)
- // })
- // return `
- // <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;">
- // <div>${params[0].name}鎬婚攢鍞(涓囧厓)</div>
- // <div style="display: flex;align-items: center;">
- // <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div>
- // <div style="margin: 0 4px 0 6px;">鎬婚攢鍞�</div>
- // <span style="color: #ebbf40;">${params[0].value}</span>
- // </div>
- // </div>
- // `
- // }
- // },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'line'
+ },
+ // trigger: 'axis',
+ // axisPointer: {
+ // type: 'line'
+ // },
+ // formatter: function (params) {
+ // setTimeout(() => {
+ // console.log('params', params)
+ // })
+ // return `
+ // <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;">
+ // <div>${params[0].name}鎬婚攢鍞(涓囧厓)</div>
+ // <div style="display: flex;align-items: center;">
+ // <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div>
+ // <div style="margin: 0 4px 0 6px;">鎬婚攢鍞�</div>
+ // <span style="color: #ebbf40;">${params[0].value}</span>
+ // </div>
+ // </div>
+ // `
+ // }
+ },
xAxis: {
type: 'category',
boundaryGap: false,
- data: [1, 2, 3, 4, 5, 5]
+ data: data4.value.map(i => i.timeData)
},
yAxis: {
type: 'value',
@@ -420,7 +412,7 @@
}
},
grid: {
- top: '16%',
+ top: '26%',
left: '4%',
right: '2%',
bottom: '2%',
@@ -428,12 +420,7 @@
},
series: [
{
- data: [1, 2, 3, 4, 4, 4000].map(i => {
- return {
- name: i,
- value: i,
- }
- }),
+ data: data4.value.map(i => i.energy),
type: 'line',
areaStyle: {
normal: {
@@ -444,7 +431,7 @@
y2: 1,
colorStops: [{
offset: 0,
- color: "rgba(192, 156, 53,.7)" // 0% 澶勭殑棰滆壊
+ color: "#2e6ab5" // 0% 澶勭殑棰滆壊
}, {
offset: 1,
color: "#1b1b12" // 100% 澶勭殑棰滆壊
@@ -461,18 +448,18 @@
x2: 0,
y2: 1,
colorStops: [{
- offset: 0, color: '#F3BD00' // 0% 澶勭殑棰滆壊
+ offset: 0, color: '#2e6ab5' // 0% 澶勭殑棰滆壊
}, {
- offset: 1, color: '#F3BD00' // 100% 澶勭殑棰滆壊
+ offset: 1, color: '#2e6ab5' // 100% 澶勭殑棰滆壊
}],
},
width: 2, // 绾挎潯绮楃粏
},
symbol: 'circle',
- symbolSize: 10,
+ symbolSize: 0,
itemStyle: {
normal: {
- color: '#F3BD00', //鎶樼嚎鐐圭殑棰滆壊
+ color: '#2e6ab5', //鎶樼嚎鐐圭殑棰滆壊
},
},
smooth: true
@@ -484,14 +471,12 @@
myChart.resize()
})
}
-const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a']
const initEnergy = () => {
var myChart = echarts.init(document.querySelector('.energyRef'))
// 缁樺埗鍥捐〃
- const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a']
myChart.setOption({
grid: {
- top: '20%',
+ top: '26%',
left: '2%',
right: '2%',
bottom: '4%',
@@ -505,7 +490,7 @@
},
xAxis: {
type: 'category',
- data: [1, 2, 3, 4, 4, 5]
+ data: data2.value.map(i => i.timeData)
},
yAxis: {
type: 'value',
@@ -523,7 +508,7 @@
},
series: [
{
- data: [1, 2, 3, 4, 5],
+ data: data2.value.map(i => i.energy),
type: 'bar',
barWidth: 10,
itemStyle: {
@@ -531,8 +516,8 @@
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
- { offset: 0, color: arr[1] },
- { offset: 1, color: '#080807' }
+ { offset: 0, color: '#50afd3' },
+ { offset: 1, color: '#1d4861' }
]
),
barBorderRadius: [10, 10, 0, 0]
@@ -546,10 +531,63 @@
})
}
+const data1 = ref({})
+const getData1 = () => {
+ zxcenterData().then(res => {
+ const result = res.data
+ data1.value = result
+ })
+}
+const activeTab2 = ref(0)
+const tabsClick2 = (v) => {
+ activeTab2.value = v
+ getData2()
+}
+const data2 = ref([])
+const getData2 = () => {
+ zxenergyDataList({type: activeTab2.value}).then(res => {
+ const result = res.data
+ data2.value = result
+ initEnergy()
+ })
+}
+const data3 = ref([])
+const getData3 = () => {
+ zxlastMonthOil().then(res => {
+ const result = res.data || []
+ data3.value = result.map(i => {
+ if(i.quantity && i.maxOil){
+ i.rate = ((i.quantity/i.maxOil) * 25).toFixed(0)
+ }
+ return i
+ })
+ })
+}
+const data4 = ref([])
+const getData4 = () => {
+ zxloadCurve().then(res => {
+ const result = res.data
+ data4.value = result
+ initLoadReal()
+ })
+}
+
+const data5 = ref([])
+const getData5 = () => {
+ zxenergyDataList({type: 3}).then(res => {
+ const result = res.data
+ data5.value = result
+ initOperation()
+ })
+}
+
onMounted(() => {
- initOperation()
- initLoadReal()
- initEnergy()
+ getData1()
+ getData2()
+ getData3()
+ getData4()
+ getData5()
+
})
@@ -568,26 +606,22 @@
margin-bottom: 20px;
.content {
- width: 100%;
- padding: 24px 5%;
+ height: 164px;
display: flex;
- flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
- .item {
- width: 33.3%;
- margin-bottom: 12px;
+ .co2 {
+ width: 100px;
+ margin-right: 30px;
+ }
- .lab {
- font-size: 14px;
- color: #ffffff;
- }
-
- .val {
- font-weight: 600;
- font-size: 20px;
- color: #01d9fe;
- margin-top: 4px;
- }
+ .num {
+ margin-top: 10px;
+ color: #01D9FE;
+ font-weight: 600;
+ font-size: 36px;
+ margin-right: 2px;
}
}
}
@@ -597,9 +631,7 @@
.load_wrap {
width: 100%;
- height: 210px;
- padding: 12px 12px;
-
+ height: 250px;
.loadRef {
width: 100%;
height: 100%;
@@ -610,7 +642,7 @@
.left_box_three {
.energy_wrap {
width: 100%;
- height: 200px;
+ height: 250px;
.energyRef {
width: 100%;
@@ -881,11 +913,9 @@
.right_box_three {
.wrap {
- padding: 8px;
-
.analyseRef {
width: 100%;
- height: 210px;
+ height: 250px;
}
}
}
@@ -925,7 +955,9 @@
align-items: center;
font-size: 14px;
color: #d2e0ff;
-
+ .tab{
+ cursor: pointer;
+ }
.separate {
width: 1px;
height: 14px;
--
Gitblit v1.9.3