使用Vue和SpringBoot开发实验室耗材智能运维系统

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 使用Vue和SpringBoot开发实验室耗材智能运维系统

一、项目简介

本项目是基于 Vue 和 Spring Boot 的实验室耗材智能运维系统,包括了耗材档案耗材采购入库耗材领用出库三大核心业务,另外还支持申请耗材审核申请单用户管理文件云盘组织架构日志数据字典修改密码个人中心等扩展功能。本系统主要面向高校实验室管理日常耗材所用,降低实验室管理人员的工作量,提高耗材库存的管理水平。


二、功能明细

  • 耗材档案:实验室管理者可自由增删改查耗材的数据。
  • 耗材采购入库:实验室耗材采购人员可将采购的耗材入库至系统。
  • 耗材领用出库:学生可按需申请耗材,实验室管理员审核;或者实验室管理员直接分配给学生。
  • 用户权限管控:基于角色的权限控制,可维护每位用户的菜单权限和用户信息。
  • 组织架构维护:对实验室的组织架构进行维护,如教师层、20级、21级等。
  • 文件云盘:统一化管理系统所用到的全部文件,封装了 Vue 组件供其他模块表单调用。
  • 系统日志:根据用户操作,自动化记录日志。
  • 数据字典:管理员可视化修改其他模块的下拉框数据,无需修改前端代码。
  • 个人中心:登陆注册、修改密码、维护自己账号的数据等。

三、使用对象

  • 实验室管理员:管理员可以发布耗材、删改耗材数据、维护实验室人员档案等全部功能。
  • 耗材采购员:可对管理员发布的耗材品类,进行入库操作、对指定学生进行出库领用或审核学生的申请单。
  • 学生:可查看实验室现有耗材的库存情况、申请耗材、查看自己的申请状态。

四、技术选型

前端

Vue:Vue 是构建前端界面的核心框架,本系统采用 2.6.14 版本。

View UI:基于 Vue.js2.0 的组件库,本系统采用 4.7.0 版本。

后端

Spring Boot:构建系统核心逻辑的后端框架,本系统采用 2.7.4 版本。

MyBatis / MyBatis Plus:后端连接数据库的框架,本系统采用 3.5.2 版本。

数据库

MySQL:本项目的主数据库,本系统采用 8.0.30 版本。

Redis:本系统采用基于 Windows 版本的 Redis,用于图形验证码和用户菜单权限的临时存储,采用了 5.0.14.1 版本。

开发环境

VsCode:项目前端的开发工具,使用版本为 1.68.0。

IntelliJ IDEA :项目后端的开发工具,使用版本为 2022.2.2。

Jdk:Java 的开发环境,使用版本为 17.0.4.1。

Maven:后端项目的打包工具,使用版本为 3.6.2。

NodeJs:前端项目的开发环境,使用版本为 16.13.0。


五、系统展示

登录页

用户可使用账号 + 密码 + 图形验证码的方式进行登录,如下图所示。

注册页

如果用户没有账号,也可以根据手机号、姓名、密码和图形验证码进行注册,如下图所示。

主页

用户登录成功后,默认进入主页,如下图所示。

当然不同的用户拥有不同的菜单权限,实验室耗材智能运维系统采用基于角色的访问控制模式,采用同学们可以自定义角色,再分配指定的菜单权限,如下图所示。

耗材档案

实验室管理员可以在这里维护耗材的数据,其中耗材包括大的耗材(固定资产)和小的耗材(耗材),如下图所示。

新增编辑耗材

新增耗材的操作界面如下图所示。

删除耗材

用户可以选择一定数量的耗材,点击删除按钮,进行删除,系统会给与二次确认弹框,如下图所示。

耗材入库

耗材的来源是采购员买来之后入库,所以采购员可以在这个模块操作入库,如下图所示。

新增入库

新增入库时,资产是由耗材模块中进行选择,如下图所示。

新增之后还可以编辑,编辑功能如下图所示。

耗材领用(管理员)

管理员可以主动将耗材分配给实验室学生,如下图所示。

新增耗材领用分配

其中表单的资产名称和领用人可导入选择,资产导入后,型号、单价自动带出,用户只需填写数量和备注即可,如下图所示。

耗材领用(用户)

除了管理员主动分配耗材给学生,学生也可以主动去申请耗材,如下图所示。

领用审核

学生主动申请耗材后,实验室管理员可以对其进行审核,如下图所示。

审核通过即可完成正常领用,如下图所示。

用户管理

管理员管理学生,在这里维护,如下图所示。

云盘(文件管理)

实验室耗材智能运维系统的所有文件都在这里维护,如下图所示。

系统日志

用户的指定操作(后端代码匹配)可以自动化记录日志,汇总在日志模块,如下图所示。

修改密码

用户可以修改自己的密码,如下图所示。

个人门户

用户可以在个人门户中编辑自己的信息,如下图所示。

图表

系统还支持 ANTV 图表,同学们可以根据自己需要,进行二次开发。

六、项目总结

智能化人事系统的作用,就是为公司人事事务提供便捷性支持,方便公司对自己人事组织层次,人事数据进行修改、维护、检索信息。本软件是基于 VueSpringBoot 的智能化人事系统,包含了员工模块请假模块通告模块留言模块薪资模块职位职称这六个功能核心模块。

开发本系统的目的,就是为了帮助中小企业提高人事管理效率,降低人力成本,让中小企业获得更多的经济效益


七、核心代码实例

实体类定义

@Data
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "a_assets_type")
@TableName("a_assets_type")
@ApiModel(value = "资产种类")
public class AssetsType extends ZwzBaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "资产名称")
    private String assetName;
    @ApiModelProperty(value = "性质")
    private String nature;
    @ApiModelProperty(value = "型号")
    private String model;
    @ApiModelProperty(value = "数量")
    private String number;
    @ApiModelProperty(value = "现有数量")
    private String existingNumber;
    @ApiModelProperty(value = "单价")
    private String unitPrice;
    @ApiModelProperty(value = "总价")
    private String totalPrice;
    @ApiModelProperty(value = "备注")
    private String remarks;
}

资产出库

@ApiOperation(value = "资产出库")
@RequestMapping(value = "/outpdate", method = RequestMethod.POST)
public Result<WarehouseOut> outpdate(WarehouseOut warehouseOut){
    WarehouseOut oldWarehouseOut = iWarehouseOutService.getById(warehouseOut.getId());
    double oldNumber = 0.0;
    if(oldWarehouseOut != null){
        oldNumber = Double.parseDouble(oldWarehouseOut.getNumber());
    }
    // outNumber 要出库的数量
    double outNumber = Double.parseDouble(warehouseOut.getNumber());
    AssetsType oldAssetsType = iAssetsTypeService.getById(warehouseOut.getAssetId());
    if(oldAssetsType != null){
        // newNumber 出库后还有的数量 = 仓库原本还有的数量 - 出库单的出库数量 + 原有出库单的出库数量
        Double newNumber = Double.parseDouble(oldAssetsType.getExistingNumber()) - outNumber + oldNumber;
        if(newNumber >= 0){
            oldAssetsType.setExistingNumber(newNumber + "");
            iAssetsTypeService.saveOrUpdate(oldAssetsType);
        }else{
            return ResultUtil.error("手慢啦!库存不足!");
        }
    }
    if(ZwzNullUtils.isNull(warehouseOut.getId())) {
        warehouseOut.setAuditStatus(0);
        warehouseOut.setAuditTime("");
    }
    if(iWarehouseOutService.saveOrUpdate(warehouseOut)){
        return new ResultUtil<WarehouseOut>().setData(warehouseOut);
    }
    return ResultUtil.error();
}

八、免责声明

  • 本项目开源,仅供个人学习使用,遵循 GPL-3.0 开源协议,转发 / 商用授权请联系作者,否则后果自负。
  • 作者拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,欢迎一切有价值的商业合作。
  • 如有问题,欢迎在评论区留言,看到后会第一时间回复。相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
  • 下载本系统代码的用户,必须同意以下内容,否则请勿下载!
  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和作者无关,作者对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),作者概不承担任何责任。
  4. 必须了解使用本软件的风险,作者不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
50 0
|
7天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
52 13
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
26天前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
38 2
|
1月前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
1月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
187 1
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
45 0
|
运维 Kubernetes 监控
SREWorks 云原生数智运维平台揭秘 | 突破规模化智能运维aiops瓶颈
一套规模化运维的流水线——交付、监测、管理、控制、运营、服务。
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
65 4
|
21天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
下一篇
DataWorks