fix:打卡记录添加标注,全场电量统计添加趋势图

This commit is contained in:
shijing 2023-09-18 13:57:04 +08:00
parent 2d2e9c9f74
commit d216b6df98
8 changed files with 159 additions and 105 deletions

View File

@ -106,9 +106,10 @@
export default {
props: {
cate:{ type: String, default: ""},
type: { type: String, default: "hours" },
type: { type: String, default: "hours_s" },
title: { type: String, default: "" },
mgroup: { type: String, default: "" },
mpoint: { type: String, default: "" },
apiObj: { type: Object, default: () => { } },
showClose: { type: Boolean, default: true },
echartType: { type: String, default: 'bar' },
@ -128,7 +129,6 @@
option: {
title: {
text: '折线图',
subtext: '小标题',
x: 'center'
},
grid: { // px
@ -257,6 +257,7 @@
this.visible = this.modelValue;
this.option.legend.data.push(that.cate);
this.option.series[0].name=that.cate;
if(that.mgroup){
if(that.cate=='总产量t'){
that.cateName = 'total_production';
}else if(that.cate=='单位产品分布电耗KW·h/t'||that.cate=='生料分布电耗KW·h/t'||that.cate=='煤磨分布电耗KW·h/t'){
@ -276,6 +277,10 @@
}else if(that.cate=='单位产品综合能耗kgce/t'){
that.cateName = 'cen_consume_unit';
}
}else{
that.cateName = 'val';
}
this.$nextTick(res=>{
this.getChartsData();
})
@ -286,7 +291,6 @@
let params = {};
params.page = 0;
params.type = this.type;
params.mgroup = this.mgroup;
let start_time='',end_time='',type = that.type,unit='时';
if(this.type=='hour_s'){
type = 'hour';
@ -307,12 +311,17 @@
}
params.start_time = start_time;
params.end_time = end_time;
if(that.mgroup){
params.mgroup = this.mgroup;
}else{
params.mpoint = that.mpoint;
}
that.apiObj.req(params).then(res=>{
console.log(res)
debugger;
let xAxisData = [],lineData = [];
res.forEach(item=>{
lineData.push(item[that.cateName])
let values = Number(item[that.cateName]);
lineData.push(values)
let xAxis = item[type]+unit;
xAxisData.push(xAxis)
})

View File

@ -121,7 +121,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
export default {
components: {
scEcharts,
charts: defineAsyncComponent(() => import("@/components/scEnm/empchartsdialog.vue")),
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {

View File

@ -121,7 +121,7 @@
export default {
components: {
scEcharts,
charts: defineAsyncComponent(() => import("@/components/scEnm/empchartsdialog.vue")),
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {

View File

@ -120,7 +120,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
export default {
components: {
scEcharts,
charts: defineAsyncComponent(() => import("@/components/scEnm/empchartsdialog.vue")),
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {

View File

@ -119,7 +119,7 @@
export default {
components: {
scEcharts,
charts: defineAsyncComponent(() => import("@/components/scEnm/empchartsdialog.vue")),
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {

View File

@ -113,7 +113,7 @@
export default {
components: {
scEcharts,
charts: defineAsyncComponent(() => import("@/components/scEnm/empchartsdialog.vue")),
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {

View File

@ -33,36 +33,35 @@
<th>本年电量累计KW·h</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td class="numCell" v-if="index==0" rowspan="9">{{item[0]}}</td>
<td class="numCell" v-else-if="index==9" rowspan="18">{{item[0]}}</td>
<td class="numCell" v-else-if="index==27" rowspan="12">{{item[0]}}</td>
<td class="numCell" v-else-if="index==39" rowspan="10" colspan="2">{{item[0]}}</td>
<td class="numCell" v-else-if="index==49" colspan="3">{{item[0]}}</td>
<tr v-for="(item,index) in tableData" :key="index">
<td class="numCell" v-if="index==0" rowspan="9">{{item.dept}}</td>
<td class="numCell" v-else-if="index==9" rowspan="18">{{item.dept}}</td>
<td class="numCell" v-else-if="index==27" rowspan="12">{{item.dept}}</td>
<td class="numCell" v-else-if="index==39" rowspan="10" colspan="2">{{item.dept}}</td>
<td class="numCell" v-else-if="index==49" colspan="3">{{item.dept}}</td>
<td class="numCell" v-if="index==8||index==26||index==37||index==38" colspan="2">{{item[1]}}</td>
<td class="numCell" v-else-if="index==0" rowspan="2">{{item[1]}}</td>
<td class="numCell" v-else-if="index==2" rowspan="6">{{item[1]}}</td>
<td class="numCell" v-else-if="index==9" rowspan="14">{{item[1]}}</td>
<td class="numCell" v-else-if="index==23" rowspan="3">{{item[1]}}</td>
<td class="numCell" v-else-if="index==27" rowspan="10">{{item[1]}}</td>
<td class="numCell" v-else>{{item[1]}}</td>
<td class="numCell" v-if="index==8||index==26||index==37||index==38" colspan="2">{{item.mgroup}}</td>
<td class="numCell" v-else-if="index==0" rowspan="2">{{item.mgroup}}</td>
<td class="numCell" v-else-if="index==2" rowspan="6">{{item.mgroup}}</td>
<td class="numCell" v-else-if="index==9" rowspan="14">{{item.mgroup}}</td>
<td class="numCell" v-else-if="index==23" rowspan="3">{{item.mgroup}}</td>
<td class="numCell" v-else-if="index==27" rowspan="10">{{item.mgroup}}</td>
<td class="numCell">{{item[2]}}</td>
<td class="numCell">{{item[3]}}</td>
<td class="numCell">{{item[4]}}</td>
<td class="numCell" v-if="item[5]!==null&&item[5]!==undefined">{{item[5]}}</td>
<td class="numCell" v-if="item[6]!==null&&item[6]!==undefined">{{item[6]}}</td>
<td class="numCell" v-if="item.mpointName!==''">{{item.mpointName}}</td>
<td class="numCell" @click="chartShow('hour_s',item)">{{item.hour_data}}</td>
<td class="numCell">{{item.day_data}}</td>
<td class="numCell">{{item.month_data}}</td>
<td class="numCell">{{item.year_data}}</td>
</tr>
</table>
</div>
<charts
v-if="asynDialog"
:cate="cate"
:type="type"
:title="title"
:cate="cate"
:apiObj = "apiObj"
:mgroup="query.mgroup"
:mpoint="mpoint"
:modelValue="modelValue"
:showClose="showClose"
:echartType='echartType'
@ -72,7 +71,11 @@
</div>
</template>
<script>
import { defineAsyncComponent } from 'vue';
export default {
components: {
charts: defineAsyncComponent(() => import("@/components/scEnm/lineChartsdialog.vue")),
},
data() {
return {
query:{
@ -81,13 +84,68 @@
days:'',
},
cate:'设备名',
type:'hour_s',
type:'hour_s',//
showClose:true,
modelValue:true,
echartType:'line',
apiObj:this.$API.enm.mpoint.stat,
title:'全场电量小时统计',
asynDialog:false,//
tableData:[
{dept:'原料车间',mgroup:'电石渣',mpointName:'烘干破主电机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},//0
{dept:'原料车间',mgroup:'电石渣',mpointName:'电石渣合计',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'反击式破碎机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'立磨主电机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'循环风机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'废气风机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'尾排风机',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料磨',mpointName:'原料磨合计',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},
{dept:'原料车间',mgroup:'原料车间合计',mpointName:'',hour_data:0,day_data:0,month_data:0,year_data:0,mpoint:null},//8
{dept:'烧成车间',mgroup:'回转窑',mpointName:'高温风机',hour_data:0,day_data:0,month_data:0,year_data:0},//9
{dept:'烧成车间',mgroup:'回转窑',mpointName:'窑主电机',hour_data:0,day_data:0,month_data:0,year_data:0},//10
{dept:'烧成车间',mgroup:'回转窑',mpointName:'篦冷机一室风机电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'篦冷机三室风机电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'篦冷机二室风机电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'篦冷机一室充气梁风机(左)',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'篦冷机一室充气梁风机(右)',hour_data:0,day_data:0,month_data:0,year_data:0},//15
{dept:'烧成车间',mgroup:'回转窑',mpointName:'窑头排风机主电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'头煤粉罗茨电机(东、备用)',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'尾煤粉罗茨电机(西)',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'空压机3301',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'空压机3308',hour_data:0,day_data:0,month_data:0,year_data:0},//20
{dept:'烧成车间',mgroup:'回转窑',mpointName:'空压机3318',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'回转窑',mpointName:'回转窑合计',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'煤磨',mpointName:'煤磨主电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'煤磨',mpointName:'煤磨排风机主电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'煤磨',mpointName:'煤磨合计',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'烧成车间',mgroup:'烧成车间合计',mpointName:'',hour_data:0,day_data:0,month_data:0,year_data:0},//26
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'循环风机1906',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'系统风机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'水平涡流选粉机1915',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'水泥磨主电机',hour_data:0,day_data:0,month_data:0,year_data:0},//30
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'辊压机动辊电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'辊压机定辊电机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'新增磨尾风机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'水泥1#空压机',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥磨',mpointName:'水泥2#空压机',hour_data:0,day_data:0,month_data:0,year_data:0},//35
{dept:'水泥车间',mgroup:'水泥磨合',mpointName:'水泥磨合计计',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥包装合计',mpointName:'',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'水泥车间',mgroup:'水泥车间合计',mpointName:'',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'食堂',mpointName:'食堂',hour_data:0,day_data:0,month_data:0,year_data:0},//39
{dept:'生活区',mgroup:'单元楼',mpointName:'单元楼',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'单身宿舍',mpointName:'单身宿舍',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'办公楼',mpointName:'办公楼',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'余热锅炉',mpointName:'余热锅炉',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'污水站',mpointName:'污水站',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'南门办公区',mpointName:'南门办公区',hour_data:0,day_data:0,month_data:0,year_data:0},//45
{dept:'生活区',mgroup:'东门办公区',mpointName:'东门办公区',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'地磅',mpointName:'地磅',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'生活区',mgroup:'生活区合计',mpointName:'生活区合计',hour_data:0,day_data:0,month_data:0,year_data:0},
{dept:'全厂电量',mgroup:'',mpointName:'',hour_data:0,day_data:0,month_data:0,year_data:0},
],
tableDatas:[
['原料车间','电石渣','烘干破主电机',0,0,0,0 ],//0
['原料车间','电石渣合计',0,0,0,0 ],
@ -157,6 +215,26 @@
this.getData();
},
methods: {
chartShow(type,item){
debugger;
this.type=type;
console.log(item);
this.cate = item.mpointName
if(item.mpoint==null){}else{
this.mpoint = item.mpoint;
if(type=='hour_data'){
this.title=item.mpointName+'电量小时统计';
}else if(type=='day_data'){
this.title=item.mpointName+'电量日统计';
}else if(type=='minth_data'){
this.title=item.mpointName+'电量月统计';
}else if(type=='year_data'){
this.title=item.mpointName+'电量年统计';
}
this.asynDialog = true;
}
},
test(index){
if(index!==8&&index==!22&&index==!26&&index==!37&&index==!38&&index!==48&&index!==49){
console.log(index)
@ -283,25 +361,13 @@
//
res.forEach(item=>{
let i = dataPush(item.mpoint_name);
let k = 0;
if(i==0||i==2||i==9||i==23||i==27){
k = 3;
}else{
k = 2;
}
that.tableDatas[i][k] = item.val;
that.tableData[i].hour_data = item.val;
that.tableData[i].mpoint = item.mpoint;
})
if(that.tableDatas[1][2]!==''){
if(that.tableDatas[7][2]!==''){
that.tableDatas[8][2] = that.tableDatas[1][2]+ that.tableDatas[7][2];
}else{
that.tableDatas[8][2] = that.tableDatas[1][2];
}
}
that.tableDatas[8][2] = that.tableDatas[1][2]+that.tableDatas[7][2];
that.tableDatas[26][2] = that.tableDatas[22][2]+ that.tableDatas[25][2];
that.tableDatas[38][2] = that.tableDatas[36][2]+ that.tableDatas[37][2];
that.tableDatas[49][1] = that.tableDatas[8][2]+ that.tableDatas[26][2]+ that.tableDatas[38][2]+ that.tableDatas[48][2];
that.tableDatas[8].hour_data =sumNum(that.tableDatas[1].hour_data,that.tableDatas[7].hour_data);
that.tableDatas[26].hour_data = sumNum(that.tableDatas[22].hour_data, that.tableDatas[25].hour_data);
that.tableDatas[38].hour_data = sumNum(that.tableDatas[36].hour_data, that.tableDatas[37].hour_data);
that.tableDatas[49].hour_data = sumNum(that.tableDatas[8].hour_data, that.tableDatas[26].hour_data, that.tableDatas[38].hour_data, that.tableDatas[48].hour_data);
}).then(()=>{
//
let obj1 = {};
@ -323,18 +389,12 @@
this.$API.enm.mpoint.stat.req(obj1).then((res1) => {
res1.forEach(item1=>{
let i = dataPush(item1.mpoint_name);
let k = 0;
if(i==0||i==2||i==9||i==23||i==27){
k = 4;
}else{
k = 3;
}
that.tableDatas[i][k] = item1.val;
that.tableData[i].day_data = item1.val;
})
that.tableDatas[8][3] = that.tableDatas[1][3]+ that.tableDatas[7][3];
that.tableDatas[26][3] = that.tableDatas[22][3]+ that.tableDatas[25][3];
that.tableDatas[38][3] = that.tableDatas[36][3]+ that.tableDatas[37][3];
that.tableDatas[49][2] = that.tableDatas[8][3]+ that.tableDatas[26][3]+ that.tableDatas[38][3]+ that.tableDatas[48][3];
that.tableDatas[8].day_data = sumNum(that.tableDatas[1].day_data,that.tableDatas[7].day_data);
that.tableDatas[26].day_data = sumNum(that.tableDatas[22].day_data, that.tableDatas[25].day_data);
that.tableDatas[38].day_data = sumNum(that.tableDatas[36].day_data, that.tableDatas[37].day_data);
that.tableDatas[49].day_data = sumNum(that.tableDatas[8].day_data, that.tableDatas[26].day_data, that.tableDatas[38].day_data, that.tableDatas[48].day_data);
})
//
let obj2 = {};
@ -344,22 +404,14 @@
obj2.page = 0;
obj2.mpoint__ep_monitored__power_kw__gte=100;
this.$API.enm.mpoint.stat.req(obj2).then((res2) => {
// debugger;
// console.log(res2)
res2.forEach(item2=>{
let i = dataPush(item2.mpoint_name);
let k = 0;
if(i==0||i==2||i==9||i==23||i==27){
k = 5;
}else{
k = 4;
}
that.tableDatas[i][k] = item2.val;
that.tableData[i].month_data = item2.val;
})
that.tableDatas[8][4] = that.tableDatas[1][4]+ that.tableDatas[7][4];
that.tableDatas[26][4] = that.tableDatas[22][4]+ that.tableDatas[25][4];
that.tableDatas[38][4] = that.tableDatas[36][4]+ that.tableDatas[37][4];
that.tableDatas[49][3] = that.tableDatas[8][4]+ that.tableDatas[26][4]+ that.tableDatas[38][4]+ that.tableDatas[48][4];
that.tableDatas[8].month_data = sumNum(that.tableDatas[1].month_data,that.tableDatas[7].month_data);
that.tableDatas[26].month_data = sumNum(that.tableDatas[22].month_data, that.tableDatas[25].month_data);
that.tableDatas[38].month_data = sumNum(that.tableDatas[36].month_data, that.tableDatas[37].month_data);
that.tableDatas[49].month_data = sumNum(that.tableDatas[8].month_data, that.tableDatas[26].month_data, that.tableDatas[38].month_data, that.tableDatas[48].month_data);
})
//
let obj3 = {};
@ -368,22 +420,14 @@
obj3.page = 0;
obj3.mpoint__ep_monitored__power_kw__gte=100;
this.$API.enm.mpoint.stat.req(obj3).then((res3) => {
// debugger;
// console.log(res3)
res3.forEach(item3=>{
let i = dataPush(item3.mpoint_name);
let k = 0;
if(i==0||i==2||i==9||i==23||i==27){
k = 6;
}else{
k = 5;
}
that.tableDatas[i][k] = item3.val;
that.tableData[i].year_data = item3.val;
})
that.tableDatas[8][5] = that.tableDatas[1][5]+ that.tableDatas[7][5];
that.tableDatas[26][5] = that.tableDatas[22][5]+ that.tableDatas[25][5];
that.tableDatas[38][5] = that.tableDatas[36][5]+ that.tableDatas[37][5];
that.tableDatas[49][4] = that.tableDatas[8][5]+ that.tableDatas[26][5]+ that.tableDatas[38][5]+ that.tableDatas[48][5];
that.tableDatas[8].year_data = sumNum(that.tableDatas[1].year_data,that.tableDatas[7].year_data);
that.tableDatas[26].year_data = sumNum(that.tableDatas[22].year_data, that.tableDatas[25].year_data);
that.tableDatas[38].year_data = sumNum(that.tableDatas[36].year_data, that.tableDatas[37].year_data);
that.tableDatas[49].year_data = sumNum(that.tableDatas[8].year_data, that.tableDatas[26].year_data, that.tableDatas[38].year_data, that.tableDatas[48].year_data);
})
})
},

View File

@ -104,6 +104,7 @@
type_:{
10: {"label": "上班打卡", "color": ""},
20: {"label": "下班打卡", "color": "success"},
30: {"label": "忽略", "color": "info"},
},
epOptions:{
"employee": "正式员工",