feat: 完善应急就医原型交互与资源页联动

补齐异常事件、档案详情与资源模块的多页面原型交互,统一详情态、删除确认和跨页面上下文切换体验。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
冯普
2026-04-24 18:49:22 +08:00
co-authored by Claude Opus 4.6
parent a6a21695b5
commit 3071193a13
44 changed files with 1179 additions and 293 deletions
@@ -65,7 +65,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -67,6 +67,11 @@
.pagination span{font-size:var(--font-sm);color:var(--text-secondary);}
.page-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:var(--font-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .2s;}
.page-btn:hover,.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}
/* 固定列 */
.col-fixed{position:sticky;z-index:2;background:#fff;}
thead .col-fixed{background:#FAFAFA;z-index:3;}
.col-fixed-1{left:0;min-width:60px;width:60px;}
.col-fixed-end{right:0;min-width:80px;box-shadow:-2px 0 4px rgba(0,0,0,0.04);}
</style>
</head>
<body>
@@ -79,7 +84,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -137,48 +142,53 @@
</select>
</div>
<div class="filter-item">
<label>工单状态:</label>
<label>预约状态:</label>
<select class="filter-select">
<option>请选择</option>
<option>进行中</option>
<option>待确认</option>
<option>已确认</option>
<option>已完成</option>
<option>已取消</option>
</select>
</div>
<button class="btn btn-primary">查询</button>
<button class="btn btn-default">重置</button>
<div style="flex:1;"></div>
<button class="btn btn-default">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 10v2h10v-2M7 2v7M4.5 6.5L7 9l2.5-2.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
</div>
<!-- 操作按钮 -->
<div style="display:flex;gap:12px;margin-bottom:16px;">
<button class="btn btn-primary">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 10v2h10v-2M7 2v7M4.5 6.5L7 9l2.5-2.5" stroke="#fff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
导出列表数据
</button>
<button class="btn btn-default">查看导出任务</button>
<button class="btn btn-default">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><rect x="2" y="2" width="10" height="10" rx="1.5" stroke="currentColor" stroke-width="1.4"/><path d="M4 5h6M4 7.5h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
查看导出任务
</button>
</div>
<!-- 数据表格 -->
<div class="table-card">
<div class="table-card__header">
<div class="table-card__title">大病就医记录</div>
</div>
<div class="table-card__content">
<table>
<thead>
<tr>
<th>序号</th>
<th class="col-fixed col-fixed-1">序号</th>
<th>预约医院</th>
<th>挂号类别</th>
<th>预约科室</th>
<th>预约医生</th>
<th>期望预约时间</th>
<th>驻场人员</th>
<th>工单状态</th>
<th>预约状态</th>
<th>创建时间</th>
<th>完成时间</th>
<th>操作</th>
<th class="col-fixed col-fixed-end">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="col-fixed col-fixed-1">1</td>
<td>空军军医大学西京医院</td>
<td>普通号</td>
<td>内科</td>
@@ -188,10 +198,10 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-03-16 12:23:32</td>
<td>2026-03-18 15:42:10</td>
<td><a class="link" href="#">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed&from=archive">详细过程</a></td>
</tr>
<tr>
<td>2</td>
<td class="col-fixed col-fixed-1">2</td>
<td>西安交大一附院</td>
<td>专家号</td>
<td>心血管内科</td>
@@ -201,46 +211,46 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-03-08 14:05:18</td>
<td>2026-03-10 16:20:45</td>
<td><a class="link" href="#">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed&from=archive">详细过程</a></td>
</tr>
<tr>
<td>3</td>
<td class="col-fixed col-fixed-1">3</td>
<td>空军军医大学西京医院</td>
<td>急诊号</td>
<td>骨科</td>
<td>陈伟</td>
<td>2026-02-25 10:00</td>
<td>徐豪</td>
<td><span class="tag tag-green">完成</span></td>
<td><span class="tag tag-blue">确认</span></td>
<td>2026-02-23 09:41:07</td>
<td>2026-02-25 14:33:28</td>
<td><a class="link" href="#">详细过程</a></td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=confirmed&from=archive">详细过程</a></td>
</tr>
<tr>
<td>4</td>
<td class="col-fixed col-fixed-1">4</td>
<td>西安市中心医院</td>
<td>普通号</td>
<td>消化内科</td>
<td>刘芳</td>
<td>2026-04-05 14:00</td>
<td>赵强</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-orange">待确认</span></td>
<td>2026-04-03 10:12:55</td>
<td></td>
<td><a class="link" href="#">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=pending&from=archive">详细过程</a></td>
</tr>
<tr>
<td>5</td>
<td class="col-fixed col-fixed-1">5</td>
<td>西安交大二附院</td>
<td>专家号</td>
<td>神经外科</td>
<td>孙建国</td>
<td>2026-04-12 08:30</td>
<td>王磊</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-gray">已取消</span></td>
<td>2026-04-10 16:38:22</td>
<td></td>
<td><a class="link" href="#">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=cancelled&from=archive">详细过程</a></td>
</tr>
</tbody>
</table>
@@ -80,7 +80,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -192,7 +192,7 @@
<td>张驻场</td>
<td><span class="tag tag-blue">进行中</span></td>
<td>正常派单</td>
<td><a class="link" href="#">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive">详细过程</a></td>
</tr>
<tr>
<td>2</td>
@@ -205,7 +205,7 @@
<td>陈驻场</td>
<td><span class="tag tag-blue">进行中</span></td>
<td>事后补单</td>
<td><a class="link" href="#">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive">详细过程</a></td>
</tr>
<tr>
<td>3</td>
@@ -218,7 +218,7 @@
<td>吴驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="#">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive">详细过程</a></td>
</tr>
<tr>
<td>4</td>
@@ -231,7 +231,7 @@
<td>郑驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="#">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive">详细过程</a></td>
</tr>
<tr>
<td>5</td>
@@ -244,7 +244,7 @@
<td>林驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>事后补单</td>
<td><a class="link" href="#">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive">详细过程</a></td>
</tr>
</tbody>
</table>
@@ -85,7 +85,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -61,6 +61,12 @@
.tag-green{background:#F6FFED;color:var(--success);}
.tag-blue{background:var(--primary-light);color:var(--primary);}
.tag-orange{background:#FFF7E6;color:var(--warning);}
.tag-gray{background:#F5F5F5;color:var(--text-secondary);}
/* 固定列 */
.col-fixed{position:sticky;z-index:2;background:#fff;}
thead .col-fixed{background:#FAFAFA;z-index:3;}
.col-fixed-1{left:0;min-width:60px;width:60px;}
.col-fixed-end{right:0;min-width:80px;box-shadow:-2px 0 4px rgba(0,0,0,0.04);}
.link{color:var(--primary);cursor:pointer;font-size:var(--font-sm);text-decoration:none;}
.link:hover{color:#40a9ff;}
.pagination{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;gap:8px;border-top:1px solid var(--border);}
@@ -81,7 +87,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -137,22 +143,27 @@
<input class="filter-input" type="text" placeholder="请输入姓名">
</div>
<div class="filter-item">
<label>工单状态</label>
<label>预约状态</label>
<select class="filter-select">
<option>全部</option>
<option>请选择</option>
<option>待确认</option>
<option>进行中</option>
<option>已确认</option>
<option>已完成</option>
<option>已取消</option>
</select>
</div>
<button class="btn btn-primary">查询</button>
<button class="btn btn-default">重置</button>
</div>
<div style="display:flex;gap:12px;margin-bottom:16px;">
<button class="btn btn-default">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 10v2h10v-2M7 2v7M4.5 6.5L7 9l2.5-2.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
<button class="btn btn-primary">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 10v2h10v-2M7 2v7M4.5 6.5L7 9l2.5-2.5" stroke="#fff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
导出列表数据
</button>
<button class="btn btn-default">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><rect x="2" y="2" width="10" height="10" rx="1.5" stroke="currentColor" stroke-width="1.4"/><path d="M4 5h6M4 7.5h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
查看导出任务
</button>
</div>
<div class="table-card">
<div class="table-card__header">
@@ -163,7 +174,7 @@
<table>
<thead>
<tr>
<th>序号</th>
<th class="col-fixed col-fixed-1">序号</th>
<th>就医员工</th>
<th>员工编号</th>
<th>员工部门</th>
@@ -173,15 +184,15 @@
<th>预约医生</th>
<th>期望预约时间</th>
<th>驻场人员</th>
<th>工单状态</th>
<th>预约状态</th>
<th>创建时间</th>
<th>完成时间</th>
<th>操作</th>
<th class="col-fixed col-fixed-end">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="col-fixed col-fixed-1">1</td>
<td style="font-weight:500;">张丽华-女-45</td>
<td>EMP20220089</td>
<td>综合管理部</td>
@@ -194,10 +205,10 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-04-11 09:32:47</td>
<td>2026-04-13 10:15:22</td>
<td><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed&from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>2</td>
<td class="col-fixed col-fixed-1">2</td>
<td style="font-weight:500;">李明辉-男-50</td>
<td>EMP20210178</td>
<td>安全环保部</td>
@@ -207,13 +218,13 @@
<td>张明远</td>
<td>2026-03-28 09:30</td>
<td>李晓明</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-blue">已确认</span></td>
<td>2026-03-26 16:05:18</td>
<td></td>
<td><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=confirmed&from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>3</td>
<td class="col-fixed col-fixed-1">3</td>
<td style="font-weight:500;">王秀兰-女-55</td>
<td>EMP20200234</td>
<td>财务部</td>
@@ -226,10 +237,10 @@
<td><span class="tag tag-orange">待确认</span></td>
<td>2026-03-18 14:50:33</td>
<td></td>
<td><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=pending&from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>4</td>
<td class="col-fixed col-fixed-1">4</td>
<td style="font-weight:500;">赵德明-男-49</td>
<td>EMP20200312</td>
<td>人力资源部</td>
@@ -242,10 +253,10 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-03-14 22:18:05</td>
<td>2026-03-17 09:15:33</td>
<td><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed&from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>5</td>
<td class="col-fixed col-fixed-1">5</td>
<td style="font-weight:500;">张丽华-女-45</td>
<td>EMP20220089</td>
<td>综合管理部</td>
@@ -258,7 +269,7 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-02-18 10:25:41</td>
<td>2026-02-22 11:08:22</td>
<td><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed&from=archive-unit">详细过程</a></td>
</tr>
</tbody>
</table>
@@ -341,7 +352,7 @@
<td>西安交大一附院</td>
<td>心内科</td>
<td>2026-03-28 09:30</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-blue">已确认</span></td>
</tr>
<tr>
<td>3</td>
@@ -84,7 +84,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -204,7 +204,7 @@
<td>赵驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="center-work-order-detail.html">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>2</td>
@@ -219,7 +219,7 @@
<td>陈驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="center-work-order-detail.html">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>3</td>
@@ -234,7 +234,7 @@
<td>吴驻场</td>
<td><span class="tag tag-blue">进行中</span></td>
<td>事后补单</td>
<td><a class="link" href="center-work-order-detail.html">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>4</td>
@@ -249,7 +249,7 @@
<td>郑驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="center-work-order-detail.html">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive-unit">详细过程</a></td>
</tr>
<tr>
<td>5</td>
@@ -264,7 +264,7 @@
<td>黄驻场</td>
<td><span class="tag tag-green">已完成</span></td>
<td>正常派单</td>
<td><a class="link" href="center-work-order-detail.html">详细过程</a></td>
<td><a class="link" href="center-work-order-detail.html?from=archive-unit">详细过程</a></td>
</tr>
</tbody>
</table>
@@ -72,7 +72,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html" class="active">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -93,7 +93,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -105,10 +105,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -146,7 +146,7 @@
<!-- 主内容区域 -->
<main class="main">
<div class="breadcrumb">
<a href="center-basic-info.html">基本信息</a>
<a href="center-basic-info.html">应急中心</a>
<span>/</span>
<span>新增应急中心</span>
</div>
@@ -202,6 +202,10 @@
<div class="form-label"><span class="required">*</span>中心电话</div>
<input class="form-input" type="tel" placeholder="请输入中心电话">
</div>
<div class="form-row">
<div class="form-label">云坐席电话</div>
<input class="form-input" type="tel" placeholder="02988888888转1">
</div>
<div class="form-row">
<div class="form-label"><span class="required">*</span>值班电话</div>
<div class="dynamic-group" id="dutyPhoneGroup">
@@ -37,11 +37,11 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<script>
var drawerData={
'西安应急中心':{name:'西安应急中心',screen:'长庆油田西安应急指挥中心',abbr:'西安中心',unit:'长庆油田公司',route:'/screen/xa-center',addr:'陕西省西安市未央区长庆路',phone:'029-86518000',dutyPhones:['029-86518111','029-86518222'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['长庆油田公司机关','采油一厂','勘探开发研究院'],leader:'张建国',leaderPhone:'13891025612',buildDate:'2018-03-15',useDate:'2018-06-01',amount:'580.00'},
'庆阳应急中心':{name:'庆阳应急中心',screen:'长庆油田庆阳应急指挥中心',abbr:'庆阳中心',unit:'采油一厂',route:'/screen/qy-center',addr:'甘肃省庆阳市西峰区长庆大道',phone:'0934-8612000',dutyPhones:['0934-8612111'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['采油一厂','供水供电处'],leader:'李明华',leaderPhone:'13993287456',buildDate:'2019-05-20',useDate:'2019-09-01',amount:'320.00'},
'定边应急中心':{name:'定边应急中心',screen:'长庆油田定边应急指挥中心',abbr:'定边中心',unit:'采油二厂',route:'/screen/db-center',addr:'陕西省榆林市定边县长庆路',phone:'0912-4218000',dutyPhones:['0912-4218111'],workTimes:['08:30 ~ 12:00','14:00 ~ 17:30'],services:['采油二厂'],leader:'王秀英',leaderPhone:'13709451823',buildDate:'2020-01-10',useDate:'2020-04-15',amount:'260.00'},
'靖边应急中心':{name:'靖边应急中心',screen:'长庆油田靖边应急指挥中心',abbr:'靖边中心',unit:'采油二厂',route:'/screen/jb-center',addr:'陕西省榆林市靖边县长庆路',phone:'0912-4618000',dutyPhones:['0912-4618111'],workTimes:['08:30 ~ 12:00','14:00 ~ 17:30'],services:['采油二厂'],leader:'赵志远',leaderPhone:'13689723156',buildDate:'2021-06-01',useDate:'2021-10-01',amount:'210.00'},
'银川应急中心':{name:'银川应急中心',screen:'长庆油田银川应急指挥中心',abbr:'银川中心',unit:'长庆油田公司',route:'/screen/yc-center',addr:'宁夏银川市兴庆区长庆大道',phone:'0951-5018000',dutyPhones:['0951-5018111','0951-5018222'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['采气一厂','油田运输处'],leader:'刘海燕',leaderPhone:'13521648790',buildDate:'2019-11-20',useDate:'2020-03-01',amount:'420.00'}
'西安应急中心':{name:'西安应急中心',screen:'长庆油田西安应急指挥中心',abbr:'西安中心',unit:'长庆油田公司',route:'/screen/xa-center',addr:'陕西省西安市未央区长庆路',phone:'029-86518000',cloudPhone:'02988888888转1',dutyPhones:['029-86518111','029-86518222'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['长庆油田公司机关','采油一厂','勘探开发研究院'],leader:'张建国',leaderPhone:'13891025612',buildDate:'2018-03-15',useDate:'2018-06-01',amount:'580.00'},
'庆阳应急中心':{name:'庆阳应急中心',screen:'长庆油田庆阳应急指挥中心',abbr:'庆阳中心',unit:'采油一厂',route:'/screen/qy-center',addr:'甘肃省庆阳市西峰区长庆大道',phone:'0934-8612000',cloudPhone:'09348888888转2',dutyPhones:['0934-8612111'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['采油一厂','供水供电处'],leader:'李明华',leaderPhone:'13993287456',buildDate:'2019-05-20',useDate:'2019-09-01',amount:'320.00'},
'定边应急中心':{name:'定边应急中心',screen:'长庆油田定边应急指挥中心',abbr:'定边中心',unit:'采油二厂',route:'/screen/db-center',addr:'陕西省榆林市定边县长庆路',phone:'0912-4218000',cloudPhone:'09128888888转3',dutyPhones:['0912-4218111'],workTimes:['08:30 ~ 12:00','14:00 ~ 17:30'],services:['采油二厂'],leader:'王秀英',leaderPhone:'13709451823',buildDate:'2020-01-10',useDate:'2020-04-15',amount:'260.00'},
'靖边应急中心':{name:'靖边应急中心',screen:'长庆油田靖边应急指挥中心',abbr:'靖边中心',unit:'采油二厂',route:'/screen/jb-center',addr:'陕西省榆林市靖边县长庆路',phone:'0912-4618000',cloudPhone:'09128888888转4',dutyPhones:['0912-4618111'],workTimes:['08:30 ~ 12:00','14:00 ~ 17:30'],services:['采油二厂'],leader:'赵志远',leaderPhone:'13689723156',buildDate:'2021-06-01',useDate:'2021-10-01',amount:'210.00'},
'银川应急中心':{name:'银川应急中心',screen:'长庆油田银川应急指挥中心',abbr:'银川中心',unit:'长庆油田公司',route:'/screen/yc-center',addr:'宁夏银川市兴庆区长庆大道',phone:'0951-5018000',cloudPhone:'09518888888转5',dutyPhones:['0951-5018111','0951-5018222'],workTimes:['08:00 ~ 12:00','14:00 ~ 18:00'],services:['采气一厂','油田运输处'],leader:'刘海燕',leaderPhone:'13521648790',buildDate:'2019-11-20',useDate:'2020-03-01',amount:'420.00'}
};
function render(){
@@ -66,6 +66,7 @@ function render(){
h+='<div class="detail__section"><div class="detail__section-title"><svg viewBox="0 0 16 16" fill="none"><path d="M10 2a2 2 0 012 2v1a2 2 0 01-2 2H6a2 2 0 01-2-2V4a2 2 0 012-2" stroke="currentColor" stroke-width="1.4"/><path d="M4 7v5a3 3 0 003 3h2a3 3 0 003-3V7" stroke="currentColor" stroke-width="1.4"/></svg>联系与运营信息</div>';
h+='<div class="info-grid">';
h+='<div class="info-item"><div class="info-item__label">中心电话</div><div class="info-item__value"><a href="tel:'+d.phone+'">'+d.phone+'</a></div></div>';
h+='<div class="info-item"><div class="info-item__label">云坐席电话</div><div class="info-item__value">'+(d.cloudPhone?'<a href="tel:'+d.cloudPhone+'">'+d.cloudPhone+'</a>':'—')+'</div></div>';
h+='<div class="info-item"><div class="info-item__label">值班电话</div><div class="info-item__value">'+d.dutyPhones.map(function(p){return '<a href="tel:'+p+'">'+p+'</a>';}).join('<br>')+'</div></div>';
h+='<div class="info-item"><div class="info-item__label">负责人</div><div class="info-item__value">'+d.leader+'</div></div>';
h+='<div class="info-item"><div class="info-item__label">负责电话</div><div class="info-item__value"><a href="tel:'+d.leaderPhone+'">'+d.leaderPhone+'</a></div></div>';
@@ -48,7 +48,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
.table-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;}
.table-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);}
.table-card__title{font-size:var(--font-base);font-weight:600;}
.table-card__content{overflow-x:auto;overflow-y:hidden;}
.table-card__content{overflow-x:auto;overflow-y:hidden;position:relative;}
.table-card__content table{min-width:100%;white-space:nowrap;border-collapse:separate;border-spacing:0;}
table{width:100%;border-collapse:separate;border-spacing:0;}
thead th{background:#FAFAFA;padding:12px 16px;text-align:left;font-size:var(--font-sm);color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap;position:relative;}
@@ -56,19 +56,28 @@ tbody td{padding:14px 16px;font-size:var(--font-sm);border-bottom:1px solid var(
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover td{background:#F8FBFF;}
/* 固定列 */
thead th.sticky-left,tbody td.sticky-left{position:sticky;z-index:2;background:#fff;}
thead th.sticky-left,tbody td.sticky-left{position:sticky;z-index:2;background:#fff;background-clip:padding-box;}
thead th.sticky-left{background:#FAFAFA;z-index:3;}
tbody tr:hover td.sticky-left{background:#F8FBFF;}
thead th.sticky-right,tbody td.sticky-right{position:sticky;right:0;z-index:2;background:#fff;}
thead th.sticky-right{background:#FAFAFA;z-index:3;}
thead th.sticky-right,tbody td.sticky-right{position:sticky;background:#fff;background-clip:padding-box;}
thead th.sticky-right{background:#FAFAFA;z-index:8;}
tbody td.sticky-right{z-index:6;}
tbody tr:hover td.sticky-right{background:#F8FBFF;}
.sticky-shadow-right{box-shadow:-2px 0 4px rgba(0,0,0,0.06);}
thead th.sticky-right-1,tbody td.sticky-right-1{right:0;}
thead th.sticky-right-2,tbody td.sticky-right-2{right:210px;}
thead th.sticky-right-3,tbody td.sticky-right-3{right:314px;}
.sticky-col-actions{min-width:210px;width:210px;max-width:210px;}
.sticky-col-default{min-width:104px;width:104px;max-width:104px;text-align:center;}
.sticky-col-status{min-width:104px;width:104px;max-width:104px;text-align:center;}
.sticky-shadow-right-start{box-shadow:-4px 0 10px rgba(0,0,0,0.08);}
.sticky-shadow-left{box-shadow:2px 0 4px rgba(0,0,0,0.06);}
.action-btns{display:flex;gap:8px;align-items:center;}
.action-btns{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap;}
.link{color:var(--primary);cursor:pointer;font-size:var(--font-sm);text-decoration:none;}
.link:hover{color:#40a9ff;}
.link-danger{color:var(--danger);cursor:pointer;font-size:var(--font-sm);}
.link-danger:hover{color:#ff7875;}
.count-link{display:inline-block;color:var(--primary);cursor:pointer;font-size:var(--font-sm);font-weight:600;text-decoration:none;}
.count-link:hover{color:#40a9ff;}
.pagination{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;gap:8px;border-top:1px solid var(--border);}
.pagination span{font-size:var(--font-sm);color:var(--text-secondary);}
.page-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:var(--font-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .2s;}
@@ -77,6 +86,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
.switch::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;}
.switch.on{background:var(--success);}
.switch.on::after{transform:translateX(16px);}
.center-cell{text-align:center;}
/* 账号弹窗 */
.account-modal{width:880px;max-height:82vh;}
.account-modal .modal__body{display:block;padding:0;overflow:auto;}
.account-summary{padding:16px 24px 0;font-size:var(--font-sm);color:var(--text-secondary);}
.account-table-wrap{padding:16px 24px 20px;max-height:60vh;overflow:auto;}
.account-table{width:100%;border-collapse:separate;border-spacing:0;}
.account-table th{background:#FAFAFA;padding:12px 14px;text-align:left;font-size:var(--font-sm);color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap;}
.account-table td{padding:12px 14px;font-size:var(--font-sm);border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;}
.account-table tr:last-child td{border-bottom:none;}
.account-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:var(--font-sm);font-weight:600;}
/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;display:none;align-items:center;justify-content:center;}
@@ -110,6 +131,9 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
.transfer__actions{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;flex-shrink:0;}
.transfer__arrow{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;}
/* 分组表头 */
thead th.group-header{background:#F0F5FF;color:var(--primary);text-align:center;font-weight:600;border-bottom:1px solid #d6e4ff;}
/* 右侧抽屉 */
.drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:300;display:none;}.drawer-mask.open{display:block;}
.drawer{position:fixed;top:0;right:-560px;bottom:0;width:560px;background:#fff;z-index:301;box-shadow:-4px 0 16px rgba(0,0,0,0.12);display:flex;flex-direction:column;transition:right .3s ease;}.drawer.open{right:0;}
@@ -131,7 +155,7 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -146,10 +170,10 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -235,21 +259,27 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<table>
<thead>
<tr>
<th class="sticky-left" style="left:0;min-width:50px;">序号</th>
<th class="sticky-left" style="left:50px;min-width:140px;">应急中心名称</th>
<th class="sticky-left sticky-shadow-left" style="left:190px;min-width:120px;">大屏标题</th>
<th>简称</th>
<th>管理单位</th>
<th>中心电话</th>
<th>值班电话</th>
<th>详细地址</th>
<th>负责人</th>
<th>负责人电话</th>
<th>操作人员人数</th>
<th>专业人员人数</th>
<th>开启状态</th>
<th>是否默认中心</th>
<th class="sticky-right sticky-shadow-right" style="right:0;min-width:220px;">操作</th>
<th class="sticky-left" style="left:0;min-width:50px;" rowspan="2">序号</th>
<th class="sticky-left" style="left:50px;min-width:140px;" rowspan="2">应急中心名称</th>
<th class="sticky-left sticky-shadow-left" style="left:190px;min-width:120px;" rowspan="2">大屏标题</th>
<th rowspan="2">简称</th>
<th rowspan="2">管理单位</th>
<th rowspan="2">中心电话</th>
<th rowspan="2">云坐席电话</th>
<th rowspan="2">值班电话</th>
<th rowspan="2">详细地址</th>
<th rowspan="2">负责人</th>
<th rowspan="2">负责人电话</th>
<th colspan="4" class="group-header">账号信息</th>
<th class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell" rowspan="2">开启状态</th>
<th class="sticky-right sticky-right-2 sticky-col-default center-cell" rowspan="2">是否默认中心</th>
<th class="sticky-right sticky-right-1 sticky-col-actions" rowspan="2">操作</th>
</tr>
<tr>
<th>操作人员</th>
<th>专业人员</th>
<th>管理员</th>
<th>大屏账号</th>
</tr>
</thead>
<tbody>
@@ -260,15 +290,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<td>西安中心</td>
<td>长庆油田公司</td>
<td>029-86518000</td>
<td>02988888888转1</td>
<td>029-86518111</td>
<td>陕西省西安市未央区长庆路</td>
<td>张建国</td>
<td>13891025612</td>
<td>12</td>
<td>8</td>
<td><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td><span class="tag tag-blue">默认</span></td>
<td class="sticky-right sticky-shadow-right" style="right:0;"><div class="action-btns"><span class="link" onclick="openModal('西安应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('西安应急中心')">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><span class="count-link" onclick="openAccountModal('西安应急中心','operators')">12</span></td>
<td><span class="count-link" onclick="openAccountModal('西安应急中心','specialists')">8</span></td>
<td><span class="count-link" onclick="openAccountModal('西安应急中心','admins')">3</span></td>
<td><span class="count-link" onclick="openAccountModal('西安应急中心','screens')">2</span></td>
<td class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell"><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td class="sticky-right sticky-right-2 sticky-col-default center-cell"><button class="switch on js-default-switch" data-center="西安应急中心" onclick="setDefaultCenter('西安应急中心',this)"></button></td>
<td class="sticky-right sticky-right-1 sticky-col-actions"><div class="action-btns"><span class="link" onclick="openModal('西安应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('西安应急中心')">详情</span><a class="link" href="center-basic-info-add.html?id=1&name=西安应急中心">编辑</a></div></td>
</tr>
<tr>
<td class="sticky-left" style="left:0;">2</td>
@@ -277,15 +310,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<td>庆阳中心</td>
<td>采油一厂</td>
<td>0934-8612000</td>
<td>09348888888转2</td>
<td>0934-8612111</td>
<td>甘肃省庆阳市西峰区长庆大道</td>
<td>李明华</td>
<td>13993287456</td>
<td>8</td>
<td>5</td>
<td><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td><span class="tag tag-gray"></span></td>
<td class="sticky-right sticky-shadow-right" style="right:0;"><div class="action-btns"><span class="link" onclick="openModal('庆阳应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('庆阳应急中心')">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><span class="count-link" onclick="openAccountModal('庆阳应急中心','operators')">8</span></td>
<td><span class="count-link" onclick="openAccountModal('庆阳应急中心','specialists')">5</span></td>
<td><span class="count-link" onclick="openAccountModal('庆阳应急中心','admins')">2</span></td>
<td><span class="count-link" onclick="openAccountModal('庆阳应急中心','screens')">1</span></td>
<td class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell"><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td class="sticky-right sticky-right-2 sticky-col-default center-cell"><button class="switch js-default-switch" data-center="庆阳应急中心" onclick="setDefaultCenter('庆阳应急中心',this)"></button></td>
<td class="sticky-right sticky-right-1 sticky-col-actions"><div class="action-btns"><span class="link" onclick="openModal('庆阳应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('庆阳应急中心')">详情</span><a class="link" href="center-basic-info-add.html?id=2&name=庆阳应急中心">编辑</a></div></td>
</tr>
<tr>
<td class="sticky-left" style="left:0;">3</td>
@@ -294,15 +330,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<td>定边中心</td>
<td>采油二厂</td>
<td>0912-4218000</td>
<td>09128888888转3</td>
<td>0912-4218111</td>
<td>陕西省榆林市定边县长庆路</td>
<td>王秀英</td>
<td>13709451823</td>
<td>6</td>
<td>4</td>
<td><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td><span class="tag tag-gray"></span></td>
<td class="sticky-right sticky-shadow-right" style="right:0;"><div class="action-btns"><span class="link" onclick="openModal('定边应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('定边应急中心')">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><span class="count-link" onclick="openAccountModal('定边应急中心','operators')">6</span></td>
<td><span class="count-link" onclick="openAccountModal('定边应急中心','specialists')">4</span></td>
<td><span class="count-link" onclick="openAccountModal('定边应急中心','admins')">2</span></td>
<td><span class="count-link" onclick="openAccountModal('定边应急中心','screens')">1</span></td>
<td class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell"><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td class="sticky-right sticky-right-2 sticky-col-default center-cell"><button class="switch js-default-switch" data-center="定边应急中心" onclick="setDefaultCenter('定边应急中心',this)"></button></td>
<td class="sticky-right sticky-right-1 sticky-col-actions"><div class="action-btns"><span class="link" onclick="openModal('定边应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('定边应急中心')">详情</span><a class="link" href="center-basic-info-add.html?id=3&name=定边应急中心">编辑</a></div></td>
</tr>
<tr>
<td class="sticky-left" style="left:0;">4</td>
@@ -311,15 +350,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<td>靖边中心</td>
<td>采油二厂</td>
<td>0912-4618000</td>
<td>09128888888转4</td>
<td>0912-4618111</td>
<td>陕西省榆林市靖边县长庆路</td>
<td>赵志远</td>
<td>13689723156</td>
<td>5</td>
<td>3</td>
<td><button class="switch" onclick="this.classList.toggle('on')"></button></td>
<td><span class="tag tag-gray"></span></td>
<td class="sticky-right sticky-shadow-right" style="right:0;"><div class="action-btns"><span class="link" onclick="openModal('靖边应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('靖边应急中心')">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><span class="count-link" onclick="openAccountModal('靖边应急中心','operators')">5</span></td>
<td><span class="count-link" onclick="openAccountModal('靖边应急中心','specialists')">3</span></td>
<td><span class="count-link" onclick="openAccountModal('靖边应急中心','admins')">1</span></td>
<td><span class="count-link" onclick="openAccountModal('靖边应急中心','screens')">1</span></td>
<td class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell"><button class="switch" onclick="this.classList.toggle('on')"></button></td>
<td class="sticky-right sticky-right-2 sticky-col-default center-cell"><button class="switch js-default-switch" data-center="靖边应急中心" onclick="setDefaultCenter('靖边应急中心',this)"></button></td>
<td class="sticky-right sticky-right-1 sticky-col-actions"><div class="action-btns"><span class="link" onclick="openModal('靖边应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('靖边应急中心')">详情</span><a class="link" href="center-basic-info-add.html?id=4&name=靖边应急中心">编辑</a></div></td>
</tr>
<tr>
<td class="sticky-left" style="left:0;">5</td>
@@ -328,15 +370,18 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<td>银川中心</td>
<td>长庆油田公司</td>
<td>0951-5018000</td>
<td>09518888888转5</td>
<td>0951-5018111</td>
<td>宁夏银川市兴庆区长庆大道</td>
<td>刘海燕</td>
<td>13521648790</td>
<td>7</td>
<td>5</td>
<td><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td><span class="tag tag-gray"></span></td>
<td class="sticky-right sticky-shadow-right" style="right:0;"><div class="action-btns"><span class="link" onclick="openModal('银川应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('银川应急中心')">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><span class="count-link" onclick="openAccountModal('银川应急中心','operators')">7</span></td>
<td><span class="count-link" onclick="openAccountModal('银川应急中心','specialists')">5</span></td>
<td><span class="count-link" onclick="openAccountModal('银川应急中心','admins')">2</span></td>
<td><span class="count-link" onclick="openAccountModal('银川应急中心','screens')">1</span></td>
<td class="sticky-right sticky-right-3 sticky-shadow-right-start sticky-col-status center-cell"><button class="switch on" onclick="this.classList.toggle('on')"></button></td>
<td class="sticky-right sticky-right-2 sticky-col-default center-cell"><button class="switch js-default-switch" data-center="银川应急中心" onclick="setDefaultCenter('银川应急中心',this)"></button></td>
<td class="sticky-right sticky-right-1 sticky-col-actions"><div class="action-btns"><span class="link" onclick="openModal('银川应急中心')">关联医疗点</span><span class="link" onclick="openDrawer('银川应急中心')">详情</span><a class="link" href="center-basic-info-add.html?id=5&name=银川应急中心">编辑</a></div></td>
</tr>
</tbody>
</table>
@@ -406,6 +451,46 @@ tbody tr:hover td.sticky-right{background:#F8FBFF;}
<div class="drawer__body"><iframe id="drawerIframe"></iframe></div>
</div>
<!-- 账号列表弹窗 -->
<div class="modal-mask" id="accountModalMask" onclick="if(event.target===this)closeAccountModal()">
<div class="modal account-modal">
<div class="modal__header">
<div class="modal__title" id="accountModalTitle">账号列表</div>
<button class="modal__close" onclick="closeAccountModal()">&times;</button>
</div>
<div class="modal__body">
<div class="account-summary" id="accountModalSummary"></div>
<div class="account-table-wrap">
<table class="account-table">
<thead id="accountTableHead"></thead>
<tbody id="accountTableBody"></tbody>
</table>
</div>
</div>
<div class="modal__footer">
<button class="btn btn-default" onclick="closeAccountModal()">关 闭</button>
</div>
</div>
</div>
<!-- 设为默认中心二次确认弹窗 -->
<div class="modal-mask" id="confirmDefaultMask" onclick="if(event.target===this)closeConfirmDefault()">
<div class="modal" style="width:420px;">
<div class="modal__header">
<div class="modal__title">提示</div>
<button class="modal__close" onclick="closeConfirmDefault()">&times;</button>
</div>
<div class="modal__body" style="padding:24px;text-align:center;">
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" style="margin-bottom:12px;"><circle cx="24" cy="24" r="22" stroke="#FAAD14" stroke-width="3" fill="#FFFBE6"/><path d="M24 14v14" stroke="#FAAD14" stroke-width="3" stroke-linecap="round"/><circle cx="24" cy="34" r="2" fill="#FAAD14"/></svg>
<div id="confirmDefaultMsg" style="font-size:var(--font-base);color:var(--text-primary);margin-top:8px;"></div>
</div>
<div class="modal__footer" style="justify-content:center;gap:16px;">
<button class="btn btn-default" onclick="closeConfirmDefault()">取 消</button>
<button class="btn btn-primary" onclick="doSetDefault()">确 定</button>
</div>
</div>
</div>
<script>
var allPoints=[
{name:'长庆油田总部医疗点',unit:'长庆油田公司',addr:'西安市未央区长庆路总部大楼1层'},
@@ -428,6 +513,113 @@ var centerData={
};
var currentCenter='';
var linkedIndexes=[];
var accountTypeLabels={operators:'操作人员账号列表',specialists:'专业人员账号列表',admins:'管理员账号列表',screens:'大屏账号列表'};
var accountColumns={
operators:['账号','姓名','图像','手机号','账号状态'],
specialists:['账号','姓名','图像','手机号','职称','职务','账号状态'],
admins:['账号','姓名','账号状态'],
screens:['账号','姓名','账号状态']
};
var nameSeeds=['张伟','王磊','李娜','赵敏','刘洋','陈静','杨帆','黄涛','周倩','吴凯','徐丽','孙博','马宁','朱琳','胡健','郭颖'];
var titleSeeds=['主治医师','副主任医师','主任医师','护师','主管护师','医师'];
var dutySeeds=['接诊医生','急救专员','值班护士','会诊专家','调度专员','联络员'];
function createAvatar(name){
return '<span class="account-avatar">'+name.slice(-1)+'</span>';
}
function createStatusTag(status){
return '<span class="tag '+(status==='激活'?'tag-green':'tag-gray')+'">'+status+'</span>';
}
function buildOperators(center, count){
var list=[];
for(var i=0;i<count;i++){
var name=nameSeeds[i%nameSeeds.length];
list.push({
account:'OP'+(1000+i),
name:name,
avatar:createAvatar(name),
mobile:'1380000'+String(1000+i).slice(-4),
status:i%4===3?'锁定':'激活'
});
}
return list;
}
function buildSpecialists(center, count){
var list=[];
for(var i=0;i<count;i++){
var name=nameSeeds[(i+3)%nameSeeds.length];
list.push({
account:'SP'+(2000+i),
name:name,
avatar:createAvatar(name),
mobile:'1390000'+String(2000+i).slice(-4),
title:titleSeeds[i%titleSeeds.length],
duty:dutySeeds[i%dutySeeds.length],
status:i%5===4?'锁定':'激活'
});
}
return list;
}
function buildAdmins(count){
var list=[];
for(var i=0;i<count;i++){
var name=nameSeeds[(i+6)%nameSeeds.length];
list.push({account:'AD'+(3000+i),name:name,status:i===count-1&&count>1?'锁定':'激活'});
}
return list;
}
function buildScreens(count){
var list=[];
for(var i=0;i<count;i++){
var name='大屏账号'+(i+1);
list.push({account:'SC'+(4000+i),name:name,status:i===0?'激活':'锁定'});
}
return list;
}
var accountData={
'西安应急中心':{operators:buildOperators('西安应急中心',12),specialists:buildSpecialists('西安应急中心',8),admins:buildAdmins(3),screens:buildScreens(2)},
'庆阳应急中心':{operators:buildOperators('庆阳应急中心',8),specialists:buildSpecialists('庆阳应急中心',5),admins:buildAdmins(2),screens:buildScreens(1)},
'定边应急中心':{operators:buildOperators('定边应急中心',6),specialists:buildSpecialists('定边应急中心',4),admins:buildAdmins(2),screens:buildScreens(1)},
'靖边应急中心':{operators:buildOperators('靖边应急中心',5),specialists:buildSpecialists('靖边应急中心',3),admins:buildAdmins(1),screens:buildScreens(1)},
'银川应急中心':{operators:buildOperators('银川应急中心',7),specialists:buildSpecialists('银川应急中心',5),admins:buildAdmins(2),screens:buildScreens(1)}
};
var _pendingDefaultBtn=null;
function setDefaultCenter(centerName,btn){
if(btn.classList.contains('on')) return;
_pendingDefaultBtn=btn;
document.getElementById('confirmDefaultMsg').textContent='是否将「'+centerName+'」设为默认应急中心?';
document.getElementById('confirmDefaultMask').classList.add('open');
}
function doSetDefault(){
if(_pendingDefaultBtn){
var switches=document.querySelectorAll('.js-default-switch');
switches.forEach(function(item){item.classList.remove('on');});
_pendingDefaultBtn.classList.add('on');
_pendingDefaultBtn=null;
}
closeConfirmDefault();
}
function closeConfirmDefault(){
document.getElementById('confirmDefaultMask').classList.remove('open');
_pendingDefaultBtn=null;
}
function openAccountModal(centerName,type){
var rows=((accountData[centerName]||{})[type]||[]);
var columns=accountColumns[type]||[];
document.getElementById('accountModalTitle').textContent=centerName+' - '+accountTypeLabels[type];
document.getElementById('accountModalSummary').textContent='共 '+rows.length+' 条';
document.getElementById('accountTableHead').innerHTML='<tr>'+columns.map(function(col){return '<th>'+col+'</th>';}).join('')+'</tr>';
document.getElementById('accountTableBody').innerHTML=rows.map(function(row){
if(type==='operators') return '<tr><td>'+row.account+'</td><td>'+row.name+'</td><td>'+row.avatar+'</td><td>'+row.mobile+'</td><td>'+createStatusTag(row.status)+'</td></tr>';
if(type==='specialists') return '<tr><td>'+row.account+'</td><td>'+row.name+'</td><td>'+row.avatar+'</td><td>'+row.mobile+'</td><td>'+row.title+'</td><td>'+row.duty+'</td><td>'+createStatusTag(row.status)+'</td></tr>';
return '<tr><td>'+row.account+'</td><td>'+row.name+'</td><td>'+createStatusTag(row.status)+'</td></tr>';
}).join('');
document.getElementById('accountModalMask').classList.add('open');
}
function closeAccountModal(){
document.getElementById('accountModalMask').classList.remove('open');
}
function openModal(name){
currentCenter=name;
@@ -85,7 +85,7 @@ tbody tr:hover{background:#F8FBFF;}
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -100,10 +100,10 @@ tbody tr:hover{background:#F8FBFF;}
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -92,7 +92,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -107,10 +107,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -102,7 +102,7 @@ tbody tr:hover{background:#F8FBFF;}
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -117,10 +117,10 @@ tbody tr:hover{background:#F8FBFF;}
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -174,14 +174,9 @@ tbody tr:hover{background:#F8FBFF;}
<label>坐席状态</label>
<select class="filter-select">
<option>全部</option>
<option>已接</option>
<option>振铃未接听</option>
<option>ivr放弃</option>
<option>排队放弃</option>
<option>黑名单</option>
<option>留言</option>
<option>并发限制</option>
<option>失败</option>
<option>离线</option>
<option>忙碌</option>
<option>空闲</option>
</select>
</div>
<button class="btn btn-primary">
@@ -219,7 +214,7 @@ tbody tr:hover{background:#F8FBFF;}
<td>1</td>
<td>ZX-10001</td>
<td>长庆油田应急中心</td>
<td><span class="tag tag-green">已接</span></td>
<td><span class="tag tag-green">空闲</span></td>
<td>
<div class="action-btns">
<a class="link">编辑</a>
@@ -231,7 +226,7 @@ tbody tr:hover{background:#F8FBFF;}
<td>2</td>
<td>ZX-10002</td>
<td>长庆油田应急中心</td>
<td><span class="tag tag-orange">振铃未接听</span></td>
<td><span class="tag tag-orange">忙碌</span></td>
<td>
<div class="action-btns">
<a class="link">编辑</a>
@@ -243,7 +238,7 @@ tbody tr:hover{background:#F8FBFF;}
<td>3</td>
<td>ZX-10003</td>
<td>西安基地应急中心</td>
<td><span class="tag tag-red">失败</span></td>
<td><span class="tag tag-gray">离线</span></td>
<td>
<div class="action-btns">
<a class="link">编辑</a>
@@ -255,7 +250,7 @@ tbody tr:hover{background:#F8FBFF;}
<td>4</td>
<td>ZX-10004</td>
<td>西安基地应急中心</td>
<td><span class="tag tag-gray">排队放弃</span></td>
<td><span class="tag tag-green">空闲</span></td>
<td>
<div class="action-btns">
<a class="link">编辑</a>
@@ -267,7 +262,7 @@ tbody tr:hover{background:#F8FBFF;}
<td>5</td>
<td>ZX-10005</td>
<td>长庆油田应急中心</td>
<td><span class="tag tag-blue">留言</span></td>
<td><span class="tag tag-orange">忙碌</span></td>
<td>
<div class="action-btns">
<a class="link">编辑</a>
@@ -98,7 +98,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -113,10 +113,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -56,6 +56,49 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
.photo-item__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:var(--font-xs);opacity:.6;}
.photo-item__icon{display:flex;flex-direction:column;align-items:center;gap:4px;}
.photo-item__icon svg{width:24px;height:24px;opacity:.5;}
/* 状态变体 */
.status--pending{color:var(--warning);}
.status--cancelled{color:var(--text-placeholder);}
/* 操作按钮栏 */
.action-bar{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border);margin-top:12px;}
.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 20px;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text-primary);transition:all .15s;font-family:inherit;}
.btn:hover{border-color:var(--primary);color:var(--primary);}
.btn--primary{background:var(--primary);color:#fff;border-color:var(--primary);}
.btn--primary:hover{background:#40a9ff;border-color:#40a9ff;color:#fff;}
.btn--danger{border-color:var(--danger);color:var(--danger);}
.btn--danger:hover{background:var(--danger);color:#fff;}
/* 弹窗通用 */
.modal-mask{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.45);z-index:1000;align-items:center;justify-content:center;}
.modal-mask.open{display:flex;}
.modal-box{background:#fff;border-radius:var(--radius-md);width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 4px 24px rgba(0,0,0,0.18);}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);}
.modal-title{font-size:var(--font-base);font-weight:600;}
.modal-close{width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,0.04);border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .15s;}
.modal-close:hover{background:rgba(0,0,0,0.08);color:#333;}
.modal-body{flex:1;overflow-y:auto;padding:24px;}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;}
/* 表单项 */
.field{margin-bottom:20px;}
.field:last-child{margin-bottom:0;}
.field__label{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:4px;}
.field__label .req{color:var(--danger);}
.field__textarea{width:100%;min-height:80px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--font-sm);outline:none;resize:vertical;font-family:inherit;line-height:1.6;}
.field__textarea:focus{border-color:var(--primary);}
/* 可搜索下拉 */
.sel-search{position:relative;}
.sel-search__input{width:100%;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 32px 0 12px;font-size:var(--font-sm);outline:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%23999' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;}
.sel-search__input:focus{border-color:var(--primary);}
.sel-search__drop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px rgba(0,0,0,0.12);z-index:10;max-height:200px;overflow-y:auto;}
.sel-search__drop.open{display:block;}
.sel-search__opt{padding:10px 12px;cursor:pointer;transition:background .12s;border-bottom:1px solid #f5f5f5;}
.sel-search__opt:last-child{border-bottom:none;}
.sel-search__opt:hover{background:var(--primary-light);}
.sel-search__opt.selected{background:var(--primary-light);color:var(--primary);}
.sel-search__name{font-size:var(--font-sm);color:var(--text-primary);font-weight:500;}
.sel-search__sub{font-size:var(--font-xs);color:var(--text-placeholder);margin-top:2px;}
.sel-search__empty{padding:16px;text-align:center;font-size:var(--font-xs);color:var(--text-placeholder);}
.person-tel{margin-top:4px;font-size:var(--font-sm);color:var(--text-secondary);}
.person-tel a{color:var(--primary);text-decoration:none;}
</style>
</head>
<body>
@@ -68,7 +111,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -83,10 +126,10 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -130,76 +173,125 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<span>大病就医详情</span>
</div>
<!-- 工单信息 -->
<!-- 员工就医诉求 -->
<div class="card">
<div class="card__title">基本信息</div>
<div class="card__title">员工就医诉求</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">预约状态</span><span class="info-cell__value status status--done">已完成</span></div>
<div class="info-cell"><span class="info-cell__label">申请时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
<div class="info-cell"><span class="info-cell__label">派单时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
<div class="info-cell"><span class="info-cell__label">操作人员:</span><span class="info-cell__value">张旭</span></div>
<div class="info-cell"><span class="info-cell__label">派单说明:</span><span class="info-cell__value">请尽快挂号</span></div>
<div class="info-cell"><span class="info-cell__label">驻场人员:</span><span class="info-cell__value">王希(15899655523)</span></div>
<div class="info-cell"><span class="info-cell__label">完成时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
<div class="info-cell"><span class="info-cell__label">驻场说明:</span><span class="info-cell__value">张希医生6.24不值班,挂了其他医生的号</span></div>
<div class="photo-row"><span class="photo-row__label">驻场补充信息:</span><div class="photo-list"><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>挂号单</div></div></div><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>就诊现场</div></div></div><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>诊断报告</div></div></div></div></div>
</div>
</div>
<!-- 员工信息 -->
<div class="card">
<div class="card__title">员工预约信息</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">申请员工:</span><span class="info-cell__value">王旭-男-23</span></div>
<div class="info-cell"><span class="info-cell__label">申请员工</span><span class="info-cell__value">王旭-男-23</span></div>
<div class="info-cell"><span class="info-cell__label">员工编号:</span><span class="info-cell__value">256985</span></div>
<div class="info-cell"><span class="info-cell__label">单位部门:</span><span class="info-cell__value">第三采油厂-XXX作业区</span></div>
</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">预约医院:</span><span class="info-cell__value">空军军医大学西京医院</span></div>
<div class="info-cell"><span class="info-cell__label">预约科室:</span><span class="info-cell__value">神经内科</span></div>
<div class="info-cell"><span class="info-cell__label">预约医生:</span><span class="info-cell__value">张希(副主任医师)</span></div>
</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">申请时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
<div class="info-cell"><span class="info-cell__label">预约医院:</span><span class="info-cell__value">空军军医大学西京医院</span></div>
<div class="info-cell"><span class="info-cell__label">预约科室:</span><span class="info-cell__value">神经内科</span></div>
</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">预约医生:</span><span class="info-cell__value">张希(副主任医师)</span></div>
<div class="info-cell"><span class="info-cell__label">挂号类别:</span><span class="info-cell__value">专家号</span></div>
<div class="info-cell"><span class="info-cell__label">期望预约时间:</span><span class="info-cell__value">2026-06-24 17:30</span></div>
</div>
<div class="info-row">
<div class="info-cell"><span class="info-cell__label">病情描述:</span><span class="info-cell__value">头晕不舒服</span></div>
</div>
<!-- <div class="info-row">-->
<!-- <div class="info-cell"><span class="info-cell__label">手机号:</span><span class="info-cell__value">18566985523</span></div>-->
<!-- <div class="info-cell"><span class="info-cell__label">身份证号:</span><span class="info-cell__value">43062619650236</span></div>-->
<!-- </div>-->
</div>
<div class="info-row">
<div class="info-cell info-cell--full"><span class="info-cell__label">病情描述:</span><span class="info-cell__value">头晕不舒服</span></div>
</div>
</div>
<!-- 就诊信息 -->
<div class="card">
<div class="card__title">实际就诊信息</div>
<div class="info-row">
<!-- 就医详情 -->
<div class="card" id="detailCard">
<div class="card__title">就医详情</div>
<!-- 所有状态都显示 -->
<div class="info-row" data-group="all">
<div class="info-cell"><span class="info-cell__label">预约状态:</span><span class="info-cell__value status" id="statusText">已完成</span></div>
</div>
<!-- 已确认 / 已完成 显示 -->
<div class="info-row" data-group="confirmed completed">
<div class="info-cell"><span class="info-cell__label">派单时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
<div class="info-cell"><span class="info-cell__label">操作人员:</span><span class="info-cell__value">张旭</span></div>
<div class="info-cell"><span class="info-cell__label">派单说明:</span><span class="info-cell__value">请尽快挂号</span></div>
</div>
<div class="info-row" data-group="confirmed completed">
<div class="info-cell"><span class="info-cell__label">驻场人员:</span><span class="info-cell__value">王希(15899655523)</span></div>
</div>
<!-- 仅已完成显示 -->
<div class="info-row" data-group="completed">
<div class="info-cell"><span class="info-cell__label">完成时间:</span><span class="info-cell__value">2026-06-24 12:30:30</span></div>
</div>
<div class="info-row" data-group="completed">
<div class="info-cell info-cell--full"><span class="info-cell__label">驻场说明:</span><span class="info-cell__value">张希医生6.24不值班,挂了其他医生的号</span></div>
</div>
<div class="photo-row" data-group="completed"><span class="photo-row__label">驻场补充信息:</span><div class="photo-list"><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>挂号单</div></div></div><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>就诊现场</div></div></div><div class="photo-item"><div class="photo-item__placeholder"><div class="photo-item__icon"><svg viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="1.5"/><circle cx="8.5" cy="9.5" r="2" stroke="currentColor" stroke-width="1.5"/><path d="M2 17l5-4 3 2 5-5 7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>诊断报告</div></div></div></div></div>
<div class="info-row" data-group="completed">
<div class="info-cell"><span class="info-cell__label">就诊医院:</span><span class="info-cell__value">空军军医大学西京医院</span></div>
<div class="info-cell"><span class="info-cell__label">就诊科室:</span><span class="info-cell__value">神经内科</span></div>
<div class="info-cell"><span class="info-cell__label">就诊医生:</span><span class="info-cell__value">王胡(主治医师)</span></div>
</div>
<div class="info-row">
<div class="info-row" data-group="completed">
<div class="info-cell"><span class="info-cell__label">就诊时间:</span><span class="info-cell__value">2026-06-24 17:00~17:30</span></div>
<div class="info-cell"><span class="info-cell__label">就诊序号:</span><span class="info-cell__value">10</span></div>
</div>
<!-- 已取消显示 -->
<div class="info-row" data-group="cancelled">
<div class="info-cell"><span class="info-cell__label">取消人:</span><span class="info-cell__value">员工取消</span></div>
<div class="info-cell info-cell--full"><span class="info-cell__label">取消原因:</span><span class="info-cell__value">病情好转,暂不需要就医</span></div>
</div>
<!-- 待确认操作按钮 -->
<div class="action-bar" data-group="pending" id="pendingActions">
<button class="btn btn--danger" onclick="openRejectModal()">驳回</button>
<button class="btn btn--primary" onclick="openDispatchModal()">立即派单</button>
</div>
</div>
</div>
<!-- 驳回弹窗 -->
<div class="modal-mask" id="rejectModal" onclick="if(event.target===this)closeRejectModal()">
<div class="modal-box" style="width:480px;">
<div class="modal-header"><span class="modal-title">驳回申请</span><button class="modal-close" onclick="closeRejectModal()"></button></div>
<div class="modal-body">
<div class="field">
<div class="field__label">驳回原因<span class="req">*</span></div>
<textarea class="field__textarea" id="rejectReason" placeholder="请输入驳回原因..."></textarea>
</div>
</div>
<div class="modal-footer">
<button class="btn" onclick="closeRejectModal()">取消</button>
<button class="btn btn--primary" onclick="submitReject()">确认驳回</button>
</div>
</div>
</div>
<!-- 驻场派单弹窗 -->
<div class="modal-mask" id="dispatchModal" onclick="if(event.target===this)closeDispatchModal()">
<div class="modal-box" style="width:560px;">
<div class="modal-header"><span class="modal-title">驻场派单</span><button class="modal-close" onclick="closeDispatchModal()"></button></div>
<div class="modal-body">
<div class="field">
<div class="field__label">选择驻场人员<span class="req">*</span></div>
<div class="sel-search" id="personSelect">
<input class="sel-search__input" id="personInput" placeholder="姓名/医院搜索" autocomplete="off" onclick="togglePersonDrop()" oninput="filterPersons()">
<div class="sel-search__drop" id="personDrop"></div>
</div>
<div class="person-tel" id="personTelInfo" style="display:none;">联系电话:<a id="personTel" href=""></a></div>
</div>
<div class="field">
<div class="field__label">派单说明</div>
<textarea class="field__textarea" id="dispatchNote" placeholder="请输入派单说明..."></textarea>
</div>
</div>
<div class="modal-footer">
<button class="btn" onclick="closeDispatchModal()">取消</button>
<button class="btn btn--primary" onclick="submitDispatch()">确定派单</button>
</div>
</div>
</div>
<script>
(function(){
var params=new URLSearchParams(window.location.search);
var role=params.get('role');
/* 状态:pending=待确认, confirmed=已确认, completed=已完成, cancelled=已取消 */
var status=params.get('status')||'completed';
/* --- 角色切换(操作人员) --- */
if(role==='operator'){
document.title='应急就医 - 大病就医详情 | 健康长庆原型';
document.querySelector('.top-bar__logo').lastChild.textContent='\u00a0应急就医–操作人员';
@@ -217,7 +309,168 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
var bc=document.querySelector('.breadcrumb a');
if(bc)bc.href='center-serious-illness.html?role=operator';
}
/* --- 来源切换(档案页) --- */
var from=params.get('from');
if(from==='archive'){
/* 顶部导航:高亮"档案" */
document.querySelectorAll('.top-bar__nav a').forEach(function(a){
a.classList.remove('active');
if(a.getAttribute('href')==='archive-personal.html') a.classList.add('active');
});
/* 侧边栏:切换为档案侧边栏 */
document.querySelector('.sidebar').innerHTML=
'<div class="sidebar-group-title">档案</div>'+
'<a href="archive-personal.html" class="sidebar-item active">'+
'<svg viewBox="0 0 16 16" fill="none"><path d="M8 2a3 3 0 110 6 3 3 0 010-6zM3 14c0-2.8 2.2-5 5-5s5 2.2 5 5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>'+
'个人应急数据'+
'</a>'+
'<a href="archive-unit.html" class="sidebar-item">'+
'<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 8h6M5 10h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>'+
'单位报表数据'+
'</a>'+
'<a href="archive-center.html" class="sidebar-item">'+
'<svg viewBox="0 0 16 16" fill="none"><path d="M2 14V6l6-4 6 4v8" stroke="currentColor" stroke-width="1.4"/><path d="M6 14v-4h4v4" stroke="currentColor" stroke-width="1.2"/></svg>'+
'应急中心报表数据'+
'</a>';
/* 面包屑:返回档案大病就医列表 */
var bc=document.querySelector('.breadcrumb a');
if(bc){bc.href='archive-personal-detail-illness.html';bc.textContent='大病就医';}
}
if(from==='archive-unit'){
/* 顶部导航:高亮"档案" */
document.querySelectorAll('.top-bar__nav a').forEach(function(a){
a.classList.remove('active');
if(a.getAttribute('href')==='archive-personal.html') a.classList.add('active');
});
/* 侧边栏:切换为档案侧边栏,高亮单位报表数据 */
document.querySelector('.sidebar').innerHTML=
'<div class="sidebar-group-title">档案</div>'+
'<a href="archive-personal.html" class="sidebar-item">'+
'<svg viewBox="0 0 16 16" fill="none"><path d="M8 2a3 3 0 110 6 3 3 0 010-6zM3 14c0-2.8 2.2-5 5-5s5 2.2 5 5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>'+
'个人应急数据'+
'</a>'+
'<a href="archive-unit.html" class="sidebar-item active">'+
'<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 8h6M5 10h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>'+
'单位报表数据'+
'</a>'+
'<a href="archive-center.html" class="sidebar-item">'+
'<svg viewBox="0 0 16 16" fill="none"><path d="M2 14V6l6-4 6 4v8" stroke="currentColor" stroke-width="1.4"/><path d="M6 14v-4h4v4" stroke="currentColor" stroke-width="1.2"/></svg>'+
'应急中心报表数据'+
'</a>';
/* 面包屑:返回单位大病就医列表 */
var bc=document.querySelector('.breadcrumb a');
if(bc){bc.href='archive-unit-detail-illness.html';bc.textContent='大病就医预约';}
}
/* --- 状态文本与样式 --- */
var statusMap={
pending:{text:'待确认',cls:'status--pending'},
confirmed:{text:'已确认',cls:'status--doing'},
completed:{text:'已完成',cls:'status--done'},
cancelled:{text:'已取消',cls:'status--cancelled'}
};
var st=document.getElementById('statusText');
var info=statusMap[status]||statusMap.completed;
st.textContent=info.text;
st.className='info-cell__value status '+info.cls;
/* --- 按 data-group 控制显隐 --- */
var groups=document.querySelectorAll('[data-group]');
for(var i=0;i<groups.length;i++){
var g=groups[i].getAttribute('data-group');
if(g==='all') continue;
var visible=g.split(' ').indexOf(status)>=0;
groups[i].style.display=visible?'':'none';
}
})();
/* === 驳回弹窗 === */
function openRejectModal(){
document.getElementById('rejectModal').classList.add('open');
document.body.style.overflow='hidden';
document.getElementById('rejectReason').value='';
}
function closeRejectModal(){
document.getElementById('rejectModal').classList.remove('open');
document.body.style.overflow='';
}
function submitReject(){
var reason=document.getElementById('rejectReason').value.trim();
if(!reason){
var ta=document.getElementById('rejectReason');
ta.style.borderColor='var(--danger)';ta.focus();return;
}
alert('已驳回');closeRejectModal();
}
/* === 驻场派单弹窗 === */
var _persons=[
{name:'王旭',hospital:'长庆油田职工医院',tel:'138-9201-3001'},
{name:'刘鑫',hospital:'长庆油田职工医院',tel:'138-9201-3002'},
{name:'陈浩',hospital:'采油一厂卫生所',tel:'138-9201-3003'},
{name:'赵旭',hospital:'西安交通大学第一附属医院',tel:'138-9201-3004'},
{name:'孙俪',hospital:'采油一厂卫生所',tel:'138-9201-3005'},
{name:'周西',hospital:'陕西省人民医院',tel:'138-9201-3006'},
{name:'吴晓',hospital:'长庆油田职工医院',tel:'138-9201-3007'},
{name:'郑立',hospital:'西安交通大学第一附属医院',tel:'138-9201-3008'}
];
var _selPerson=null;
function openDispatchModal(){
document.getElementById('dispatchModal').classList.add('open');
document.body.style.overflow='hidden';
_selPerson=null;
document.getElementById('personInput').value='';
document.getElementById('personTelInfo').style.display='none';
document.getElementById('dispatchNote').value='';
renderPersonDrop('');
}
function closeDispatchModal(){
document.getElementById('dispatchModal').classList.remove('open');
document.body.style.overflow='';
document.getElementById('personDrop').classList.remove('open');
}
function renderPersonDrop(kw){
var drop=document.getElementById('personDrop');
kw=kw.toLowerCase();var html='',count=0;
_persons.forEach(function(p,i){
if(kw&&p.name.toLowerCase().indexOf(kw)<0&&p.hospital.toLowerCase().indexOf(kw)<0)return;
var sel=(_selPerson&&_selPerson.name===p.name)?' selected':'';
html+='<div class="sel-search__opt'+sel+'" onclick="pickPerson('+i+')"><div class="sel-search__name">'+p.name+'</div><div class="sel-search__sub">'+p.hospital+'</div></div>';
count++;
});
if(!count)html='<div class="sel-search__empty">无匹配人员</div>';
drop.innerHTML=html;
}
function togglePersonDrop(){
var drop=document.getElementById('personDrop');
if(drop.classList.contains('open')){drop.classList.remove('open');return;}
renderPersonDrop(document.getElementById('personInput').value);
drop.classList.add('open');
}
function filterPersons(){
renderPersonDrop(document.getElementById('personInput').value);
document.getElementById('personDrop').classList.add('open');
}
function pickPerson(idx){
_selPerson=_persons[idx];
document.getElementById('personInput').value=_selPerson.name+' · '+_selPerson.hospital;
document.getElementById('personDrop').classList.remove('open');
document.getElementById('personTelInfo').style.display='';
var tel=document.getElementById('personTel');
tel.textContent=_selPerson.tel;tel.href='tel:'+_selPerson.tel.replace(/-/g,'');
}
function submitDispatch(){
if(!_selPerson){
var inp=document.getElementById('personInput');
inp.style.borderColor='var(--danger)';inp.focus();return;
}
alert('派单成功');closeDispatchModal();
}
document.addEventListener('click',function(e){
if(!e.target.closest('#personSelect'))document.getElementById('personDrop').classList.remove('open');
});
</script>
</body>
</html>
@@ -102,7 +102,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -117,10 +117,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -193,8 +193,9 @@
<select class="filter-select">
<option>请选择</option>
<option>待确认</option>
<option>进行中</option>
<option>已确认</option>
<option>已完成</option>
<option>已取消</option>
</select>
</div>
<button class="btn btn-primary">
@@ -259,7 +260,7 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-03-16 12:23:32</td>
<td>2026-03-18 15:42:10</td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">2</td>
@@ -273,10 +274,10 @@
<td>周建华</td>
<td>2026-03-19 10:30</td>
<td>徐豪</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-blue">已确认</span></td>
<td>2026-03-16 12:25:18</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=confirmed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">3</td>
@@ -289,11 +290,11 @@
<td>心内科</td>
<td>张明远</td>
<td>2026-03-20 14:00</td>
<td>徐豪</td>
<td></td>
<td><span class="tag tag-orange">待确认</span></td>
<td>2026-03-16 12:28:45</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=pending">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">4</td>
@@ -307,10 +308,10 @@
<td>张明远</td>
<td>2026-04-15 09:30</td>
<td>李晓明</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-blue">已确认</span></td>
<td>2026-04-14 16:05:18</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=confirmed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">5</td>
@@ -323,11 +324,11 @@
<td>神经内科</td>
<td>赵国强</td>
<td>2026-04-12 14:20</td>
<td>赵文博</td>
<td></td>
<td><span class="tag tag-orange">待确认</span></td>
<td>2026-04-11 09:32:47</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=pending">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">6</td>
@@ -344,7 +345,7 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-04-07 22:18:05</td>
<td>2026-04-10 09:15:33</td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">7</td>
@@ -358,10 +359,10 @@
<td>王海涛</td>
<td>2026-03-25 08:45</td>
<td>王晓峰</td>
<td><span class="tag tag-blue">进行中</span></td>
<td><span class="tag tag-blue">已确认</span></td>
<td>2026-03-23 14:50:33</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=confirmed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">8</td>
@@ -378,14 +379,31 @@
<td><span class="tag tag-green">已完成</span></td>
<td>2026-03-17 10:25:41</td>
<td>2026-03-20 11:08:22</td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html">详细过程</a></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=completed">详细过程</a></td>
</tr>
<tr>
<td class="col-fixed col-fixed-1">9</td>
<td class="col-fixed col-fixed-2">李明辉-男-37</td>
<td class="col-fixed col-fixed-3">EMP20210456</td>
<td>采油二厂</td>
<td>作业三区</td>
<td>西安交大一附院</td>
<td>专家号</td>
<td>呼吸内科</td>
<td>陈志远</td>
<td>2026-03-10 09:00</td>
<td></td>
<td><span class="tag tag-gray">已取消</span></td>
<td>2026-03-09 15:42:18</td>
<td></td>
<td class="col-fixed col-fixed-end"><a class="link" href="center-serious-illness-detail.html?status=cancelled">详细过程</a></td>
</tr>
</tbody>
</table>
</div>
<!-- 分页 -->
<div class="pagination">
<span>共 86</span>
<span>共 89</span>
<button class="page-btn">&lt;</button>
<button class="page-btn active">1</button>
<button class="page-btn">2</button>
@@ -415,8 +433,10 @@
if(sidebar)sidebar.style.display='none';
document.querySelector('.main').style.marginLeft='0';
document.getElementById('btnAddIllness').style.display='';
document.querySelectorAll('a.link[href="center-serious-illness-detail.html"]').forEach(function(a){
a.href='center-serious-illness-detail.html?role=operator';
document.querySelectorAll('a.link[href*="center-serious-illness-detail.html"]').forEach(function(a){
var u=new URL(a.href,location.href);
u.searchParams.set('role','operator');
a.href=u.pathname+u.search;
});
}
})();
@@ -132,6 +132,7 @@
.resource-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;font-size:var(--font-xs);}
.btn-nav{height:30px;padding:0 14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-xs);cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.btn-nav:hover{background:#40a9ff;}
.is-hidden{display:none !important;}
</style>
</head>
<body>
@@ -145,7 +146,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -160,10 +161,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -390,7 +391,7 @@
<div class="map-marker" style="top:65%;left:20%;background:var(--danger);">救护车</div>
<div class="map-marker" style="top:62%;left:50%;background:#722ED1;">医疗点</div>
<div class="map-pick" id="mapPick"><div class="map-pick__label" id="mapPickLabel"></div><div class="map-pick__dot"></div></div>
<button class="map-btn">模拟急救</button>
<button class="map-btn" onclick="triggerSimulation(event)">模拟急救</button>
</div>
</div>
<div class="sim-right">
@@ -404,7 +405,7 @@
</div>
</div>
<!-- 急救提示书 -->
<div class="rescue-card" id="rescueCard">
<div class="rescue-card is-hidden" id="rescueCard">
<h4>模拟急救提示书</h4>
<p>1)心率失常,有心梗风险;</p>
<p>(2)立即停止活动,保持环境安静,防止不良刺激,平躺休息,以降低心肌耗氧量和交感神经兴奋性;</p>
@@ -412,7 +413,7 @@
<p>4)请准备硝酸甘油舌下含服;</p>
</div>
<!-- 最近急救资源 -->
<div>
<div class="is-hidden" id="resourceSection">
<div class="resource-title">最近急救资源</div>
<div class="resource-list">
<div class="resource-item">
@@ -442,14 +443,23 @@
</div>
<script>
function setSimulationResultVisible(visible){
document.getElementById('rescueCard').classList.toggle('is-hidden',!visible);
document.getElementById('resourceSection').classList.toggle('is-hidden',!visible);
}
function openSimModal(row){
var cells=row.closest('tr').querySelectorAll('td');
var name=cells[1].textContent,sex=cells[3].textContent,age=cells[4].textContent,eid=cells[2].textContent,unit=cells[5].textContent,dept=cells[6].textContent;
document.getElementById('empInfo').innerHTML='<div><strong>'+name+'</strong></div><div>'+sex+'<span>'+age+'岁</span><span>'+eid+'</span></div><div>'+unit+'<span>'+dept+'</span></div>';
setSimulationResultVisible(false);
document.getElementById('simModal').classList.add('show');
}
function closeSimModal(){document.getElementById('simModal').classList.remove('show');}
function switchDisease(el){el.parentElement.querySelectorAll('.disease-tab').forEach(function(t){t.classList.remove('active');});el.classList.add('active');}
function triggerSimulation(event){
if(event)event.stopPropagation();
setSimulationResultVisible(true);
}
/* 地图选点 */
var addrList=['陕西省西安市未央区凤城八路','陕西省西安市雁塔区科技路','陕西省西安市长安区韦曲街道','陕西省咸阳市秦都区人民路','陕西省延安市宝塔区','宁夏银川市兴庆区中山北街'];
document.getElementById('simMap').addEventListener('click',function(e){
@@ -160,7 +160,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -175,10 +175,10 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -558,6 +558,45 @@ function addSummary(){
li.querySelector('.summary-item__input').addEventListener('keydown',function(e){if(e.key==='Enter')origConfirm();});
}
/* 来源检测:档案页跳转 */
(function(){
var params=new URLSearchParams(window.location.search);
if(params.get('from')==='archive'){
// 顶部导航切换到"档案"
var navLinks=document.querySelectorAll('.top-bar__nav a');
navLinks.forEach(function(a){a.classList.remove('active');if(a.textContent.trim()==='档案')a.classList.add('active');});
// 替换侧边栏为档案侧边栏
var sidebar=document.querySelector('.sidebar');
if(sidebar){
sidebar.innerHTML=
'<div class="sidebar-group-title">档案</div>'+
'<a href="archive-personal.html" class="sidebar-item active"><svg viewBox="0 0 16 16" fill="none"><path d="M8 2a3 3 0 110 6 3 3 0 010-6zM3 14c0-2.8 2.2-5 5-5s5 2.2 5 5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>个人应急数据</a>'+
'<a href="archive-unit.html" class="sidebar-item"><svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 8h6M5 10h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>单位报表数据</a>'+
'<a href="archive-center.html" class="sidebar-item"><svg viewBox="0 0 16 16" fill="none"><path d="M2 14V6l6-4 6 4v8" stroke="currentColor" stroke-width="1.4"/><path d="M6 14v-4h4v4" stroke="currentColor" stroke-width="1.2"/></svg>应急中心报表数据</a>';
}
// 面包屑返回档案详情页
var bc=document.querySelector('.breadcrumb a');
if(bc){bc.href='archive-personal-detail.html';bc.textContent='个人应急数据详情';}
}
if(params.get('from')==='archive-unit'){
// 顶部导航切换到"档案"
var navLinks=document.querySelectorAll('.top-bar__nav a');
navLinks.forEach(function(a){a.classList.remove('active');if(a.textContent.trim()==='档案')a.classList.add('active');});
// 替换侧边栏为档案侧边栏,高亮单位报表数据
var sidebar=document.querySelector('.sidebar');
if(sidebar){
sidebar.innerHTML=
'<div class="sidebar-group-title">档案</div>'+
'<a href="archive-personal.html" class="sidebar-item"><svg viewBox="0 0 16 16" fill="none"><path d="M8 2a3 3 0 110 6 3 3 0 010-6zM3 14c0-2.8 2.2-5 5-5s5 2.2 5 5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>个人应急数据</a>'+
'<a href="archive-unit.html" class="sidebar-item active"><svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 8h6M5 10h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>单位报表数据</a>'+
'<a href="archive-center.html" class="sidebar-item"><svg viewBox="0 0 16 16" fill="none"><path d="M2 14V6l6-4 6 4v8" stroke="currentColor" stroke-width="1.4"/><path d="M6 14v-4h4v4" stroke="currentColor" stroke-width="1.2"/></svg>应急中心报表数据</a>';
}
// 面包屑返回单位报表详情页
var bc=document.querySelector('.breadcrumb a');
if(bc){bc.href='archive-unit-detail.html';bc.textContent='单位报表详情';}
}
})();
/* 角色检测:操作人员视角 */
(function(){
var params=new URLSearchParams(window.location.search);
@@ -79,7 +79,7 @@ tbody tr:hover{background:#F8FBFF;}
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html" class="active">应急中心</a>
<a href="center-basic-info.html" class="active">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -94,10 +94,10 @@ tbody tr:hover{background:#F8FBFF;}
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">应急中心</div>
<div class="sidebar-group-title">应急管理</div>
<a href="center-basic-info.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 5h6M5 8h4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
基本信息
应急中心
</a>
<a href="center-work-order.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" rx="2" stroke="currentColor" stroke-width="1.4"/><path d="M5 6h6M5 9h4M5 12h2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
@@ -0,0 +1,225 @@
<!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>
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:#F5F7FA;color:#333;min-width:1280px;}
:root{--primary:#1890FF;--primary-light:#E6F7FF;--success:#52C41A;--warning:#FAAD14;--danger:#FF4D4F;--text-primary:#333;--text-secondary:#666;--text-placeholder:#999;--border:#E8E8E8;--background:#F5F7FA;--font-xs:11px;--font-sm:13px;--font-base:15px;--font-lg:17px;--font-xl:20px;--font-xxl:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 4px rgba(0,0,0,0.08);}
.top-bar{display:flex;align-items:center;height:56px;background:#001529;padding:0 24px;position:fixed;top:0;left:0;right:0;z-index:100;}
.top-bar__logo{display:flex;align-items:center;gap:8px;color:#fff;font-size:var(--font-lg);font-weight:600;width:240px;flex-shrink:0;white-space:nowrap;}
.top-bar__logo svg{width:28px;height:28px;}
.top-bar__nav{display:flex;align-items:center;gap:4px;flex:1;}
.top-bar__nav a{color:rgba(255,255,255,0.65);text-decoration:none;padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-sm);transition:all .2s;}
.top-bar__nav a:hover{color:#fff;background:rgba(255,255,255,0.08);}
.top-bar__nav a.active{color:#fff;background:var(--primary);}
.top-bar__right{display:flex;align-items:center;gap:16px;color:rgba(255,255,255,0.65);font-size:var(--font-sm);}
.btn-back{color:rgba(255,255,255,0.65);cursor:pointer;display:flex;align-items:center;gap:4px;text-decoration:none;}
.btn-back:hover{color:#fff;}
.avatar{width:32px;height:32px;border-radius:50%;background:#1890FF;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-sm);}
.sidebar{position:fixed;top:56px;left:0;bottom:0;width:240px;background:#001529;overflow-y:auto;z-index:90;}
.sidebar-group-title{color:rgba(255,255,255,0.35);font-size:var(--font-xs);padding:16px 24px 8px;letter-spacing:.5px;}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:12px 24px;color:rgba(255,255,255,0.65);font-size:var(--font-sm);cursor:pointer;transition:all .2s;text-decoration:none;}
.sidebar-item:hover{color:#fff;background:rgba(255,255,255,0.06);}
.sidebar-item.active{color:#fff;background:var(--primary);}
.sidebar-item svg{width:16px;height:16px;flex-shrink:0;}
.main{margin-left:240px;margin-top:56px;padding:24px;}
.crumb-bar{background:#fff;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px;}
.crumb-back{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;}
.crumb-back:hover{background:#F5F5F5;color:var(--text-primary);}
.crumb-tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--font-sm);color:var(--text-primary);background:#fff;}
.crumb-tag--active{color:var(--primary);border-color:#91Caff;background:#F0F7FF;}
.filter-bar{background:#fff;border-radius:var(--radius-md);padding:20px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.filter-item{display:flex;align-items:center;gap:8px;}
.filter-item label{font-size:var(--font-sm);color:var(--text-primary);white-space:nowrap;font-weight:600;}
.filter-select{height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 28px 0 12px;font-size:var(--font-sm);outline:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;min-width:140px;}
.filter-select:focus{border-color:var(--primary);}
.btn{height:36px;padding:0 16px;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:#40a9ff;}
.btn-default{background:#fff;color:var(--primary);border:1px solid var(--primary);}
.btn-default:hover{background:#F0F7FF;}
.btn-row{display:flex;gap:12px;margin-bottom:16px;}
.table-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;}
.table-card__content{overflow-x:auto;overflow-y:hidden;}
.table-card__content table{min-width:1160px;white-space:nowrap;}
table{width:100%;border-collapse:collapse;}
th,td{border:1px solid var(--border);padding:12px 14px;font-size:var(--font-sm);white-space:nowrap;text-align:center;}
thead th{background:#FAFAFA;color:var(--text-primary);font-weight:600;}
tbody td{color:var(--text-primary);height:41px;}
tbody tr:hover{background:#F8FBFF;}
.text-danger{color:var(--danger);}
.pagination{display:flex;align-items:center;justify-content:flex-end;padding:16px 20px;gap:8px;}
.pagination span{font-size:var(--font-sm);color:var(--text-secondary);}
.page-btn{width:24px;height:24px;border:1px solid var(--border);border-radius:4px;background:#fff;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);}
.page-btn.active{color:#1890FF;border-color:#D9D9D9;background:#fff;}
.page-ellipsis{font-size:var(--font-sm);color:var(--text-secondary);padding:0 2px;}
.page-size{height:24px;border:1px solid var(--border);border-radius:4px;padding:0 6px;font-size:12px;color:var(--text-secondary);background:#fff;}
</style>
</head>
<body>
<div class="top-bar">
<div class="top-bar__logo">
<svg viewBox="0 0 28 28" fill="none"><rect width="28" height="28" rx="6" fill="#1890FF"/><path d="M14 6v7l5 3" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="14" cy="14" r="8" stroke="#fff" stroke-width="2" fill="none"/></svg>
应急就医–管理员
</div>
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-dirty.html" class="active">异常事件</a>
</nav>
<div class="top-bar__right">
<a class="btn-back" href="../../../index.html">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M10 3L5 8l5 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
返回首页
</a>
<div class="avatar"></div>
<span style="color:rgba(255,255,255,0.65);">系统管理员 ▾</span>
</div>
</div>
<aside class="sidebar">
<div class="sidebar-group-title">异常事件</div>
<a href="exception-dirty.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="4.5" stroke="currentColor" stroke-width="1.4"/><path d="M8 1.8V3.3M8 12.7v1.5M1.8 8H3.3M12.7 8h1.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
系统脏数据
</a>
<a href="exception-result.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><path d="M8 2L1 14h14L8 2z" stroke="currentColor" stroke-width="1.4" stroke-linejoin="round"/><path d="M8 7v3M8 12v.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
结果异常
</a>
</aside>
<main class="main">
<div class="crumb-bar">
<button class="crumb-back" aria-label="返回">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M10 3L5 8l5 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
</button>
<span class="crumb-tag crumb-tag--active">系统脏数据</span>
</div>
<div class="filter-bar">
<div class="filter-item">
<label>业务模块:</label>
<select class="filter-select">
<option>请选择</option>
<option>通话记录</option>
<option>AED设备管理</option>
</select>
</div>
<div class="filter-item">
<label>异常类型:</label>
<select class="filter-select">
<option>请选择</option>
<option>非法数据</option>
<option>异常坐标</option>
<option>状态异常</option>
</select>
</div>
<div class="filter-item">
<label>年份选择:</label>
<select class="filter-select" style="min-width:94px;">
<option selected>2026</option>
<option>2025</option>
<option>2024</option>
</select>
</div>
<button class="btn btn-primary">查询</button>
<button class="btn btn-default">重置</button>
</div>
<div class="btn-row">
<button class="btn btn-primary">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 10v2h10v-2M7 2v7M4.5 6.5L7 9l2.5-2.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
导出列表数据
</button>
<button class="btn btn-primary">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><circle cx="7" cy="7" r="5.5" stroke="currentColor" stroke-width="1.2"/><path d="M7 4.5v2.8l2 1.2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg>
查看导出任务
</button>
</div>
<div class="table-card">
<div class="table-card__content">
<table>
<thead>
<tr>
<th>业务模块</th>
<th>异常类型</th>
<th>异常描述</th>
<th>异常检测时间</th>
<th>表名</th>
<th>字段名</th>
<th>编号</th>
<th>异常值</th>
<th>数据产生时间</th>
</tr>
</thead>
<tbody>
<tr>
<td>通话记录</td>
<td>非法数据</td>
<td>电话号码不合法</td>
<td>2026-02-21 02:01:03</td>
<td>A_B</td>
<td>value</td>
<td>136446464646</td>
<td class="text-danger">未知</td>
<td>2026-01-21 02:01:03</td>
</tr>
<tr>
<td>AED设备管理</td>
<td>非法数据</td>
<td>AED电池电量为260%</td>
<td>2026-03-05 10:24:18</td>
<td>aed_device_info</td>
<td>battery_level</td>
<td>136446464647</td>
<td class="text-danger">260%</td>
<td>2026-03-05 09:56:42</td>
</tr>
<tr>
<td>AED设备管理</td>
<td>异常坐标</td>
<td>坐标未知不在国内</td>
<td>2026-03-08 14:12:56</td>
<td>aed_deploy_point</td>
<td>longitude,latitude</td>
<td>136446464648</td>
<td class="text-danger">151.2093,-33.8688</td>
<td>2026-03-08 13:40:11</td>
</tr>
<tr>
<td>AED设备管理</td>
<td>状态异常</td>
<td>电池电量不合法</td>
<td>2026-03-12 08:33:27</td>
<td>aed_device_info</td>
<td>battery_status</td>
<td>136446464649</td>
<td class="text-danger">未知</td>
<td>2026-03-12 08:18:09</td>
</tr>
</tbody>
</table>
</div>
<div class="pagination">
<span>共 243 条</span>
<span>显示 10 条</span>
<button class="page-btn"></button>
<button class="page-btn">1</button>
<span class="page-ellipsis"></span>
<button class="page-btn">10</button>
<button class="page-btn active">11</button>
<button class="page-btn">12</button>
<span class="page-ellipsis"></span>
<button class="page-btn">50</button>
<button class="page-btn"></button>
</div>
</div>
</main>
</body>
</html>
@@ -107,7 +107,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html" class="active">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -123,6 +123,10 @@
<!-- 侧边栏 -->
<aside class="sidebar">
<div class="sidebar-group-title">异常事件</div>
<a href="exception-dirty.html" class="sidebar-item">
<svg viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="4.5" stroke="currentColor" stroke-width="1.4"/><path d="M8 1.8V3.3M8 12.7v1.5M1.8 8H3.3M12.7 8h1.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
系统脏数据
</a>
<a href="exception-result.html" class="sidebar-item active">
<svg viewBox="0 0 16 16" fill="none"><path d="M8 2L1 14h14L8 2z" stroke="currentColor" stroke-width="1.4" stroke-linejoin="round"/><path d="M8 7v3M8 12v.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
结果异常
@@ -99,7 +99,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -87,7 +87,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -82,7 +82,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -222,7 +222,7 @@
<td>2024-06-15</td>
<td>2026-06-15</td>
<td><span class="tag tag-green">有效</span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-certifier-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该取证人员?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -237,7 +237,7 @@
<td>2023-09-20</td>
<td>2026-09-20</td>
<td><span class="tag tag-green">有效</span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-certifier-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该取证人员?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -252,7 +252,7 @@
<td>2023-03-10</td>
<td>2025-03-10</td>
<td><span class="tag tag-red">已过期</span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-certifier-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该取证人员?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -267,7 +267,7 @@
<td>2024-11-05</td>
<td>2026-05-05</td>
<td><span class="tag tag-orange">即将过期</span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-certifier-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该取证人员?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -282,7 +282,7 @@
<td>2025-01-18</td>
<td>2027-01-18</td>
<td><span class="tag tag-green">有效</span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-certifier-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该取证人员?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -131,7 +131,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -257,7 +257,7 @@
</div>
<div class="form-row">
<div class="form-label">详细地址</div>
<div class="form-control"><input class="form-input" type="text" placeholder="请补充详细地址,如:总部办公楼1层大厅东侧"></div>
<div class="form-control"><input class="form-input" id="addressInput" type="text" placeholder="请补充详细地址,如:总部办公楼1层大厅东侧"></div>
</div>
<div class="divider"></div>
<div class="form-row">
@@ -291,6 +291,7 @@ function pickLocation(e){
var coord=document.getElementById('mapCoord');
coord.innerHTML='<svg width="12" height="12" viewBox="0 0 14 14" fill="none" style="vertical-align:-1px;margin-right:4px;"><path d="M7 1C4.24 1 2 3.24 2 6c0 3.75 5 7 5 7s5-3.25 5-7c0-2.76-2.24-5-5-5z" stroke="#1890FF" stroke-width="1.2"/><circle cx="7" cy="6" r="1.5" stroke="#1890FF" stroke-width="1"/></svg>'+addresses[idx];
coord.style.display='block';
document.getElementById('addressInput').value=addresses[idx];
}
function showDropdown(){document.getElementById('deviceDropdown').style.display='block';}
function filterDevices(val){
@@ -108,7 +108,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -264,7 +264,7 @@
<td><span class="tag tag-green">已接入</span></td>
<td>张明</td>
<td>138****1001</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-deploy-add.html?mode=view">详情</a><a class="link" href="resource-aed-deploy-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该布点记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -281,7 +281,7 @@
<td><span class="tag tag-green">已接入</span></td>
<td>李华</td>
<td>139****2002</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-deploy-add.html?mode=view">详情</a><a class="link" href="resource-aed-deploy-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该布点记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -298,7 +298,7 @@
<td><span class="tag tag-gray">未接入</span></td>
<td>王强</td>
<td>137****3003</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-deploy-add.html?mode=view">详情</a><a class="link" href="resource-aed-deploy-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该布点记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -315,7 +315,7 @@
<td><span class="tag tag-green">已接入</span></td>
<td>赵丽</td>
<td>136****4004</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-deploy-add.html?mode=view">详情</a><a class="link" href="resource-aed-deploy-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该布点记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -332,7 +332,7 @@
<td><span class="tag tag-green">已接入</span></td>
<td>陈伟</td>
<td>135****5005</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-deploy-add.html?mode=view">详情</a><a class="link" href="resource-aed-deploy-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该布点记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -72,7 +72,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -66,7 +66,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -146,7 +146,7 @@
<td>更换电极片,清洁设备外壳</td>
<td>张明</td>
<td>2026-04-15</td>
<td><div class="action-btns"><span class="link">查看</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-maintenance-add.html?mode=view">查看</a><a class="link" href="resource-aed-maintenance-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该维护记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -159,7 +159,7 @@
<td>电池电量检测,功能自检</td>
<td>李华</td>
<td>2026-04-12</td>
<td><div class="action-btns"><span class="link">查看</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-maintenance-add.html?mode=view">查看</a><a class="link" href="resource-aed-maintenance-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该维护记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -172,7 +172,7 @@
<td>更换电池,软件升级</td>
<td>王强</td>
<td>2026-04-10</td>
<td><div class="action-btns"><span class="link">查看</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-maintenance-add.html?mode=view">查看</a><a class="link" href="resource-aed-maintenance-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该维护记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -185,7 +185,7 @@
<td>设备返厂维修,主板更换</td>
<td>赵丽</td>
<td>2026-04-08</td>
<td><div class="action-btns"><span class="link">查看</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-maintenance-add.html?mode=view">查看</a><a class="link" href="resource-aed-maintenance-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该维护记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -198,7 +198,7 @@
<td>日常巡检,设备状态正常</td>
<td>陈伟</td>
<td>2026-04-05</td>
<td><div class="action-btns"><span class="link">查看</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-maintenance-add.html?mode=view">查看</a><a class="link" href="resource-aed-maintenance-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该维护记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -98,7 +98,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -78,7 +78,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -72,7 +72,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -158,7 +158,7 @@
<td><span class="link">播放</span></td>
<td><span class="link">下载</span></td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-training-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该培演记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td style="font-weight:500;">AED-2025-002</td>
@@ -174,7 +174,7 @@
<td><span class="link">播放</span></td>
<td><span class="link">下载</span></td>
<td><span class="tag tag-blue"></span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-training-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该培演记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td style="font-weight:500;">AED-2025-003</td>
@@ -190,7 +190,7 @@
<td><span class="link">播放</span></td>
<td><span class="link">下载</span></td>
<td><span class="tag tag-orange"></span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-training-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该培演记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td style="font-weight:500;">AED-2025-005</td>
@@ -206,7 +206,7 @@
<td><span class="link">播放</span></td>
<td><span class="link">下载</span></td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-training-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该培演记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td style="font-weight:500;">AED-2025-004</td>
@@ -222,7 +222,7 @@
<td><span class="link">播放</span></td>
<td><span class="link">下载</span></td>
<td><span class="tag tag-gray"></span></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-training-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该培演记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -74,7 +74,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -208,5 +208,65 @@ document.addEventListener('click',function(e){
if(!document.getElementById('deviceSearch').contains(e.target))
document.getElementById('deviceDropdown').style.display='none';
});
</script>
<script>
(function(){
var params=new URLSearchParams(window.location.search);
var mode=params.get('mode');
if(!mode)return;
function findRow(label){
return Array.from(document.querySelectorAll('.form-row')).find(function(row){
var el=row.querySelector('.form-label');
return el&&el.textContent.replace(/\s+/g,'').indexOf(label)!==-1;
});
}
function setField(label,value){
var row=findRow(label);
if(!row)return null;
var el=row.querySelector('input,textarea,select');
if(!el)return null;
if(el.tagName==='SELECT'){
Array.from(el.options).some(function(option,index){
if(option.textContent.trim()===value){el.selectedIndex=index;return true;}
return false;
});
}else{
el.value=value;
}
return el;
}
var pageTitle=document.querySelector('title');
var currentCrumb=document.querySelector('.breadcrumb span:last-child');
var primaryBtn=document.querySelector('.bottom-bar .btn-primary');
var secondaryBtn=document.querySelector('.bottom-bar .btn-default');
selectDevice('AED-2025-001','迈瑞','BeneHeart C1A','长庆油田总部','安全环保部','总部办公楼1层大厅');
setField('使用日期','2026-04-18');
setField('被救治人','刘某某');
setField('症状(呼吸)','无呼吸');
setField('症状(意识)','无意识');
setField('使用人','张明');
setField('使用过程说明','发现患者倒地后立即取用AED,按语音提示完成电极片粘贴并实施一次电击,同时持续进行心肺复苏。');
setField('应用结果','救治成功');
if(mode==='view'){
if(currentCrumb)currentCrumb.textContent='应用记录详情';
if(pageTitle)pageTitle.textContent='应急就医 - AED设备信息 - 应用记录详情 | 健康长庆原型';
document.querySelectorAll('main input,main select,main textarea').forEach(function(el){
if(el.tagName==='SELECT')el.disabled=true;
else el.readOnly=true;
el.style.background='#fafafa';
el.style.color='#666';
el.style.cursor='not-allowed';
});
var deviceSearch=document.getElementById('deviceSearch');
if(deviceSearch)deviceSearch.style.pointerEvents='none';
if(primaryBtn)primaryBtn.style.display='none';
if(secondaryBtn)secondaryBtn.textContent='返 回';
}
if(mode==='edit'){
if(currentCrumb)currentCrumb.textContent='编辑应用记录';
if(pageTitle)pageTitle.textContent='应急就医 - AED设备信息 - 编辑应用记录 | 健康长庆原型';
if(primaryBtn)primaryBtn.textContent='保 存';
}
})();
</script></body>
</html>
@@ -69,7 +69,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -153,7 +153,7 @@
<td>张明</td>
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">发现患者倒地后立即取用AED,按语音提示实施电击除颤…</td>
<td><span class="tag tag-green">救治成功</span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-usage-add.html?mode=view">详情</a><a class="link" href="resource-aed-usage-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该应用记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -168,7 +168,7 @@
<td>陈伟</td>
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">运动中突发晕厥,取用AED检测后提示无需电击,持续CPR…</td>
<td><span class="tag tag-green">救治成功</span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-usage-add.html?mode=view">详情</a><a class="link" href="resource-aed-usage-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该应用记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -183,7 +183,7 @@
<td>李华</td>
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">就餐时突发心脏骤停,迅速取用AED进行两次电击除颤…</td>
<td><span class="tag tag-red">救治失败</span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-usage-add.html?mode=view">详情</a><a class="link" href="resource-aed-usage-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该应用记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -198,7 +198,7 @@
<td>王强</td>
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">员工突感胸闷不适,预防性取用AED待命,后自行恢复…</td>
<td><span class="tag tag-green">救治成功</span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-usage-add.html?mode=view">详情</a><a class="link" href="resource-aed-usage-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该应用记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -213,7 +213,7 @@
<td>赵丽</td>
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">夜间值班时发现同事倒地,取用AED电击一次后恢复心跳…</td>
<td><span class="tag tag-green">救治成功</span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-usage-add.html?mode=view">详情</a><a class="link" href="resource-aed-usage-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该应用记录?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -105,7 +105,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -249,7 +249,7 @@
<td>张明</td>
<td>138****1001</td>
<td>400-700-8899</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-add.html?mode=view">详情</a><a class="link" href="resource-aed-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该AED设备?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -264,7 +264,7 @@
<td>李华</td>
<td>139****2002</td>
<td>400-880-1234</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-add.html?mode=view">详情</a><a class="link" href="resource-aed-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该AED设备?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -279,7 +279,7 @@
<td>王强</td>
<td>137****3003</td>
<td>400-700-8899</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-add.html?mode=view">详情</a><a class="link" href="resource-aed-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该AED设备?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -294,7 +294,7 @@
<td>赵丽</td>
<td>136****4004</td>
<td>400-990-5678</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-add.html?mode=view">详情</a><a class="link" href="resource-aed-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该AED设备?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -309,7 +309,7 @@
<td>陈伟</td>
<td>135****5005</td>
<td>400-880-1234</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-aed-add.html?mode=view">详情</a><a class="link" href="resource-aed-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该AED设备?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -110,7 +110,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -71,7 +71,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -109,7 +109,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -257,7 +257,7 @@
<td>心肺复苏、创伤急救</td>
<td>138****5612</td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-doctor-add.html?mode=view">详情</a><a class="link" href="resource-doctor-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该医生信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -271,7 +271,7 @@
<td>心血管急症、胸痛处理</td>
<td>139****3287</td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-doctor-add.html?mode=view">详情</a><a class="link" href="resource-doctor-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该医生信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -285,7 +285,7 @@
<td>中毒急救、烧伤处理</td>
<td>137****9451</td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-doctor-add.html?mode=view">详情</a><a class="link" href="resource-doctor-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该医生信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -299,7 +299,7 @@
<td>骨折固定、脊柱损伤</td>
<td>136****8723</td>
<td><span class="tag tag-gray"></span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-doctor-add.html?mode=view">详情</a><a class="link" href="resource-doctor-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该医生信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -313,7 +313,7 @@
<td>外伤缝合、止血处理</td>
<td>135****2164</td>
<td><span class="tag tag-green"></span></td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-doctor-add.html?mode=view">详情</a><a class="link" href="resource-doctor-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该医生信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -127,7 +127,7 @@ tbody tr:hover{background:#F8FBFF;}
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -79,7 +79,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -110,7 +110,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -246,7 +246,7 @@
<td>安全环保部</td>
<td>刘芳</td>
<td>138****6721</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-first-aid-kit-add.html?mode=view">详情</a><a class="link" href="resource-first-aid-kit-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该急救包?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -258,7 +258,7 @@
<td>生产运行部</td>
<td>王刚</td>
<td>139****3208</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-first-aid-kit-add.html?mode=view">详情</a><a class="link" href="resource-first-aid-kit-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该急救包?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -270,7 +270,7 @@
<td>综合管理部</td>
<td>陈丽</td>
<td>137****5519</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-first-aid-kit-add.html?mode=view">详情</a><a class="link" href="resource-first-aid-kit-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该急救包?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -282,7 +282,7 @@
<td>安全环保部</td>
<td>孙伟</td>
<td>136****8842</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-first-aid-kit-add.html?mode=view">详情</a><a class="link" href="resource-first-aid-kit-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该急救包?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -294,7 +294,7 @@
<td>综合管理部</td>
<td>赵敏</td>
<td>135****2107</td>
<td><div class="action-btns"><span class="link">详情</span><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><a class="link" href="resource-first-aid-kit-add.html?mode=view">详情</a><a class="link" href="resource-first-aid-kit-add.html?mode=edit">编辑</a><span class="link-danger" onclick="if(confirm('确认删除该急救包?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -119,7 +119,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -250,7 +250,7 @@
<td>综合性三甲教学医院,西北地区医疗中心</td>
<td>心脑血管急救、创伤外科</td>
<td><div class="switch on" onclick="this.classList.toggle('on')"></div></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><span class="link" onclick="openDrawer()">编辑</span><span class="link-danger" onclick="if(confirm('确认删除该医院信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>2</td>
@@ -262,7 +262,7 @@
<td>长庆油田直属职工医疗保障机构</td>
<td>职业病防治、常规急救</td>
<td><div class="switch on" onclick="this.classList.toggle('on')"></div></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><span class="link" onclick="openDrawer()">编辑</span><span class="link-danger" onclick="if(confirm('确认删除该医院信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>3</td>
@@ -274,7 +274,7 @@
<td>省属大型综合三甲医院</td>
<td>急诊重症、中毒救治</td>
<td><div class="switch on" onclick="this.classList.toggle('on')"></div></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><span class="link" onclick="openDrawer()">编辑</span><span class="link-danger" onclick="if(confirm('确认删除该医院信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>4</td>
@@ -287,7 +287,7 @@
<td>庆阳地区综合性二甲医院</td>
<td>基层急救、骨伤科</td>
<td><div class="switch on" onclick="this.classList.toggle('on')"></div></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><span class="link" onclick="openDrawer()">编辑</span><span class="link-danger" onclick="if(confirm('确认删除该医院信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
<tr>
<td>5</td>
@@ -300,7 +300,7 @@
<td>延安区域重点综合医院</td>
<td>野外急救、高原病救治</td>
<td><div class="switch" onclick="this.classList.toggle('on')"></div></td>
<td><div class="action-btns"><span class="link">编辑</span><span class="link-danger">删除</span></div></td>
<td><div class="action-btns"><span class="link" onclick="openDrawer()">编辑</span><span class="link-danger" onclick="if(confirm('确认删除该医院信息?'))this.closest('tr').remove()">删除</span></div></td>
</tr>
</tbody>
</table>
@@ -90,7 +90,7 @@
<nav class="top-bar__nav">
<a href="archive-personal.html">档案</a>
<a href="resource-hospital.html" class="active">应急资源</a>
<a href="center-basic-info.html">应急中心</a>
<a href="center-basic-info.html">应急管理</a>
<a href="exception-result.html">异常事件</a>
</nav>
<div class="top-bar__right">
@@ -1,5 +1,65 @@
# 应急就医模块变更记录
## [2026-04-24] feat: 完善应急就医管理原型交互与资源页联动
补齐应急就医模块多页面原型交互,新增异常事件菜单页,统一档案、应急管理与应急资源之间的页面跳转、详情态与删除确认体验。
**涉及内容:**
- 新增 `admin/exception-dirty.html`,在异常事件下补充“系统脏数据”页面,并同步更新 `index.html``admin/exception-result.html` 导航入口
- 调整管理员端顶部导航文案,将“应急中心”统一为“应急管理”,同步影响档案页、应急资源页和中心页相关入口
- 优化 `admin/center-simulation.html`,模拟急救弹窗默认隐藏右侧结果区,点击“模拟急救”后再展示提示书与最近急救资源
- 重构 `admin/archive-personal-detail-illness.html``admin/archive-unit-detail-illness.html``admin/archive-personal-detail.html``admin/archive-unit-detail.html` 及相关中心详情页跳转,保持档案上下文中的顶部菜单、侧边栏、面包屑与返回行为一致
- 统一补全应急资源二级菜单页面的详情、编辑、删除交互,补充 AED、急救包、急救医生、培演记录、取证人员等页面的详情只读态与编辑态切换
- 调整资源列表页删除二次确认样式,替换浏览器原生确认交互为页面内居中弹窗,统一视觉与交互体验
**涉及文件:**
- `index.html`
- `admin/archive-center.html`
- `admin/archive-personal-detail-illness.html`
- `admin/archive-personal-detail.html`
- `admin/archive-personal.html`
- `admin/archive-unit-detail-illness.html`
- `admin/archive-unit-detail.html`
- `admin/archive-unit.html`
- `admin/center-basic-info-add.html`
- `admin/center-basic-info-detail.html`
- `admin/center-basic-info.html`
- `admin/center-call-record.html`
- `admin/center-data-screen.html`
- `admin/center-group.html`
- `admin/center-schedule.html`
- `admin/center-serious-illness-detail.html`
- `admin/center-serious-illness.html`
- `admin/center-simulation.html`
- `admin/center-work-order-detail.html`
- `admin/center-work-order.html`
- `admin/exception-dirty.html`
- `admin/exception-result.html`
- `admin/resource-aed-add.html`
- `admin/resource-aed-certifier-add.html`
- `admin/resource-aed-certifier.html`
- `admin/resource-aed-deploy-add.html`
- `admin/resource-aed-deploy.html`
- `admin/resource-aed-maintenance-add.html`
- `admin/resource-aed-maintenance.html`
- `admin/resource-aed-map.html`
- `admin/resource-aed-training-add.html`
- `admin/resource-aed-training.html`
- `admin/resource-aed-usage-add.html`
- `admin/resource-aed-usage.html`
- `admin/resource-aed.html`
- `admin/resource-ambulance.html`
- `admin/resource-doctor-add.html`
- `admin/resource-doctor.html`
- `admin/resource-emergency-contact.html`
- `admin/resource-first-aid-kit-add.html`
- `admin/resource-first-aid-kit.html`
- `admin/resource-hospital.html`
- `admin/resource-medical-point.html`
- `doc/CHANGELOG.md`
## [2026-04-20] init: 从墨刀原型迁移应急就医模块
从墨刀原型(健康长庆后台管理系统)完整迁移应急就医模块,按角色分目录组织,共计28+个页面。