feat: 新增单位咨询统计、咨询流程图、快速咨询等多项功能
- 管理端新增单位咨询统计页面,11个侧边栏页面同步更新菜单 - 单位报表详情页支持多入口共用(动态导航/侧边栏/面包屑) - 员工端新增咨询流程图页面、选择档案页面 - 聊天页增加发送文件/发送位置按钮,支持快速咨询模式 - 选择咨询人页面增加快速咨询按钮 - 批量优化管理端小助手及应急端页面 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,17 @@
|
||||
}
|
||||
/* 箭头图标 */
|
||||
.arrow-icon { flex-shrink: 0; }
|
||||
/* 分组展开收起 */
|
||||
.group-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.group-toggle { transition: transform 0.25s ease; font-size: 0; flex-shrink: 0; }
|
||||
.contacts-group.collapsed .group-toggle { transform: rotate(-90deg); }
|
||||
.contacts-group.collapsed .contact-item { display: none !important; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -94,7 +105,7 @@
|
||||
|
||||
<!-- 小助手分组 -->
|
||||
<div class="contacts-group" data-group="小助手">
|
||||
<div class="group-header">小助手</div>
|
||||
<div class="group-header" onclick="toggleGroup(this)">小助手<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🤖</div>
|
||||
<div class="contact-info">
|
||||
@@ -102,31 +113,54 @@
|
||||
<span class="contact-name">咨询小助手</span>
|
||||
<span class="tag tag-gray" style="font-size:10px;padding:1px 6px;">小助手</span>
|
||||
</div>
|
||||
<div class="contact-desc" style="color:#52c41a;">● 在线</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 咨询专家分组 -->
|
||||
<div class="contacts-group" data-group="咨询专家">
|
||||
<div class="group-header" onclick="toggleGroup(this)">咨询专家<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">刘汐</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">咨询专家</span>
|
||||
</div>
|
||||
<div class="contact-desc">主任医师·心内科·西京医院</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">刘博</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">咨询专家</span>
|
||||
</div>
|
||||
<div class="contact-desc">主任医师·心内科·西京医院</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 管理员分组 -->
|
||||
<div class="contacts-group" data-group="管理员">
|
||||
<div class="group-header">管理员</div>
|
||||
<div class="group-header" onclick="toggleGroup(this)">健康管理员<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff1f0,#ffb3b3);">👤</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">系统管理员</span>
|
||||
<span class="tag tag-red" style="font-size:10px;padding:1px 6px;">管理员</span>
|
||||
<span class="contact-name">王旭</span>
|
||||
<span class="tag tag-red" style="font-size:10px;padding:1px 6px;">健康管理员</span>
|
||||
</div>
|
||||
<div class="contact-desc">平台管理</div>
|
||||
<div class="contact-desc">第一采油厂·XXX作业区</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 操作人员分组 -->
|
||||
<div class="contacts-group" data-group="操作人员">
|
||||
<div class="group-header">操作人员</div>
|
||||
<div class="group-header" onclick="toggleGroup(this)">操作人员<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#f9f0ff,#d3adf7);">🧑💼</div>
|
||||
<div class="contact-info">
|
||||
@@ -134,10 +168,9 @@
|
||||
<span class="contact-name">陈运营</span>
|
||||
<span class="tag tag-orange" style="font-size:10px;padding:1px 6px;">操作人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">运营部 · 运营专员</div>
|
||||
<div class="contact-desc">西安应急中心</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#f9f0ff,#d3adf7);">👩💼</div>
|
||||
<div class="contact-info">
|
||||
@@ -145,42 +178,15 @@
|
||||
<span class="contact-name">王数据</span>
|
||||
<span class="tag tag-orange" style="font-size:10px;padding:1px 6px;">操作人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">数据部 · 数据分析师</div>
|
||||
<div class="contact-desc">西安应急中心</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 驻场人员分组 -->
|
||||
<div class="contacts-group" data-group="驻场人员">
|
||||
<div class="group-header">驻场人员</div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">刘驻场</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">驻场人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">健康顾问 · A栋驻场</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">赵驻场</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">驻场人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">健康顾问 · B栋驻场</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 专业人员分组 -->
|
||||
<div class="contacts-group" data-group="专业人员">
|
||||
<div class="group-header">专业人员</div>
|
||||
<div class="group-header" onclick="toggleGroup(this)">专业人员<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#f6ffed,#b7eb8f);">👨⚕️</div>
|
||||
<div class="contact-info">
|
||||
@@ -188,40 +194,72 @@
|
||||
<span class="contact-name">李主任</span>
|
||||
<span class="tag tag-blue" style="font-size:10px;padding:1px 6px;">专业人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">心内科 · 主任医师</div>
|
||||
<div class="contact-desc">主任医师 · 西安应急中心</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#e6f4ff,#91caff);">👩⚕️</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">张护士长</span>
|
||||
<span class="contact-name">张明</span>
|
||||
<span class="tag tag-blue" style="font-size:10px;padding:1px 6px;">专业人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">内科 · 护士长</div>
|
||||
<div class="contact-desc">主治医师 · 西安应急中心</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item" style="border-bottom:none;">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#e6f4ff,#91caff);">👨⚕️</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">孙营养师</span>
|
||||
<span class="contact-name">高谢琼</span>
|
||||
<span class="tag tag-blue" style="font-size:10px;padding:1px 6px;">专业人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">营养科 · 营养师</div>
|
||||
<div class="contact-desc">住院医师 · 西安应急中心</div>
|
||||
</div>
|
||||
<svg class="arrow-icon" width="7" height="12" viewBox="0 0 7 12" fill="none" stroke="#ccc" stroke-width="1.5"><path d="M1 1l5 5-5 5"/></svg>
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 驻场人员分组 -->
|
||||
<div class="contacts-group" data-group="驻场人员">
|
||||
<div class="group-header" onclick="toggleGroup(this)">驻场人员<svg class="group-toggle" width="12" height="12" viewBox="0 0 12 12" fill="none" stroke="#999" stroke-width="1.5"><path d="M3 1.5l4.5 4.5-4.5 4.5"/></svg></div>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">刘汐</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">驻场人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">西京医院</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="./im-chat.html" class="contact-item">
|
||||
<div class="contact-avatar" style="background:linear-gradient(135deg,#fff7e6,#ffd591);">🏥</div>
|
||||
<div class="contact-info">
|
||||
<div class="contact-name-row">
|
||||
<span class="contact-name">刘博</span>
|
||||
<span class="tag tag-green" style="font-size:10px;padding:1px 6px;">驻场人员</span>
|
||||
</div>
|
||||
<div class="contact-desc">宝石花医院</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- /phone-shell -->
|
||||
|
||||
<script>
|
||||
/**
|
||||
* 切换分组展开/收起
|
||||
*/
|
||||
function toggleGroup(headerEl) {
|
||||
headerEl.closest('.contacts-group').classList.toggle('collapsed');
|
||||
}
|
||||
|
||||
/**
|
||||
* 通讯录搜索过滤功能
|
||||
* 根据输入关键词过滤联系人,隐藏不匹配的联系人及空分组
|
||||
|
||||
Reference in New Issue
Block a user