报表
This commit is contained in:
parent
3d3763c4ef
commit
8c117fae8e
@ -3,10 +3,11 @@
|
||||
<!-- 搜索工作栏 -->
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
class="sectionProductionTable1"
|
||||
ref="sectionProductionTable11"
|
||||
id="sectionProductionTable1"
|
||||
:table-props="tableProp"
|
||||
:table-data="tableData"
|
||||
:span-method="objectSpanMethod"
|
||||
@ -15,10 +16,11 @@
|
||||
<search-bar
|
||||
style="margin-top: 10px"
|
||||
:formConfigs="formConfig2"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick2" />
|
||||
<base-table
|
||||
class="sectionProductionTable2"
|
||||
ref="sectionProductionTable22"
|
||||
id="sectionProductionTable2"
|
||||
:table-props="tableProp2"
|
||||
:table-data="tableData2"
|
||||
:span-method="objectSpanMethod2"
|
||||
@ -30,17 +32,18 @@ const tableProp1 = [
|
||||
{
|
||||
prop: 'lineName',
|
||||
label: '生产线',
|
||||
width: 110,
|
||||
width: 80,
|
||||
fixed: true,
|
||||
},
|
||||
{
|
||||
label: '时间',
|
||||
fixed: true,
|
||||
width: 110,
|
||||
width: 140,
|
||||
children: [
|
||||
{
|
||||
prop: 'procedure',
|
||||
label: '工序',
|
||||
fixed: true,
|
||||
width: 140,
|
||||
},
|
||||
],
|
||||
@ -132,13 +135,13 @@ export default {
|
||||
},
|
||||
],
|
||||
queryParams: {
|
||||
startTime: '1706114700000',
|
||||
endTime: '1706190300000',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
lineId: '',
|
||||
},
|
||||
queryParams2: {
|
||||
startTime: '1706114700000',
|
||||
endTime: '1706190300000',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
lineId: '',
|
||||
},
|
||||
tableProp1,
|
||||
@ -166,6 +169,11 @@ export default {
|
||||
this.getLine();
|
||||
this.tableProp = this.tableProp1;
|
||||
this.tableProp2 = this.tableProp1;
|
||||
let arr = this.getTime('1');
|
||||
this.queryParams.startTime = arr[0];
|
||||
this.queryParams.endTime = arr[1];
|
||||
this.queryParams2.startTime = arr[0];
|
||||
this.queryParams2.endTime = arr[1];
|
||||
this.getList();
|
||||
this.getList2();
|
||||
},
|
||||
@ -185,8 +193,8 @@ export default {
|
||||
// 获取数据
|
||||
originalSection({ ...this.queryParams }).then((res) => {
|
||||
let data = res.data;
|
||||
let timeArr = this.uniqueTime(data, 'timeStr');
|
||||
this.tableProp = [];
|
||||
let timeArr = this.uniqueTime(data, 'timeStr');
|
||||
let arr = [];
|
||||
timeArr.map((item) => {
|
||||
let obj = {};
|
||||
@ -200,34 +208,44 @@ export default {
|
||||
});
|
||||
},
|
||||
getTime(val) {
|
||||
let nowTime = moment().valueOf();
|
||||
let dTime = moment(moment().format('YYYY-MM-DD') + ' 07:00:00').valueOf();
|
||||
switch (val) {
|
||||
case '1':
|
||||
let nowTime = moment().valueOf();
|
||||
let dTime = moment(
|
||||
moment().format('YYYY-MM-DD') + ' 07:00:00'
|
||||
let fTime = moment(
|
||||
moment(moment().valueOf() - 86400000).format('YYYY-MM-DD') +
|
||||
' 19:00:00'
|
||||
).valueOf();
|
||||
let nTime = moment(
|
||||
moment().format('YYYY-MM-DD') + ' 19:00:00'
|
||||
).valueOf();
|
||||
let fTime =
|
||||
moment(moment().valueOf() - 86400).format('YYYY-MM-DD') +
|
||||
' 19:00:00';
|
||||
console.log(fTime);
|
||||
// if (nowTime >= dTime) {
|
||||
// return [dTime, nowTime]
|
||||
// }else if (){
|
||||
|
||||
// }
|
||||
if (nowTime <= dTime) {
|
||||
return [fTime, nowTime];
|
||||
} else if (nowTime > dTime && nowTime <= nTime) {
|
||||
return [dTime, nowTime];
|
||||
} else {
|
||||
return [nTime, nowTime];
|
||||
}
|
||||
break;
|
||||
case '2':
|
||||
let lastTime = nowTime - 86400000;
|
||||
return [lastTime, nowTime];
|
||||
break;
|
||||
default:
|
||||
let f1Time = dTime - 86400000 * 2;
|
||||
let f2Time = dTime - 86400000;
|
||||
if (nowTime <= dTime) {
|
||||
return [f1Time, f2Time];
|
||||
} else {
|
||||
return [f2Time, dTime];
|
||||
}
|
||||
}
|
||||
},
|
||||
buttonClick(val) {
|
||||
if (val.btnName === 'search') {
|
||||
this.queryParams.lineId = val.lineId;
|
||||
this.getTime(val.timeType);
|
||||
this.queryParams.startTime = this.getTime(val.timeType)[0];
|
||||
this.queryParams.endTime = this.getTime(val.timeType)[1];
|
||||
this.getList();
|
||||
} else {
|
||||
//导出
|
||||
@ -268,39 +286,61 @@ export default {
|
||||
transferData(data) {
|
||||
let tempData = [];
|
||||
let lineNum = 0; //第一条产线
|
||||
let sumArr = [];
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (i === 0) {
|
||||
this.procedureName.map((item) => {
|
||||
let obj = {};
|
||||
obj.lineName = data[i].lineName;
|
||||
obj.procedure = item.name;
|
||||
obj.eName = item.ename;
|
||||
obj[data[i].timeStr] = data[i][item.ename];
|
||||
tempData.push(obj);
|
||||
});
|
||||
lineNum++;
|
||||
} else {
|
||||
if (data[i].lineName === data[i - 1].lineName) {
|
||||
//相同产线,添加列
|
||||
let startNum = 5 * (lineNum - 1);
|
||||
let endNum = 5 * lineNum - 1;
|
||||
for (let k = startNum; k <= endNum; k++) {
|
||||
let str = this.procedureName[k % 5];
|
||||
tempData[k][data[i].timeStr] = data[i][str.ename];
|
||||
}
|
||||
if (data[i].timeStr === '总计') {
|
||||
sumArr.push(data[i]);
|
||||
} else {
|
||||
//不同产线,同时添加5行
|
||||
this.procedureName.map((item) => {
|
||||
let obj = {};
|
||||
obj.lineName = data[i].lineName;
|
||||
obj.procedure = item.name;
|
||||
obj[data[i].timeStr] = data[i][item.ename];
|
||||
tempData.push(obj);
|
||||
});
|
||||
lineNum++;
|
||||
if (data[i].lineName === data[i - 1].lineName) {
|
||||
//相同产线,添加列
|
||||
let startNum = 5 * (lineNum - 1);
|
||||
let endNum = 5 * lineNum - 1;
|
||||
for (let k = startNum; k <= endNum; k++) {
|
||||
let str = this.procedureName[k % 5];
|
||||
tempData[k][data[i].timeStr] = data[i][str.ename];
|
||||
}
|
||||
} else {
|
||||
//不同产线,同时添加5行
|
||||
this.procedureName.map((item) => {
|
||||
let obj = {};
|
||||
obj.lineName = data[i].lineName;
|
||||
obj.procedure = item.name;
|
||||
obj.eName = item.ename;
|
||||
obj[data[i].timeStr] = data[i][item.ename];
|
||||
tempData.push(obj);
|
||||
});
|
||||
lineNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (let j = 0; j < tempData.length; j++) {
|
||||
sumArr.map((item) => {
|
||||
tempData[j]['总计'] = item[tempData[j].eName];
|
||||
});
|
||||
}
|
||||
this.tableData = tempData;
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reTable1();
|
||||
});
|
||||
},
|
||||
reTable1() {
|
||||
this.$refs.sectionProductionTable11.doLayout('sectionProductionTable1');
|
||||
},
|
||||
reTable2() {
|
||||
this.$refs.sectionProductionTable22.doLayout('sectionProductionTable2');
|
||||
},
|
||||
// 时间去重
|
||||
uniqueTime(arr, prop) {
|
||||
@ -357,12 +397,17 @@ export default {
|
||||
arr.push({ prop: 'sum', label: '合计' });
|
||||
this.tableProp2 = this.tableProp1.concat(arr); //表头
|
||||
this.getSpanArr(this.tableData2);
|
||||
this.$nextTick(() => {
|
||||
this.reTable2();
|
||||
});
|
||||
});
|
||||
},
|
||||
// 表格2
|
||||
buttonClick2(val) {
|
||||
if (val.btnName === 'search') {
|
||||
this.queryParams2.lineId = val.lineId;
|
||||
this.queryParams2.startTime = this.getTime(val.timeType)[0];
|
||||
this.queryParams2.endTime = this.getTime(val.timeType)[1];
|
||||
this.getList2();
|
||||
} else {
|
||||
this.exportTable('.sectionProductionTable2', '深加工工段数据.xlsx', 1);
|
||||
|
@ -3,10 +3,11 @@
|
||||
<!-- 搜索工作栏 -->
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
class="israLineReportTable1"
|
||||
ref="israLineReportTable11"
|
||||
id="israLineReportTable1"
|
||||
:table-props="tableProp"
|
||||
:table-data="tableData"
|
||||
:span-method="objectSpanMethod"
|
||||
@ -199,6 +200,12 @@ export default {
|
||||
}
|
||||
this.tableData = part2Data;
|
||||
this.getSpanArr(this.tableData);
|
||||
this.$nextTick(() => {
|
||||
this.reTable();
|
||||
});
|
||||
},
|
||||
reTable() {
|
||||
this.$refs.israLineReportTable11.doLayout('israLineReportTable1');
|
||||
},
|
||||
// 产线去重
|
||||
uniqueLine(arr, prop) {
|
||||
|
Loading…
Reference in New Issue
Block a user