Skip to content

PRD:体检预约列表 appointments-exam-list ​

一句话:面向 C 端用户,基于用户权益和所在城市,展示可预约的合作体检机构列表,供用户筛选并进入机构预约体检。

0. 快速评审卡 ​

项内容
产品funde-client
模块服务 / 体检预约
页面/功能体检预约列表
路由/appointments/exams
页面类型列表页
状态已实现 / PRD 初版
产品负责人[待确认]
研发负责人[待确认]
测试负责人[待确认]
关联原型funde-client/prototype/src/views/appointments/ExamAppointmentListView.vue
关联 page-specfunde-client/docs/page-specs/appointments-exam-list.page.yaml
关联 mockfunde-client/prototype/src/mock/exam-appointments.json

1. 为什么做 ​

1.1 背景 ​

体检预约列表(路由 /appointments/exams)是用户使用体检权益的核心入口。当用户的健康服务包含体检权益时,可从首页快捷入口"预约体检"、服务首页或"我的 → 我的预约"进入此页。页面上方展示当前权益下可预约体检套餐(无可用套餐时不展示该区块);下方展示推荐体检套餐列表,含名称、价格、介绍与「去」按钮,点击进入对应机构的预约详情页。

1.2 目标 ​

  • 业务目标:提升体检权益的核销率,让用户顺畅完成体检预约,体现服务包的实际价值
  • 用户/运营目标:查看体检预约记录,了解预约状态和体检时间
  • 交付目标:跑通"权益确认 → 浏览机构列表 → 进入机构详情预约"核心链路

1.3 不解决的问题 ​

  • 「免费」封面角标:套餐卡片不展示「免费」标签
  • 精选榜单底栏:套餐卡片不展示运营榜单标签与入选文案
  • 地图模式:暂不提供地图视图,仅列表模式
  • 机构收藏/历史记录:暂不实现
  • 实时号源联动:当前可预约时段为 mock 数据,实时号源接口规划中

2. 当前交付切片 ​

这里只写当前准备评审、开发和测试的内容。

2.1 做什么 ​

能力说明优先级
顶栏右上角「使用记录」进入 /appointments/exams/usage-records;列表页状态 Tab全部、待安排、待确认、待服务、服务中、已完成、已取消、已过期P1
待确认记录卡片不展示「查看详情」,提供「去确定」进入待确认详情页(/appointments/exams/usage-records/:recordId/confirm),展示服务名称、服务机构、机构地址(含导航到机构)、服务人员姓名与手机号(含「拨打电话」)、时间、服务说明;与就医协助使用记录流程一致,但服务信息不含科室与医生待确认记录卡片不展示「查看详情」,提供「去确定」进入待确认详情页(/appointments/exams/usage-records/:recordId/confirm),展示服务名称、服务机构、机构地址(含导航到机构)、服务人员姓名与手机号(含「拨打电话」)、时间、服务说明;与就医协助使用记录流程一致,但服务信息不含科室与医生P1
待服务记录卡片提供「查看详情」进入待服务详情页(/appointments/exams/usage-records/:recordId/pending-service),字段同待确认;详情页可「取消服务」,二次确认文案说明安排不再保留且消耗本次服务权益(标红提示),确认后记录变为已取消待服务记录卡片提供「查看详情」进入待服务详情页(/appointments/exams/usage-records/:recordId/pending-service),字段同待确认;详情页可「取消服务」,二次确认文案说明安排不再保留且消耗本次服务权益(标红提示),确认后记录变为已取消P1
服务中记录卡片提供「查看详情」进入服务中详情页(/appointments/exams/usage-records/:recordId/in-service),布局同待服务,无取消按钮服务中记录卡片提供「查看详情」进入服务中详情页(/appointments/exams/usage-records/:recordId/in-service),布局同待服务,无取消按钮P1
已完成记录卡片提供「查看详情」进入已完成详情页(/appointments/exams/usage-records/:recordId/completed),布局同服务中,服务信息增加「完成时间」已完成记录卡片提供「查看详情」进入已完成详情页(/appointments/exams/usage-records/:recordId/completed),布局同服务中,服务信息增加「完成时间」P1
已取消记录卡片提供「查看详情」进入已取消详情页(/appointments/exams/usage-records/:recordId/cancelled),布局同待服务但无取消操作;展示取消前安排信息与服务信息中的「取消时间」;用户在待服务详情取消后 runtime 写入 cancelledAt已取消记录卡片提供「查看详情」进入已取消详情页(/appointments/exams/usage-records/:recordId/cancelled),布局同待服务但无取消操作;展示取消前安排信息与服务信息中的「取消时间」;用户在待服务详情取消后 runtime 写入 cancelledAtP1
已过期记录卡片提供「查看详情」进入已过期详情页(/appointments/exams/usage-records/:recordId/expired),布局同已取消;展示过期前安排信息与「过期时间」,无取消按钮已过期记录卡片提供「查看详情」进入已过期详情页(/appointments/exams/usage-records/:recordId/expired),布局同已取消;展示过期前安排信息与「过期时间」,无取消按钮P1
可预约体检套餐区区块标题为「可预约体检套餐」,右侧以胶囊展示权益名称;套餐以分组白底列表展示。卡片含封面角标(不含「免费」、不叠检查项)、标题、简介、套餐价、「去预约」按钮,不展示券后价。点击整卡或「去预约」时:App 进入体检预约人工会话 /conversations/conv-004;小程序弹窗提示须下载 App 才能预约体检P0
推荐体检套餐列表区块标题为「推荐体检套餐」,右侧入口为「更多 ›」,点击进入 /mall;卡片展示券后价与「去购买」按钮,点击「去购买」进入现有商品详情 /services/pkg/:productId 并走下单流程;点击整卡进入机构预约详情并携带套餐 IDP0

2.2 暂不做 ​

暂不做原因后续处理
「免费」封面角标套餐卡片不展示「免费」标签[待确认]
精选榜单底栏套餐卡片不展示运营榜单标签与入选文案[待确认]
地图模式暂不提供地图视图,仅列表模式[待确认]
机构收藏/历史记录暂不实现[待确认]
实时号源联动当前可预约时段为 mock 数据,实时号源接口规划中[待确认]

2.3 后续候选 ​

候选能力触发条件
地图视图切换[待确认]
按评分/距离/剩余名额排序[待确认]
历史预约机构快捷入口[待确认]

3. 谁来用,怎么用 ​

角色场景目标
C 端用户(健康服务包含体检权益)从首页"预约体检"快捷入口或服务 Tab 进入,查看附近可预约机构列表找到距离近、评分高、可预约时段合适的机构,进入预约
C 端用户默认列表中三甲医院排名靠后,用户点击"三甲医院"筛选条快速过滤快速定位特定等级的体检机构

4. 主流程与页面入口 ​

4.1 入口与出口 ​

类型内容
从哪里进入首页快捷入口 / 我的预约 -> 体检预约列表
可以去哪里体检预约详情
依赖数据Vue Router /appointments/exams、/appointments/exams/usage-records、/appointments/exams/:id、/conversations/conv-004、/services/pkg/:id、/mall、本地 mock prototype/src/mock/exam-appointments.json、用户权益服务(benefitStatus)、定位服务(distance)

4.2 主流程 ​

4.3 异常场景 ​

场景系统表现提示
权益已使用/过期Hero 卡展示"权益已用尽"或"权益已过期"状态,机构列表灰显或隐藏,提示"当前无可用体检权益"-
城市无合作机构列表显示空状态,提示"当前城市暂无合作机构,如需协助请联系健管师"-
网络异常显示骨架屏,提示"加载失败,下拉刷新"-
定位权限未授予距离字段显示"距离获取失败",排序退化为固定顺序-

5. 页面结构与字段 ​

5.1 页面区块 ​

区块内容说明
可预约体检套餐fd-card / list仅 bookable 且权益可预约时展示;无数据时整块隐藏。分组白底列表;卡片含封面角标(不含「免费」、不叠检查项)、标题、简介、套餐价、「去预约」按钮,不展示券后价。
推荐体检套餐fd-card / list右侧入口文案为「更多 ›」,点击进入商城。卡片「去购买」进入现有商品详情并走下单。卡片含封面角标不含「免费」、检查项摘要、标题、亮点、券后价,不含精选榜单底栏。

5.3 页面功能说明 ​

列出本页全部功能点,含说明、跳转目标、特殊情况与业务限制。

功能说明跳转/触发特殊情况特殊限制
可预约体检套餐仅 bookable 且权益可预约时展示;无数据时整块隐藏。分组白底列表;卡片含封面角标(不含「免费」、不叠检查项)、标题、简介、套餐价、「去预约」按钮,不展示券后价。tap→App → /conversations/conv-004 ;小程序 → 下载 App 提示;tap:去预约→App → /conversations/conv-004 ;小程序 → 下载 App 提示--
推荐体检套餐右侧入口文案为「更多 ›」,点击进入商城。卡片「去购买」进入现有商品详情并走下单。卡片含封面角标不含「免费」、检查项摘要、标题、亮点、券后价,不含精选榜单底栏。tap:更多→/mall;tap:去购买→/services/pkg/:productId;tap→/appointments/exams/:institutionId?package=--

5.4 后续字段候选 ​

字段为什么暂不进入当前交付
[待确认]、[待确认]进入后续字段口径确认

6. 业务规则 ​

ID规则说明
R1点击「去预约」须判断打开端App 进入体检预约人工会话;小程序仅提示下载 App,不进入预约流程

7. 数据、接口与权限 ​

7.1 数据来源 ​

类型来源
产品级页面补充funde-client/docs/v0.1/pages/services/appointments.md
Page Specfunde-client/docs/page-specs/appointments-exam-list.page.yaml
页面实现funde-client/prototype/src/views/appointments/ExamAppointmentListView.vue
Mock 数据funde-client/prototype/src/mock/exam-appointments.json
路由源funde-client/prototype/src/router/index.ts
source_route/appointments/exams

7.2 接口说明 ​

接口用途备注
获取体检预约列表展示所有预约记录当前使用 mock/exam-appointments.json

7.3 权限 ​

操作权限要求当前处理
查看体检预约登录用户展示本人预约记录

8. 验收标准 ​

编号验收项预期结果
AC1顶部 Hero 卡正确展示城市、权益名称、可预约机构数、权益状态和提示文案顶部 Hero 卡正确展示城市、权益名称、可预约机构数、权益状态和提示文案
AC2机构列表展示,每张卡片包含名称、距离、等级、评分、区域、地址、时段、标签机构列表展示,每张卡片包含名称、距离、等级、评分、区域、地址、时段、标签
AC3"报告自动同步"标签绿色高亮展示"报告自动同步"标签绿色高亮展示
AC4点击机构卡片跳转 /appointments/exams/:id点击机构卡片跳转 /appointments/exams/:id
AC5筛选条可点击切换激活状态(当前版本 UI 可交互即可,过滤逻辑可为 mock)筛选条可点击切换激活状态(当前版本 UI 可交互即可,过滤逻辑可为 mock)
AC6大字号模式下机构名称 18sp 可读,卡片布局不错位大字号模式下机构名称 18sp 可读,卡片布局不错位

9. 待确认问题 ​

问题影响负责人
权益不足时是否显示机构列表即使无可用权益,用户是否可浏览机构列表(为未来权益购买提供参考)产品
定位权限申请时机首次进入本页面是否主动申请定位权限,还是仅在用户点击"按距离排序"时触发产品/前端

10. 变更记录 ​

日期变更作者
2026-09-17使用记录增加已过期状态、Tab 与 expired 详情Cursor
2026-09-16使用记录状态 Tab 调整为全部、待安排、待确认、待服务、服务中、已完成、已取消Cursor
2026-09-16使用记录列表页增加状态 Tab(全部 / 服务中 / 已完成 / 已取消)Cursor
2026-09-16使用记录入口移至顶栏右上角Cursor
2026-09-16主页面使用记录改为仅入口行,明细在列表页查看Cursor
2026-09-16使用记录「全部 ›」改为进入 /appointments/exams/usage-records 列表页Cursor
2026-09-16新增「使用记录」区块,展示最近体检使用记录Cursor
2026-09-16上方区块标题改为「可预约体检套餐」,下方区块标题改为「推荐体检套餐」,右侧入口改为「更多 ›」并跳转 /mall可预约区改为分组白底列表(简介 + 套餐价 +「去预约」,封面不叠检查项),套餐价不为 0;「去预约」在 App 进入 /conversations/conv-004,在小程序提示下载 App;推荐卡片「去购买」进入 /services/pkg/:productId 下单;去掉套餐卡片「精选榜单」底栏与「免费」封面角标;Cursor
2026-06-19按需求源 PRD 模板创建Codex