基于springboot2+vue2的医院资源管理系统
温馨提示:
本文最后更新于 2026年05月31日,已超过 10 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
1. 资源
浏览全文可获取
2. 项目简介
医院资源管理系统,旨在帮助医院实现信息化管理,涵盖用户管理、医生管理、药品管理、病史记录、住院管理、医生预约、公告信息等核心功能。系统面向三种角色:管理员、医生、普通用户,不同角色拥有不同的操作权限。
- 管理员:可进行管理员账户管理、病史管理、基础数据管理(公告类型、药品类型、科室)、公告信息管理、药品管理、医生管理、用户管理、住院管理、轮播图管理等。
- 医生:可查看和管理病史、查看公告、查看药品、处理医生预约、管理住院信息等。
- 用户:可查看病史、公告、药品、医生信息,进行医生预约,查看住院情况等。
项目采用前后端分离架构,后端基于 Spring Boot 构建,前端包含管理端(Vue + Element UI)和用户端(Layui + HTML)两套界面。
3. 技术栈
| 层次 | 技术/框架 | 说明 |
|---|---|---|
| 后端框架 | Spring Boot 2.2.2.RELEASE | 提供容器、自动配置等 |
| ORM 框架 | MyBatis-Plus 2.3 | 简化数据库操作,分页支持 |
| 权限控制 | Apache Shiro 1.3.2 | 身份认证与授权 |
| 数据库 | MySQL 5.7 | 关系型数据库 |
| 前端管理端 | Vue 2.x + Element UI | 后台管理界面 |
| 前端用户端 | Layui + HTML + Vue.js | 前台用户端 |
| 工具库 | Hutool 4.0.12, Fastjson 1.2.8 | 通用工具、JSON 处理 |
| 文件上传 | 自定义 FileController | 支持图片、文件上传 |
| 其他 | POI 3.9(Excel 导入导出) | 办公文档处理 |
4. 详细介绍
4.1 功能模块
4.1.1 管理员模块
- 管理员管理:维护系统管理员账号(users 表),支持增删改查。
- 病史管理:管理用户病史记录(bingshi 表),包含病名、病因、现状、药单、禁忌等。
- 基础数据管理:
- 公告信息类型(news_types)
- 药品类型(yaopin_types)
- 科室(yisheng_types)
- 公告信息管理:发布、修改、删除公告(news 表)。
- 药品管理:对药品(yaopin)进行增删改查、库存管理。
- 医生管理:维护医生信息(yisheng 表),包括工号、姓名、科室、职称、挂号价格等。
- 用户管理:管理注册用户(yonghu 表)。
- 医生预约管理:查看所有预约,审核预约结果(同意/拒绝)。
- 住院管理:分配住院病房、房间号、床号。
- 轮播图管理:配置前台首页轮播图片(config 表)。
4.1.2 医生模块
- 查看/管理病史(可新增)。
- 查看公告。
- 查看药品。
- 处理医生预约(查看预约列表,审核)。
- 管理住院信息。
4.1.3 用户模块
- 注册/登录。
- 查看病史、公告、药品、医生。
- 预约医生(提交预约,等待审核)。
- 查看个人住院信息。
- 个人资料管理(修改头像、手机号等)。
4.2 数据库设计
主要数据表如下:
| 表名 | 说明 |
|---|---|
| users | 系统管理员表 |
| yonghu | 用户表 |
| yisheng | 医生表 |
| yaopin | 药品表 |
| news | 公告信息表 |
| bingshi | 病史表 |
| yishengyuyue | 医生预约表 |
| zhuyuan | 住院表 |
| dictionary | 字典表(类型数据) |
| config | 轮播图配置表 |
| token | 用户 token 表 |
4.3 核心业务逻辑
- 登录与鉴权:使用 Shiro + Token 机制,登录成功后生成 token 并存储在 localStorage,后续请求通过 header 携带 Token 进行身份验证。
- 字典转换:所有涉及字典类型(如性别、科室、预约状态)的字段,在后端通过
DictionaryService.dictionaryConvert()方法自动将编码转换为对应的中文名称返回给前端。 - 预约流程:用户选择医生并预约 -> 生成预约记录(状态为“未处理”)-> 医生登录后审核 -> 用户可查看结果。
- 住院管理:医生为用户分配病房、房间号、床号,用户端可查看自己的住院信息。
- 文件上传:支持图片上传至
/upload/目录,返回文件名用于前端展示。
5. 部分代码
5.1 后端 Controller 示例(医生预约)
@RestController
@RequestMapping("/yishengyuyue")
public class YishengyuyueController {
@Autowired
private YishengyuyueService yishengyuyueService;
@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("yonghuId", request.getSession().getAttribute("userId"));
else if("医生".equals(role))
params.put("yishengId", request.getSession().getAttribute("userId"));
PageUtils page = yishengyuyueService.queryPage(params);
return R.ok().put("data", page);
}
}
5.2 MyBatis-Plus 分页查询 Mapper XML
<select id="selectListView" resultType="com.entity.view.YishengyuyueView">
SELECT a.*, yisheng.yisheng_name, yonghu.yonghu_name
FROM yishengyuyue a
LEFT JOIN yisheng ON a.yisheng_id = yisheng.id
LEFT JOIN yonghu ON a.yonghu_id = yonghu.id
<where>
<if test="params.yishengId != null">and a.yisheng_id = #{params.yishengId}</if>
<if test="params.yonghuId != null">and a.yonghu_id = #{params.yonghuId}</if>
</where>
order by a.${params.orderBy} desc
</select>
5.3 前端管理端路由配置(Vue)
// router-static.js 部分路由
{
path: '/yaopin',
name: '药品',
component: () => import('@/views/modules/yaopin/list')
},
{
path: '/yisheng',
name: '医生',
component: () => import('@/views/modules/yisheng/list')
},
{
path: '/yishengyuyue',
name: '医生预约',
component: () => import('@/views/modules/yishengyuyue/list')
}
5.4 前端用户端药品列表页面(Layui + Vue)
<div v-for="(item,index) in dataList" class="view view-seventh">
<a @click="jumpCheck('../yaopin/detail.html?id='+item.id)">
<img :src="item.yaopinPhoto.split(',')[0]" />
<div class="mask">
<h4><b>{{item.yaopinName}}</b><br><b>{{item.yaopinJiangshi}} RMB</b></h4>
</div>
</a>
</div>
6. 部分截图


































7. 项目总结
本项目实现了一个完整的医院资源管理信息化平台,覆盖了医院日常管理中的主要业务流程,包括用户管理、医生排班、药品库存、病史记录、预约挂号、住院管理等。系统采用 Spring Boot + MyBatis-Plus 作为后端核心,配合 Shiro 实现权限控制,前端提供管理端(Vue + Element UI)和用户端(Layui)两套界面,满足不同角色的使用需求。
主要特点:
- 角色权限清晰,操作流程符合医院管理实际。
- 字典表设计灵活,便于扩展和维护。
- 使用 Token 实现无状态登录,支持跨域。
- 集成了百度 AI 人脸比对(配置后可用)和 Excel 导入导出功能。
整体而言,系统功能完备,代码结构清晰,可作为中小型医院信息化管理的参考实现。
正文到此结束
- 本文标签: Java Spring Boot 毕业设计
- 本文链接: https://blog.xiaobias.com/article/37
- 版权声明: 本文由十五喵原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
