fix: 清理健康咨询孤岛页面,补齐PRD缺失页面描述,优化多模块原型
- 删除无入口跳转的 record-detail.html 及其截图 - PRD页面清单补入 record-detail-rated/unrated/timeout、select-record、consult-flowchart - PRD正文新增5个页面的功能说明、业务规则、交互说明 - 补充 video-detail-ongoing.jpg 截图 - 同步 index.html SITE_MAP 移除已删除页面条目 - 优化应急就医及管理端多个原型页面 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -0,0 +1,455 @@
|
||||
# 应急就医(员工端)产品需求文档
|
||||
|
||||
## 模块概述
|
||||
|
||||
应急就医模块为油田员工提供紧急医疗场景下的一站式服务能力,涵盖应急资源地图查看(医院、医疗点、AED、救护车、急救包)、应急求助(拨打120、应急视频通话、应急电话)、急救提示与教学、大病就医预约挂号等功能,帮助员工在突发健康事件中快速获取周边急救资源和专业医疗支持。
|
||||
|
||||
### 页面导航结构
|
||||
|
||||
```
|
||||
应急就医(员工端)
|
||||
├── 应急就医主页
|
||||
├── 应急资源地图
|
||||
│ ├── 油田医院地图(默认)→ 医院详情
|
||||
│ ├── 医疗点地图 → 医疗点详情
|
||||
│ ├── AED地图 → AED详情
|
||||
│ ├── 救护车地图 → 救护车详情
|
||||
│ ├── 急救包地图 → 急救包详情
|
||||
│ └── 模拟急救 → 急救提示书
|
||||
├── 应急求助
|
||||
│ ├── 拨打120(系统电话,将120号码带入到拨号页面)
|
||||
│ ├── 应急视频通话
|
||||
│ └── 应急电话(系统电话,将云坐席号码带入到拨号页面)
|
||||
├── 大病就医预约
|
||||
│ ├── 预约列表(进行中(待确认/已确认)/已完成/已取消)
|
||||
│ ├── 发起预约(表单)
|
||||
│ └── 预约详情(待确认/已确认/已完成/已取消)
|
||||
├── 急救教学视频
|
||||
│ ├── 视频列表
|
||||
│ ├── 播放视频
|
||||
└── 应急求助记录
|
||||
```
|
||||
|
||||
### 预约状态流转图
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> 待确认: 员工发起预约
|
||||
待确认 --> 已确认: 管理人员确认并派单给驻场人员
|
||||
待确认 --> 已取消: 员工取消 / 管理人员取消
|
||||
已确认 --> 已完成: 驻场人员完成挂号,在应急APP点击已完成
|
||||
已确认 --> 已取消: 员工取消 / 管理人员取消
|
||||
```
|
||||
|
||||
## 页面清单
|
||||
|
||||
### 入口与总览
|
||||
|
||||
| 序号 | 页面/弹窗 | 文件 | 类型 |
|
||||
|------|-----------|------|------|
|
||||
| 1 | 应急就医主页 | index.html | 页面 |
|
||||
|
||||
### 应急资源地图
|
||||
|
||||
| 序号 | 页面/弹窗 | 文件 | 类型 |
|
||||
|----|----------------|------|------|
|
||||
| 2 | 应急资源地图(油田医院地图) | resource-map.html | 页面 |
|
||||
| 3 | AED地图 | resource-map-aed.html | 页面 |
|
||||
| 4 | 救护车地图 | resource-map-ambulance.html | 页面 |
|
||||
| 5 | 医疗点地图 | resource-map-clinic.html | 页面 |
|
||||
| 6 | 急救包地图 | resource-map-kit.html | 页面 |
|
||||
| 7 | AED详情 | aed-detail.html | 页面 |
|
||||
| 8 | 救护车详情 | ambulance-detail.html | 页面 |
|
||||
| 9 | 医疗点详情 | clinic-detail.html | 页面 |
|
||||
| 10 | 油田医院详情 | hospital-detail.html | 页面 |
|
||||
| 11 | 急救包详情 | first-aid-kit-detail.html | 页面 |
|
||||
| 12 | 急救提示书 | emergency-tips.html | 页面 |
|
||||
|
||||
### 应急求助
|
||||
|
||||
| 序号 | 页面/弹窗 | 文件 | 类型 |
|
||||
|----|----------|------|------|
|
||||
| 13 | 应急求助记录 | help-records.html | 页面 |
|
||||
| 14 | 应急视频对话页面 | emergency-chat.html | 页面 |
|
||||
### 急救教学
|
||||
|
||||
| 序号 | 页面/弹窗 | 文件 | 类型 |
|
||||
|------|-----------|------|------|
|
||||
| 15 | 急救教学视频 | first-aid-videos.html | 页面 |
|
||||
|
||||
### 大病就医预约
|
||||
|
||||
| 序号 | 页面/弹窗 | 文件 | 类型 |
|
||||
|------|-----------|------|------|
|
||||
| 16 | 预约列表(进行中) | appointment-list.html | 页面 |
|
||||
| 17 | 预约列表(已完成) | appointment-list-done.html | 页面 |
|
||||
| 18 | 预约列表(已取消) | appointment-list-cancelled.html | 页面 |
|
||||
| 19 | 发起预约 | appointment-form.html | 页面 |
|
||||
| 20 | 预约详情-待确认 | appointment-detail-pending.html | 页面 |
|
||||
| 21 | 预约详情-已确认 | appointment-detail-confirmed.html | 页面 |
|
||||
| 22 | 预约详情-已完成 | appointment-detail-done.html | 页面 |
|
||||
| 23 | 预约详情-已取消 | appointment-detail-cancelled.html | 页面 |
|
||||
|
||||
---
|
||||
|
||||
## 逐页说明
|
||||
|
||||
---
|
||||
|
||||
## 一、入口与总览
|
||||
|
||||
### 1. 应急就医主页(index.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 应急就医模块的统一入口页,为员工提供各功能的快速访问路径,包含应急资源地图入口、应急求助快捷操作、更多功能菜单三个区域。
|
||||
|
||||
**业务规则:**
|
||||
- 应急资源地图以卡片形式展示,含缩略地图和文字说明
|
||||
- 应急求助区域提供三个快捷操作入口:拨打120、应急视频、应急电话
|
||||
- 更多功能区域以列表形式展示:大病就医预约、急救教学视频、应急求助记录
|
||||
|
||||
**交互说明:**
|
||||
- 点击"应急资源地图"卡片,跳转到应急资源地图页面
|
||||
- 点击"拨打120",调起系统电话拨号,将120号码带入过去,并产生一条求助方式为“拨打120”的应急工单
|
||||
- 点击"应急视频",跳转到应急视频通话页面,IM三方视频通话,拨打当前员工所在应急中心的操作人员和专业人员的三方视频,并产生一条求助方式为“应急视频”的进行中状态的应急工单。点击时需要判断当前系统中是否存在“进行中”的应急视频工单,是的话,则进入应急视频对话页面,不存在则拨打三方视频
|
||||
- 点击"应急电话",调起系统电话拨号,将云坐席号码带入过去
|
||||
- 点击"大病就医预约",跳转到预约列表页面
|
||||
- 点击"急救教学视频",跳转到急救教学视频列表页面
|
||||
- 点击"应急求助记录",跳转到应急求助记录页面
|
||||
|
||||
---
|
||||
|
||||
## 二、应急资源地图
|
||||
|
||||
### 2. 应急资源地图-油田医院/合作医院(resource-map.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 以地图形式展示油田医院的资源信息。顶部Tab栏支持切换不同资源类型,点击标记可弹出资源概要弹窗。页面还提供模拟急救功能入口。
|
||||
|
||||
**业务规则:**
|
||||
- 地图图标标记按资源类型使用不同图标进行区分
|
||||
- 顶部Tab栏包含:油田医院(默认选中)、合作医院、医疗点、AED、救护车、急救包
|
||||
- 点击标记弹出的卡片展示:医院图片、医院名称、距离/驾车时间、地址、联系电话和导航按钮
|
||||
- 模拟急救面板提供心梗、猝死、脑梗/脑出血三种疾病场景
|
||||
|
||||
**交互说明:**
|
||||
- 点击地图标记点,弹出底部资源概要卡片
|
||||
- 点击顶部Tab栏切换资源类型,跳转到对应资源地图页面
|
||||
- 点击资源卡片中的"联系电话"按钮,调起系统拨号
|
||||
- 点击资源卡片中的"地图导航"按钮,调起地图导航
|
||||
- 点击"模拟急救"按钮,展开疾病选择面板
|
||||
- 点击疾病标签(心梗/猝死/脑梗),跳转到对应急救提示书页面
|
||||
- 点击右侧定位按钮,重新定位到当前位置
|
||||
- 点击 +/− 按钮,缩放地图
|
||||
|
||||
---
|
||||
|
||||
### 3-6. AED / 救护车 / 医疗点 / 急救包地图
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
以上四个地图页面与油田医院地图共享统一的页面结构,仅资源类型不同。
|
||||
|
||||
|
||||
**交互说明:** 同油田医院地图页面,底部Tab栏切换时跳转到对应资源地图页面,点击标记弹出该类型资源的概要卡片。
|
||||
|
||||
---
|
||||
|
||||
### 7. AED详情(aed-detail.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示单个AED设备的详细信息,包括设备编号、管理人联系方式、操作图片和视频资源。
|
||||
|
||||
**业务规则:**
|
||||
|
||||
- 名称写死“半自动体外除颤仪”
|
||||
- 信息项:设备编号、所属单位、管理人电话、地址
|
||||
- 附件区域:操作图片支持显示多个(可查看大图)、操作视频(可播放)、免责声明PDF(可下载)
|
||||
- 提供联系电话和导航两个操作按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击"联系电话"按钮,调起系统拨号
|
||||
- 点击"导航"按钮,调起地图导航
|
||||
- 点击操作图片,查看大图
|
||||
- 点击操作视频,播放视频
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
### 8. 救护车详情(ambulance-detail.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示单辆救护车的详细信息,包括驾驶人联系方式、所属医疗点、配备设备和救护能力。
|
||||
|
||||
**业务规则:**
|
||||
- 信息项:驾驶人电话、地址、所属医疗点、车辆类型、配备设备列表、救护能力说明
|
||||
- 提供联系电话操作按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击"联系电话"按钮,调起系统拨号
|
||||
- 点击"导航"按钮,调起地图导航
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
### 9. 医疗点详情(clinic-detail.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示单个医疗点的详细信息,包括所属医院、联系方式和医疗点简介。
|
||||
|
||||
**业务规则:**
|
||||
- 信息项:医疗点名称、所属医院、所属单位、联系电话、地址
|
||||
- 底部展示医疗点简介文字
|
||||
- 提供联系电话和导航两个操作按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击"联系电话"按钮,调起系统拨号
|
||||
- 点击"导航"按钮,调起地图导航
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
### 10. 油田医院/合作医院详情(hospital-detail.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示油田医院/合作医院的详细信息,包括医院等级、急救擅长领域和医院简介。
|
||||
|
||||
**业务规则:**
|
||||
- 头部展示医院图片、医院名称和等级标签(如"二甲")
|
||||
- 信息项:联系电话、地址
|
||||
- 医院简介区域支持展开/收起
|
||||
- 急救擅长区域支持展开/收起
|
||||
- 提供联系电话和导航两个操作按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击"联系电话"按钮,调起系统拨号
|
||||
- 点击"导航"按钮,调起地图导航
|
||||
- 点击"展开"/"收起"切换医院简介和急救擅长的显示
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
### 11. 急救包详情(first-aid-kit-detail.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示单个急救包的详细信息,包括管理人联系方式和内配用品清单。
|
||||
|
||||
**业务规则:**
|
||||
- 信息项:所属单位、管理人电话、地址
|
||||
- 内配用品以分类表格展示
|
||||
- 提供联系电话和导航两个操作按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击"联系电话"按钮,调起系统拨号
|
||||
- 点击"导航"按钮,调起地图导航
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
## 三、应急求助
|
||||
|
||||
### 12. 应急视频对话页面(emergency-chat.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 应急视频拨打之后,产生了一条“应急视频”的进行中状态的工单,如当前工单未完成,后续主页点击“应急视频”时,进入聊天对话页面
|
||||
|
||||
**业务规则:**
|
||||
- 聊天区域展示三种消息类型:系统消息(居中灰色)、员工消息(右侧蓝色气泡)、对方消息(左侧白色气泡)
|
||||
- 参与人员列表展示通话参与者的姓名和角色(如"吴凤-主治医师"、"张旭-操作人员")
|
||||
- 底部输入栏包含语音按钮和"按住说话"按钮
|
||||
|
||||
**交互说明:**
|
||||
- 长按"按住说话"按钮,发送语音消息
|
||||
- 点击参与人员头像,查看人员信息
|
||||
- 点击返回箭头,退出通话页面
|
||||
|
||||
---
|
||||
|
||||
### 13. 急救提示书(emergency-tips.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 根据选择的疾病类型(心梗/猝死/脑梗)展示对应的急救步骤指导,并列出最近的急救资源及距离信息。
|
||||
|
||||
**业务规则:**
|
||||
- 顶部以红色醒目标题显示急救提示书名称(如"心梗急救提示书")
|
||||
- 急救步骤以编号列表形式展示,共4个步骤
|
||||
- 最近急救资源清单按距离排序展示,每项包含:资源类型图标、距离信息、步行/驾车时间
|
||||
- 资源类型包括:AED、急救包、救护车、医院、医疗点
|
||||
|
||||
**交互说明:**
|
||||
- 点击资源项的"详情"按钮,跳转到对应资源详情页面
|
||||
- 点击"导航"按钮,调起地图导航到该资源
|
||||
- 点击"电话"按钮(救护车),调起系统拨号
|
||||
- 点击返回箭头,返回地图页面
|
||||
|
||||
---
|
||||
|
||||
### 14. 应急求助记录(help-records.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示员工的历史应急求助记录列表,包含不同求助方式的记录。
|
||||
|
||||
**业务规则:**
|
||||
- 记录卡片展示:求助方式(应急视频/拨打120/应急电话)、求助时间、应急中心名称
|
||||
- 状态标签:进行中(蓝色)、已结束(灰色)
|
||||
- 按时间倒序排列
|
||||
|
||||
**交互说明:**
|
||||
- 只有进行中状态可以点击进去应急视频对话页面
|
||||
- 点击返回箭头,返回应急就医主页
|
||||
|
||||
---
|
||||
|
||||
## 四、急救教学
|
||||
|
||||
### 15. 急救教学视频(first-aid-videos.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 提供急救教学视频列表,员工可搜索和观看各类急救技能教学视频。
|
||||
|
||||
**业务规则:**
|
||||
- 顶部搜索栏支持按关键词搜索视频
|
||||
- 视频以卡片列表形式展示,每张卡片包含:缩略图、视频标题、发布日期
|
||||
- 视频类型包含:真人演示(中毒急救、成人心脏骤停、AED使用等)和动画教学(心肺复苏等)
|
||||
|
||||
**交互说明:**
|
||||
- 在搜索栏输入关键词,实时过滤视频列表
|
||||
- 点击视频卡片,进入视频播放页面
|
||||
- 点击返回箭头,返回应急就医主页
|
||||
|
||||
---
|
||||
|
||||
## 五、大病就医预约
|
||||
|
||||
### 16. 预约列表-进行中(appointment-list.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示员工的大病就医预约记录列表,默认显示进行中的预约,支持Tab切换查看不同状态。
|
||||
|
||||
**业务规则:**
|
||||
- Tab栏:全部、进行中(默认激活)、已完成、已取消
|
||||
- 预约卡片展示:医院名称、状态标签、科室、医生、挂号类别、期望预约时间
|
||||
- 进行中状态包含"待确认"和"已确认"两种子状态
|
||||
- 底部提供"发起新预约"按钮
|
||||
|
||||
**交互说明:**
|
||||
- 点击Tab栏切换不同状态的预约列表
|
||||
- 点击预约卡片,跳转到对应状态的预约详情页面
|
||||
- 点击"发起新预约"按钮,跳转到预约表单页面
|
||||
- 点击返回箭头,返回应急就医主页
|
||||
|
||||
---
|
||||
|
||||
### 17. 预约列表-已完成(appointment-list-done.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示已完成状态的预约记录列表。
|
||||
|
||||
**业务规则:**
|
||||
- "已完成"Tab激活,列表展示已完成的预约卡片
|
||||
- 状态标签显示绿色"已完成"
|
||||
- 卡片下方显示"驻场人员已完成挂号"提示
|
||||
|
||||
**交互说明:**
|
||||
- 点击预约卡片,跳转到已完成预约详情页面
|
||||
- 其他交互同预约列表-进行中
|
||||
|
||||
---
|
||||
|
||||
### 18. 预约列表-已取消(appointment-list-cancelled.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示已取消状态的预约记录列表。
|
||||
|
||||
**业务规则:**
|
||||
- "已取消"Tab激活,列表展示已取消的预约卡片
|
||||
- 状态标签显示灰色"已取消"
|
||||
- 支持区分"个人取消"和"管理人员取消"两种取消来源
|
||||
|
||||
**交互说明:**
|
||||
- 点击预约卡片,跳转到已取消预约详情页面
|
||||
- 其他交互同预约列表-进行中
|
||||
|
||||
---
|
||||
|
||||
### 19. 发起预约(appointment-form.html)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 员工填写大病就医预约表单,提交后进入待确认状态。
|
||||
|
||||
**业务规则:**
|
||||
- 表单提交后创建一条"待确认"状态的预约记录
|
||||
- 预约医院为下拉选择,选项来自系统配置的医院列表
|
||||
- 挂号类别支持专家号和普通号
|
||||
|
||||
**表单字段表:**
|
||||
|
||||
| 字段名 | 类型 | 必填 | 校验规则 |
|
||||
|--------|--------------|------|----------|
|
||||
| 预约医院 | 下拉选择 | 是 | 从系统配置医院列表中选择 |
|
||||
| 就诊卡号 | 文本输入 | 否 | 无 |
|
||||
| 挂号类别 | 下拉选择 | 是 | 专家号/普通号 |
|
||||
| 期望预约时间 | 日期时间选择,精确到时分 | 是 | 不可选择过去时间 |
|
||||
| 预约科室 | 文本输入 | 是 | 无 |
|
||||
| 预约医生 | 文本输入 | 是 | 无 |
|
||||
| 病情描述 | 多行文本 | 是 | 无 |
|
||||
|
||||
**交互说明:**
|
||||
- 填写完成后点击"确定"按钮提交预约
|
||||
- 必填字段未填写时提示校验错误
|
||||
- 点击返回箭头,返回预约列表页面
|
||||
|
||||
---
|
||||
|
||||
### 20-23. 预约详情(4种状态页面)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
预约详情为同一页面的4种状态变体,共享统一的预约信息展示结构,根据预约状态展示不同的顶部状态区和底部操作按钮。
|
||||
|
||||
**通用结构:**
|
||||
- 顶部状态区:状态大标题 + 状态说明文字
|
||||
- 预约信息卡片:预约医院、科室、医生、挂号类别、期望预约时间、发起预约时间
|
||||
|
||||
**各状态差异:**
|
||||
|
||||
| 状态 | 文件名 | 状态颜色 | 状态说明 | 底部按钮 | 附加信息 |
|
||||
|------|--------|----------|----------|----------|----------|
|
||||
| 待确认 | appointment-detail-pending.html | 橙色 | 请耐心等待管理人员进行确认 | 取消预约(红色边框) | 无 |
|
||||
| 已确认 | appointment-detail-confirmed.html | 蓝色 | 已派单至驻场人员(姓名) | 取消预约 + 联系驻场人员 | 无 |
|
||||
| 已完成 | appointment-detail-done.html | 绿色 | 驻场人员已完成挂号 | 联系驻场人员 | 挂号结果卡片 |
|
||||
| 已取消 | appointment-detail-cancelled.html | 灰色 | 个人取消 / 管理人员取消 | 无 | 取消信息卡片(取消时间、取消原因) |
|
||||
|
||||
**业务规则:**
|
||||
- 待确认和已确认状态支持员工主动取消预约
|
||||
- 取消预约需二次确认(弹窗确认)
|
||||
- 已完成状态额外展示挂号结果信息
|
||||
- 已取消状态展示取消来源(个人取消/管理人员取消)及取消原因
|
||||
|
||||
**交互说明:**
|
||||
- 点击"取消预约"按钮,弹出确认弹窗,确认后取消预约并返回列表
|
||||
- 点击"联系驻场人员"按钮,调起系统拨号联系驻场人员
|
||||
- 点击弹窗中的"再想想",关闭弹窗
|
||||
- 点击弹窗中的"确认取消",取消预约并跳转回预约列表
|
||||
- 点击返回箭头,返回预约列表页面
|
||||
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 26 KiB |
@@ -66,6 +66,7 @@
|
||||
</div>
|
||||
<div class="tab-bar">
|
||||
<div class="tab-item" onclick="window.location.href='resource-map.html'">油田医院</div>
|
||||
<div class="tab-item">合作医院</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-clinic.html'">医疗点</div>
|
||||
<div class="tab-item tab-item--active">AED</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-ambulance.html'">救护车</div>
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
</div>
|
||||
<div class="tab-bar">
|
||||
<div class="tab-item" onclick="window.location.href='resource-map.html'">油田医院</div>
|
||||
<div class="tab-item">合作医院</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-clinic.html'">医疗点</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-aed.html'">AED</div>
|
||||
<div class="tab-item tab-item--active">救护车</div>
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
</div>
|
||||
<div class="tab-bar">
|
||||
<div class="tab-item" onclick="window.location.href='resource-map.html'">油田医院</div>
|
||||
<div class="tab-item">合作医院</div>
|
||||
<div class="tab-item tab-item--active">医疗点</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-aed.html'">AED</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-ambulance.html'">救护车</div>
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
</div>
|
||||
<div class="tab-bar">
|
||||
<div class="tab-item" onclick="window.location.href='resource-map.html'">油田医院</div>
|
||||
<div class="tab-item">合作医院</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-clinic.html'">医疗点</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-aed.html'">AED</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-ambulance.html'">救护车</div>
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
<!-- [交互] 资源分类Tab -->
|
||||
<div class="tab-bar">
|
||||
<div class="tab-item tab-item--active">油田医院</div>
|
||||
<div class="tab-item">合作医院</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-clinic.html'">医疗点</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-aed.html'">AED</div>
|
||||
<div class="tab-item" onclick="window.location.href='resource-map-ambulance.html'">救护车</div>
|
||||
|
||||
@@ -91,9 +91,13 @@ stateDiagram-v2
|
||||
| 25 | video-detail-rejected.html | 视频咨询详情 - 已拒绝 | 页面 |
|
||||
| 26 | rate-doctor.html | 评价医生 | 页面 |
|
||||
| 27 | my-records.html | 我的咨询 | 页面 |
|
||||
| 28 | record-detail.html | 咨询详情 | 页面 |
|
||||
| 29 | assistant-chat.html | 咨询小助手 | 页面 |
|
||||
| 30 | assistant-chat-history.html | 小助手历史对话 | 页面 |
|
||||
| 28 | record-detail-rated.html | 咨询详情 - 已评价 | 页面 |
|
||||
| 29 | record-detail-unrated.html | 咨询详情 - 未评价 | 页面 |
|
||||
| 30 | record-detail-timeout.html | 咨询详情 - 已超时 | 页面 |
|
||||
| 31 | select-record.html | 发送档案 | 页面 |
|
||||
| 32 | assistant-chat.html | 咨询小助手 | 页面 |
|
||||
| 33 | assistant-chat-history.html | 小助手历史对话 | 页面 |
|
||||
| 34 | consult-flowchart.html | 员工咨询业务流程图 | 页面 |
|
||||
|
||||
---
|
||||
|
||||
@@ -788,9 +792,9 @@ stateDiagram-v2
|
||||
|
||||
**业务规则**
|
||||
|
||||
- 咨询状态及对应样式:`进行中`、`已完成`、`待开始`、`待确认`、`已取消`、`已拒绝`、`已超时`
|
||||
- 图文咨询状态:`进行中`、`已完成`、`已超时`
|
||||
- 视频咨询状态:`待确认` `待开始` `进行中` `已完成``已取消` `已拒绝`
|
||||
- 已完成的咨询如已评价则显示"已评价"标记,未评价则显示"待评价"标记
|
||||
- 视频咨询 `待确认` `待开始``已取消` `已拒绝` 显示预约时间,`已完成` 显示通话时长,
|
||||
- 小助手咨询仅有「进行中」和「已完成」两种状态
|
||||
|
||||
**交互说明**
|
||||
@@ -804,30 +808,81 @@ stateDiagram-v2
|
||||
|
||||
---
|
||||
|
||||
### 5.3 咨询详情(record-detail.html)
|
||||
|
||||

|
||||
|
||||
### 5.3 咨询详情 - 已评价(record-detail-rated.html)
|
||||
|
||||
**功能说明**
|
||||
|
||||
已结束的图文咨询点击咨询记录展示单条图文咨询记录详情。包含医生信息栏、咨询信息卡片、咨询人健康档案入口、历史对话入口、医生咨询小结。根据咨询是否已评价,显示不同的 UI:
|
||||
- **已评价状态**:显示"我的评价"区域(5 星评价)、医生咨询小结,底部按钮为"再次咨询"(蓝色边框)+ "已评价"(灰色禁用)
|
||||
- **未评价状态**:隐藏"我的评价"区域,显示医生咨询小结,底部按钮为"再次咨询"(蓝色边框)+ "评价"(蓝色填充)
|
||||
已完成且已评价的图文咨询详情页。展示医生信息栏(头像、姓名、科室、"已完成"状态标签)、咨询信息卡片(咨询类型、咨询人、咨询时间、结束时间、咨询时长)、"我的评价"区域(5 星评价 + 评价文字 + 匿名标识)、咨询人健康档案入口、历史对话入口。
|
||||
|
||||
**业务规则**
|
||||
|
||||
- 已完成的咨询显示医生咨询小结
|
||||
- 已评价的咨询显示评价星级,"评价"按钮变为"已评价"禁用状态
|
||||
- 未评价的咨询隐藏评价区域,显示"评价"按钮
|
||||
- 显示"我的评价"区域,包含星级评分和评价文字
|
||||
- 底部无操作按钮(已评价状态无需额外操作)
|
||||
|
||||
**交互说明**
|
||||
|
||||
- 点击对话入口卡片跳转到图文咨询历史对话页(只读状态)
|
||||
- 点击「再次咨询」跳转到本次咨询的专家主页
|
||||
- 点击「咨询人健康档案」入口跳转到健康档案详情页,从快速咨询产生的业务因没有咨询人健康档案信息,自动隐藏该区域
|
||||
- 点击「评价」按钮(未评价状态)跳转到评价医生页
|
||||
- 导航栏返回 → 我的咨询记录页
|
||||
- 点击「咨询人健康档案」入口 → 跳转 consult-person-detail.html
|
||||
- 点击「查看历史对话记录」→ 跳转 text-chat-history.html?from=record-detail-rated
|
||||
- 导航栏返回 → my-records.html
|
||||
|
||||
---
|
||||
|
||||
### 5.4 咨询详情 - 未评价(record-detail-unrated.html)
|
||||
|
||||
**功能说明**
|
||||
|
||||
已完成但未评价的图文咨询详情页。展示医生信息栏、咨询信息卡片、咨询人健康档案入口、历史对话入口。底部显示"评价"按钮引导用户完成评价。
|
||||
|
||||
**业务规则**
|
||||
|
||||
- 不显示评价区域
|
||||
- 底部显示蓝色"评价"按钮
|
||||
|
||||
**交互说明**
|
||||
|
||||
- 点击「评价」按钮 → 跳转 rate-doctor.html
|
||||
- 点击「咨询人健康档案」入口 → 跳转 consult-person-detail.html
|
||||
- 点击「查看历史对话记录」→ 跳转 text-chat-history.html?from=record-detail-unrated
|
||||
- 导航栏返回 → my-records.html
|
||||
|
||||
---
|
||||
|
||||
### 5.5 咨询详情 - 已超时(record-detail-timeout.html)
|
||||
|
||||
**功能说明**
|
||||
|
||||
因超时自动关闭的图文咨询详情页。展示医生信息栏("已超时"橙色状态标签)、咨询信息卡片(含结束原因"超时自动关闭"红色文字)、超时提示卡片(橙色背景 + 左侧红色边框,说明超过七天无回复已自动关闭)、咨询人健康档案入口、历史对话入口。
|
||||
|
||||
**业务规则**
|
||||
|
||||
- 咨询信息卡片中"结束原因"显示为红色"超时自动关闭"
|
||||
- 显示醒目的超时提示卡片,告知用户如需继续咨询请重新发起
|
||||
- 底部无操作按钮
|
||||
|
||||
**交互说明**
|
||||
|
||||
- 点击「咨询人健康档案」入口 → 跳转 consult-person-detail.html
|
||||
- 点击「查看历史对话记录」→ 跳转 text-chat-history.html?from=record-detail-timeout
|
||||
- 导航栏返回 → my-records.html
|
||||
|
||||
---
|
||||
|
||||
### 5.6 发送档案(select-record.html)
|
||||
|
||||
**功能说明**
|
||||
|
||||
图文咨询聊天中发送健康档案的选择页面。顶部显示当前咨询人信息(头像、姓名、基本信息、与本人关系标签),下方列出该咨询人的健康档案列表,每条档案卡片包含图标、档案名称、描述摘要、标签(如持续时间)、创建日期,右侧为单选勾选框。
|
||||
|
||||
**业务规则**
|
||||
|
||||
- 单选模式,同一时间只能选中一条档案
|
||||
- 选中档案后底部"发送档案"按钮变为蓝色可点击状态
|
||||
|
||||
**交互说明**
|
||||
|
||||
- 点击档案卡片 → 选中该档案(取消其他选中)
|
||||
- 点击「发送档案」按钮 → 返回聊天页(history.back)
|
||||
- 导航栏返回 → 返回上一页
|
||||
|
||||
---
|
||||
|
||||
@@ -881,3 +936,7 @@ stateDiagram-v2
|
||||
|
||||
- 导航栏返回 → 我的咨询记录页
|
||||
- 消息区可上下滚动浏览历史对话
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 74 KiB |
@@ -1,331 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>咨询详情</title>
|
||||
<style>
|
||||
/* 全局重置 */
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
background: #f0f2f5;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
min-height: 100vh;
|
||||
padding: 20px;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif;
|
||||
}
|
||||
|
||||
/* 手机壳模拟器 */
|
||||
.phone-shell {
|
||||
width: 390px;
|
||||
min-height: 844px;
|
||||
background: #f5f5f5;
|
||||
border-radius: 44px;
|
||||
box-shadow: 0 20px 60px rgba(0,0,0,0.25), inset 0 0 0 2px #e0e0e0;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* 状态栏 */
|
||||
.phone-status-bar {
|
||||
height: 44px;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 24px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.phone-status-bar .time { font-size: 15px; font-weight: 700; }
|
||||
.phone-status-bar .icons { display: flex; gap: 6px; align-items: center; }
|
||||
|
||||
/* 导航栏 */
|
||||
.nav-bar {
|
||||
height: 44px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
flex-shrink: 0;
|
||||
position: relative;
|
||||
}
|
||||
.nav-bar .nav-back { font-size: 14px; color: #1a1a1a; cursor: pointer; text-decoration: none; }
|
||||
.nav-bar .nav-title { position: absolute; left: 50%; transform: translateX(-50%); font-size: 17px; font-weight: 600; color: #1a1a1a; }
|
||||
|
||||
/* 可滚动内容区 */
|
||||
.scroll-content { flex: 1; overflow-y: auto; }
|
||||
.scroll-content::-webkit-scrollbar { display: none; }
|
||||
|
||||
/* 医生信息栏 */
|
||||
.detail-doctor-bar { display: flex; align-items: center; gap: 12px; padding: 16px; background: #fff; border-bottom: 1px solid #f0f0f0; }
|
||||
.detail-doctor-bar .dd-avatar { width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg,#e8f4ff,#bdd7ff); display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
|
||||
.detail-doctor-bar .dd-info { flex: 1; }
|
||||
.detail-doctor-bar .dd-name { font-size: 16px; font-weight: 700; color: #1a1a1a; }
|
||||
.detail-doctor-bar .dd-dept { font-size: 13px; color: #999; margin-top: 2px; }
|
||||
.detail-doctor-bar .dd-status { font-size: 12px; padding: 3px 10px; border-radius: 20px; background: #e6f4ff; color: #1677ff; white-space: nowrap; }
|
||||
|
||||
/* 咨询信息卡片 */
|
||||
.detail-info-card { margin: 12px 16px; background: #f8f9fa; border-radius: 14px; padding: 14px 16px; }
|
||||
.detail-info-card .dic-row { display: flex; justify-content: space-between; font-size: 13px; padding: 5px 0; border-bottom: 1px solid #f0f0f0; }
|
||||
.detail-info-card .dic-row:last-child { border-bottom: none; }
|
||||
.detail-info-card .dic-label { color: #999; }
|
||||
.detail-info-card .dic-value { color: #1a1a1a; font-weight: 500; }
|
||||
|
||||
/* 对话入口卡片 */
|
||||
.chat-entry {
|
||||
margin: 12px 16px;
|
||||
background: #fff;
|
||||
border-radius: 14px;
|
||||
padding: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: transform 0.15s;
|
||||
}
|
||||
.chat-entry:active { transform: scale(0.98); }
|
||||
.chat-entry .ce-icon { font-size: 28px; flex-shrink: 0; }
|
||||
.chat-entry .ce-info { flex: 1; }
|
||||
.chat-entry .ce-title { font-size: 15px; font-weight: 600; color: #1a1a1a; }
|
||||
.chat-entry .ce-sub { font-size: 12px; color: #999; margin-top: 2px; }
|
||||
.chat-entry .ce-arrow { font-size: 18px; color: #ccc; flex-shrink: 0; }
|
||||
|
||||
/* 我的评价区域 */
|
||||
.rating-section { margin: 12px 16px; background: #fff; border-radius: 14px; padding: 16px; display: none; }
|
||||
.rating-section.show { display: block; }
|
||||
.rating-section .rs-label { font-size: 13px; color: #999; margin-bottom: 8px; }
|
||||
.rating-section .rs-stars { display: flex; gap: 4px; }
|
||||
.rating-section .rs-stars .star { font-size: 20px; }
|
||||
|
||||
/* 咨询人健康档案 */
|
||||
.health-record-entry {
|
||||
margin: 12px 16px;
|
||||
background: #fff;
|
||||
border-radius: 14px;
|
||||
padding: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: transform 0.15s;
|
||||
}
|
||||
.health-record-entry:active { transform: scale(0.98); }
|
||||
.health-record-entry .hre-icon { font-size: 24px; flex-shrink: 0; }
|
||||
.health-record-entry .hre-title { font-size: 15px; font-weight: 600; color: #1a1a1a; flex: 1; }
|
||||
.health-record-entry .hre-arrow { font-size: 18px; color: #ccc; flex-shrink: 0; }
|
||||
|
||||
/* 医生咨询小结 */
|
||||
.doctor-summary {
|
||||
margin: 12px 16px;
|
||||
background: #fffbe6;
|
||||
border-radius: 14px;
|
||||
padding: 16px;
|
||||
border-left: 4px solid #faad14;
|
||||
}
|
||||
.doctor-summary .ds-title { font-size: 14px; font-weight: 600; color: #d46b08; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
|
||||
.doctor-summary .ds-content { font-size: 13px; color: #ad6800; line-height: 1.6; }
|
||||
|
||||
/* 底部操作栏 */
|
||||
.detail-footer { padding: 12px 16px; background: #fff; border-top: 1px solid #f0f0f0; flex-shrink: 0; display: flex; gap: 10px; }
|
||||
.detail-footer .btn-outline {
|
||||
flex: 1;
|
||||
height: 44px;
|
||||
background: #fff;
|
||||
color: #1677ff;
|
||||
border: 2px solid #1677ff;
|
||||
border-radius: 22px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.15s;
|
||||
}
|
||||
.detail-footer .btn-outline:active { opacity: 0.85; }
|
||||
.detail-footer .btn-primary {
|
||||
flex: 1;
|
||||
height: 44px;
|
||||
background: #1677ff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 22px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.15s;
|
||||
}
|
||||
.detail-footer .btn-primary:active { opacity: 0.85; }
|
||||
.detail-footer .btn-disabled {
|
||||
flex: 1;
|
||||
height: 44px;
|
||||
background: #f0f0f0;
|
||||
color: #bfbfbf;
|
||||
border: none;
|
||||
border-radius: 22px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* 底部安全区留白 */
|
||||
.bottom-spacer { height: 34px; flex-shrink: 0; background: #fff; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 手机壳模拟器 -->
|
||||
<div class="phone-shell">
|
||||
|
||||
<!-- 状态栏:时间 + 信号电池图标 -->
|
||||
<div class="phone-status-bar">
|
||||
<span class="time">10:24</span>
|
||||
<div class="icons">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 6l5 5 5-5"/><path d="M4 9l3 3 3-3" opacity="0.5"/></svg>
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="1" y="6" width="18" height="12" rx="2"/><path d="M21 10v4"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- [交互] 导航栏:返回按钮 → my-records.html + 标题 -->
|
||||
<div class="nav-bar">
|
||||
<a class="nav-back" href="my-records.html">← 返回</a>
|
||||
<span class="nav-title">咨询详情</span>
|
||||
</div>
|
||||
|
||||
<!-- 可滚动内容区 -->
|
||||
<div class="scroll-content">
|
||||
|
||||
<!-- 医生信息栏:头像 + 姓名科室 + 状态标签 -->
|
||||
<div class="detail-doctor-bar">
|
||||
<div class="dd-avatar">👨⚕️</div>
|
||||
<div class="dd-info">
|
||||
<div class="dd-name">张建国医生</div>
|
||||
<div class="dd-dept">北京协和医院 · 心内科</div>
|
||||
</div>
|
||||
<span class="dd-status">进行中</span>
|
||||
</div>
|
||||
|
||||
<!-- 咨询信息卡片:类型、时间、状态、时长 -->
|
||||
<div class="detail-info-card">
|
||||
<div class="dic-row">
|
||||
<span class="dic-label">咨询类型</span>
|
||||
<span class="dic-value">💬 图文咨询</span>
|
||||
</div>
|
||||
<div class="dic-row">
|
||||
<span class="dic-label">咨询时间</span>
|
||||
<span class="dic-value">2026-04-07 10:20</span>
|
||||
</div>
|
||||
<div class="dic-row">
|
||||
<span class="dic-label">咨询人</span>
|
||||
<span class="dic-value">张三(父亲)</span>
|
||||
</div>
|
||||
<div class="dic-row">
|
||||
<span class="dic-label">咨询状态</span>
|
||||
<span class="dic-value">已完成</span>
|
||||
</div>
|
||||
<div class="dic-row">
|
||||
<span class="dic-label">咨询时长</span>
|
||||
<span class="dic-value">32分钟</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- [条件显示] 我的评价区域:已评价时显示 -->
|
||||
<div id="ratingSection" class="rating-section">
|
||||
<div class="rs-label">我的评价</div>
|
||||
<div class="rs-stars">
|
||||
<span class="star">⭐</span>
|
||||
<span class="star">⭐</span>
|
||||
<span class="star">⭐</span>
|
||||
<span class="star">⭐</span>
|
||||
<span class="star">⭐</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- [交互] 咨询人健康档案入口 -->
|
||||
<a class="health-record-entry" href="#">
|
||||
<span class="hre-icon">📋</span>
|
||||
<span class="hre-title">咨询人健康档案</span>
|
||||
<span class="hre-arrow">›</span>
|
||||
</a>
|
||||
|
||||
<!-- [交互] 对话入口卡片:点击跳转 text-chat.html 查看历史对话 -->
|
||||
<a class="chat-entry" href="text-chat.html?from=record-detail">
|
||||
<span class="ce-icon">💬</span>
|
||||
<div class="ce-info">
|
||||
<div class="ce-title">查看历史对话记录</div>
|
||||
<div class="ce-sub">点击查看完整对话内容</div>
|
||||
</div>
|
||||
<span class="ce-arrow">›</span>
|
||||
</a>
|
||||
|
||||
<!-- [条件显示] 医生咨询小结:已完成的咨询显示 -->
|
||||
<div id="doctorSummary" class="doctor-summary" style="display: none;">
|
||||
<div class="ds-title">📋 医生咨询小结</div>
|
||||
<div class="ds-content">建议完善心内科相关检查:心电图、超声心动图,同时加强血压日常监测,低盐低脂饮食,避免剧烈运动,如症状加重请及时就诊。</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- [交互] 底部操作栏:根据评价状态显示不同按钮 -->
|
||||
<div class="detail-footer">
|
||||
<button id="btnContinue" class="btn-outline" onclick="window.location.href='text-chat.html?from=record-detail'">再次咨询</button>
|
||||
<button id="btnRate" class="btn-primary" onclick="handleRate()">评价</button>
|
||||
<button id="btnRated" class="btn-disabled" disabled>已评价</button>
|
||||
</div>
|
||||
|
||||
<!-- 底部安全区留白 -->
|
||||
<div class="bottom-spacer"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
/**
|
||||
* 页面初始化:根据咨询状态设置UI
|
||||
* 数据来源:实际应从后端API获取,这里使用示例数据
|
||||
*/
|
||||
function initPage() {
|
||||
// 示例:从URL参数或数据属性获取是否已评价的状态
|
||||
// 实际应用中应从后端API获取真实数据
|
||||
const isRated = true; // 改为 false 可查看未评价状态
|
||||
|
||||
const ratingSection = document.getElementById('ratingSection');
|
||||
const doctorSummary = document.getElementById('doctorSummary');
|
||||
const btnRate = document.getElementById('btnRate');
|
||||
const btnRated = document.getElementById('btnRated');
|
||||
|
||||
if (isRated) {
|
||||
// 已评价状态
|
||||
ratingSection.classList.add('show');
|
||||
doctorSummary.style.display = 'block';
|
||||
btnRate.style.display = 'none';
|
||||
btnRated.style.display = 'block';
|
||||
} else {
|
||||
// 未评价状态
|
||||
ratingSection.classList.remove('show');
|
||||
doctorSummary.style.display = 'block';
|
||||
btnRate.style.display = 'block';
|
||||
btnRated.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理评价按钮点击
|
||||
*/
|
||||
function handleRate() {
|
||||
// 跳转到评价页面或打开评价弹窗
|
||||
alert('跳转到评价页面');
|
||||
}
|
||||
|
||||
// 页面加载完成后初始化
|
||||
document.addEventListener('DOMContentLoaded', initPage);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||