基于springboot2+vue3的医院后台管理系统
温馨提示:
本文最后更新于 2026年05月28日,已超过 12 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
1. 项目简介
医院后台管理系统,旨在提供一个信息化平台,用以管理医院日常运营中的核心业务数据。系统主要面向三类角色:管理员、医生和患者,并为不同角色提供差异化的功能视图与操作权限。
通过该系统,医院可以实现对病房资源、药品信息、患者档案、医生信息、预约挂号、病历处方以及住院流程的集中化、数字化管理,从而提高医疗服务效率与质量。
2. 技术栈
该项目采用主流的 前后端分离 架构,具体技术选型如下:
后端:
- 核心框架: Spring Boot 2.2.2.RELEASE
- 持久层框架: MyBatis-Plus 2.3 (简化数据库操作)
- 数据库: MySQL 5.7.32
- 权限控制: Apache Shiro 1.3.2 (用于身份认证与授权)
- 接口文档: 未发现独立文档框架,通过Controller代码定义接口
- 工具库: Apache Commons Lang3, Fastjson, Hutool等
前端:
- 核心框架: Vue.js (通过构建工具
vue-cli搭建) - UI库: Element UI (提供界面组件)
- HTTP客户端: Axios (与后端API交互)
- 图表库: ECharts (用于数据可视化报表)
- 其他: Vue Router (路由), Vuex (状态管理, 未在提供代码中体现但其依赖通常存在), vue-json-excel (导出Excel)
- 核心框架: Vue.js (通过构建工具
3. 详细介绍
系统功能围绕医院的三大核心角色和业务环节构建,具体模块划分如下:
基础数据管理 (管理员)
- 管理系统中使用的各类字典数据,如公告类型、科室、药品类型、职位、性别、入院途径、时间段、住院途径、床位等。这些数据通常用于表单下拉选择,保证了数据的规范性和可维护性。
用户角色管理 (管理员)
- 患者管理:维护患者的基本档案,包括姓名、手机号、身份证号、电子邮箱等信息。
- 医生管理:维护医生的基本信息,并关联其所属科室和职位。
- 管理员管理:管理系统后台的登录账户。
医疗资源管理 (管理员)
- 病房管理:维护医院病房的名称、位置、床位数量及介绍信息。
- 药品管理:维护药品目录,包括名称、类型、照片和详细介绍。
核心业务流程管理 (多角色协同)
- 预约医生管理 (患者):患者可以预约医生,填写主诉并选择预约日期与时间段,以形成预约记录。医生可以查看自己被预约的记录。
- 公告信息管理 (管理员):发布医院相关的公告信息,支持公告类型分类。
- 病例管理 (医生):医生可以为患者建立病例,记录其入院途径、主诉、诊断等关键医疗信息。
- 处方管理 (医生):医生可以为患者开具处方,记录处方内容及开方时间。
- 住院管理 (医生/患者):管理患者的住院过程,包括记录住院途径、关联病房、填写住院详情等。
系统功能
- 登录与认证:不同角色(管理员、医生、患者)通过各自独立的登录入口进行身份验证。
- Token机制:后端使用Token进行用户会话管理,确保接口访问的安全性。
- 权限控制:不同角色的用户在登录后,其前端菜单栏和后端数据接口访问权限均有所不同。例如,患者无法访问医生管理模块。
4. 部分代码
1. 数据库表结构示例 (bingli 病例表)
该表记录了患者的病例信息,通过外键关联患者和医生,并使用字典表管理入院途径。
CREATE TABLE `bingli` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`huanzhe_id` int(11) DEFAULT NULL COMMENT '患者',
`yisheng_id` int(11) DEFAULT NULL COMMENT '医生',
`ruyuantujing_types` int(11) DEFAULT NULL COMMENT '入院途径',
`zhusu_content` text COMMENT '主诉',
`zhenduan_content` text COMMENT '诊断',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='病例';
2. 后端控制器示例 (ZhuyuanguanliController.java 住院管理)
此Java类负责处理与“住院管理”相关的Web请求。它演示了如何分页查询、处理角色权限(为医生或患者自动添加过滤条件)以及处理级联数据的转换。
@RestController
@RequestMapping("/zhuyuanguanli")
public class ZhuyuanguanliController {
@Autowired
private ZhuyuanguanliService zhuyuanguanliService;
/**
* 后端列表
* 根据当前登录用户的角色,自动添加查询条件,例如医生只能看自己的住院记录。
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
String role = String.valueOf(request.getSession().getAttribute("role"));
if("医生".equals(role))
params.put("yishengId",request.getSession().getAttribute("userId"));
else if("患者".equals(role))
params.put("huanzheId",request.getSession().getAttribute("userId"));
// 执行分页查询并返回结果
PageUtils page = zhuyuanguanliService.queryPage(params);
return R.ok().put("data", page);
}
}
3. 前端菜单权限配置 (menu.js)
此JavaScript文件定义了不同角色(管理员、医生、患者)的菜单结构及其按钮级别的操作权限。例如,管理员拥有对“基础数据管理”的完全控制权,而医生和患者则只有查看某些模块的权限。
{
roleName: "管理员",
backMenu: [{
menu: "基础数据管理",
child: [{
menu: "科室管理",
tableName: "dictionaryKeshi",
buttons: ["查看", "新增", "删除", "修改"] // 拥有完整权限
}]
}]
},
{
roleName: "医生",
backMenu: [{
menu: "公告信息管理",
child: [{
menu: "公告信息管理",
tableName: "gonggao",
buttons: ["查看"] // 仅有查看权限
}]
}]
}
4. 前端API与请求配置 (http.js)
此文件配置了Axios实例,统一设置了后端API的基础URL、请求超时时间,并在每个请求的请求头中自动添加用户的Token,用于身份验证。
const http = axios.create({
timeout: 1000 * 86400,
withCredentials: true,
baseURL: '/yiyuanhoutaiguanli', // 基础URL
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
})
// 请求拦截器,自动添加Token
http.interceptors.request.use(config => {
config.headers['Token'] = storage.get('Token')
return config
})
5. 部分截图

























6. 项目总结
本项目是一个功能较为全面的医院后台管理系统,具有以下特点:
- 角色权限分明:系统清晰地定义了管理员、医生和患者三种角色,并通过前端菜单和后端接口两层权限控制,确保了数据操作的安全性与职责分离。
- 业务覆盖全面:涵盖了医院日常管理中患者档案、医生排班、预约挂号、病历处方、病房住院等核心业务环节,形成了一个相对完整的业务闭环。
- 技术架构清晰:采用主流的Spring Boot + MyBatis-Plus + Vue技术栈,代码结构清晰,层次分明(Controller, Service, Dao),便于后续的维护和功能扩展。
- 数据驱动开发:大量使用字典表来管理业务状态和分类,提高了数据的可维护性和系统的灵活性。
- 易于部署使用:作为一个完整的“脚手架”项目,具备登录认证、分页查询、文件上传、数据导出等基础功能,经过简单配置(如数据库连接)即可快速部署运行。
总而言之,该项目为医疗机构提供了一个可靠、高效的信息化管理工具,有助于提升内部管理效率和医疗服务水平。
7. 资源
正文到此结束
- 本文标签: Java Spring Boot 毕业设计
- 本文链接: https://blog.xiaobias.com/article/28
- 版权声明: 本文由十五喵原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
