From c3aaf28f7316cce12eec007a9f85a96cbcddeec2 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 07 五月 2025 10:34:20 +0800
Subject: [PATCH] 最新版本541200007

---
 screen/src/views/EnergyConsum.vue |  107 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 85 insertions(+), 22 deletions(-)

diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 1071fa2..33a6337 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -85,9 +85,9 @@
                     src="@/assets/images/ic_up.webp" alt="" />
                   <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" />
                   <span class="val"
-                    v-if="data1.electricityQuantity.totalNum && data1.electricityQuantity.totalNum != 0">{{
+                    v-if="data1.electricityQuantity.sameNum && data1.electricityQuantity.sameNum != 0">{{
                       Math.abs(((data1.electricityQuantity.totalNum -
-                        data1.electricityQuantity.sameNum) / data1.electricityQuantity.totalNum * 100).toFixed(1))
+                        data1.electricityQuantity.sameNum) / data1.electricityQuantity.sameNum * 100).toFixed(1))
                     }}%</span>
                   <span class="val" v-else style="margin-left: 4px;"> -</span>
                   <span class="lab">鐜瘮</span>
@@ -95,9 +95,9 @@
                     src="@/assets/images/ic_up.webp" alt="" />
                   <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" />
                   <span class="val"
-                    v-if="data1.electricityQuantity.totalNum && data1.electricityQuantity.totalNum != 0">{{
+                    v-if="data1.electricityQuantity.ringNum && data1.electricityQuantity.ringNum != 0">{{
                       Math.abs(((data1.electricityQuantity.totalNum -
-                        data1.electricityQuantity.ringNum) / data1.electricityQuantity.totalNum * 100).toFixed(1))
+                        data1.electricityQuantity.ringNum) / data1.electricityQuantity.ringNum * 100).toFixed(1))
                     }}%</span>
                   <span class="val" v-else style="margin-left: 4px;"> -</span>
                 </div>
@@ -146,8 +146,8 @@
                   <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.sameNum" class="icon"
                     src="@/assets/images/ic_up.webp" alt="" />
                   <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" />
-                  <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{
-                    Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.sameNum) / data1.gasQuantity.totalNum
+                  <span class="val" v-if="data1.gasQuantity.sameNum && data1.gasQuantity.sameNum != 0">{{
+                    Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.sameNum) / data1.gasQuantity.sameNum
                       * 100).toFixed(1))
                   }}%</span>
                   <span class="val" v-else style="margin-left: 4px;">-</span>
@@ -155,8 +155,8 @@
                   <img v-if="data1.gasQuantity.totalNum > data1.gasQuantity.ringNum" class="icon"
                     src="@/assets/images/ic_up.webp" alt="" />
                   <img v-else class="icon" src="@/assets/images/ic_down.webp" alt="" />
-                  <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{
-                    Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.ringNum) / data1.gasQuantity.totalNum
+                  <span class="val" v-if="data1.gasQuantity.ringNum && data1.gasQuantity.ringNum != 0">{{
+                    Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.ringNum) / data1.gasQuantity.ringNum
                       * 100).toFixed(1))
                   }}%</span>
                   <span class="val" v-else style="margin-left: 4px;">-</span>
@@ -195,7 +195,7 @@
             </template>
             <div class="bottom_wrap" v-if="data1.yesterdayElectricity">
               <div class="bottom bottom1" @click="changeacDay(3)">
-                <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ data1.yesterdayElectricity.total || 0
+                <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ dataObj6.obj1.total || 0
                   }}</div>
                 <div class="name">鏄ㄦ棩鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
@@ -203,14 +203,14 @@
                 <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
               </div>
               <div class="bottom bottom2" @click="changeacDay(1)">
-                <div :class="{ active: activeDays == 1 }" class="num">{{ data1.todayElectricity.total || 0 }}</div>
+                <div :class="{ active: activeDays == 1 }" class="num">{{ dataObj6.obj2.total || 0 }}</div>
                 <div class="name">浠婃棩鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
                 <img v-if="activeDays == 1" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
                 <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
               </div>
               <div class="bottom bottom3" @click="changeacDay(2)">
-                <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ data1.monthElectricity.total || 0 }}
+                <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ dataObj6.obj3.total || 0 }}
                 </div>
                 <div class="name">鏈湀鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
@@ -346,11 +346,25 @@
       },
       data: data5.value.map(i => dayjs(i.timeData).format('M'))
     },
+    // tooltip: {
+    //   trigger: 'axis',
+    //   axisPointer: {
+    //     type: 'line'
+    //   },
+    // },
     tooltip: {
       trigger: 'axis',
-      axisPointer: {
-        type: 'line'
-      },
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div>
+          <div style="width: 120px">${params[0].name}鏈�</div>  
+          <div style="display: flex;align-items: center;;margin-top: 2px;">
+            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #f6d047;margin-right: 6px;"></div></div>
+            <div><strong>${params[0].value} L</strong></div>
+          </div>
+        </div>`
+        return result
+      }
     },
     yAxis: {
       type: 'value',
@@ -559,15 +573,56 @@
   })
 }
 const activeDays = ref('1')
-const data6 = ref({})
+const data6 = ref([])
+const dataObj6 = ref({
+  obj1: { total: 0 },
+  obj2: { total: 0 },
+  obj3: { total: 0 },
+})
 const changeacDay = (val) => {
   activeDays.value = val
-  getData6()
+  if (val == 3) {
+    data6.value = dataObj6.value.obj1.list
+  } else if (val == 1) {
+    data6.value = dataObj6.value.obj2.list
+  } else {
+    data6.value = dataObj6.value.obj3.list
+  }
 }
+
 const getData6 = () => {
-  regionDataRanking({ type: activeDays.value }).then(res => {
-    const result = res.data || {}
-    data6.value = result
+  let obj = {
+    obj1: { list: [], total: 0 },
+    obj2: { list: [], total: 0 },
+    obj3: { list: [], total: 0 },
+  }
+  regionDataRanking({ type: 3 }).then(res => {
+    let arr = res.data || []
+    obj.obj1.list = arr
+    arr.forEach(i => {
+      obj.obj1.total += Number(i.value)
+    })
+    obj.obj1.total = obj.obj1.total.toFixed(1)
+    dataObj6.value = obj
+  })
+  regionDataRanking({ type: 1 }).then(res => {
+    let arr = res.data || []
+    obj.obj2.list = arr
+    arr.forEach(i => {
+      obj.obj2.total += Number(i.value)
+    })
+    obj.obj2.total = obj.obj2.total.toFixed(1)
+    dataObj6.value = obj
+    changeacDay(1)
+  })
+  regionDataRanking({ type: 2 }).then(res => {
+    let arr = res.data || []
+    obj.obj3.list = arr
+    arr.forEach(i => {
+      obj.obj3.total += Number(i.value)
+    })
+    obj.obj3.total = obj.obj3.total.toFixed(1)
+    dataObj6.value = obj
   })
 }
 
@@ -593,9 +648,17 @@
     },
     tooltip: {
       trigger: 'axis',
-      axisPointer: {
-        type: 'line'
-      },
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div>
+          <div style="width: 120px">${params[0].name}鏈�</div>  
+          <div style="display: flex;align-items: center;;margin-top: 2px;">
+            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #61a1c4;margin-right: 6px;"></div></div>
+            <div><strong>${params[0].value} </strong></div>
+          </div>
+        </div>`
+        return result
+      }
     },
     xAxis: {
       type: 'category',

--
Gitblit v1.9.3