This commit is contained in:
caoqianming 2024-12-05 18:18:04 +08:00
commit a019b681ee
3 changed files with 258 additions and 19 deletions

View File

@ -945,6 +945,16 @@ const routes = [
perms: ["enm_energy"], perms: ["enm_energy"],
}, },
children: [ children: [
{
name: "energyFactory",
path: "/enm_energy/energyFactory",
meta: {
title: "能源监察报表",
// icon: "el-icon-grid",
perms: ["enm_energy_energy"],
},
component: "enm_energy/energyFactory",
},
{ {
name: "energy", name: "energy",
path: "/enm_energy/energy", path: "/enm_energy/energy",

View File

@ -0,0 +1,193 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<el-select
v-model="query.type"
placeholder="查询类型"
clearable
class="headerSearch"
@change="typeCange"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-date-picker
v-model="query.searchDay"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="查询日期"
v-if="query.type==0"
class="headerSearch"
/>
<el-date-picker
v-model="query.searchMonth"
type="month"
value-format="YYYY-MM"
format="YYYY-MM"
placeholder="查询月份"
v-if="query.type==1"
class="headerSearch"
/>
<el-date-picker
v-model="query.searchYear"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
v-if="query.type==2"
class="headerSearch"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="getTableData"
></el-button>
<el-button
type="primary"
@click="exportExcel()"
:loading = "exportLoading"
>导出xlsx
</el-button>
<el-button
type="primary"
@click="handlePrint"
>打印
</el-button>
</div>
</el-header>
<el-main>
<el-card shadow="never" style="width: 100%;height: 100%;">
<div ref="print" id="myReport" class="printContainer">
<el-table
id="hourBaseTable"
:data="tableDatas"
border
>
<el-table-column label="能源监察报表" align="center">
<el-table-column label="序号" prop="index" width="60">
</el-table-column>
<el-table-column label="指标名称" prop="name" min-width="100">
</el-table-column>
<el-table-column label="能耗" prop="value" min-width="80">
</el-table-column>
<el-table-column label="备注" prop="note" min-width="60">
</el-table-column>
</el-table-column>
</el-table>
</div>
</el-card>
</el-main>
</el-container>
</template>
<script>
export default {
data() {
return {
query:{
type:0,
year:'',
month:'',
yearStart:'',
},
currentDay:'',
tableName:'能源监察日报表',
options:[
{id:0,name:'日统计'},
{id:1,name:'月统计'},
{id:2,name:'年统计'},
],
tableDatas:[
{index:1,name:'水泥单位产品综合能耗(kgce/t)',value:0,note:''},
{index:2,name:'熟料单位产品综合能耗(kgce/t)',value:0,note:''},
{index:3,name:'熟料单位产品综合电耗(kw.h/t)',value:0,note:''},
{index:4,name:'熟料单位产品综合煤耗(kgce/t)',value:0,note:''},
{index:5,name:'水泥单位产品综合电耗(kw.h/t)',value:0,note:''},
],
};
},
mounted() {
var myDate = new Date();
this.query.searchDay =this.currentDay = this.$TOOL.dateFormat2(myDate);
this.getData();
},
methods: {
typeCange(value){
if(value==1){
this.tableName = '能源监察日报表'
}else if(value==1){
this.tableName = '能源监察月报表'
}else{
this.tableName = '能源监察年报表'
}
},
getData(){
let that = this;
let arr = [],type='',year_s = 2024,month_s = 1,day_s = 1;
if(that.query.type==0){//
type='day_s';
arr = that.query.searchDay.split('-');
year_s = Number(arr[0]);
month_s = Number(arr[1]);
day_s = Number(arr[2]);
}else if(that.query.type==1){//
type='month_s';
arr = that.query.searchMonth.split('-');
year_s = Number(arr[0]);
month_s = Number(arr[1]);
}else if (that.query.type==2){
type='year_s';
year_s = Number(that.query.searchYear);
}
let params1 = {
page:0,
type:type,
year_s:year_s,
month_s:month_s,
day_s:day_s,
mgroup__name:'水泥磨'
}
that.$API.enm.enstat.req(params1).then((res) => {
console.log(res[0]);
that.tableDatas[0].value = res[0].cen_consume_unit;
that.tableDatas[4].value = res[0].celec_consume_unit;
});
let params2 = {
page:0,
type:type,
year_s:year_s,
month_s:month_s,
day_s:day_s,
mgroup__name:'回转窑'
}
that.$API.enm.enstat.req(params2).then((res2) => {
that.tableDatas[1].value = res2[0].cen_consume_unit;
that.tableDatas[2].value = res2[0].celec_consume_unit;
that.tableDatas[3].value = res2[0].coal_consume_unit;
console.log(res2[0]);
});
},
getTableData(){
this.getData();
},
handlePrint() {
this.$PRINT('#myReport');
},
exportExcel() {
this.exportLoading = true;
this.$XLSX('#hourBaseTable', this.tableName)
this.exportLoading = false;
},
}
};
</script>
<style>
</style>

View File

@ -2,23 +2,53 @@
<el-container> <el-container>
<el-main style="background: #fff;"> <el-main style="background: #fff;">
<div class="pictureContainer"> <div class="pictureContainer">
<img src="/media/elec_flow.png" class="flowImg" > <!-- <img src="/media/elec_flow.png" class="flowImg" > -->
<!-- <img src="/img/energy.png" class="flowImg" /> --> <img src="/img/energy.png" class="flowImg" />
<div class="energyNumber" style="top: 80px;">{{ dataObj.烘干破碎机_电 }}</div> <div class="energyNumber" style="top: 80px;">
<div class="energyNumber" style="top: 132px;">{{ dataObj.辅材立磨_电 }}</div> <img v-if="dataObj.烘干破碎机_电" class="iconImg" src="img/elec.png"> {{ dataObj.烘干破碎机_电 }}
<div class="energyNumber" style="top: 178px;">{{ dataObj.生粉制备_循环风机_电 }}</div> </div>
<div class="energyNumber" style="top: 222px;">{{ dataObj.生粉制备_选粉机_电 }}</div> <div class="energyNumber" style="top: 132px;">
<div class="energyNumber" style="top: 270px;">{{ dataObj.高温风机_电 }}</div> <img v-if="dataObj.辅材立磨_电" class="iconImg" src="img/elec.png">{{ dataObj.辅材立磨_电 }}
<div class="energyNumber" style="top: 326px;">{{ dataObj.尾排风机_电 }}</div> </div>
<div class="energyNumber" style="top: 379px;">{{ dataObj.回转窑_电 }}</div> <div class="energyNumber" style="top: 178px;">
<div class="energyNumber" style="top: 430px;">{{ dataObj.煤立磨_电 }}</div> <img v-if="dataObj.生粉制备_循环风机_电" class="iconImg" src="img/elec.png">{{ dataObj.生粉制备_循环风机_电 }}
<div class="energyNumber" style="top: 487px;">{{ dataObj.煤磨排风机_电 }}</div> </div>
<div class="energyNumber" style="top: 536px;">{{ dataObj.窑头排风机_电 }}</div> <div class="energyNumber" style="top: 222px;">
<div class="energyNumber" style="top: 607px;">{{ dataObj.水泥磨_电 }}</div> <img v-if="dataObj.生粉制备_选粉机_电" class="iconImg" src="img/elec.png">{{ dataObj.生粉制备_选粉机_电 }}
<div class="energyNumber" style="top: 663px;">{{ (Number(dataObj.辊压机动_电) + Number(dataObj.辊压机定_电)).toFixed(2) }}</div> </div>
<div class="energyNumber" style="top: 719px;">{{ dataObj.系统风机_电 }}</div> <div class="energyNumber" style="top: 270px;">
<div class="energyNumber" style="top: 773px;">{{ dataObj.水泥磨_选粉机_电 }}</div> <img v-if="dataObj.高温风机_电" class="iconImg" src="img/elec.png">{{ dataObj.高温风机_电 }}
<div class="energyNumber" style="top: 830px;">{{ dataObj.水泥磨_循环风机_电 }}</div> </div>
<div class="energyNumber" style="top: 326px;">
<img v-if="dataObj.尾排风机_电" class="iconImg" src="img/elec.png">{{ dataObj.尾排风机_电 }}
</div>
<div class="energyNumber" style="top: 379px;">
<img v-if="dataObj.回转窑_电" class="iconImg" src="img/elec.png">{{ dataObj.回转窑_电 }}
</div>
<div class="energyNumber" style="top: 430px;">
<img v-if="dataObj.煤立磨_电" class="iconImg" src="img/elec.png">{{ dataObj.煤立磨_电 }}
</div>
<div class="energyNumber" style="top: 487px;">
<img v-if="dataObj.煤磨排风机_电" class="iconImg" src="img/elec.png">{{ dataObj.煤磨排风机_电 }}
</div>
<div class="energyNumber" style="top: 536px;">
<img v-if="dataObj.窑头排风机_电" class="iconImg" src="img/elec.png">{{ dataObj.窑头排风机_电 }}
</div>
<div class="energyNumber" style="top: 607px;">
<img v-if="dataObj.水泥磨_电" class="iconImg" src="img/elec.png">{{ dataObj.水泥磨_电 }}
</div>
<div class="energyNumber" style="top: 663px;">
<img v-if="dataObj.辊压机动_电||dataObj.辊压机定_电" class="iconImg" src="img/elec.png">{{ (Number(dataObj.辊压机动_电) + Number(dataObj.辊压机定_电)).toFixed(2) }}
</div>
<div class="energyNumber" style="top: 719px;">
<img v-if="dataObj.系统风机_电" class="iconImg" src="img/elec.png">{{ dataObj.系统风机_电 }}
</div>
<div class="energyNumber" style="top: 773px;">
<img v-if="dataObj.水泥磨_选粉机_电" class="iconImg" src="img/elec.png">{{ dataObj.水泥磨_选粉机_电 }}
</div>
<div class="energyNumber" style="top: 830px;">
<img v-if="dataObj.水泥磨_循环风机_电" class="iconImg" src="img/elec.png">{{ dataObj.水泥磨_循环风机_电 }}
</div>
</div> </div>
</el-main> </el-main>
</el-container> </el-container>
@ -87,10 +117,16 @@
width: 1200px; width: 1200px;
height: 900px; height: 900px;
} }
.iconImg{
width: 18px;
height: 18px;
vertical-align: bottom;
}
.energyNumber{ .energyNumber{
position: absolute; position: absolute;
right: 160px; right: 35px;
color: #536dfe; /* color: #536dfe; */
color: rgb(223, 213, 22);
font-size: 15px; font-size: 15px;
font-weight: bold; font-weight: bold;
} }