feat:禅道412

This commit is contained in:
shijing 2026-05-18 15:33:13 +08:00
parent e9e4a253b0
commit 8881997c89
1 changed files with 44 additions and 5 deletions

View File

@ -44,18 +44,25 @@
:data="tableData"
id="exportDiv"
row-key="id"
:summary-method="getSummaries"
show-summary
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="工段名" prop="工段名">
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="工段名" prop="工段名" fixed="left">
</el-table-column>
<el-table-column label="生产数" prop="生产数">
<el-table-column label="生产数" prop="生产数" fixed="left">
</el-table-column>
<el-table-column label="合格数" prop="合格数">
<el-table-column label="合格数" prop="合格数" fixed="left">
</el-table-column>
<el-table-column label="完全合格数" prop="完全合格数">
<el-table-column label="完全合格数" prop="完全合格数" fixed="left">
</el-table-column>
<el-table-column label="合格率" prop="合格率" fixed="left">
<template #default="scope">
{{ ((scope.row.合格数/scope.row.生产数)*100).toFixed(2) + '%' }}
</template>
</el-table-column>
<el-table-column v-for="item in lists" :key="item" :label="item" :prop="item">
<template #default="scope">
@ -118,6 +125,38 @@ export default {
handleQuery(){
this.getData();
},
getSummaries({ columns, data }) {
const sums = [];
let total = columns.length;
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = "合计";
return;
}
if (index <total && (index!==0||index!==1||index!==5)) {
const values = data.map((item) =>
Number(item[column.property])
);
if (!values.every((value) => Number.isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
let sum = Number(
Number(prev) + Number(curr)
).toFixed(1);
if (!isNaN(value)) {
return sum;
} else {
return prev;
}
}, 0);
}
}
if(index==5){
sums[index] = ((sums[3]/sums[2])*100).toFixed(2) + '%';
}
});
return sums;
},
},
};
</script>