【开源】基于Vue.js的独居老人物资配送系统

news/2024/7/10 19:11:35 标签: 开源, vue.js, 前端

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询社区
    • 4.2 新增物资
    • 4.3 查询物资
    • 4.4 查询物资配送
    • 4.5 新增物资配送
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的独居老人物资配送系统,包含了社区档案、老人档案、物资档案、物资配送模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,独居老人物资配送系统基于角色的访问控制,给社区管理员、社区工作人员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

社区养老管理及物资配送系统的主要使用者分为管理员和用户,实现功能包括管理员:家人管理、护工管理、医生管理、一键呼叫、健康信息管理、摔倒记录管理、每日打卡管理、服药情况管理、活动宣传管理、活动类型管理、物资管理、物资配送等功能。需要将本网站的功能模块设计得比较全面,从而使得整个社区养老管理及物资配送系统信息管理的过程得以实现。

老龄化独居老人的社区管理及物资配送系统分为前端和后端两个部分,后端开发主要使用 Java 语言,技术选型上主要采用了 SpringBoot 开发框架,然后整合持久层的 Mybatis 对象关系映射框架来进行对接 Mysql 数据库实现数据的持久化存储。前端使用基于组件的 JavaScript 框架 Vue 进行界面开发;并且使用BootStrap 组件库使得 UI 更加美观、开发更加高效。系统前端和后端交互主要基于异步请求的方式来实现,数据传送格式为JSON的数据格式,这种数据格式表达数据更加灵活方便,可以表示较为复杂的数据类型。

本系统的使用可以实现社区养老管理及物资配送系统的信息化,可以方便管理员进行更加方便快捷的管理,可以提高管理人员的工作效率。

研究老龄化独居老人的生存现状与基本需求,建立一套社区级老年人管理和基本物资配送系统,使社区工作规范化,可以更好的解决高龄独居老人的养老难问题。社区养老管理服务模式“系统+服务+老人+终端”,以社区为依托、以智慧养老服务平台为支撑,以智能终端和热线为纽带,整合社区养老服务设施、专业服务队伍和社会资源,重点打造以“呼叫救助、居家照料、健康服务、档案管理”为中心的智能社区养老服务网络,系统前端和后端交互主要基于异步请求的方式来实现为老年人提供综合性的养老服务。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询社区

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询社区")
public Result<IPage<Community>> getByPage(@ModelAttribute Community community ,@ModelAttribute PageVo page){
    QueryWrapper<Community> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(community.getTitle())) {
        qw.like("title",community.getTitle());
    }
    if(!ZwzNullUtils.isNull(community.getUserName())) {
        qw.like("user_name",community.getUserName());
    }
    if(!ZwzNullUtils.isNull(community.getAddress())) {
        qw.like("address",community.getAddress());
    }
    IPage<Community> data = iCommunityService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Community>>().setData(data);
}

4.2 新增物资

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增物资")
public Result<Materials> insert(Materials materials){
    iMaterialsService.saveOrUpdate(materials);
    return new ResultUtil<Materials>().setData(materials);
}

4.3 查询物资

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询物资")
public Result<IPage<Materials>> getByPage(@ModelAttribute Materials materials ,@ModelAttribute PageVo page){
    QueryWrapper<Materials> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(materials.getTitle())) {
        qw.like("title",materials.getTitle());
    }
    if(!ZwzNullUtils.isNull(materials.getContent())) {
        qw.like("content",materials.getContent());
    }
    if(!ZwzNullUtils.isNull(materials.getStatus())) {
        qw.eq("status",materials.getStatus());
    }
    IPage<Materials> data = iMaterialsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Materials>>().setData(data);
}

4.4 查询物资配送

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询物资配送")
public Result<IPage<MaterialsDistribution>> getByPage(@ModelAttribute MaterialsDistribution materialsDistribution ,@ModelAttribute PageVo page){
    QueryWrapper<MaterialsDistribution> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(materialsDistribution.getTitle())) {
        qw.like("title",materialsDistribution.getTitle());
    }
    if(!ZwzNullUtils.isNull(materialsDistribution.getOldName())) {
        qw.like("old_name",materialsDistribution.getOldName());
    }
    if(!ZwzNullUtils.isNull(materialsDistribution.getStatus())) {
        qw.eq("status",materialsDistribution.getStatus());
    }
    IPage<MaterialsDistribution> data = iMaterialsDistributionService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<MaterialsDistribution>>().setData(data);
}

4.5 新增物资配送

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增物资配送")
public Result<MaterialsDistribution> insert(MaterialsDistribution materialsDistribution){
    Materials m = iMaterialsService.getById(materialsDistribution.getMaterialsId());
    if(m == null) {
        return ResultUtil.error("物资不存在");
    }
    materialsDistribution.setTitle(m.getTitle());
    materialsDistribution.setContent(m.getContent());
    materialsDistribution.setPrice(m.getPrice());
    materialsDistribution.setImage(m.getImage());
    OldMan o = iOldManService.getById(materialsDistribution.getOldId());
    if(o == null) {
        return ResultUtil.error("老人不存在");
    }
    materialsDistribution.setOldName(o.getUserName());
    materialsDistribution.setOldAddress(o.getAddress());
    materialsDistribution.setStatus("未配送");
    materialsDistribution.setFinishTime("");
    iMaterialsDistributionService.saveOrUpdate(materialsDistribution);
    return new ResultUtil<MaterialsDistribution>().setData(materialsDistribution);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

http://www.niftyadmin.cn/n/5197469.html

相关文章

开启AI高效办公时代,成为AI时代的先行者

文章目录 AI智能化办公&#xff1a;未来办公的新模式一、AI智能化办公的优势1. 提高工作效率2. 降低成本3. 提高决策质量4. 促进团队协作 二、AI智能化办公的应用场景1. 智能助手2. 智能会议3. 智能文档处理4. 智能数据分析 三、AI智能化办公的挑战与前景1. 数据安全与隐私保护…

动态库符号抢占问题分析

背景 前段时间在北汽项目中&#xff0c;遇到了一个奇怪现象&#xff0c;困扰了大家较长时间。最终在和同事的不懈努力下&#xff0c;从根因上解决了该问题&#xff0c;过程中也学习到了很多。在此&#xff0c;记录并分享&#xff0c;希望能够帮助大家。 问题描述 作为OTA服务的…

前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 系列文章目录

系列文章目录 第一章 技术栈简介 (开篇) 第二章 环境部署 (Node等环境安装) 第三章 项目创建 (Vite项目初始化) 第四章 认识项目目录 第五章 Element-Plus组件库安装和使用 第六章 样式格式化 (Sass) 第七章 路由配置 (vue-router路由守卫) 第八章 请求配置 (Axios请求和响应拦…

实验1 Python程序设计基础

第1关:运行程序:求圆的面积 from math import pi r=eval(input(请输入圆半径:)) s=pi*r**2 print(f圆面积为:{s:.2f}) 第2关:运行程序2:对输入的数据进行合法性检查 #请参照左侧代码在下方书写程序并运行 from math import pi r=eval(input(请输入圆半径:)) if r>…

Vue图片URL转File实践[已解决跨域问题]

async imgToFile(url) {const self thisconst image new Image()//let url "https://shenjianblog.oss-cn-shanghai.aliyuncs.com/pic/20220612/sfxs.jpg"// 使用 fetch 获取图像作为 Blob 对象const response await fetch(url.replace("https://shenjianbl…

接口自动化项目落地之HTTPBin网站

原文&#xff1a;https://www.cnblogs.com/df888/p/16011061.html 接口自动化项目落地系列 找个开源网站或开源项目&#xff0c;用tep实现整套pytest接口自动化项目落地&#xff0c;归档到电子书&#xff0c;作为tep完整教程的项目篇一部分。自从tep完整教程发布以后&#…

Linux:系统基本信息扫描(2)

#网络地址:ip a------------------------------------------------------------- ip a echo "主机名:-------------------------------------------------------" hostnamectl sleep 0.5s echo "#系统基本信息:--------------------------------------------…

Python程序设计基础2

第1关:HUT开学了: # 请在此添加代码 Name = input() # 输入学生的姓名 ########## Begin ########## print("|++++++++++++++++++++++|") print("| |") print("| Welcome to HUT |") print("| …