定义 PRI-MP-REG-001 预约挂号基础流程,包括挂号入口、须知确认、就诊人依赖、科室/医生/号源选择、实际费用查询、提交校验、锁号和支付确认衔接。写操作严格遵循旧版顺序,由用户点击提交或确认后执行;页面生命周期不得自动触发。
系统 MUST 提供预约挂号主页面,并通过统一入口可发现。
pages/index/pages/register/register,在 app.json 的 pages 数组中注册。utils/homeRoute.js 白名单包含 pages/index/pages/register/register(type: navigateTo)。utils/homeMenu.js 的 DEFAULT-REG 条目 routePath 为 /pages/index/pages/register/register。hospitalIntro.onGoRegister 存在)指向真实挂号页。/pages/index/pages/register/register,不得跳转至导诊 tab 或其他临时页。系统 MUST 在挂号前向用户展示挂号须知,用户完成阅读确认后方可进入选择流程。
02010011 的医院须知配置读取,并支持旧源码 03100136(openID、hospCode、type: O)返回的 NoticeContent 富文本作为优先内容或回退内容。H10 展示旧流程中“取消预约”和“爽约处理”的院区差异规则;其他院区展示通用退号规则。NoticeContent系统 MUST 复用 PRI-MP-USER-001 契约展示当前就诊人,支持切换。
pri-patient-card 展示当前就诊人(姓名、脱敏手机、脱敏证件、默认标识)。pri-patient-sheet 提供就诊人切换入口(visible、pick、close 事件)。patientSelector.loadPatientList() 加载就诊人列表。patientSelector.onPatientChange(listener) 监听患者切换事件。pri-patient-sheet,选中后更新患者卡。系统 MUST 按旧源码 03100037 的 allLoc 树形结构完成科室选择,避免将一级展示节点误作可预约科室。
selectedDept 并进入医生列表。03100037 返回包含一级科室和 children 二级科室的 allLoclocID 查询医生列表。系统 MUST 提供医生列表查询和选择能力,并准确限制不可预约医生。
03100038 与 03100221 任一查询成功时,展示可用查询结果;仅当两者均失败时展示整体错误态。03100221 请求体 SHALL 对齐旧版 chooseDoctor,仅传 hospCode 与 docDesc;科室范围如有需要 SHALL 在真实返回后按 locID 前端筛选,不得发送旧版不存在的 locID、pageIndex 或 pageSize。bookDisabled/可预约状态展示“暂不可预约”,且不可继续进入日期选择。03100038 或 03100221 中一个接口失败、另一个接口返回医生系统 MUST 基于真实可预约状态提供日期、排班和号源时段选择。
03100039 返回的医生可预约日期;99070002 只可作为日期展示/查询回退,不能把未知日期误标记为可预约。03100040 返回的余号、满号和禁用状态;已满或禁用号源应可见但不可选择。03100040.resDetail[] 返回 price 时,号源卡片 SHALL 将其格式化为费用展示;不得只识别 resFee 等替代字段而把已返回价格错误显示为“费用待确认”。03100105,并以 locResDetailID、patID、hisPatNo 查询实际挂号费用。03100040 未返回费用时不得默认展示 0;03100105 失败或无有效金额时,系统 MUST 显示费用待确认/重试状态并阻止提交。resTimeID 作为时段选择主键,并使用稳定的派生键防止异常重复 ID 导致多卡同时高亮;提交前校验须按旧流程分别传递选中 resDetailID 和 resTimeID。03100105 未返回可解析金额0 代替服务端费用。系统 MUST 在提交前向用户展示完整的挂号信息汇总。
03040041 获取确认前基础信息归一(参数 hospID、hospCode、locID、doctorID、患者字段)。01-项目文档_docs/02-UI标准)。系统 MUST 在提交前做重复预约和号源有效性校验;校验通过后复用 PAY-001 的受控锁号能力,并通过统一支付承接页展示服务端返回的锁号上下文。
03100090 做提交前校验。03050234 锁号封装;仅在服务端返回有效 orderNo 时,才将患者、科室、医生、日期、号源、费用和锁号订单写入支付确认上下文,并导航到 /pages/order/pages/paymentConfirm/paymentConfirm。01050002、真实支付、医保支付或 wx.requestPayment。03100090 校验通过系统 MUST 在挂号页提供 AI 导诊入口,供用户跳转或了解。
page-register 布局)。PRI-MP-GUIDE-001 页面路由(如 PRI-MP-GUIDE-001 已开发)。PRI-MP-GUIDE-001 尚未开发,显示"建设中"兜底提示。系统 MUST 覆盖以下异常和边界状态:
| 场景 | 触发条件 | 页面表现 | 操作入口 |
|---|---|---|---|
| 加载中 | 任一查询接口请求中 | 骨架屏/加载态 | 无 |
| 空数据 | 无科室/医生/号源 | 空态和说明 | 换日期/换科室/返回 |
| 接口失败 | 查询接口失败 | 错误提示 | 重试 |
| 未登录 | 无登录态 | 登录提示 | 触发基础登录 |
| 未绑定就诊人 | 无当前患者 | 患者选择提示 | 切换/去添加占位 |
| 无权限 | 后端返回权限错误 | 暂无预约权限 | 返回首页 |
| 号源失效 | 选择后后端返回无号 | 号源已变化 | 重新选择 |
| 首页入口未接通 | 点击首页预约挂号仍进入导诊 tab | 视为入口衔接失败 | 修正路由白名单 |
| 越界医生详情 | 点击医生条进入完整医生中心 | 视为模块越界 | 改为挂号链路入口 |
01-项目文档_docs/02-UI标准:主色 #1677FF、渐变、圆角 36rpx/44rpx、阴影、字号 token 与 app.wxss 保持一致。page-register 布局、颜色、卡片、圆角、间距、CTA 和入口优先级高度还原。page-register 的布局展示挂号须知、患者选择、AI 导诊入口、科室列表、医生条和确认前汇总,并保持项目 UI token 一致。系统 MUST 严格控制以下接口或能力的触发边界:
03100105:号源选定后按旧版字段查询最终挂号费用,属于只读查询。03050234:仅在用户点击提交且 03100090 校验通过时按旧版字段锁号。01050002/wx.requestPayment:仅由 PAY-001 支付确认页在用户二次确认后执行。01050005/01050010/01050011:仅由 PAY-002 医保页在用户明确确认后执行。03100090 → 03050234 → PAY-001;不得在挂号页调用微信支付、医保或就诊人写入类接口。