feat(property): 新增抄表记录功能并优化仪表信息管理
This commit is contained in:
@@ -1,112 +1,3 @@
|
||||
<template>
|
||||
<Page :auto-content-height="true">
|
||||
<div class="flex h-full gap-[8px]">
|
||||
<FloorTree class="w-[260px]"></FloorTree>
|
||||
<div class="flex-1 overflow-hidden">
|
||||
<div class="row">
|
||||
<div class="comparison-section-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">环比</div>
|
||||
</div>
|
||||
<div class="comparison-grid">
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.todayEnergy }}</div>
|
||||
<div class="item-title">今日用能(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.yesterdaySamePeriodEnergy }}</div>
|
||||
<div class="item-title">昨日同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.dayTrendPercentage }}</div>
|
||||
<div>{{ chainData.dayTrendValue }}<span class="item-unit">kW.h</span></div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.currentMonthEnergy }}</div>
|
||||
<div class="item-title">当月用能(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.lastMonthSamePeriodEnergy }}</div>
|
||||
<div class="item-title">上月同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.monthTrendPercentage }}</div>
|
||||
<div>{{ chainData.monthTrendValue }}
|
||||
<span class="item-title">kW.h</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.currentYearEnergy }}</div>
|
||||
<div class="item-title">当年用能(kW.h)</div>
|
||||
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.lastYearSamePeriodEnergy }}</div>
|
||||
<div class="item-title">去年同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.yearTrendPercentage }}</div>
|
||||
<div>{{ chainData.yearTrendValue }}
|
||||
<span class="item-title">kW.h</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="energy-trend-container">
|
||||
<div class="energy-trend-top">
|
||||
<div class="section-header">
|
||||
<div class="header-title">能耗趋势</div>
|
||||
</div>
|
||||
<RadioGroup v-model:value="energyTrendTime" button-style="solid" size="small"
|
||||
@change="buildingEnergyTrendData(energyTrendTime)">
|
||||
<RadioButton value="1">当日</RadioButton>
|
||||
<RadioButton value="2">当月</RadioButton>
|
||||
<RadioButton value="3">当年</RadioButton>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
<div class="chart-placeholder" ref="energyTrendChart">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="power-curve-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">日用电功率曲线</div>
|
||||
</div>
|
||||
<!-- <div class="chart-placeholder" ref="powerCurveChart">-->
|
||||
<div class="power-chart" ref="powerCurveChart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="power-peak-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">电功率峰值</div>
|
||||
</div>
|
||||
<div class="peak-item">
|
||||
<p class="value">{{ peakData.todayPeakPower }}</p>
|
||||
<p class="time">{{ peakData.todayPeakTime }}</p>
|
||||
<div class="bottom-text">当日(kW)</div>
|
||||
</div>
|
||||
<div class="peak-item">
|
||||
<p class="value">{{ peakData.yesterdayPeakPower }}</p>
|
||||
<p class="time">{{ peakData.yesterdayPeakTime }}</p>
|
||||
<div class="bottom-text">昨日(kW)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Page>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { RadioGroup, RadioButton } from 'ant-design-vue'
|
||||
import { Page } from '@vben/common-ui'
|
||||
@@ -116,6 +7,9 @@ import type { ECharts, EChartsOption } from 'echarts'
|
||||
import FloorTree from "../components/floor-tree.vue"
|
||||
import dayjs from "dayjs"
|
||||
|
||||
// 左边楼层用
|
||||
const selectFloorId = ref<string[]>([])
|
||||
|
||||
const chainData = reactive({
|
||||
todayEnergy: '231.78',
|
||||
yesterdaySamePeriodEnergy: '269.56',
|
||||
@@ -235,7 +129,6 @@ function buildingEnergyTrendData(val: string) {
|
||||
const powerCurveChart = ref<HTMLElement | null>(null)
|
||||
const powerCurveInstance = ref<ECharts | null>(null)
|
||||
|
||||
|
||||
const powerCurveOption: EChartsOption = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
@@ -355,8 +248,121 @@ onBeforeUnmount(() => {
|
||||
energyTrendInstance.value?.dispose()
|
||||
powerCurveInstance.value?.dispose()
|
||||
})
|
||||
|
||||
function handleSelectFloor() {
|
||||
console.log(selectFloorId.value[0])
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Page :auto-content-height="true">
|
||||
<div class="flex h-full gap-[8px]">
|
||||
<FloorTree class="w-[260px]" @select="handleSelectFloor" v-model:select-floor-id="selectFloorId"></FloorTree>
|
||||
<div class="flex-1 overflow-hidden">
|
||||
<div class="row">
|
||||
<div class="comparison-section-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">环比</div>
|
||||
</div>
|
||||
<div class="comparison-grid">
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.todayEnergy }}</div>
|
||||
<div class="item-title">今日用能(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.yesterdaySamePeriodEnergy }}</div>
|
||||
<div class="item-title">昨日同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.dayTrendPercentage }}</div>
|
||||
<div>{{ chainData.dayTrendValue }}<span class="item-unit">kW.h</span></div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.currentMonthEnergy }}</div>
|
||||
<div class="item-title">当月用能(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.lastMonthSamePeriodEnergy }}</div>
|
||||
<div class="item-title">上月同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.monthTrendPercentage }}</div>
|
||||
<div>{{ chainData.monthTrendValue }}
|
||||
<span class="item-title">kW.h</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.currentYearEnergy }}</div>
|
||||
<div class="item-title">当年用能(kW.h)</div>
|
||||
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-value">{{ chainData.lastYearSamePeriodEnergy }}</div>
|
||||
<div class="item-title">去年同期(kW.h)</div>
|
||||
</div>
|
||||
<div class="comparison-item">
|
||||
<div class="item-top">
|
||||
<div class="item-percent">{{ chainData.yearTrendPercentage }}</div>
|
||||
<div>{{ chainData.yearTrendValue }}
|
||||
<span class="item-title">kW.h</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-title">趋势</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="energy-trend-container">
|
||||
<div class="energy-trend-top">
|
||||
<div class="section-header">
|
||||
<div class="header-title">能耗趋势</div>
|
||||
</div>
|
||||
<RadioGroup v-model:value="energyTrendTime" button-style="solid" size="small"
|
||||
@change="buildingEnergyTrendData(energyTrendTime)">
|
||||
<RadioButton value="1">当日</RadioButton>
|
||||
<RadioButton value="2">当月</RadioButton>
|
||||
<RadioButton value="3">当年</RadioButton>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
<div class="chart-placeholder" ref="energyTrendChart">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="power-curve-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">日用电功率曲线</div>
|
||||
</div>
|
||||
<!-- <div class="chart-placeholder" ref="powerCurveChart">-->
|
||||
<div class="power-chart" ref="powerCurveChart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="power-peak-container">
|
||||
<div class="section-header">
|
||||
<div class="header-title">电功率峰值</div>
|
||||
</div>
|
||||
<div class="peak-item">
|
||||
<p class="value">{{ peakData.todayPeakPower }}</p>
|
||||
<p class="time">{{ peakData.todayPeakTime }}</p>
|
||||
<div class="bottom-text">当日(kW)</div>
|
||||
</div>
|
||||
<div class="peak-item">
|
||||
<p class="value">{{ peakData.yesterdayPeakPower }}</p>
|
||||
<p class="time">{{ peakData.yesterdayPeakTime }}</p>
|
||||
<div class="bottom-text">昨日(kW)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Page>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.row {
|
||||
display: flex;
|
||||
|
Reference in New Issue
Block a user