基于springboot2+vue2社区智慧养老监护管理平台
温馨提示:
本文最后更新于 2026年05月29日,已超过 12 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
1. 资源
2. 项目简介
社区智慧养老监护管理平台,旨在通过信息化手段对社区养老机构中的老人、房间、护工、后勤人员、体检员、物资申请、反馈留言等进行综合管理。
系统支持多角色登录(管理员、用户、体检员、后勤人员、护工),并为不同角色配置了差异化的功能权限。管理员可以对字典数据、房间信息、入住记录、反馈信息、人员信息、公告、物资申请等进行全面管理;普通用户(家属或老人)可以查看相关信息并提交物资申请和留言;护工、后勤人员、体检员则拥有特定的查看与管理权限。
平台基于前后端分离架构,后端提供RESTful API接口,前端采用Vue.js框架构建管理界面,并集成了ECharts图表、文件上传、富文本编辑、Excel导出、打印等功能,适用于社区养老机构的日常运营与监护管理场景。
3. 技术栈
| 层级 | 技术/框架 | 说明 |
|---|---|---|
| 后端框架 | Spring Boot 2.2.2.RELEASE | 提供基础容器及自动配置 |
| 持久层 | MyBatis-Plus 2.3 | 简化数据库操作,分页插件等 |
| 安全控制 | Apache Shiro 1.3.2 + Token | 身份认证与权限拦截 |
| 数据库 | MySQL 5.7.32 | 关系型数据库 |
| 前端框架 | Vue.js 2.x + Element UI | 构建后台管理界面 |
| 构建工具 | Maven | 项目构建与依赖管理 |
| 工具库 | Hutool、Fastjson、Commons-lang3 | 简化Java开发 |
| 可视化 | ECharts | 数据统计图表展示 |
| 其他功能 | 百度AI SDK、Poi、Print.js、vue-qr | 扩展能力(如AI、导出、打印、二维码) |
4. 详细介绍
4.1 数据库设计
| 表名 | 中文说明 | 主要字段 |
|---|---|---|
users |
管理员表 | username, password, role |
yonghu |
普通用户表 | 用户名、姓名、手机、身份证、邮箱、性别 |
laoren |
老人信息表 | 老人名称、性别、年龄、身体状态、是否有疾病、详情 |
fangjian |
房间信息表 | 房间号、房间类型、床位剩余数量 |
fangjianruzhu |
房间入住信息表 | 房间id、老人id |
hugong |
护工表 | 账户、姓名、手机、身份证、邮箱、性别 |
houqinrenyuan |
后勤人员表 | 账户、姓名、手机、身份证、邮箱、性别 |
tijianyuan |
体检员表 | 账户、姓名、手机、身份证、邮箱、性别 |
wuzi |
物资申请表 | 申请人(用户)、关联老人、物资名称、类型、数量、单位、发票 |
fankui |
反馈信息表 | 反馈标题、类型、详情 |
liuyan |
留言表 | 留言标题、内容、回复内容、时间 |
news |
公告表 | 标题、类型、图片、时间、内容 |
dictionary |
字典表 | 字段、编码、名称,用于维护下拉选项 |
token |
Token表 | 用户id、用户名、表名、角色、token、过期时间 |
config |
配置文件表 | 系统级键值配置 |
4.2 核心功能模块
4.2.1 基础数据管理
- 房间类型、反馈类型、老人身体状态、公告类型、物资类型等字典数据维护。
4.2.2 人员管理
- 用户管理、护工管理、后勤人员管理、体检员管理、管理员管理。
4.2.3 老人与房间管理
- 老人信息录入与展示。
- 房间信息(房号、类型、床位数量)管理。
- 老人入住房间的记录管理,支持查看房间与老人的关联信息。
4.2.4 物资申请管理
- 用户可为关联老人申请物资,填写物资名称、类型、数量、单位,并上传发票图片。
4.2.5 留言与反馈
- 用户可提交留言,管理员/后台人员可回复。
- 用户可提交反馈信息(反馈类型+详情)。
4.2.6 公告管理
- 后台发布公告(标题、类型、图片、时间、内容),前端可查看。
4.2.7 统计分析(通过CommonDao与图表)
- 支持字典分组统计、时间维度统计(日期格式化)。
- 支持饼图、柱状图数据聚合(求和/计数),并可关联多表查询。
4.3 角色权限
| 角色 | 主要菜单与权限 |
|---|---|
| 管理员 | 所有管理模块:基础数据、房间、入住、反馈、各类人员、老人、留言、公告、物资、用户等,具备增删改查。 |
| 用户 | 可查看房间、入住、老人、公告;可管理自己的留言(查看、新增)、物资申请(增删改查)。 |
| 体检员 | 可查看房间、入住、反馈、老人、留言、公告、物资申请。 |
| 后勤人员 | 可查看房间、入住、反馈、老人、留言、公告、物资申请。 |
| 护工 | 可查看房间、入住、反馈、老人、留言、公告、物资申请。 |
(注:除管理员外,其余角色的权限以“查看”为主,部分角色有留言和物资申请的新增/修改能力,依据菜单配置menu.js。)
4.4 系统配置
- 服务端口:
8080 - 上下文路径:
/shehuizhihuiyanglaojianhu - 数据库连接:MySQL,默认用户名
root,密码123456(基于application.yml) - 静态资源映射:
classpath:/admin/、classpath:/front/等 - Token拦截:除
/static/**外,所有路径需验证Token(见InterceptorConfig) - 文件上传限制:最大1000MB
5. 部分代码
5.1 后端 - 物资申请查询(多表联查)
<!-- WuziDao.xml 部分代码 -->
<select id="selectListView" resultType="com.entity.view.WuziView">
SELECT
a.id, a.wuzi_name, a.wuzi_types, a.wuzi_number,
laoren.laoren_name as laorenName,
yonghu.yonghu_name as yonghuName
FROM wuzi a
left JOIN laoren ON a.laoren_id = laoren.id
left JOIN yonghu ON a.yonghu_id = yonghu.id
<where>
<if test="params.wuziName != null and params.wuziName != ''">
and a.wuzi_name like CONCAT('%',#{params.wuziName},'%')
</if>
</where>
</select>
5.2 后端 - 通用统计(柱状图/饼图)
<!-- CommonDao.xml 部分代码 -->
<select id="barSum" resultType="map">
select
<if test="thisTable != null and thisTable.date != null">
date_format(thisTableName.${item}, '%Y-%m') as thisDate,
</if>
sum(thisTableName.${thisTable.sumColum}) as value
from ${thisTable.tableName} thisTableName
group by ...
</select>
5.3 后端 - 权限拦截配置
// InterceptorConfig.java
@Configuration
public class InterceptorConfig extends WebMvcConfigurationSupport {
@Bean
public AuthorizationInterceptor getAuthorizationInterceptor() {
return new AuthorizationInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(getAuthorizationInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/static/**");
}
}
5.4 前端 - Vue Router 路由定义
// router-static.js 部分代码
const routes = [{
path: '/index',
component: Index,
children: [
{ path: '/', component: Home },
{ path: '/users', component: users },
{ path: '/fangjian', component: fangjian },
{ path: '/wuzi', component: wuzi }
]
}];
5.5 前端 - 工具函数(权限判断)
// utils.js
export function isAuth(tableName, key) {
let role = storage.get("role");
let menus = menu.list();
for(let menu of menus) {
if(menu.roleName == role) {
// 遍历菜单匹配按钮权限
return buttons.indexOf(key) !== -1;
}
}
return false;
}
5. 部分截图





















7. 项目总结
该项目是一个功能较为完整的社区养老后台管理系统,涵盖了养老机构运营中的核心业务模块,包括老人档案管理、房间床位管理、入住登记、物资申请审批、留言反馈、公告发布以及多角色权限控制。
技术实现上,采用主流的 Spring Boot + MyBatis-Plus + Shiro + Vue + Element UI 技术栈,代码结构清晰,前后端分离。数据库设计较为规范,使用了字典表维护常用选项,并通过多表联查实现复杂信息展示。前端提供了丰富的UI组件和可视化图表(ECharts),支持文件上传、富文本编辑、Excel导出、打印等企业级功能。
该项目可作为社区养老、智慧养老、机构内部管理等场景的参考实现.
正文到此结束
- 本文标签: Java Spring Boot 毕业设计
- 本文链接: https://blog.xiaobias.com/article/36
- 版权声明: 本文由十五喵原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
