基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现

本文主要是介绍基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系统介绍

系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对北京医疗企业固定资产管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的思想,在北京医疗企业固定资产管理系统实现了员工、固定资产、资产入库、资产出库、资产申领、资产报修等的功能性。

系统主要技术 

开发语言:Java使用框架:spring boot前端技术:JavaScript、Vue 、css3开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code数据库:MySQL 5.7/8.0数据库管理工具:phpstudy/NavicatJDK版本:jdk1.8Maven: apache-maven 3.8.1-bin

系统展示

为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该北京医疗企业固定资产管理系统的功能结构图如下所示

5.1管理员功能模块

管理员通过登录页面填写用户名和密码,选择角色完成后进行登录,如图5-1所示。

图5-1管理员登录页面

管理员登录进入北京医疗企业固定资产管理系统的实现可以查看系统首页、个人中心、员工管理、固定资产管理、资产入库管理、资产出库管理、资产申领管理、资产报修管理等信息,如图5-2所示。

图5-2管理员功能界面图

管理员点击员工管理;在员工管理页面对员工工号、员工姓名、性别、报名、座位、入职时间、联系方式、身份证等信息,进行查询,新增或删除员工信息等操作;如图5-3所示。

图5-3员工管理界面图

管理员点击固定资产管理;在固定资产管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、购买时间等信息,进行查询,新增或删除固定资产等操作;如图5-4所示。

图5-4固定资产管理界面图

管理员点击资产入库管理;在资产入库管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、入库时间、入库说明等信息,进行查询或删除资产入库等操作;如图5-5所示。

图5-5资产入库管理界面图

管理员点击资产出库管理;在资产出库管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、出库时间、出库说明等信息,进行查询或删除资产出库等操作;如图5-6所示。

图5-6资产出库管理界面图

管理员点击资产申领管理;在资产申领管理页面对资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、备注、申请时间、员工账号、员工姓名、审核回复、审核状态、审核等信息,进行查询或删除资产申领等操作;如图5-7所示。

图5-7资产申领管理界面图

管理员点击资产报修管理;在资产报修管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、报修时间、报修说明、员工工号、员工姓名、维修人员、审核回复、审核状态、审核等信息,进行查询删除资产报修等操作;如图5-8所示。

图5-8资产报修管理界面图

5.2员工功能模块

登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-9所示。

图5-9员工登录界面

员工登录系统后,可以对系统首页、个人中心、固定资产管理、资产申领管理、资产报修管理等功能进行相应操作,如图5-10所示。

图5-10员工功能界图面

员工点击固定资产管理;在固定资产管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、购买时间等信息,进行查询固定资产等操作;如图5-11所示。

图5-11固定资产管理界面图

员工点击资产申领管理;在资产申领管理页面对资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、备注、申请时间、员工账号、员工姓名、审核回复、审核状态、审核等信息,进行查询或删除资产申领等操作;如图5-12所示。

图5-12资产申领管理界面图

员工点击资产报修管理;在资产报修管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、报修时间、报修说明、员工工号、员工姓名、维修人员、审核回复、审核状态、审核等信息,进行查询资产报修等操作;如图5-13所示。

图5-13资产报修管理界面图

部分核心代码

/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UsersController {@Autowiredprivate UsersService usersService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());R r = R.ok();r.put("token", token);r.put("role",user.getRole());r.put("userId",user.getId());return r;}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}usersService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 修改密码*/@GetMapping(value = "/updatePassword")public R updatePassword(String  oldPassword, String  newPassword, HttpServletRequest request) {UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));if(newPassword == null){return R.error("新密码不能为空") ;}if(!oldPassword.equals(users.getPassword())){return R.error("原密码输入错误");}if(newPassword.equals(users.getPassword())){return R.error("新密码不能和原密码一致") ;}users.setPassword(newPassword);usersService.updateById(users);return R.ok();}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");usersService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", usersService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UsersEntity user = usersService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");UsersEntity user = usersService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}usersService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);usersService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){List<UsersEntity> user = usersService.selectList(null);if(user.size() > 1){usersService.deleteBatchIds(Arrays.asList(ids));}else{return R.error("管理员最少保留一个");}return R.ok();}
}

 

 此源码非开源,若需要此源码可扫码添加微信或者qq:2214904953进行咨询!

2600多套项目欢迎咨询

这篇关于基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939156

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co