From a499c0aaa23c74280f54d1b521d5ba8125fe33ad Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 07 五月 2025 10:14:18 +0800 Subject: [PATCH] 最新版本541200007 --- screen/src/views/EnergyConsum.vue | 125 ++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 33 deletions(-) diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue index 6a4ec2a..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> @@ -143,24 +143,20 @@ </div> <div class="static" v-if="data1.gasQuantity"> <span class="lab">鍚屾瘮</span> - <template v-if="data1.gasQuantity.sameNum"> - <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="" /> - </template> - <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{ - Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.sameNum) / data1.gasQuantity.totalNum + <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.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> <span class="lab">鐜瘮</span> - <template v-if="data1.gasQuantity.sameNum"> - <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="" /> - </template> - <span class="val" v-if="data1.gasQuantity.totalNum && data1.gasQuantity.totalNum != 0">{{ - Math.abs(((data1.gasQuantity.totalNum - data1.gasQuantity.ringNum) / data1.gasQuantity.totalNum + <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.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> @@ -199,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> @@ -207,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> @@ -350,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', @@ -563,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 }) } @@ -597,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', @@ -933,7 +992,7 @@ } .bottom { - width: 140px; + width: 150px; height: 194px; position: absolute; text-align: center; -- Gitblit v1.9.3