cfc-frontend/pages/health/report-confirm.vue上传健康报告后进入确认页(report-confirm.vue),当前"选择/添加被检测人"功能位于独立的"选择家庭成员"卡片中(仅 needBind=true 时显示),与"基本信息"卡片分离。
目标:将被检测人的选择/添加功能整合到"基本信息"卡片中——被检测人字段可直接点击选择或添加被测人,移除独立的选择卡片与新建表单卡片。
needBind=false 时也允许修改绑定对象)extractedName || '未识别'(needBind 时加"需手动绑定"红色提示色)▼ 选择面板(浅色背景卡片)
├── 候选匹配列表(candidates 存在时显示顶部)
│ └── 复用 .candidate-item / score-bar 样式,点击 → selectAndClose(cand)
├── 全量家庭成员列表(candidates 为空或"查看全部"时)
│ └── 复用 .member-item 样式,点击 → selectAndClose(member)
└── 新建成员入口
└── "不在列表中?新建家庭成员" → 内嵌展开表单
└── 复用 .gender-selector / doAutoCreate()
selectAndClose(member):设置 selectedMemberId(member.id || member.userId)→ 回填昵称/性别/年龄 → 自动收起面板selectCandidate() / selectMember() 随独立卡片一并移除(无其他调用点),其选中逻辑并入 selectAndClosecreatedMemberId 更新 + 回填 + 收起needBind=false 也允许改选,改选后覆盖自动匹配)v-if="needBind" 整块)auto-create-card)toggleAutoCreate() 改为面板内嵌逻辑| 项 | 变更 |
|---|---|
新增 showMemberPanel: false |
控制面板展开/收起 |
loadFamilyMembers() |
onLoad 时始终调用(不再仅 needBind 时) |
新增 selectedMemberObj |
从 familyMembers/candidates 查找选中成员,用于回填昵称/性别/年龄 |
selectAndClose(member) |
回填:extractedName = member.nickname、extractedGender = member.gender、extractedAge = member.age(成员无对应字段时保留原值)→ 更新 selectedMemberObj → 收起面板 |
canConfirm |
不变(needBind 时必须有 selectedMemberId/createdMemberId) |
doConfirm |
不变(subjectId 优先级:selectedMemberId > createdMemberId > matchedMemberId > memberId) |
新增 selectAndClose(member) |
选中后回填 + 收起面板 |
.candidate-* / .member-* / .create-* 样式?.(用 && 替代):class 中调用带参数方法@PostMapping(本任务仅前端,无后端改动)