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 |  305 ++++++++++++++++++++++++++++----------------------
 1 files changed, 168 insertions(+), 137 deletions(-)

diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index d408457..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;
@@ -963,7 +995,7 @@
   display: flex;
   justify-content: space-between;
   align-items: center;
-  height: 92px;
+  height: 90px;
   position: relative;
   padding: 0px 40px 16px;
   font-weight: 600;
@@ -993,15 +1025,14 @@
     align-items: center;
 
     .time {
-      width: 180px;
+      width: 130px;
       display: flex;
       justify-content: flex-end;
-      padding-bottom: 10px;
-      font-size: 36px;
+      font-size: 30px;
     }
 
     .week {
-      margin-left: 36px;
+      margin-left: 20px;
     }
   }
 

--
Gitblit v1.9.3