|
@@ -759,9 +759,12 @@ export default {
|
|
|
if (s === 'normal') return '正常'
|
|
if (s === 'normal') return '正常'
|
|
|
return '正常'
|
|
return '正常'
|
|
|
},
|
|
},
|
|
|
|
|
+ // 与 report-confirm 保持一致的白名单:仅明确异常/需关注的状态计入异常数,
|
|
|
|
|
+ // 未知状态文本(解析器自由提取)一律视为正常,避免"样式正常却计入异常"的矛盾。
|
|
|
isAbnormalStatus(status) {
|
|
isAbnormalStatus(status) {
|
|
|
- var s = (status || '').toString()
|
|
|
|
|
- return !(s === '' || s === 'normal' || s === '正常' || s === 'low-risk' || s === '低风险' || s === 'not-detected' || s === '未检出')
|
|
|
|
|
|
|
+ if (!status) return false
|
|
|
|
|
+ var abnormalMap = { 'high': 1, 'low': 1, 'abnormal': 1, '偏高': 1, '偏低': 1, '异常': 1, '缺乏': 1, '不足': 1, '注意': 1, '高风险': 1 }
|
|
|
|
|
+ return !!abnormalMap[String(status).trim()]
|
|
|
},
|
|
},
|
|
|
showHelp(ind) {
|
|
showHelp(ind) {
|
|
|
this.helpData = {
|
|
this.helpData = {
|
|
@@ -941,10 +944,12 @@ export default {
|
|
|
var inds = p.indicators || []
|
|
var inds = p.indicators || []
|
|
|
if (inds.length > 0) {
|
|
if (inds.length > 0) {
|
|
|
var byCat = {}
|
|
var byCat = {}
|
|
|
|
|
+ var byCatAbnormal = {}
|
|
|
for (var ii = 0; ii < inds.length; ii++) {
|
|
for (var ii = 0; ii < inds.length; ii++) {
|
|
|
var ind = inds[ii]
|
|
var ind = inds[ii]
|
|
|
var cat = ind.category || '其他指标'
|
|
var cat = ind.category || '其他指标'
|
|
|
if (!byCat[cat]) byCat[cat] = []
|
|
if (!byCat[cat]) byCat[cat] = []
|
|
|
|
|
+ if (byCatAbnormal[cat] === undefined) byCatAbnormal[cat] = 0
|
|
|
byCat[cat].push({
|
|
byCat[cat].push({
|
|
|
name: ind.indicatorName || ind.name || '',
|
|
name: ind.indicatorName || ind.name || '',
|
|
|
value: ind.indicatorValue || ind.value || '',
|
|
value: ind.indicatorValue || ind.value || '',
|
|
@@ -952,10 +957,16 @@ export default {
|
|
|
refRange: ind.refRange || '',
|
|
refRange: ind.refRange || '',
|
|
|
status: ind.status || ''
|
|
status: ind.status || ''
|
|
|
})
|
|
})
|
|
|
|
|
+ if (this.isAbnormalStatus(ind.status)) byCatAbnormal[cat]++
|
|
|
}
|
|
}
|
|
|
var catKeys = Object.keys(byCat)
|
|
var catKeys = Object.keys(byCat)
|
|
|
for (var ck = 0; ck < catKeys.length; ck++) {
|
|
for (var ck = 0; ck < catKeys.length; ck++) {
|
|
|
- blocks.push({ type: 'indicator', title: catKeys[ck], items: byCat[catKeys[ck]] })
|
|
|
|
|
|
|
+ blocks.push({
|
|
|
|
|
+ type: 'indicator',
|
|
|
|
|
+ title: catKeys[ck],
|
|
|
|
|
+ items: byCat[catKeys[ck]],
|
|
|
|
|
+ abnormalCount: byCatAbnormal[catKeys[ck]] || 0
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|