| | |
| | | <el-descriptions-item label="规格型号">{{ record.model || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="数量">{{ record.quantity || 0 }} {{ record.unit || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="检测单位">{{ record.checkCompany || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="检测结果"> |
| | | <el-tag :type="record.checkResult === '合格' ? 'success' : 'danger'"> |
| | | {{ record.checkResult || '待检测' }} |
| | | <el-descriptions-item label="合格率"> |
| | | <el-tag :type="getPassRateTagType(record)"> |
| | | {{ getPassRateDisplay(record) }} |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | |
| | | return "#67c23a"; |
| | | }; |
| | | |
| | | const getPassRate = (record) => { |
| | | const qualified = Number(record.qualifiedQuantity) || 0; |
| | | const unqualified = Number(record.unqualifiedQuantity) || 0; |
| | | const total = qualified + unqualified; |
| | | if (total === 0) return null; |
| | | return Number(((qualified / total) * 100).toFixed(2)); |
| | | }; |
| | | |
| | | const getPassRateDisplay = (record) => { |
| | | const rate = getPassRate(record); |
| | | if (rate === null) return '—'; |
| | | return `${rate}%`; |
| | | }; |
| | | |
| | | const getPassRateTagType = (record) => { |
| | | const rate = getPassRate(record); |
| | | if (rate === null) return 'info'; |
| | | if (rate >= 100) return 'success'; |
| | | if (rate >= 75) return 'primary'; |
| | | return 'danger'; |
| | | }; |
| | | |
| | | // 模拟搜索方法 |
| | | const handleNpsNoSearch = async query => { |
| | | npsNoLoading.value = true; |