一、设计基础

1.1 技术栈

Vue 2 + Element UI + SCSS | 目标分辨率:1080p (1920×1080)

1.2 字体规范

用途字号字重适用范围
页面标题16px700/boldcomDoc_big__title / dicTitle / adviceTitle
正文/按钮/表格/筛选栏label14px400表格内容、按钮文字、表单输入、筛选区标签
辅助文字/说明/时间戳12px400说明文字、时间戳、次要备注

字体族:标题 PingFangSC-Medium / 正文 PingFangSC-Regular / 打印 宋体

注意:筛选栏 label 属于正文级别 14px,不是辅助文字 12px。

1.3 CSS 变量 — 背景色

#F2F4F8
--bg-page 页面底色
冷白微蓝灰
#FFFFFF
--bg-panel 面板底色
纯白不变
#F0F3F8
--bg-search 搜索区
淡蓝灰
#D8DEE9
--bg-thead 表头
蓝灰加深
#E8ECF4
--bg-group 分组行
浅蓝灰
#F5F7FA
--bg-stripe 斑马纹
极淡冷灰
#D0E2F5
--bg-hover hover行
明确蓝调
#C9DCF2
--bg-selected 选中行
强蓝调
#D8DEE9
--bg-gap 间隔条
较深蓝灰

1.4 CSS 变量 — 功能色

#1890FF
--color-primary 主题蓝
主操作/链接/选中态
#52C41A
--color-success 成功绿
成功/在科/正常
#FAAD14
--color-warning 警告橙
警告/待处理/注意
#F5222D
--color-danger 危险红
危急/错误/删除

1.5 等级色体系

本系统存在三套等级色,用途不同,不可混淆。

病情等级色(通用标签)

#F73D47
.red 特级/病危
一级/危重同色
#E6A23C
.yellow 二级/急症
病重
#55AC57
.green 三级/一般
非急症

护理等级色(skin 系列)

#E96767
.skinA 特级
#A75DFF
.skinB 一级
#55AC57
.skinC 二级
#668FFF
.skinD 三级
默认
.noSkin 无等级

床卡色带(综合管理页专用)

#E53935
特级/危重
背景 #FFF5F5
#5C6BC0
一级护理
背景 #F0F0FF
#2196F3
二级护理
背景 #EDF5FF
#4CAF50
三级护理
背景 #EDFAED

1.6 间距规范

位置值
页面标题 padding10px 12px
搜索区 padding8px 12px
搜索区与表格间间隔条6px solid --bg-gap
表格区域 padding8px 12px
表单行间距8-10px
弹窗 header / body padding12px 16px
分页区 margin-top8px
相邻按钮 margin-left6px
form-item margin-bottom10-16px

二、页面布局 — 七种布局类型

三大系统(住院/门诊/护理)共归纳出 7 种页面布局类型,新开发界面应先确定属于哪种类型,再套用对应规范。

类型一:查询维护页(最高频)

场景:字典维护、模板管理、规则配置 — "搜索+表格+弹窗编辑"的CRUD

页面标题
名称
类型
序号名称类型状态操作
1模板A住院启用编辑
2模板B门诊启用编辑
3模板C护理停用编辑
共 48 条<123>

类型二:Tab页签页

场景:多功能并列切换

患者接诊
医嘱录入
检查检验
病历文书

当前Tab对应的子内容区域

Tab高度 51px / 字号 16px 500 / 选中色 #1890FF / 激活条 全宽 border-bottom 2px solid

类型三:左右分栏页

场景:左侧选择+右侧详情

方案A:固定宽度
模板分类
药品
检查
检验
检查模板列表
血常规
肝功能

左 260-294px fixed / 右 calc(100%-左宽) / 间隔 4-8px

方案B:百分比
目录树
体温单
护理记录
评估表
文书内容
护理记录内容区域...

左 23% / 右 flex:1 / 间隔 10px

类型四:综合管理页(床卡三视图)

场景:病房管理 — 多患者状态概览

大卡视图 — grid 4列
全部(32) 危重(3) 一级(8) 二级(21)
大卡 小卡 列表
05李四女68岁
危重
心内科 | 高血压3级
急 危 药
03张三男45岁
一级
普外科 | 急性阑尾炎
术
12王五男52岁
二级
内分泌科 | 2型糖尿病
🛏
18床
空床
小卡视图 — grid 7列
05危重
李四68岁
03一级
张三
12二级
王五
07三级
赵六
18
空床
09
占床
22
包床

类型五:批量录入页(左树+右表)

场景:批量操作 — 左侧选择多患者,右侧集中录入

患者列表
☑ 03床 张三
☑ 05床 李四
☐ 12床 王五
批量体征录入
床号体温脉搏血压
03床
05床

类型六:弹窗工具页 / 打印预览页

场景:独立小功能弹窗(二维码/签名) 或 打印预览(iframe)

弹窗工具页
二维码/签名

弹窗宽 228-480px / 居中 / destroy-on-close

打印预览页
诊断证明
处方笺
病历
打印内容区域(iframe)

左侧类型列表 211px / 右侧 850px / 底部按钮居中

类型七:侧边导航工作台

场景:多功能工作台 — 护士站、病房管理等需要频繁切换功能模块

☰首页
⛩体征3
📄文书
💊医嘱
📈报表
⚙设置
体征录入
床号姓名体温脉搏血压状态
03张三36.578120/80已录
05李四———待录

导航栏 60px / 背景 --bg-search / 激活态 --color-primary 白字 / 点击切换,禁止hover滑出

布局选型决策表

业务特征推荐布局举例
增删改查+搜索查询维护页字典管理、模板维护
多功能并列切换Tab页签页患者接诊
选项目+看详情左右分栏页医嘱模板、文书书写
全局概览+快捷操作综合管理页病房管理、护士站
批量操作多对象批量录入页体征批量录入
独立小工具/打印弹窗工具页二维码、诊断证明打印
多功能工作台侧边导航工作台护士站、病房管理

三、弹出层 — 五种弹出类型

类型组件场景交互
业务弹窗el-dialog新增/编辑/详情/复杂表单遮罩+居中, 可拖拽
抽屉面板el-drawer患者列表/历史处方/模板引用左侧(ltr)或右侧(rtl)滑入
轻提示$message操作即时反馈顶部居中, 3s自动消失
确认框$confirm/$alert删除/提交确认遮罩+居中小弹窗
角标通知$notify后台任务完成/系统消息右上角滑入

3.1 业务弹窗 (el-dialog)

新增文书模板×

header 16px bold / body padding 12-16px / footer 主按钮 --color-primary / 可拖拽(v-dialogDrag)

3.2 抽屉面板 (el-drawer)

左抽屉 (ltr)
患者列表×
03床 张三 在科
05床 李四 危急
12床 王五 诊疗中

患者列表、导航菜单

右抽屉 (rtl)
历史处方×
2024-01-15 处方 查看
2024-01-10 处方 查看

历史处方、模板引用、药典查询

header 50px高 / 16px bold / 阴影 2px 12px rgba(0,0,0,0.08) / 宽度 300-760px

3.3 轻提示 ($message)

✓ 保存成功
✗ 提交失败,请检查网络
⚠ 该患者存在过敏史
ℹ 数据加载中,请稍候

3.4 确认框 ($confirm / $alert)

⚠确认删除
确定要删除文书模板「入院记录模板」吗?此操作不可撤销。

3.5 角标通知 ($notify)

缩放提示
请按 Ctrl+0 设置浏览器缩放100%
×
打印完成
诊断证明书已发送至打印机
×
医保提醒
该患者医保信息即将过期
×

四、基础组件

4.1 表格

组件选型:字典维护型 → el-table / 业务列表型 → vxe-table@3.7.9 / 禁止原生 <table>

业务场景表格组件抽屉组件示例
字典维护型el-tableel-drawer药品字典、科室维护
业务列表型vxe-table自定义侧边栏医嘱列表、请药明细

el-table(字典维护型)

表头 --bg-thead + --text-primary / 内容 --text-regular / 斑马纹 --bg-stripe / hover --bg-hover / 边框 --border-light

床号姓名诊断状态
03张三急性阑尾炎在科
05李四高血压3级危急
12王五2型糖尿病诊疗中

vxe-table(业务列表型)

全局主题覆盖使 vxe-table 与 HIS-UI 视觉风格一致。统一行高 35px,表头与数据行一致,用 height + line-height 控制,padding 上下归零;.vxe-cell 统一 display:flex; align-items:center 消除表头/数据行布局模型差异。基础配置:border="inner" + stripe + isHover + show-overflow + auto-resize

属性值说明
border"inner"内边框,与 HIS-UI 表格风格一致
stripe—斑马纹,使用 --bg-stripe
row-config.isHovertruehover 高亮,使用 --bg-hover
show-overflow—超宽列省略号+tooltip
auto-resize—自动适应容器宽度

vxe-table 分组行

通过虚拟行 { _isGroup: true } + :row-class-name 回调实现。分组行样式:背景 --bg-group,文字色 --color-primary,字重 500。

药品名称 规格 数量 用法 发药药房
住院药房 - 长期请药单
氯化钠注射液100ml/袋1袋静脉输液住院药房
注射用头孢曲松钠1g/支2支静脉输液住院药房
阿莫西林胶囊0.25g*24粒2粒口服住院药房
静配药房 - 长期请药单
氯化钠注射液100ml/袋1袋静脉输液静配药房

分组行:背景 --bg-group / 文字 --color-primary / 字重 500 — 与表头(--bg-thead/600)和数据行(400)形成三层视觉层次

vxe-table Checkbox 列

<vxe-column type="checkbox" width="34" align="center">,通过 checkbox-config.checkMethod 排除分组行。

vxe-table 内嵌 el-select

表格内编辑组件(如药房切换)使用 #default slot 嵌入 el-select size="mini"。

4.2 按钮

height 30px / border-radius 3px / font-size 14px / 垂直居中用 line-height: 28px

文本按钮 删除

4.3 标签

blue green red orange gray purple

4.4 文字筛选标签(filter-tag)

用于查询区多选一筛选项,区别于 radio-button 蓝色填充样式,避免与查询按钮撞色。组内紧贴排列(margin-left:-1px 合并边框),组间竖线分隔。

全部 门诊 住院
全部 未登记 已登记 已审核
状态文字色背景边框字重
默认--text-secondary透明1px solid --border-normal400
悬停--text-primary透明--border-normal400
选中--color-primary--color-primary-light--color-primary600

组内 gap:0, margin-left:-1px 合并相邻边框, 首尾圆角 3px, 中间 0 | 组间竖线分隔 1px×16px | z-index 选中态覆盖悬停态

4.4 输入框

height 28-30px / border-radius 3px / padding 0 8px / font-size 14px / focus: border-color --color-primary

五、全局结构

5.1 顶部导航栏

属性值
背景#005CAB (--bg-header) 医疗蓝品牌色
阴影1px 1px 4px 1px rgba(0,0,0,0.12) inset 内阴影
高度48px
文字色#fff
右侧区透明度0.65
系统名称16px
操作文字14px
Logo30×30px
左/右内边距24px / 40px

5.2 滚动条

标准滚动条(主区域/表格/列表):6px宽, 轨道透明, 滑块 rgba(80,79,79,0.2)

大滚动条(目录树/编辑区):10px宽, 轨道 #d6d6d6, 滑块 #bfbfbf

5.3 目录树

节点 14px / 图标 14×14px / 间距 10px / 选中背景 #e2eaff / 文字溢出省略 / 缩进每级 16-20px

5.4 浮动按钮(侧边)

左侧(门诊):20px宽, 竖排文字, 靠左贴边, hover展开抽屉

右侧(护理引用):39×39px圆形, 背景 #43D381, 子按钮 --color-primary 白字

六、医生站标准布局(门诊/住院通用)

门诊医生站和住院医生站共享同一套布局结构,区别仅在左侧患者列表的有无和宽度。整体为顶部导航 + 左侧列表 + 右侧工作区的三段式。

布局结构

┌──────────────────────────────────────────────────────────┐
│ 顶部导航栏(48px, --bg-header #005CAB)                   │
│ logo + 系统名 + 患者横幅 + 用户信息 + 全屏 + 退出       │
├──────────────────────────────────────────────────────────┤
│ Tab页签栏(51px, 白底)                                  │
│ 字号16px/500, 选中色 --color-primary                    │
│ 激活条: 全宽 border-bottom 2px solid --color-primary  │
│ 右侧:功能按钮组(absolute right)                        │
├──────────────────────────────────────────────────────────┤
│ 患者信息栏(姓名/性别/年龄/ID/过敏/费别/GCP标签)       │
├──────────────────────────────────────────────────────────┤
│ 间隔条 6px, background: --bg-gap                          │
├──────────────────────────────────────────────────────────┤
│ Tab内容区(白底, flex:1, overflow:hidden)               │
│ ┌──────────────────────────────────────────────────┐    │
│ │ 筛选栏(32px高, flex横排, mb:4px)                │    │
│ │ select + radio-group + input + 按钮               │    │
│ ├──────────────────────────────────────────────────┤    │
│ │ 数据表格(vxe-table / el-table)                 │    │
│ │ header: 36px, row: 40px, stripe                 │    │
│ │ flex:1, overflow:auto                            │    │
│ ├──────────────────────────────────────────────────┤    │
│ │ 录入区(搜索栏60px + 动态子组件区)              │    │
│ │ border: 1px solid --border-light                 │    │
│ └──────────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────────┘

注:左侧患者列表为独立的收缩栏组件(PatientLeftBar),
    不属于主布局结构,按需展开/收起。

关键样式值速查

区域属性规范值备注
整体background--bg-page #F2F4F8灰底 + 白面板分层
Tab页签高度51px, line-height:51px
Tab页签字号/字重16px/500
Tab页签选中色--color-primary #1890FF
Tab页签激活条全宽 border-bottom 2px solid --color-primary非居中短条
Tab页签非选中色--text-secondary #606266
Tab页签item padding0 12px
间隔条高度/背景6px / --bg-gap #D8DEE9
患者信息栏高度64px两行布局:基础信息(26px) + 标签区(26px)
患者信息栏头像48×48px, 圆形, background:--bg-search左侧垂直居中
患者信息栏姓名16px/700, --text-primary
患者信息栏标签el-tag size=mini, 1px 6px, border-radius:3pxGCP/慢特/医保/费别/身份
按钮高度30pxline-height:28px + 1px边框
按钮圆角3px
按钮间距margin-left:6px
筛选栏高度32px
筛选标签字号/色14px / --text-secondary
表格表头背景--bg-thead #D8DEE9
表格表头字重600
表格表头高度门诊/住院34px / 36px
表格行高门诊/住院40px / 38px
患者姓名字号/字重14px/600
患者次要字号12px
录入搜索栏高度/padding60px / 14px
录入区边框1px solid --border-light

与现有系统的差异对照

维度现有系统HIS-UI规范处理方式
页面底色#fff#F2F4F8改用CSS变量
间隔条#F0F2F5, 8-10px--bg-gap #D8DEE9, 6px换变量
Tab选中色#409EFF--color-primary #1890FF换变量
Tab非选中色#1F1F1F--text-secondary #606266换变量
按钮高度32px30px全局覆盖
按钮圆角4px3px全局覆盖
边框色#E8E8E8--border-light #E2E6EC换变量
表头背景vxe默认--bg-thead #D8DEE9全局覆盖
表头字重默认600全局覆盖
门诊外壳字号12px14px调整

医生站布局规范示例

以下为门诊医生站标准布局示例:Tab页签 + 患者信息栏 + 筛选栏 + 医嘱列表(表头固定/表体独立滚动)+ 录入区。点击Tab可切换内容。

高
北京高博医院 · 门诊医生站
欢迎您,李医生 全屏 退出
医嘱录入
护理文书
费用信息
检查报告
👤
张三 🪪 男 ID: P20260408001 过敏: 无
GCP 医保 费别: 医保 身份: 普通 慢特?
医嘱类型
类型 医嘱内容 医生说明 费别 金额 执行科室 状态 操作
西药
0.9%氯化钠注射液250ml/瓶250mlqdivgtt1天
-医保¥15.60中心药房已收费作废
西药
注射用头孢曲松钠1g/支1gqdivgtt1天
-医保¥128.00中心药房已收费作废
西药
5%葡萄糖注射液250ml/瓶250mlqdivgtt1天
-医保¥12.50中心药房已提交作废
西药
注射用奥美拉唑钠40mg/支40mgbidivgtt3天
-医保¥195.00中心药房已提交作废
西药
阿莫西林胶囊0.5g×24粒/盒0.5gtidpo5天
饭后服用医保¥32.00中心药房保存删除
西药
地塞米松注射液5mg/支5mgstiv1天
术前30min自费¥3.20中心药房已提交删除 作废
检验血常规-医保¥30.00检验科已收费作废
检验肝功能检查空腹医保¥120.00检验科已提交作废
检验尿常规-医保¥25.00检验科保存删除
检验凝血功能-医保¥85.00检验科已提交作废
检查腹部CT平扫-医保¥450.00影像科已收费作废
检查心电图-医保¥40.00功能科已提交作废

七、快速接入

/* App.vue style (非scoped) — 全局层次增强覆盖 */
:root {
  --bg-page: #F2F4F8;
  --bg-search: #F0F3F8;
  --bg-thead: #D8DEE9;
  --bg-group: #E8ECF4;
  --bg-stripe: #F5F7FA;
  --bg-hover: #D0E2F5;
  --bg-selected: #C9DCF2;
  --bg-gap: #D8DEE9;
  --border-light: #E2E6EC;
  --border-normal: #C8CDD6;
}
body { background: var(--bg-page); }

/* el-table 主题覆盖(字典维护型页面) */
.el-table th.el-table__cell { background: var(--bg-thead) !important; }
.el-table--striped .el-table__body tr.el-table__row--striped td {
  background: var(--bg-stripe) !important; }

/* vxe-table 主题覆盖(业务列表型页面) — 统一行高 35px + flex 布局 */
.vxe-table--render-default .vxe-header--column,
.vxe-table--render-default .vxe-body--column {
  height: 35px !important;
  line-height: 35px !important;
  padding: 0 8px !important;
  vertical-align: middle !important; }
.vxe-table .vxe-header--column {
  background: var(--bg-thead); color: var(--text-primary);
  font-weight: 600; font-size: 14px; }
.vxe-table .vxe-body--column { font-size: 14px; color: var(--text-regular); }
.vxe-table .vxe-body--row.row--stripe .vxe-body--column {
  background: var(--bg-stripe); }
.vxe-table .vxe-body--row.row--hover .vxe-body--column {
  background: var(--bg-hover); }
.vxe-table--border-line { border-color: var(--border-light); }
.vxe-table .vxe-cell { display: flex; align-items: center; line-height: 35px !important; padding: 0 8px !important; }
.vxe-table .vxe-cell--checkbox { overflow: visible; }
.vxe-table .row--group .vxe-body--column {
  background: var(--bg-group) !important;
  color: var(--color-primary); font-weight: 500; font-size: 14px; }
.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon {
  font-size: 1.1em; color: var(--text-secondary); }
.vxe-table--render-default .vxe-header--column .vxe-cell--checkbox .vxe-checkbox--icon {
  color: var(--text-primary); }
.vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,
.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon {
  color: var(--color-primary); }
.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon {
  color: var(--color-primary); }

八、附录

  • 顶部导航:#005CAB 医疗蓝品牌色不变
  • 功能色:红/绿/蓝/橙保持高饱和,不降饱和
  • 字号:16/14/12 三档不变
  • 打印样式:通过 @media print 单独控制
  • 目标分辨率:1080p (1920×1080) 医院标准配置