根因:后端 saveDoctorDiagnosis 先删除所有 tcm_flag=0 的记录,再用旧 encounterDiagnosisId 调用 saveOrUpdate,由于记录已删除,UPDATE 失败后 fallback 到 INSERT 导致重复记录。 修复: 1. 后端:不再设置 encounterDiagnosisId,确保 saveOrUpdate 始终执行 INSERT 2. 前端:getList() 后对诊断列表按 ybNo/name 去重,防止重复显示 3. 前端:保存前补全 diagnosisDoctor 和 diagnosisTime 元数据 4. 前端:修复 getTcmDiagnosis 的空值安全访问(res.data?.illness?.length) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>