232 lines
5.8 KiB
Vue
232 lines
5.8 KiB
Vue
<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="1200"
|
||
cellspacing="0"
|
||
:key="timeStamp"
|
||
id="myTable"
|
||
class="myTable"
|
||
>
|
||
<thead class="myTableHead">
|
||
<tr>
|
||
<th colspan="12">原料磨工段班组月度对比分析</th>
|
||
</tr>
|
||
<tr>
|
||
<th rowspan="2">月份</th>
|
||
<th rowspan="2">班组</th>
|
||
<th colspan="2">产量</th>
|
||
<th>运转率</th>
|
||
<th colspan="7">工段能耗</th>
|
||
</tr>
|
||
<tr>
|
||
<th>总产量(t)</th>
|
||
<th>台时产量(t/h)</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>环比增长率(%)</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: "3346520558031773696",
|
||
},
|
||
tableDatas: [],
|
||
};
|
||
},
|
||
mounted() {
|
||
let that = this;
|
||
var myDate = new Date();
|
||
let year = myDate.getFullYear();
|
||
that.query.year_s = year;
|
||
let params = {};
|
||
params.page = 0;
|
||
params.year = year;
|
||
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);
|
||
});
|
||
},
|
||
methods: {
|
||
getData(goalData) {
|
||
let that = this;
|
||
let query0 = {};
|
||
query0.page = 0;
|
||
query0.type = "month_st";
|
||
query0.year_s = that.query.year_s - 1;
|
||
query0.mgroup = "3346520558031773696";
|
||
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;
|
||
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[5] = item.elec_consume_unit; //当期值(KW·h/t)
|
||
let keyVale = "goal_val_" + n;
|
||
arr[6] = goalData[keyVale]; //目标值(KW·h/t)//需要接口获取
|
||
arr[7] = item.celec_consume_unit - arr[16]; //当期与目标差值(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[8] = huanbi; //环期值(KW·h/t)上个月的值
|
||
arr[9] = item.celec_consume_unit; //当期与环期差值(KW·h/t)
|
||
arr[10] = item.celec_consume_unit; //环比增长率(%)
|
||
arr[11] = item.celec_consume_unit; //同比增长率(%)
|
||
arr[12] = item.celec_consume_unit; //同比增长率(%)
|
||
wrapArr[ind] = arr;
|
||
});
|
||
console.log(wrapArr);
|
||
that.tableDatas = wrapArr;
|
||
} else {
|
||
}
|
||
});
|
||
});
|
||
},
|
||
handleQuery() {
|
||
this.tableDatas = [];
|
||
this.getData();
|
||
},
|
||
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;
|
||
}
|
||
</style>
|