feat(mes/eqp/check): add inspector summary statistics table
新增按实际巡检人维度的巡检汇总统计表格,展示巡检人、巡检次数、通过/不通过数量及通过率
This commit is contained in:
@@ -37,6 +37,17 @@
|
||||
</el-descriptions>
|
||||
|
||||
<!-- 负责人汇总 -->
|
||||
<el-card class="section-card" v-if="inspectorSummary.length" style="margin-bottom: 16px;">
|
||||
<div slot="header"><i class="el-icon-user"></i> 按实际巡检人汇总</div>
|
||||
<el-table :data="inspectorSummary" size="small" stripe border>
|
||||
<el-table-column prop="inspector" label="巡检人" />
|
||||
<el-table-column prop="total" label="巡检次数" align="center" />
|
||||
<el-table-column prop="pass" label="通过" align="center" />
|
||||
<el-table-column prop="fail" label="不通过" align="center" />
|
||||
<el-table-column prop="passRate" label="通过率" align="center" />
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<el-card class="section-card" v-if="personSummary.length" style="margin-bottom: 16px;">
|
||||
<div slot="header"><i class="el-icon-user"></i> 按负责人汇总</div>
|
||||
<el-table :data="personSummary" size="small" stripe border>
|
||||
@@ -195,6 +206,22 @@ export default {
|
||||
const end = new Date(this.dateRange[1]);
|
||||
return Math.ceil((end - start) / (1000 * 60 * 60 * 24)) + 1;
|
||||
},
|
||||
inspectorSummary() {
|
||||
const map = {};
|
||||
this.records.forEach(r => {
|
||||
const name = r.inspector || '未指定';
|
||||
if (!map[name]) {
|
||||
map[name] = { inspector: name, total: 0, pass: 0, fail: 0 };
|
||||
}
|
||||
map[name].total++;
|
||||
if (r.runStatus === 1) map[name].pass++;
|
||||
else if (r.runStatus === 2) map[name].fail++;
|
||||
});
|
||||
return Object.values(map).map(p => ({
|
||||
...p,
|
||||
passRate: p.total > 0 ? (p.pass / p.total * 100).toFixed(1) + '%' : '0%',
|
||||
}));
|
||||
},
|
||||
personSummary() {
|
||||
const personMap = {};
|
||||
this.partList.forEach(p => {
|
||||
|
||||
Reference in New Issue
Block a user