factory_web/src/views/enm_kiln/teamAnalysis.vue

349 lines
9.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-header>
<div class="left-panel">
<el-date-picker
v-model="query.year_s"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
class="headerSearch"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></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-card style="margin-top: 5px">
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table
border="1"
width="3200"
cellspacing="0"
:key="timeStamp"
id="myTable"
class="myTable"
>
<thead class="myTableHead">
<tr>
<th colspan="32">回转窑工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="6">质量</th>
<th colspan="7">单位产品标煤耗</th>
<th colspan="12">产品单位电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率(%</th>
<th>单位产品成本(元/吨)</th>
<th>CaO%</th>
<th>Fe₂O₃%</th>
<th>细度(%</th>
<th>水分(%</th>
<th>立升重(%</th>
<th>f-CaO%</th>
<th>当期值kgce/t</th>
<th>目标值kgce/t</th>
<th>当期与目标差值kgce/t</th>
<th>环期值kgce/t</th>
<th>当期与环期差值kgce/t</th>
<th>环比增长率(%</th>
<th>同比增长率(%</th>
<th>高温风机kW·h/t</th>
<th>篦冷机一室风机kW·h/t</th>
<th>篦冷机三室风机kW·h/t</th>
<th>篦冷机二室风机kW·h/t</th>
<th>窑头排风机kW·h/t</th>
<th>当期值kW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率(%</th>
<th>同比增长率(%</th>
</tr>
</thead>
<tr v-for="(item, index) in tableDatas" :key="index">
<td
v-for="(item0, index0) in item"
:key="index0"
class="numCell"
>
{{ item0 }}
</td>
</tr>
</table>
</div>
</div>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
timeStamp: 0,
query: {
year_s: "",
page: 0,
type: "month_st",
mgroup: "",
},
tableDatas: [],
exportLoading: false,
};
},
mounted() {
let that = this;
var myDate = new Date();
let year = myDate.getFullYear();
this.timeStamp = myDate.getTime();
that.query.year_s = year;
this.$API.mtm.mgroup.list
.req({ page: 0, search: "回转窑" })
.then((res) => {
console.log("回转窑", res);
that.query.mgroup = res[0].id;
that.getGoalData();
});
},
methods: {
getGoalData() {
let that = this;
let params = {};
params.page = 0;
params.year = that.query.year_s;
params.mgroup = that.query.mgroup;
this.$API.mtm.goal.list.req(params).then((res) => {
let data = [];
if (res.length > 0) {
data = res[0];
}
that.getData(data);
});
},
getData(goalData) {
let that = this;
let query0 = {};
query0.page = 0;
query0.type = "month_st";
query0.year_s = that.query.year_s - 1;
query0.mgroup = that.query.mgroup;
let wrapArr = [],
wrapArr0 = [],
wrapArrs = [];
this.$API.enm.enstat.req(query0).then((res0) => {
let data0 = res0;
debugger;
if (data0.length > 0) {
data0.forEach((item0) => {
//先按月份排序,再按班组排序
let n0 = item0.month_s;
let ind0 = 0;
let team_name0 = item0.team_name;
let arr0 = [];
arr0[0] = n0;
arr0[1] = team_name0;
arr0[2] = item0.total_output_unit;
arr0[3] = item0.total_output_unit;
arr0[4] = item0.run_rate_unit;
if (team_name0.indexOf("甲") > -1) {
ind0 = (n0 - 1) * 3;
} else if (team_name0.indexOf("乙") > -1) {
ind0 = (n0 - 1) * 3 + 1;
} else if (team_name0.indexOf("丙") > -1) {
ind0 = (n0 - 1) * 3 + 2;
}
wrapArr0[ind0] = item0;
});
debugger;
console.log(wrapArr0);
} else {
}
this.$API.enm.enstat.req(that.query).then((res) => {
let data = res;
if (data.length > 0) {
data.forEach((item) => {
//先按月份排序,再按班组排序
let n = item.month_s;
let team_name = item.team_name;
let ind = 0;
if (team_name.indexOf("甲") > -1) {
ind = (n - 1) * 3;
} else if (team_name.indexOf("乙") > -1) {
ind = (n - 1) * 3 + 1;
} else if (team_name.indexOf("丙") > -1) {
ind = (n - 1) * 3 + 2;
}
wrapArrs[ind] = item;
let arr = [];
let time = "" + item.year_s + "." + item.month_s;
arr.push(time);
arr.push(item.team_name);
arr.push(item.total_production);
arr.push(item.production_hour);
arr.push(item.run_rate);
arr.push(item.production_cost_unit);
//质量
arr[6] =
item.入窑生料_CaO_rate_pass != null
? item.入窑生料_CaO_rate_pass
: "/";
arr[7] =
item.入窑生料_Fe2O3_rate_pass != null
? item.入窑生料_Fe2O3_rate_pass
: "/";
arr[8] =
item.入窑生料_细度_rate_pass != null
? item.入窑生料_细度_rate_pass
: "/";
arr[9] =
item.入窑生料_水分_rate_pass != null
? item.入窑生料_水分_rate_pass
: "/";
arr[10] =
item.熟料_立升重_rate_pass != null
? item.熟料_立升重_rate_pass
: "/";
arr[11] =
item.熟料_fCaO_rate_pass != null
? item.熟料_fCaO_rate_pass
: "/";
//煤耗
arr[12] = item.elec_consume_unit; //当期值KW·h/t
let keyVale = "goal_val_" + n;
arr[5] = goalData[keyVale]; //目标值KW·h/t//需要接口获取
arr[6] = arr[4] - item.celec_consume_unit; //当期与目标差值KW·h/t
let ind_pre = 0,
huanbi = 0;
if (item.month_s == 1) {
ind_pre = 12;
huanbi = wrapArr0[ind_pre]
? wrapArr0[ind_pre].elec_consume_unit
: "/";
} else {
ind_pre = ind - 1;
huanbi = wrapArr[ind_pre]
? wrapArr[ind_pre].elec_consume_unit
? wrapArr[ind_pre].elec_consume_unit
: "/"
: "/";
}
arr[15] = huanbi; //环期值KW·h/t上个月的值
arr[16] = item.celec_consume_unit; //当期与环期差值KW·h/t
arr[17] = item.celec_consume_unit; //环比增长率(%
arr[18] = item.celec_consume_unit; //同比增长率(%
//电耗
//设备
arr[19] =
item.高温风机_consume_unit != null
? item.高温风机_consume_unit
: "/";
arr[20] =
item.篦冷机一室风机_consume_unit != null
? item.篦冷机一室风机_consume_unit
: "/";
arr[21] =
item.篦冷机三室风机_consume_unit != null
? item.篦冷机三室风机_consume_unit
: "/";
arr[22] =
item.篦冷机二室风机_consume_unit != null
? item.篦冷机二室风机_consume_unit
: "/";
arr[23] =
item.窑头排风机_consume_unit != null
? item.窑头排风机_consume_unit
: "/";
arr[24] = item.elec_consume_unit; //当期值KW·h/t
arr[25] = item.celec_consume_unit; //目标值KW·h/t//需要接口获取
arr[26] = item.celec_consume_unit; //当期与目标差值KW·h/t
let ind_pre1 = 0,
huanbi1 = 0;
if (item.month_s == 1) {
ind_pre1 = 12;
huanbi1 = wrapArr0[ind_pre]
? wrapArr0[ind_pre].elec_consume_unit
: "/";
} else {
ind_pre1 = ind - 1;
huanbi1 = wrapArr[ind_pre]
? wrapArr[ind_pre].elec_consume_unit
? wrapArr[ind_pre].elec_consume_unit
: "/"
: "/";
}
arr[27] = huanbi; //环期值KW·h/t上个月的值
arr[28] = item.celec_consume_unit; //当期与环期差值KW·h/t
arr[29] = item.celec_consume_unit; //环比增长率(%
arr[30] = item.celec_consume_unit; //同比增长率(%
arr[31] = item.celec_consume_unit; //同比增长率(%
wrapArr[ind] = arr;
});
console.log(wrapArr);
that.tableDatas = wrapArr;
} else {
}
});
});
},
handleQuery() {
this.tableDatas = [];
this.getGoalData();
},
itemClick(type, item) {
this.type = type;
this.asynDialog = true;
},
itemClick1(type, item) {
this.chartShow = false;
this.$API.bi.dataset.exec.req("3322567213885833216").then((res) => {
this.myOption = JSON.parse(res.echart_options);
debugger;
console.log(this.myOption);
this.chartShow = true;
});
},
handlePrint() {
this.$PRINT("#myReport");
},
exportExcel() {
this.exportLoading = true;
this.$XLSX("#myTable", this.tableName);
this.exportLoading = false;
},
},
};
</script>
<style scoped>
.printWrap {
width: 100%;
overflow-x: scroll;
}
.numCell {
width: 100px !important;
}
</style>