song.jun
2026-05-20 35519d51f4647ff78b973d1b5ac0234cc46e5509
AnswerList 计分列补显直抗分数(与 PDF 导出口径对齐)

87054d9 已经把直抗扣分汇总到 EQAS 报告 PDF(K23/M23/N23/O23/AA10
等),但 Backstage/AnswerList 页面的"计分"列 ScoreHtml 长期只显示
ABO/RhD/抗体筛选/抗体鉴定/交叉配型五项,管理员在列表上看不到直抗
扣分,与 PDF 口径不一致。

本次修改 AnswerList.cshtml 单文件:
1. ScoreHtml 新增 score_ZhiKang 累加器
2. 循环里按 substr(0, 7) == "ZhiKang" 匹配(Scores 集合的
ZhiKang1/2/3 已在 QCDistributionRegisterInfoViewModel.FromEntity
第 481-573 行下发,含 RealScore)
3. 输出 HTML 在 RhD 与抗体筛选之间插入"直抗分数:X"行,顺序遵循
87054d9 约定的 ABO/RH/直抗/筛选/鉴定/交叉

无服务端改动。无自动化测试覆盖,需在测试环境用 I 类项目(含直抗)
的实验室手工验证列表"计分"列显示六行。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1个文件已修改
5 ■■■■■ 已修改文件
sbcLabSystem/Views/Backstage/AnswerList.cshtml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sbcLabSystem/Views/Backstage/AnswerList.cshtml
@@ -174,6 +174,7 @@
            }
            var score_ABO = 0;
            var score_Rhd = 0;
            var score_ZhiKang = 0;
            var score_Filter = 0;
            var score_Identity = 0;
            var score_blood = 0;
@@ -184,6 +185,9 @@
                }
                else if (scoreInfo.Name().substr(0, 2) == "RH") {
                    score_Rhd += scoreInfo.RealScore();
                }
                else if (scoreInfo.Name().substr(0, 7) == "ZhiKang") {
                    score_ZhiKang += scoreInfo.RealScore();
                }
                else if (scoreInfo.Name().substr(0, 6) == "Filter") {
                    score_Filter += scoreInfo.RealScore();
@@ -197,6 +201,7 @@
            }
            var html = '<p><span class="text-info">ABO分数:{0}</span></p>'.format(score_ABO);
            html += '<p><span class="text-info">RhD分数:{0}</span></p>'.format(score_Rhd);
            html += '<p><span class="text-info">直抗分数:{0}</span></p>'.format(score_ZhiKang);
            html += '<p><span class="text-info">抗体筛选分数:{0}</span></p>'.format(score_Filter);
            html += '<p><span class="text-info">抗体鉴定分数:{0}</span></p>'.format(score_Identity);
            html += '<p><span class="text-info">交叉配型分数:{0}</span></p>'.format(score_blood);