feat: 应急就医多端原型优化与PRD文档更新
- 通话记录新增未知员工补充信息弹窗交互 - 大病就医列表新增操作人员派单/取消操作 - 新增应急工单从通话记录进入时隐藏非必要字段 - 统一三端结束应急弹窗文案 - 排班日历增加排班日高亮样式与图例 - 驻场端大病就医新增已取消详情页与Tab重构 - 专业人员工作台首页视频卡片导航优化 - 更新各模块PRD文档与页面截图 - index导航页同步新增页面条目 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -14,7 +14,8 @@
|
||||
│ │ └── 已完成 → 工单详情(已完成)
|
||||
│ └── 大病就医 → 大病就医列表
|
||||
│ ├── 待处理 → 大病就医详情(待处理)
|
||||
│ └── 已完成 → 大病就医详情(已完成)
|
||||
│ ├── 已完成 → 大病就医详情(已完成)
|
||||
│ └── 已取消 → 大病就医详情(已取消)
|
||||
├── 知识库(底部Tab)
|
||||
│ ├── 知识文章(分类Tab)→ 知识详情
|
||||
│ └── 规章制度(PDF列表)
|
||||
@@ -42,6 +43,8 @@ stateDiagram-v2
|
||||
[*] --> 待处理 : 操作人员确认预约并派单
|
||||
待处理 --> 已完成 : 驻场人员提交挂号结果
|
||||
待处理 --> 待处理 : 驻场人员转单给其他驻场人员
|
||||
待处理 --> 已取消 : 操作人员取消预约
|
||||
待处理 --> 已取消 : 员工本人取消预约
|
||||
```
|
||||
|
||||
## 页面清单
|
||||
@@ -54,13 +57,14 @@ stateDiagram-v2
|
||||
| 4 | workbench/serious-illness-list.html | 大病就医列表 | 工作台·大病就医 |
|
||||
| 5 | workbench/serious-illness-detail-pending.html | 大病就医详情(待处理) | 工作台·大病就医 |
|
||||
| 6 | workbench/serious-illness-detail-done.html | 大病就医详情(已完成) | 工作台·大病就医 |
|
||||
| 7 | knowledge/index.html | 知识库首页 | 知识库 |
|
||||
| 8 | knowledge/article-detail.html | 知识详情 | 知识库 |
|
||||
| 9 | ../ai-assistant/index.html | AI 助手 | AI 助手 |
|
||||
| 10 | ../message/index.html | 消息列表 | 消息 |
|
||||
| 11 | profile/index.html | 个人中心主页 | 我的 |
|
||||
| 12 | profile/edit-profile.html | 修改个人信息 | 我的 |
|
||||
| 13 | profile/change-pwd.html | 修改密码 | 我的 |
|
||||
| 7 | workbench/serious-illness-detail-cancelled.html | 大病就医详情(已取消) | 工作台·大病就医 |
|
||||
| 8 | knowledge/index.html | 知识库首页 | 知识库 |
|
||||
| 9 | knowledge/article-detail.html | 知识详情 | 知识库 |
|
||||
| 10 | ../ai-assistant/index.html | AI 助手 | AI 助手 |
|
||||
| 11 | ../message/index.html | 消息列表 | 消息 |
|
||||
| 12 | profile/index.html | 个人中心主页 | 我的 |
|
||||
| 13 | profile/edit-profile.html | 修改个人信息 | 我的 |
|
||||
| 14 | profile/change-pwd.html | 修改密码 | 我的 |
|
||||
|
||||
## 逐页说明
|
||||
|
||||
@@ -153,16 +157,18 @@ stateDiagram-v2
|
||||
|
||||

|
||||
|
||||
**功能说明:** 大病就医任务列表,按待处理/已完成分类展示。
|
||||
**功能说明:** 大病就医任务列表,按待处理/已结束分类展示。
|
||||
|
||||
**业务规则:**
|
||||
- 二级 Tab 切换:待处理(含数量角标)/ 已完成
|
||||
- 二级 Tab 切换:待处理(含数量角标)/ 已结束
|
||||
- 卡片展示:预约医院、状态标签、申请员工、科室、挂号类别、预约时间
|
||||
- 待处理标签为橙色,已完成标签为绿色
|
||||
- 待处理标签为橙色,已完成标签为绿色,已取消标签为灰色
|
||||
- 已结束面板同时包含"已完成"和"已取消"两种状态的卡片
|
||||
|
||||
**交互说明:**
|
||||
- 点击待处理卡片:跳转到大病就医详情(待处理)页
|
||||
- 点击已完成卡片:跳转到大病就医详情(已完成)页
|
||||
- 点击已取消卡片:跳转到大病就医详情(已取消)页,通过 `?from=operator` 或 `?from=employee` 参数区分取消来源
|
||||
- 点击返回:返回工作台首页
|
||||
|
||||
---
|
||||
@@ -216,9 +222,27 @@ stateDiagram-v2
|
||||
|
||||
---
|
||||
|
||||
### 7. 大病就医详情(已取消)
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示已取消的大病就医预约详情,包含取消原因和取消人信息,纯只读页面。
|
||||
|
||||
**业务规则:**
|
||||
- 三个可折叠卡片:取消信息、申请员工信息、预约信息
|
||||
- 取消信息卡片展示:取消状态描述、取消人、取消时间、取消原因
|
||||
- 通过 URL 参数 `from` 区分取消来源:`from=operator` 为操作人员取消,`from=employee` 为员工本人取消
|
||||
- 不同取消来源展示不同的取消人和描述文案
|
||||
|
||||
**交互说明:**
|
||||
- 点击卡片标题:折叠/展开卡片
|
||||
- 点击返回:返回大病就医列表
|
||||
|
||||
---
|
||||
|
||||
## 四、知识库模块
|
||||
|
||||
### 7. 知识库首页
|
||||
### 8. 知识库首页
|
||||
|
||||
|
||||
**功能说明:** 等待后续规划,提示“功能开发中,敬请期待~”
|
||||
@@ -226,7 +250,7 @@ stateDiagram-v2
|
||||
|
||||
---
|
||||
|
||||
### 8. 知识详情
|
||||
### 9. 知识详情
|
||||
|
||||
|
||||
|
||||
@@ -237,7 +261,7 @@ stateDiagram-v2
|
||||
|
||||
## 五、个人中心模块
|
||||
|
||||
### 9. 个人中心主页
|
||||
### 10. 个人中心主页
|
||||
|
||||

|
||||
|
||||
@@ -255,7 +279,7 @@ stateDiagram-v2
|
||||
|
||||
---
|
||||
|
||||
### 10. 修改个人信息
|
||||
### 11. 修改个人信息
|
||||
|
||||

|
||||
|
||||
@@ -274,7 +298,7 @@ stateDiagram-v2
|
||||
|
||||
---
|
||||
|
||||
### 11. 修改密码
|
||||
### 12. 修改密码
|
||||
|
||||

|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,117 @@
|
||||
<!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; height: 844px; background: #fff; 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; flex-shrink: 0; }
|
||||
.status-bar { height: 44px; background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; flex-shrink: 0; }
|
||||
.status-bar .time { font-size: 15px; font-weight: 700; color: #1a1a1a; }
|
||||
.status-bar .icons { display: flex; gap: 6px; align-items: center; font-size: 12px; color: #1a1a1a; }
|
||||
.nav-bar { height: 44px; display: flex; align-items: center; padding: 0 16px; background: #fff; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; position: relative; }
|
||||
.back-btn { display: flex; align-items: center; gap: 4px; color: #1677ff; font-size: 15px; cursor: pointer; background: none; border: none; padding: 4px 0; }
|
||||
.nav-title { position: absolute; left: 50%; transform: translateX(-50%); font-size: 17px; font-weight: 600; color: #1a1a1a; white-space: nowrap; }
|
||||
.scroll-content { flex: 1; overflow-y: auto; background: #f5f5f5; }
|
||||
.scroll-content::-webkit-scrollbar { display: none; }
|
||||
.status-area { padding: 32px 16px 24px; text-align: center; background: #fff; }
|
||||
.status-area__title { font-size: 22px; font-weight: 700; color: #999; margin-bottom: 8px; }
|
||||
.status-area__desc { font-size: 14px; color: #999; }
|
||||
.info-card { background: #fff; margin: 12px 16px; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); overflow: hidden; }
|
||||
.info-card__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; cursor: pointer; }
|
||||
.info-card__title { font-size: 15px; font-weight: 600; color: #1a1a1a; }
|
||||
.info-card__toggle { display: inline-flex; align-items: center; gap: 4px; color: #1677ff; font-size: 12px; font-weight: 600; }
|
||||
.info-card__arrow { width: 14px; height: 14px; transition: transform .2s ease; }
|
||||
.info-card__body { padding: 0 16px 16px; }
|
||||
.info-card--collapsed .info-card__body { display: none; }
|
||||
.info-card--collapsed .info-card__arrow { transform: rotate(-90deg); }
|
||||
.info-card__row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f5f5f5; font-size: 14px; }
|
||||
.info-card__row:last-child { border-bottom: none; }
|
||||
.info-card__label { color: #999; }
|
||||
.info-card__value { color: #333; font-weight: 500; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="phone-shell">
|
||||
<div class="status-bar"><span class="time">9:41</span><div class="icons"><span>●●●</span><span>WiFi</span><span>🔋</span></div></div>
|
||||
<div class="nav-bar">
|
||||
<button class="back-btn" onclick="history.back()"><svg width="10" height="16" viewBox="0 0 10 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 1L2 8l6 7"/></svg>返回</button>
|
||||
<span class="nav-title">就医详情</span>
|
||||
</div>
|
||||
<div class="scroll-content">
|
||||
<div class="status-area">
|
||||
<div class="status-area__title">已取消</div>
|
||||
<div class="status-area__desc" id="status-desc">该预约已被取消</div>
|
||||
</div>
|
||||
|
||||
<div class="info-card" id="cancel-card">
|
||||
<div class="info-card__header" onclick="toggleCard('cancel-card', this)">
|
||||
<div class="info-card__title">取消信息</div>
|
||||
<div class="info-card__toggle"><span>收起</span><svg class="info-card__arrow" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6l5 5 5-5"/></svg></div>
|
||||
</div>
|
||||
<div class="info-card__body">
|
||||
<div class="info-card__row"><span class="info-card__label">取消人</span><span class="info-card__value" id="cancel-person">操作人员(刘旭)</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">取消时间</span><span class="info-card__value" id="cancel-time">2026-04-25 11:20</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">取消原因</span><span class="info-card__value" id="cancel-reason">患者病情好转,暂不需要就医</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-card" id="employee-card">
|
||||
<div class="info-card__header" onclick="toggleCard('employee-card', this)">
|
||||
<div class="info-card__title">申请员工信息</div>
|
||||
<div class="info-card__toggle"><span>收起</span><svg class="info-card__arrow" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6l5 5 5-5"/></svg></div>
|
||||
</div>
|
||||
<div class="info-card__body">
|
||||
<div class="info-card__row"><span class="info-card__label">姓名</span><span class="info-card__value">王磊</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">性别</span><span class="info-card__value">男</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">年龄</span><span class="info-card__value">42岁</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">员工编号</span><span class="info-card__value">CY3-20180156</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">所属单位</span><span class="info-card__value">采油三厂</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">联系电话</span><span class="info-card__value">139-0088-7712</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-card" id="booking-card">
|
||||
<div class="info-card__header" onclick="toggleCard('booking-card', this)">
|
||||
<div class="info-card__title">预约信息</div>
|
||||
<div class="info-card__toggle"><span>收起</span><svg class="info-card__arrow" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6l5 5 5-5"/></svg></div>
|
||||
</div>
|
||||
<div class="info-card__body">
|
||||
<div class="info-card__row"><span class="info-card__label">预约医院</span><span class="info-card__value">西安交大一附院</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">科室</span><span class="info-card__value">消化内科</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">医生</span><span class="info-card__value">孙建华</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">挂号类别</span><span class="info-card__value">专家号</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">预约时间</span><span class="info-card__value">2026-04-25 10:30</span></div>
|
||||
<div class="info-card__row"><span class="info-card__label">病情描述</span><span class="info-card__value">反复胃痛两周,需做胃镜检查</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="height:16px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function toggleCard(cardId, headerEl) {
|
||||
var card = document.getElementById(cardId);
|
||||
if (!card) return;
|
||||
card.classList.toggle('info-card--collapsed');
|
||||
var isCollapsed = card.classList.contains('info-card--collapsed');
|
||||
var toggle = headerEl ? headerEl.querySelector('.info-card__toggle span') : null;
|
||||
if (toggle) toggle.textContent = isCollapsed ? '展开' : '收起';
|
||||
}
|
||||
|
||||
(function(){
|
||||
var params = new URLSearchParams(window.location.search);
|
||||
var from = params.get('from');
|
||||
if (from === 'employee') {
|
||||
document.getElementById('status-desc').textContent = '员工本人取消了该预约';
|
||||
document.getElementById('cancel-person').textContent = '员工本人(赵刚)';
|
||||
document.getElementById('cancel-time').textContent = '2026-04-23 09:45';
|
||||
document.getElementById('cancel-reason').textContent = '症状已缓解,暂不需要就医';
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -35,6 +35,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
.card__status { font-size: 12px; padding: 2px 10px; border-radius: 10px; font-weight: 500; }
|
||||
.card__status--pending { background: #fff7e6; color: #fa8c16; }
|
||||
.card__status--done { background: #f6ffed; color: #52c41a; }
|
||||
.card__status--cancelled { background: #f5f5f5; color: #999; }
|
||||
.card__info { font-size: 13px; color: #666; line-height: 1.8; }
|
||||
.card__info .card__employee { color: #1a1a1a; font-weight: 500; }
|
||||
.card__tip { font-size: 12px; color: #999; margin-top: 6px; }
|
||||
@@ -72,7 +73,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<!-- 二级Tab:待处理 / 已完成 -->
|
||||
<div class="seg-tabs">
|
||||
<div class="seg-tab active" onclick="switchTab(this,'panel-pending')">待处理<span class="badge">3</span></div>
|
||||
<div class="seg-tab" onclick="switchTab(this,'panel-done')">已完成</div>
|
||||
<div class="seg-tab" onclick="switchTab(this,'panel-done')">已结束</div>
|
||||
</div>
|
||||
|
||||
<div class="scroll-content">
|
||||
@@ -124,7 +125,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<div style="height:16px;"></div>
|
||||
</div>
|
||||
|
||||
<!-- 已完成 -->
|
||||
<!-- 已结束 -->
|
||||
<div id="panel-done" class="content-panel">
|
||||
<div style="height:10px;"></div>
|
||||
|
||||
@@ -155,6 +156,34 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
</div>
|
||||
<div class="card__tip">已完成挂号,排队序号:12</div>
|
||||
</div>
|
||||
|
||||
<div class="card" onclick="location.href='./serious-illness-detail-cancelled.html?from=operator'">
|
||||
<div class="card__header">
|
||||
<span class="card__hospital">西安交大一附院</span>
|
||||
<span class="card__status card__status--cancelled">已取消</span>
|
||||
</div>
|
||||
<div class="card__info">
|
||||
<div>申请员工:<span class="card__employee">王磊 · 采油三厂</span></div>
|
||||
<div>科室:消化内科 · 孙建华</div>
|
||||
<div>挂号类别:专家号</div>
|
||||
<div>预约时间:2026-04-25 10:30</div>
|
||||
</div>
|
||||
<div class="card__tip">操作人员已取消该预约</div>
|
||||
</div>
|
||||
|
||||
<div class="card" onclick="location.href='./serious-illness-detail-cancelled.html?from=employee'">
|
||||
<div class="card__header">
|
||||
<span class="card__hospital">庆阳市人民医院</span>
|
||||
<span class="card__status card__status--cancelled">已取消</span>
|
||||
</div>
|
||||
<div class="card__info">
|
||||
<div>申请员工:<span class="card__employee">赵刚 · 采气一厂</span></div>
|
||||
<div>科室:泌尿外科 · 李国强</div>
|
||||
<div>挂号类别:普通号</div>
|
||||
<div>预约时间:2026-04-23 15:00</div>
|
||||
</div>
|
||||
<div class="card__tip">员工本人取消预约</div>
|
||||
</div>
|
||||
<div style="height:16px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -132,7 +132,7 @@ stateDiagram-v2
|
||||
- 点击"救护车支援":跳转到救护车支援页
|
||||
- 点击"救助信息":跳转到救助信息汇总页
|
||||
- 点击"员工位置":跳转到患者定位地图页
|
||||
- 点击"结束应急":弹出二次确认弹窗,确认后跳转回工作台首页(已完成 Tab)
|
||||
- 点击"结束应急":弹出二次确认弹窗(标题"是否结束应急",内容"请确保人员已妥善救助,现场风险及隐患已全部排查解除。"),确认后跳转回工作台首页(已完成 Tab)
|
||||
- 点击"🎤"图标:切换语音/文字输入模式
|
||||
- 点击"+"图标:展开/收起媒体选择面板
|
||||
- 点击"➤"发送按钮:将输入框内容发送为操作人员消息气泡
|
||||
@@ -273,7 +273,7 @@ stateDiagram-v2
|
||||
|
||||
**业务规则:**
|
||||
- 基本信息卡片:工单编号、应急中心、求助员工、部门、求助方式、时间、位置、操作人员、专业人员、状态
|
||||
- 救助信息卡片:救助意见(只读)、救助结果(可编辑)、相关照片(可上传/删除)、补充小结(可新增/编辑/删除)、保存按钮
|
||||
- 救助信息卡片:救助意见(只读)、救助结果(可编辑)、相关照片(可上传/删除)、补充小结(可新增/编辑/删除)
|
||||
- 派单信息卡片:展示已派单记录或空状态提示
|
||||
- 救护车支援卡片:展示救护车详情,支持编辑
|
||||
- 根据 URL 参数 method 动态设置求助方式和返回目标:应急视频返回聊天页,应急电话/拨打120 显示结束应急按钮
|
||||
@@ -283,7 +283,7 @@ stateDiagram-v2
|
||||
- 点击"新增/编辑"(救助结果):打开编辑弹窗
|
||||
- 点击"新增/编辑"(补充小结):打开小结编辑弹窗
|
||||
- 点击"编辑"(救护车):打开救护车编辑弹窗(含搜索选择和行程信息)
|
||||
- 点击"结束应急"(仅非视频求助):弹出确认弹窗,确认后跳转回工作台
|
||||
- 点击"结束应急"(仅非视频求助):弹出确认弹窗(标题"是否结束应急",内容"请确保人员已妥善救助,现场风险及隐患已全部排查解除。"),确认后跳转回工作台
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 78 KiB |
@@ -236,8 +236,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<!-- 结束应急确认弹窗 -->
|
||||
<div id="confirm-mask" class="confirm-mask" onclick="closeEndConfirm(event)">
|
||||
<div class="confirm-dialog">
|
||||
<div class="confirm-dialog__head">是否确认结束应急</div>
|
||||
<div class="confirm-dialog__body">结束后本次应急会话将进入"已结束"列表,仅支持查看记录,不可继续发送消息。</div>
|
||||
<div class="confirm-dialog__head">是否结束应急</div>
|
||||
<div class="confirm-dialog__body">请确保人员已妥善救助,现场风险及隐患已全部排查解除。</div>
|
||||
<div class="confirm-dialog__actions">
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--cancel" onclick="closeEndConfirm(event)">取消</button>
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--confirm" onclick="confirmEndEmergency(event)">确认结束</button>
|
||||
|
||||
@@ -187,9 +187,6 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
</div>
|
||||
<div id="summary-list-ongoing" class="summary-list"></div>
|
||||
</div>
|
||||
<div class="action-row">
|
||||
<button class="save-btn" onclick="saveSection('救助信息')">保存救助信息</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -227,7 +224,6 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<div class="ambulance-display__row"><span class="ambulance-display__label">目的地</span><span id="amb-d-dest" class="ambulance-display__value">华池县人民医院急诊科</span></div>
|
||||
<div class="ambulance-display__row"><span class="ambulance-display__label">备注</span><span id="amb-d-remark" class="ambulance-display__value">患者左膝受伤,需担架转运</span></div>
|
||||
</div>
|
||||
<div class="tip-text">操作人员可点击编辑修改救护车支援信息。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -320,8 +316,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<!-- 结束应急确认弹窗 -->
|
||||
<div id="confirm-mask" class="confirm-mask" onclick="closeEndConfirm(event)">
|
||||
<div class="confirm-dialog">
|
||||
<div class="confirm-dialog__head">是否确认结束应急</div>
|
||||
<div class="confirm-dialog__body">结束后本次应急工单将更改为“已完成”状态。</div>
|
||||
<div class=”confirm-dialog__head”>是否结束应急</div>
|
||||
<div class=”confirm-dialog__body”>请确保人员已妥善救助,现场风险及隐患已全部排查解除。</div>
|
||||
<div class="confirm-dialog__actions">
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--cancel" onclick="closeEndConfirm(event)">取消</button>
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--confirm" onclick="confirmEndEmergency(event)">确认结束</button>
|
||||
|
||||
@@ -98,7 +98,7 @@ stateDiagram-v2
|
||||
- 点击"查看工单":跳转到工单详情(进行中)页
|
||||
- 点击"救助意见":跳转到救助意见表单页,确认完后在聊天页发送一条自定义救助意见卡片消息
|
||||
- 点击"患者定位":跳转到患者定位地图页
|
||||
- 点击"结束应急":弹出二次确认弹窗,确认后发送一条结束应急的卡片消息,并跳转回工作台首页(已结束 Tab),
|
||||
- 点击"结束应急":弹出二次确认弹窗(标题"是否结束应急",内容"请确保人员已妥善救助,现场风险及隐患已全部排查解除。"),确认后发送一条结束应急的卡片消息,并跳转回工作台首页(已结束 Tab),
|
||||
- 点击"🎤"图标:切换语音/文字输入模式
|
||||
- 点击"+"图标:展开/收起媒体选择面板
|
||||
- 点击"➤"发送按钮:将输入框内容发送为专业人员消息气泡
|
||||
@@ -180,6 +180,7 @@ stateDiagram-v2
|
||||
**交互说明:**
|
||||
- 点击卡片标题:折叠/展开卡片
|
||||
- 点击返回:返回应急聊天页
|
||||
- 非视频求助方式下显示"结束应急"按钮和救助意见"编辑"按钮;点击"结束应急"弹出确认弹窗(标题"是否结束应急",内容"请确保人员已妥善救助,现场风险及隐患已全部排查解除。"),确认后跳转回工作台
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 48 KiB |
@@ -70,7 +70,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<span style="font-size:11px;color:#666;">求助时间:2026-04-24 09:15</span>
|
||||
</div>
|
||||
<!-- [交互] 点击跳转至: ./work-order-detail.html -->
|
||||
<button onclick="location.href='./work-order-detail.html'" style="font-size:12px;color:#fa8c16;background:none;border:1px solid #fa8c16;border-radius:6px;padding:4px 10px;cursor:pointer;">查看工单</button>
|
||||
<button onclick="sessionStorage.setItem('professionalWorkOrderDetailSource','./emergency-chat-done.html');location.href='./work-order-detail.html'" style="font-size:12px;color:#fa8c16;background:none;border:1px solid #fa8c16;border-radius:6px;padding:4px 10px;cursor:pointer;">查看工单</button>
|
||||
</div>
|
||||
<div id="emergency-info-detail" class="info-detail">
|
||||
<div class="info-avatar">👩</div>
|
||||
|
||||
@@ -200,8 +200,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
|
||||
<div id="confirm-mask" class="confirm-mask" onclick="closeEndConfirm(event)">
|
||||
<div class="confirm-dialog">
|
||||
<div class="confirm-dialog__head">是否确认结束应急</div>
|
||||
<div class="confirm-dialog__body">结束后本次应急会话将进入“已结束”列表,仅支持查看记录,不可继续发送消息。</div>
|
||||
<div class="confirm-dialog__head">是否结束应急</div>
|
||||
<div class="confirm-dialog__body">请确保人员已妥善救助,现场风险及隐患已全部排查解除。</div>
|
||||
<div class="confirm-dialog__actions">
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--cancel" onclick="closeEndConfirm(event)">取消</button>
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--confirm" onclick="confirmEndEmergency(event)">确认结束</button>
|
||||
|
||||
@@ -122,8 +122,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
|
||||
<!-- 已结束列表 -->
|
||||
<div id="panel-done" style="display:none;">
|
||||
<!-- [交互] 点击跳转至: ./work-order-detail.html -->
|
||||
<div class="emergency-card" onclick="sessionStorage.setItem('professionalWorkOrderDetailSource','./index.html');sessionStorage.setItem('professionalWorkOrderMethod','应急视频');location.href='./work-order-detail.html'">
|
||||
<!-- [交互] 点击跳转至: ./emergency-chat-done.html(应急视频) -->
|
||||
<div class="emergency-card" onclick="location.href='./emergency-chat-done.html'">
|
||||
<div class="ec-top">
|
||||
<div class="ec-avatar">🚑</div>
|
||||
<div class="ec-info">
|
||||
|
||||
@@ -120,6 +120,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<div class="desc-block">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between;">
|
||||
<div class="desc-block__label">救助意见:</div>
|
||||
<button class="edit-btn" id="edit-advice-btn" style="display:none;" onclick="openEditAdvice()">编辑</button>
|
||||
</div>
|
||||
<div class="desc-block__text" id="advice-text">-</div>
|
||||
</div>
|
||||
@@ -197,8 +198,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
|
||||
<!-- 结束应急确认弹窗 -->
|
||||
<div id="confirm-mask" class="confirm-mask" onclick="closeEndConfirm(event)">
|
||||
<div class="confirm-dialog">
|
||||
<div class="confirm-dialog__head">是否确认结束应急</div>
|
||||
<div class="confirm-dialog__body">结束后本次应急工单将更改为"已完成"状态。</div>
|
||||
<div class="confirm-dialog__head">是否结束应急</div>
|
||||
<div class="confirm-dialog__body">请确保人员已妥善救助,现场风险及隐患已全部排查解除。</div>
|
||||
<div class="confirm-dialog__actions">
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--cancel" onclick="closeEndConfirm(event)">取消</button>
|
||||
<button class="confirm-dialog__btn confirm-dialog__btn--confirm" onclick="confirmEndEmergency(event)">确认结束</button>
|
||||
@@ -223,9 +224,10 @@ function goBackToSource() {
|
||||
var method = sessionStorage.getItem('professionalWorkOrderMethod');
|
||||
if (method) {
|
||||
document.getElementById('help-method').textContent = method;
|
||||
// 如果求助方式是"应急电话"或"拨打120",显示结束应急按钮
|
||||
// 如果求助方式是"应急电话"或"拨打120",显示结束应急按钮和救助意见编辑按钮
|
||||
if (method === '应急电话' || method === '拨打120') {
|
||||
document.getElementById('end-bar').style.display = 'block';
|
||||
document.getElementById('edit-advice-btn').style.display = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||