feat: 应急就医多端原型优化、大屏管理模块新增及PRD文档截图更新

- 操作人员端:救护车支援toast+800ms跳转、工作台Tab红点徽标
- 员工端:资源地图拖动搜索、单位联系人移除删除按钮、聊天页参与人员移除
- 管理端应急资源:AED地图重构(搜索/缩放/定位/拖动搜索)、布点/急救包新增布放图片、
  培演记录附件改为网格上传、取证人员表单简化、布点列表移除批量导入
- 管理端应急管理:应急中心表单字段调整(上班时间必填/短信发送电话)、
  工单新增from=call模式、大病就医详情已确认状态支持取消预约、
  新增大屏管理二级菜单(大屏数据配置+大屏通话记录)、侧边栏全量同步
- 其他:异常结果定义文案更新、专家推荐文案调整、聊天工具栏移除语音通话按钮
- PRD文档同步更新、全部修改页面截图重新截取

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 18:12:16 +08:00
co-authored by Claude Opus 4.6
parent 80ead4d72b
commit fb6821b279
55 changed files with 979 additions and 248 deletions
@@ -98,7 +98,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
</div>
<div style="text-align:center;flex-shrink:0;">
<div style="font-size:20px;font-weight:700;color:#1677ff;">86</div>
<div style="font-size:10px;color:#999;margin-top:1px;">本月咨询</div>
<div style="font-size:10px;color:#999;margin-top:1px;">咨询次数</div>
</div>
</div>
<div style="font-size:12px;color:#999;margin-bottom:6px;">擅长疾病</div>
@@ -120,7 +120,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
</div>
<div style="text-align:center;flex-shrink:0;">
<div style="font-size:20px;font-weight:700;color:#1677ff;">64</div>
<div style="font-size:10px;color:#999;margin-top:1px;">本月咨询</div>
<div style="font-size:10px;color:#999;margin-top:1px;">咨询次数</div>
</div>
</div>
<div style="font-size:12px;color:#999;margin-bottom:6px;">擅长疾病</div>
@@ -142,7 +142,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
</div>
<div style="text-align:center;flex-shrink:0;">
<div style="font-size:20px;font-weight:700;color:#1677ff;">102</div>
<div style="font-size:10px;color:#999;margin-top:1px;">本月咨询</div>
<div style="font-size:10px;color:#999;margin-top:1px;">咨询次数</div>
</div>
</div>
<div style="font-size:12px;color:#999;margin-bottom:6px;">擅长疾病</div>
@@ -164,7 +164,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
</div>
<div style="text-align:center;flex-shrink:0;">
<div style="font-size:20px;font-weight:700;color:#1677ff;">47</div>
<div style="font-size:10px;color:#999;margin-top:1px;">本月咨询</div>
<div style="font-size:10px;color:#999;margin-top:1px;">咨询次数</div>
</div>
</div>
<div style="font-size:12px;color:#999;margin-bottom:6px;">擅长疾病</div>
@@ -186,7 +186,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
</div>
<div style="text-align:center;flex-shrink:0;">
<div style="font-size:20px;font-weight:700;color:#1677ff;">73</div>
<div style="font-size:10px;color:#999;margin-top:1px;">本月咨询</div>
<div style="font-size:10px;color:#999;margin-top:1px;">咨询次数</div>
</div>
</div>
<div style="font-size:12px;color:#999;margin-bottom:6px;">擅长疾病</div>
@@ -166,7 +166,7 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
<input class="form-input" type="text" placeholder="如:2026-04-28 09:00-09:20" />
</div>
<div class="form-field">
<div class="form-label"><span class="req">*</span>排队序号</div>
<div class="form-label">排队序号</div>
<input class="form-input" type="text" placeholder="如:05" />
</div>
<div class="form-field">
+2 -1
View File
@@ -97,6 +97,7 @@ stateDiagram-v2
**业务规则:**
- 顶部统计卡片展示:应急进行中数量、大病待确认数量
- 一级 Tab 切换:应急求助(默认)/ 大病就医
- 一级 Tab 右上角显示红色数字徽标,分别展示应急求助进行中数量和大病就医待确认数量
- 应急求助面板:二级 Tab 切换进行中 / 已完成
- 大病就医面板:跳转至大病就医列表页
- 应急卡片展示:患者姓名、年龄、求助方式标签、求助时间
@@ -203,7 +204,7 @@ stateDiagram-v2
- 点击搜索框:展开救护车下拉列表
- 输入关键词:实时过滤匹配的救护车
- 选择救护车:自动填充信息卡片
- 点击"确认填写":验证目的地必填,提示成功后返回上一
- 点击"确认填写":验证目的地必填,toast 提示"保存成功",延迟 800ms 后自动返回应急聊天
**表单字段表:**
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 42 KiB

@@ -59,6 +59,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
.bottom-bar { padding: 12px 16px 28px; background: #fff; border-top: 1px solid #f0f0f0; flex-shrink: 0; }
.btn-submit { width: 100%; height: 44px; border-radius: 10px; font-size: 16px; font-weight: 600; cursor: pointer; border: none; background: #fa8c16; color: #fff; transition: background .2s; }
.btn-submit:hover { background: #ffa940; }
.toast { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.75); color: #fff; padding: 12px 24px; border-radius: 8px; font-size: 14px; z-index: 9999; pointer-events: none; animation: toastFade .3s ease; }
@keyframes toastFade { from { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
</style>
</head>
<body>
@@ -250,8 +252,13 @@ function confirmDispatch() {
var destination = document.getElementById('destination-input').value.trim();
if (!selected) { alert('请选择救护车'); return; }
if (!destination) { alert('请填写目的地'); return; }
alert('已成功呼叫救护车:' + selected.getAttribute('data-plate'));
history.back();
var toast = document.createElement('div');
toast.className = 'toast';
toast.textContent = '保存成功';
document.body.appendChild(toast);
setTimeout(function() {
window.location.href = 'emergency-chat.html';
}, 800);
}
document.addEventListener('click', function(event) {
@@ -23,6 +23,8 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
.primary-tabs { display: flex; gap: 8px; padding: 12px 16px 8px; background: #f7f8fa; }
.primary-tab { flex: 1; height: 38px; border-radius: 19px; background: #fff; color: #666; font-size: 14px; font-weight: 600; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,0.06); border: 1px solid transparent; text-decoration: none; }
.primary-tab.active { color: #1677ff; border-color: #b7d8ff; background: #e6f4ff; }
.primary-tab { position: relative; }
.primary-tab .pt-badge { position: absolute; top: -4px; right: -4px; background: #ff4d4f; color: #fff; font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
/* 二级Tab */
.seg-tabs { display: flex; background: #fff; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; }
.seg-tab { flex: 1; text-align: center; padding: 12px 0; font-size: 14px; color: #666; cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.2s; }