From c3b031aed452ff419044282dae6ce10ed87aa67f Mon Sep 17 00:00:00 2001 From: 17792275749 <812100002@qq.com> Date: Thu, 11 Jun 2026 17:57:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(addMember,=20editMember):=20=E6=8E=A5?= =?UTF-8?q?=E5=85=A5=E5=91=98=E5=B7=A5=E7=BC=96=E5=8F=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=EF=BC=8C=E9=83=A8=E9=97=A8=E5=B1=95=E7=A4=BA=E6=94=B9=E7=94=A8?= =?UTF-8?q?secondDepart/thirdDepart?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - onQueryEmployee 接入 GET /weighingScale/v5/getUserInfoByWkno - 单位展示由 workNo 改为 secondDepart / thirdDepart 拼接 - birthday 员工查询时回填,提交统一取值 - edit/user 接口 v3 升级到 v5 Co-Authored-By: Claude Opus 4.7 --- miniprogram/pages/addMember/addMember.ts | 62 ++++++++++++++++++-- miniprogram/pages/addMember/addMember.wxml | 2 +- miniprogram/pages/editMember/editMember.ts | 8 +-- miniprogram/pages/editMember/editMember.wxml | 2 +- 4 files changed, 63 insertions(+), 11 deletions(-) diff --git a/miniprogram/pages/addMember/addMember.ts b/miniprogram/pages/addMember/addMember.ts index 406179f..f38f985 100644 --- a/miniprogram/pages/addMember/addMember.ts +++ b/miniprogram/pages/addMember/addMember.ts @@ -112,6 +112,8 @@ Page({ employeeQueried: false, /** 员工编号查询是否未找到 */ employeeNotFound: false, + /** 部门展示文案 */ + unitDisplay: '', }, /** tabs 切换:清空查询结果、重置表单 */ @@ -121,6 +123,7 @@ Page({ userType: tab as 'employee' | 'family', employeeQueried: false, employeeNotFound: false, + unitDisplay: '', readonly: false, hasQueried: false, serverResult: null, @@ -143,6 +146,7 @@ Page({ 'form.workNo': e.detail.value, employeeQueried: false, employeeNotFound: false, + unitDisplay: '', 'form.name': '', 'form.gender': '', 'form.age': '', @@ -151,15 +155,63 @@ Page({ }) }, - /** 员工编号查询(API 预留) */ + /** 员工编号查询 */ onQueryEmployee() { const workNo = this.data.form.workNo.trim() if (!workNo) { wx.showToast({ title: '请填写员工编号', icon: 'none' }) return } - // TODO: 接入员工编号查询接口 - wx.showToast({ title: '查询功能暂未开放', icon: 'none' }) + if (this.data.querying) return + + this.setData({ querying: true, employeeQueried: false, employeeNotFound: false }) + + get('weighingScale/v5/getUserInfoByWkno', { + sn: lefuService.deviceInfo?.serialNumber ?? '', + workNo + }, { loading: true }) + .then(res => { + const result = res.result + if (!result) { + this.setData({ + employeeQueried: true, + employeeNotFound: true, + unitDisplay: '', + 'form.name': '', + 'form.gender': '', + 'form.age': '', + 'form.height': '', + 'form.weight': '', + }) + return + } + const idCard = result.idCard || '' + const parsed = this.parseIdCard(idCard) + const sex = result.sex || parsed.sex + this.setData({ + employeeQueried: true, + employeeNotFound: false, + unitDisplay: [result.secondDepart, result.thirdDepart].filter(Boolean).join(' / '), + 'form.name': result.realname || '', + 'form.idCard': idCard, + 'form.gender': sex === 1 ? '男' : (sex === 2 ? '女' : parsed.gender), + 'form.age': parsed.age, + 'form.sex': sex, + 'form.height': result.height ? String(result.height) : '', + 'form.weight': result.weight ? String(result.weight) : '', + birthday: result.birthday || '', + }) + }) + .catch(() => { + this.setData({ + employeeQueried: true, + employeeNotFound: true, + unitDisplay: '', + }) + }) + .finally(() => { + this.setData({ querying: false }) + }) }, onNameInput(e: WechatMiniprogram.Input) { @@ -408,7 +460,7 @@ Page({ const serverResult = this.data.serverResult const baseSpread = userType === 'family' ? (this.data.selectedMember ?? {}) : {} - const birthday = userType === 'family' ? this.data.birthday : '' + const birthday = this.data.birthday const finalSex = userType === 'family' ? sex : this.data.form.sex const payload: Record = { @@ -427,7 +479,7 @@ Page({ connectDeviceInfo: connectDeviceInfoRaw ? JSON.stringify(connectDeviceInfoRaw) : '', } - put('weighingScale/v3/edit/user', payload) + put('weighingScale/v5/edit/user', payload) .then(() => { wx.showToast({ title: '添加成功', icon: 'success' }) setTimeout(() => { diff --git a/miniprogram/pages/addMember/addMember.wxml b/miniprogram/pages/addMember/addMember.wxml index 0caf9f5..c8fa57e 100644 --- a/miniprogram/pages/addMember/addMember.wxml +++ b/miniprogram/pages/addMember/addMember.wxml @@ -54,7 +54,7 @@ 单位 - {{ form.workNo }} + {{ unitDisplay }} diff --git a/miniprogram/pages/editMember/editMember.ts b/miniprogram/pages/editMember/editMember.ts index 0305a5b..48da46a 100644 --- a/miniprogram/pages/editMember/editMember.ts +++ b/miniprogram/pages/editMember/editMember.ts @@ -22,7 +22,7 @@ Page({ /** dataType === 1 为家庭用户 */ isFamily: false, /** 单位(非家庭用户) */ - workNo: '', + unitDisplay: '', /** 出生年月 YYYY-MM-DD(家庭用户) */ birthday: '', /** 接口返回的原始用户数据,提交时以此为 base 覆盖修改字段 */ @@ -59,7 +59,7 @@ Page({ this.setData({ rawUser: u, isFamily, - workNo: u.workNo ?? '', + unitDisplay: [u.secondDepart, u.thirdDepart].filter(Boolean).join(' / '), birthday: u.birthday ?? '', 'form.name': u.realname ?? '', 'form.idCard': u.idCard ?? '', @@ -163,14 +163,14 @@ Page({ id: this.data.userId, realname: name.trim(), idCard, - sex: this.data.form.sex, + sex, birthday: this.data.birthday, height: heightNum, weight: isNaN(weightNum) ? 0 : weightNum, connectDeviceInfo: connectDeviceInfoRaw ? JSON.stringify(connectDeviceInfoRaw) : (rawUser?.connectDeviceInfo ?? ''), } - put('weighingScale/v3/edit/user', payload) + put('weighingScale/v5/edit/user', payload) .then(() => { wx.showToast({ title: '保存成功', icon: 'success' }) setTimeout(() => { diff --git a/miniprogram/pages/editMember/editMember.wxml b/miniprogram/pages/editMember/editMember.wxml index d6d8706..a24cba4 100644 --- a/miniprogram/pages/editMember/editMember.wxml +++ b/miniprogram/pages/editMember/editMember.wxml @@ -33,7 +33,7 @@ - {{ workNo }} + {{ unitDisplay }}