Merge pull request 'projects/mesxc-zjl' (#349) from projects/mesxc-zjl into projects/mesxc-test

Reviewed-on: #349
This commit is contained in:
朱菊兰 2024-04-23 14:44:04 +08:00
commit f0d64de77b
2 changed files with 92 additions and 40 deletions

View File

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

View File

@ -3,10 +3,11 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<search-bar <search-bar
:formConfigs="formConfig" :formConfigs="formConfig"
ref="searchBarForm"
@headBtnClick="buttonClick" /> @headBtnClick="buttonClick" />
<base-table <base-table
class="israLineReportTable1" class="israLineReportTable1"
ref="israLineReportTable11"
id="israLineReportTable1"
:table-props="tableProp" :table-props="tableProp"
:table-data="tableData" :table-data="tableData"
:span-method="objectSpanMethod" :span-method="objectSpanMethod"
@ -199,6 +200,12 @@ export default {
} }
this.tableData = part2Data; this.tableData = part2Data;
this.getSpanArr(this.tableData); this.getSpanArr(this.tableData);
this.$nextTick(() => {
this.reTable();
});
},
reTable() {
this.$refs.israLineReportTable11.doLayout('israLineReportTable1');
}, },
// 线 // 线
uniqueLine(arr, prop) { uniqueLine(arr, prop) {