[AI Generated]: feat(Comp): 新增选择已有成员抽屉组件并接入 addMember 页面

This commit is contained in:
17792275749
2026-05-13 11:47:41 +08:00
parent afa602dff9
commit 38d6f0867a
9 changed files with 444 additions and 17 deletions
+58 -8
View File
@@ -20,6 +20,24 @@ interface IdCardParsed {
age: string
}
/** 已有成员数据项 */
interface SelectMemberItem {
/** 唯一标识 */
id: string
/** 姓名 */
name: string
/** 性别 */
gender: '男' | '女'
/** 年龄 */
age: number
/** 身高(cm) */
height: number
/** 头像 URL,无则显示彩色占位圆 */
avatar?: string
/** 是否已选中 */
selected?: boolean
}
/**
* 添加成员页
* 收集姓名、身份证号、身高,并根据身份证自动解析性别与年龄
@@ -29,12 +47,24 @@ Page({
data: {
// 表单数据
form: {
name: '', // 姓名
idCard: '', // 身份证号
gender: '', // 性别(由身份证解析,只读)
age: '', // 年龄(由身份证解析,只读)
height: '' // 身高(cm)
} as MemberForm
name: '',
idCard: '',
gender: '',
age: '',
height: ''
} as MemberForm,
// 抽屉显示状态
showSelectDrawer: false,
// TODO: 后续替换为接口数据
existingMembers: [
{ id: '1', name: '陈小飞', gender: '男', age: 32, height: 172, avatar: '' },
{ id: '2', name: '李镇南', gender: '男', age: 35, height: 185, avatar: '' },
{ id: '3', name: '张颖', gender: '女', age: 35, height: 185, avatar: '' },
{ id: '4', name: '李镇南', gender: '男', age: 35, height: 185, avatar: '' },
{ id: '5', name: '赵雪', gender: '女', age: 31, height: 165, avatar: '' }
] as SelectMemberItem[]
},
/**
@@ -116,10 +146,30 @@ Page({
},
/**
* 从已有成员中选择(暂留空,后续接入选择浮层)
* 从已有成员中选择 — 打开抽屉
*/
onTapSelectExisting() {
// TODO: 接入"从已有成员中选择"浮层/选择页
this.setData({ showSelectDrawer: true })
},
/** 关闭选择成员抽屉 */
onSelectMemberClose() {
this.setData({ showSelectDrawer: false })
},
/**
* 选中成员后填充表单
* @param e 携带 detail(SelectMemberItem) 的自定义事件
*/
onSelectMember(e: WechatMiniprogram.CustomEvent<SelectMemberItem>) {
const { name, gender, age, height } = e.detail
this.setData({
showSelectDrawer: false,
'form.name': name,
'form.gender': gender,
'form.age': String(age),
'form.height': String(height)
})
},
/**