原创

基于springboot2+vue2社区智慧养老监护管理平台

温馨提示:
本文最后更新于 2026年05月29日,已超过 12 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1. 资源

https://blog.xiaobias.com/article/36

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. 部分截图

img1
img2
img3
img4
img5
img6
img7
img8
img9
img10
img11
img12
img13
img14
img15
img16
img17
img18
img19
img20
img21

7. 项目总结

该项目是一个功能较为完整的社区养老后台管理系统,涵盖了养老机构运营中的核心业务模块,包括老人档案管理、房间床位管理、入住登记、物资申请审批、留言反馈、公告发布以及多角色权限控制。

技术实现上,采用主流的 Spring Boot + MyBatis-Plus + Shiro + Vue + Element UI 技术栈,代码结构清晰,前后端分离。数据库设计较为规范,使用了字典表维护常用选项,并通过多表联查实现复杂信息展示。前端提供了丰富的UI组件和可视化图表(ECharts),支持文件上传、富文本编辑、Excel导出、打印等企业级功能。

该项目可作为社区养老、智慧养老、机构内部管理等场景的参考实现.

正文到此结束