能耗统计

master
wj 2 years ago
parent 2ce6e92a51
commit c097c854c3
  1. 8
      psdc-ui/src/api/analyse/nhfx/nhfx.js
  2. 88
      psdc-ui/src/views/analyse/nhfx/index.vue
  3. 16
      psdc-ui/src/views/analyse/nhtj/index.vue

@ -0,0 +1,8 @@
import request from '@/utils/request'
/** 计算环比分析*/
export function getHuanbiFx(data) {
return request.post('/evaluate/analysis/linkRelativeRatio',data)
}

@ -1,7 +1,7 @@
<template>
<div class="app-container home">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="同比分析" name="first">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleTabClick">
<el-tab-pane label="同比分析" name="同比分析">
<el-form :inline="true" class="demo-form-inline">
<el-form-item label="日期:"><el-date-picker v-model="dateValue1" type="date" placeholder="请选择日期" size="default"/></el-form-item>
<el-form-item><el-button type="primary" @click="lastDay"><el-icon><ArrowLeft /></el-icon></el-button></el-form-item>
@ -36,7 +36,7 @@
<el-tab-pane label="环比分析" name="second">
<el-tab-pane label="环比分析" name="环比分析">
<!-- @submit.native.prevent阻止默认提交事件-->
<el-form :inline="true" class="demo-form-inline" @submit.native.prevent>
<el-form-item class="mr0"><button class="myBtn btn1" :class="{active : activeIndex === 0}" @click="handleDaily">按日</button></el-form-item>
@ -46,11 +46,11 @@
</el-form>
<div class="tableBox2">
<el-table :data="hbfxDataTable">
<el-table-column label="用能设备" align="center" prop="type"/>
<el-table-column label="用能设备" align="center" prop="deviceName"/>
<el-table-column :label="label1" align="center" :prop="prop1"/>
<el-table-column :label="label2" align="center" :prop="prop2"/>
<el-table-column label="增加值" align="center" prop="addValue"/>
<el-table-column label="环比(%)" align="center" prop="relative"/>
<el-table-column label="增加值" align="center" prop="addUp"/>
<el-table-column label="环比(%)" align="center" prop="compute"/>
<el-table-column label="操作" align="center">
<template v-slot="scope">
<el-button type="primary" size="small" :icon="Histogram" @click="handleChart">图表</el-button>
@ -83,11 +83,34 @@
<script setup name="Index">
import {Histogram} from '@element-plus/icons-vue'
import {ref,reactive} from "vue";
import {ref,reactive,onMounted,nextTick } from "vue";
import { getHuanbiFx } from "@/api/analyse/nhfx/nhfx"
onMounted(async () => {
await nextTick();
// el-tabs
formattedDateFun()
})
/** 格式化日期*/
let year, month ,day;
function formattedDateFun(){
let date = new Date()
year = date.getFullYear()
month = (date.getMonth()+1).toString().padStart(2, '0');
day = date.getDate().toString().padStart(2, '0');
// let hours = date.getHours()
// let minutes = date.getMinutes()
// let seconds = date.getSeconds()
dateValue1.value = `${year}-${month}-${day}`
dateValue2.value = `${year}-${month}-${day}`
// timer.value = `${hours}:${minutes}:${seconds}`
console.log(dateValue2.value)
// console.log(timer.value)
}
/** 切换按钮操作*/
const activeName = ref('first')
const activeName = ref('同比分析')
/** ----------同比分析----------*/
/** 过滤查询*/
@ -129,39 +152,60 @@ const tbfxHandleCurrentChange = (val) => {
/** ----------环比分析----------*/
/** 点击环比分析*/
function handleTabClick(e){
console.log(e.paneName)
if(e.paneName == '环比分析'){
handleDaily()
}
}
/** 过滤查询*/
const activeIndex = ref(0)
const dateValue2 = ref()
const dateType = ref('date')
const format = ref('YYYY-MM-DD')
const valueFormat = ref('YYYY-MM-DD')
const timeType = ref(1)
//
function handleDaily(){
activeIndex.value = 0;
prop1.value = 'toDay'
prop1.value = 'thisMonthTotal'
label1.value = '当日用电/kWh'
prop2.value = 'lastDay'
prop2.value = 'lastMonthTotal'
label2.value = '上日用电/kWh';
dateType.value = 'date'
format.value = 'YYYY-MM-DD'
valueFormat.value = 'YYYY-MM-DD'
timeType.value = 1
dateValue2.value = `${year}-${month}-${day}`
console.log(dateValue2.value)
getHuanbiFxFun()
}
//
function handleMonthly(){
activeIndex.value = 1;
prop1.value = 'toMonth'
prop1.value = 'thisMonthTotal'
label1.value = '当月用电/kWh'
prop2.value = 'lastMonth'
prop2.value = 'lastMonthTotal'
label2.value = '上月用电/kWh';
dateType.value = 'month'
format.value = 'YYYY-MM'
valueFormat.value = 'YYYY-MM'
timeType.value = 2
dateValue2.value = `${year}-${month}`
console.log(dateValue2.value)
getHuanbiFxFun()
}
//
function handleQuery2(){
getHuanbiFxFun()
}
function handleQuery2(){}
/** 数据表格处理*/
//
const hbfxDataTable = reactive([
{month:'01月', currentPeriod: '1265', theSameTerm:'3254', yearOnYear:'30', totalYearOnYear:'32'}
])
const hbfxDataTable = ref([])
const prop1 = ref('toDay')
const label1 = ref('当日用电/kWh')
const prop2 = ref('lastDay')
@ -177,6 +221,17 @@ const hbfxHandleSizeChange = (val) => {
const hbfxHandleCurrentChange = (val) => {
console.log(`${val}`)
}
//
function getHuanbiFxFun(){
getHuanbiFx({
"timeType":timeType.value,
"datetime":dateValue2.value
}).then((res)=>{
if(res.code == 200){
hbfxDataTable.value = res.data
}
})
}
/** 生成图表按鈕操作*/
const title = ref()
@ -190,6 +245,7 @@ function handleChart(){
</script>
<style scoped lang="scss">

@ -67,7 +67,7 @@
<!-- 生成图表弹出窗 -->
<el-dialog class="mrt" :title="title" v-model="open" width="1000px" append-to-body>
<el-dialog class="mrt" :title="title" v-model="open" width="1000px" append-to-body :close-on-click-modal="false" :show-close="false">
<div class="chartBox">
<div id="chart"></div>
</div>
@ -223,12 +223,14 @@ const handleCurrentChange = (val) => {
const title = ref()
const open = ref(false)
const chartDataArr = ref([])
const showDevName = ref()
function handleChart(scope){
open.value = true;
delete scope.row.dayDate
delete scope.row.dayId
delete scope.row.deviceId
delete scope.row.deviceName
showDevName.value = scope.row.deviceName
delete scope.row.dayDate
delete scope.row.dayId
delete scope.row.deviceId
delete scope.row.deviceName
for(let i in scope.row){
chartDataArr.value.push(scope.row[i])
}
@ -247,7 +249,7 @@ function eleBarChartFun(){
const option = {
title: {},
legend: {
data: ["用电量"],
data: [`用电量(${showDevName.value}`],
// selectedMode: 'single',
textStyle: {
color: "#333"
@ -311,7 +313,7 @@ function eleBarChartFun(){
},
series: [
{
name: "用电量",
name: `用电量(${showDevName.value}`,
type: "bar",
data: chartDataArr.value,
itemStyle:{

Loading…
Cancel
Save