|
|
@@ -33,15 +33,16 @@
|
|
|
```
|
|
|
▼ 选择面板(浅色背景卡片)
|
|
|
├── 候选匹配列表(candidates 存在时显示顶部)
|
|
|
-│ └── 复用 .candidate-item / score-bar / selectCandidate()
|
|
|
+│ └── 复用 .candidate-item / score-bar 样式,点击 → selectAndClose(cand)
|
|
|
├── 全量家庭成员列表(candidates 为空或"查看全部"时)
|
|
|
-│ └── 复用 .member-item / selectMember()
|
|
|
+│ └── 复用 .member-item 样式,点击 → selectAndClose(member)
|
|
|
└── 新建成员入口
|
|
|
└── "不在列表中?新建家庭成员" → 内嵌展开表单
|
|
|
└── 复用 .gender-selector / doAutoCreate()
|
|
|
```
|
|
|
|
|
|
-- 选中候选/成员 → `selectedMemberId` 更新 + 回填昵称/性别/年龄 + 自动收起面板
|
|
|
+- 候选/成员点击统一走新方法 `selectAndClose(member)`:设置 `selectedMemberId`(`member.id || member.userId`)→ 回填昵称/性别/年龄 → 自动收起面板
|
|
|
+- `selectCandidate()` / `selectMember()` 随独立卡片一并移除(无其他调用点),其选中逻辑并入 `selectAndClose`
|
|
|
- 新建成功 → `createdMemberId` 更新 + 回填 + 收起
|
|
|
- 面板始终可点击(`needBind=false` 也允许改选,改选后覆盖自动匹配)
|
|
|
|
|
|
@@ -58,6 +59,7 @@
|
|
|
| 新增 `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)` | 选中后回填 + 收起面板 |
|