为新版普瑞互联网医院智慧医院小程序 V2.0 提供就诊人新增、详情与编辑、删除、常规绑卡/建档、短信验证码以及写操作后列表/当前患者刷新能力,在 patient-selector 已有的就诊人列表查询、缓存同步和事件总线契约之上,完成就诊人维护闭环。本模块不包含 OCR、身份证图片识别、人脸识别和活体检测,相关能力归属 PRI-MP-USER-003。
01030008 绑卡未找到既有档案后,通过 utils/request.js 的 code: 01030004 发起建档。01030004 请求字段严格为旧版 visitorEntry.saveCard 的 patAddress/patAreaID/patBirthDate/patCityID/patIDCardNo/mobileAreaNumArr/patMobile/patName/patNationID/OCCUID/patCredTypeID/patCredTypeCode/patProvinceID/patSexID/patVillageID/verificationCode 及紧急联系人、人脸空字段;不得额外注入会话字段。addAVisitor / visitorEntry 核心字段保持一致。PRI-MP-USER-001 列表缓存和当前就诊人。hospID / hospDesc / hisHospID / openID / pubAccCode / sessionID 等医院和登录字段。01030004、成功后刷新列表并返回来源页。code: 01030002 查询就诊人详情,参数仅为 patID。code: 01030005 保存编辑,并回传旧版 cardDetail 定义的完整字段集合;新版页面未编辑字段必须保留详情原值。01030002 返回详情01030005。code: 01030006 删除就诊人。refreshAfterWrite() 重新选择默认患者;无可用患者时清空患者态但保留医院/登录字段。code: 01030008 发起常规绑卡/建档。01030008 字段严格为 patCardTypeID/patCardTypeCode/patCardNo/idCardNo/mobile/name/verificationCode。01020014 发送 { mobile }、01020015 校验 { mobile, verifyCode }。01020017/01020023 划给 PRI-MP-USER-003。01030008 并在成功后刷新列表。patientSelector.loadPatientList({ force: true }) 刷新就诊人列表。系统 MUST 覆盖以下状态矩阵:
| 场景 | 触发条件 | 页面表现 | 操作入口 | 是否阻塞 |
|---|---|---|---|---|
| 加载中 | 查询详情、提交、删除、绑卡中 | 按钮 loading,禁止重复提交 | 等待或取消返回 | 部分阻塞 |
| 空数据 | 详情接口无患者数据 | 展示空态并允许返回列表 | 返回/刷新 | 阻塞当前编辑 |
| 接口失败 | 任一接口返回失败或网络错误 | toast + 局部错误说明 | 重试/返回 | 视操作而定 |
| 未登录 | session 缺失或失效 | 引导登录/重新进入 | 登录后重试 | 阻塞 |
| 未选医院 | 无 hospID/hisHospID |
引导选择医院 | 跳转医院选择 | 阻塞 |
| 无权限 | 后端拒绝写入或校验不通过 | 展示后端原因,不清本地数据 | 修改后重试/联系客服 | 阻塞当前提交 |
| 写操作失败 | 新增/编辑/删除/绑卡失败 | 保留原页面数据和输入 | 重试 | 阻塞当前提交 |
| 删除当前就诊人 | 删除对象为当前缓存患者 | 成功后刷新列表并重新选择默认患者或清空患者态 | 自动刷新 | 不阻塞后续浏览 |
| 涉及 OCR/人脸 | 页面或接口要求图片识别/人脸 | 停止开发并反馈划分问题 | 无 | 阻塞本模块 |