根因:handleInfectiousDiseaseReport() 仅根据诊断名称匹配传染病,未校验该诊断是否已有已提交的报卡记录。 修复方案: 1. 后端 DiagnosisQueryDto 新增 hasInfectiousReport 字段 2. getEncounterDiagnosis SQL 通过 EXISTS 子查询关联 infectious_card 表, 判断是否存在 status >= 1(已提交/已审核/已上报)的报卡记录 3. 前端 handleInfectiousDiseaseReport() 过滤掉 hasInfectiousReport === 1 的诊断,不再弹出报卡 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>