fix:bx毛坯检测底部添加两行统计

This commit is contained in:
shijing 2025-08-27 15:36:36 +08:00
parent 1323dbd396
commit 3ed68831bd
1 changed files with 100 additions and 18 deletions

View File

@ -31,6 +31,8 @@
:params="params" :params="params"
:query="params" :query="params"
id="exportDiv" id="exportDiv"
:summary-method="getSummaries"
show-summary
stripe stripe
> >
<el-table-column type="index" width="50" fixed="left"/> <el-table-column type="index" width="50" fixed="left"/>
@ -49,7 +51,7 @@
</el-table-column> </el-table-column>
<el-table-column label="合格数" class-name="colorheader1"> <el-table-column label="合格数" class-name="colorheader1">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢2mm不合格']?1-scope.row.data['毛坯检测_缺陷项_放大率¢2mm不合格']:1 }}</span> <span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢2mm不合格']?0:1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
@ -78,14 +80,14 @@
</el-table-column> </el-table-column>
<el-table-column label="合格数" class-name="colorheader3"> <el-table-column label="合格数" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']?1-scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']:1 }}</span> <span>{{ !scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']&&!scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="可加工" class-name="colorheader3"> <el-table-column label="可加工" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']?1-scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']:0 }}</span> <span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template> </template>
</el-table-column> --> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="暗点" align="center" class-name="colorheader4"> <el-table-column label="暗点" align="center" class-name="colorheader4">
<el-table-column label="内标合格" class-name="colorheader4"> <el-table-column label="内标合格" class-name="colorheader4">
@ -102,7 +104,7 @@
</el-table-column> </el-table-column>
<el-table-column label="可加工" class-name="colorheader4"> <el-table-column label="可加工" class-name="colorheader4">
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.data.毛坯检测_检测项_暗点==''||scope.row.data.毛坯检测_检测项_暗点==null">1</span> <span v-if="scope.row.data.毛坯检测_检测项_暗点!=='合格'&&scope.row.data.毛坯检测_检测项_暗点!=='不合格'">1</span>
<span v-else>0</span> <span v-else>0</span>
</template> </template>
</el-table-column> </el-table-column>
@ -147,23 +149,14 @@
<span>{{ scope.row.data.毛坯检测_缺陷项_角偏?scope.row.data.毛坯检测_缺陷项_角偏:0 }}</span> <span>{{ scope.row.data.毛坯检测_缺陷项_角偏?scope.row.data.毛坯检测_缺陷项_角偏:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出口" align="center" class-name="colorheader6"> <!-- <el-table-column label="出口" align="center" class-name="colorheader6">
<el-table-column label="国标" class-name="colorheader6"> <el-table-column label="国标" class-name="colorheader6">
<!-- <template #default="scope">
<span></span>
</template> -->
</el-table-column> </el-table-column>
<el-table-column label="内标" class-name="colorheader6"> <el-table-column label="内标" class-name="colorheader6">
<!-- <template #default="scope">
<span></span>
</template> -->
</el-table-column> </el-table-column>
<el-table-column label="内标放宽" class-name="colorheader6"> <el-table-column label="内标放宽" class-name="colorheader6">
<!-- <template #default="scope">
<span></span>
</template> -->
</el-table-column>
</el-table-column> </el-table-column>
</el-table-column> -->
<el-table-column label="备注" align="center" class-name="colorheader7"> <el-table-column label="备注" align="center" class-name="colorheader7">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.毛坯检测_缺陷项_备注 }}</span> <span>{{ scope.row.data.毛坯检测_缺陷项_备注 }}</span>
@ -234,7 +227,96 @@ export default {
getCountQt(data,type){ getCountQt(data,type){
let count_qt = 0,count = 0; let count_qt = 0,count = 0;
},
getSummaries({ columns, data }) {
const sums = [];
let total = data.length;
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = <p class="count_row">合计<br /><br />比率<br /></p>
return;
} }
let propert = '';
if(index == 4&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_放大率¢2mm不合格';
}
if(index == 6&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_放大率¢16mm不合格';
}
if(index == 9&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_剪切¢18.3mm不合格';
}
if(index == 10&&column.label=='可加工'){
propert= '毛坯检测_缺陷项_剪切¢18.3mm可加工';
}
if(index == 11&&column.label=='内标合格'||index == 12&&column.label=='长点不合格'||index == 13&&column.label=='可加工'){
propert= '毛坯检测_检测项_暗点';
}
if(index == 14&&column.label=='暗点重'){
propert= '毛坯检测_缺陷项_暗点重';
}
if(index == 15&&column.label=='花丝'){
propert= '毛坯检测_缺陷项_花丝';
}
if(index == 16&&column.label=='网格'){
propert= '毛坯检测_缺陷项_网格';
}
if(index == 17&&column.label=='花朵'){
propert= '毛坯检测_缺陷项_花朵';
}
if(index == 18&&column.label=='S畸变'){
propert= '毛坯检测_缺陷项_S畸变不合格';
}
if(index == 19&&column.label=='弓形畸变不合格'){
propert= '毛坯检测_缺陷项_弓形畸变不合格';
}
if(index == 20&&column.label=='炸废'){
propert= '毛坯检测_缺陷项_炸废';
}
if(index == 21&&column.label=='角偏'){
propert= '毛坯检测_缺陷项_角偏';
}
if (propert!=='') {
let values = [];
if(index==4||index==6){
values = data.map((item) =>!item.data[propert]?1:0);
}else if(index==9){
values = data.map((item) =>!item.data[propert]&&!item.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0);
}else if(index==11){
values = data.map((item) =>item.data[propert]=='合格'?1:0);
}else if(index==12){
values = data.map((item) =>item.data[propert]=='不合格'?1:0);
}else if(index==13){
values = data.map((item) =>item.data[propert]!=='合格'&&item.data[propert]!=='不合格'?1:0);
}else{
values = data.map((item) =>item.data[propert]!==undefined?Number(item.data[propert]):0);
}
console.log('values',values);
if (!values.every((value) => Number.isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
let value = Number(curr);
let sum = 0;
sum = Number(Number(prev) + Number(curr));
if (!isNaN(value)) {
// let rate = Number(sum/total*100).toFixed(2);
// return <p class="count_row"><div ref="borrowAmount1">{sum}</div><br /><div ref="borrowAmount2">{rate}</div></p>
return sum;
} else {
// let rate = Number(prev/total*100).toFixed(2);
// return <p class="count_row"><div ref="borrowAmount1">{prev}</div><br /><div ref="borrowAmount2">{rate}</div></p>
return prev;
}
}, 0);
} else{
sums[index] = <p class="count_row"><div ref="borrowAmount1">0</div><br /><div ref="borrowAmount2">0</div></p>
}
sums[index] =
<p class="count_row"><div ref="borrowAmount1">{sums[index]}</div><br /><div ref="borrowAmount2">{Number(sums[index]/total*100).toFixed(2)}%</div></p>
}
});
return sums;
},
}, },
}; };
</script> </script>