[AI Generated]: feat(Comp): 新增选择已有成员抽屉组件并接入 addMember 页面
This commit is contained in:
@@ -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)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user