SpringBoot+Vue打造公司货物订单管理系统

简介: SpringBoot+Vue打造公司货物订单管理系统


一、项目简介

本项目是基于 Vue 和 Spring Boot 的公司货物订单管理系统,包括了用户档案客户档案货物订单订单条目商品档案供应商档案系统日志数据字典修改密码个人中心等基本功能。本系统主要面向中小贸易公司管理货物订单所用,降低仓管员的工作量,提高货物订单的运维水平。


二、功能明细

  • 用户档案:管理员可以对系统的登录用户进行增删改查、禁用启用操作。
  • 客户档案模块:客户是贸易公司的营销对象,管理员可以对客户数据进行增删改查操作。
  • 货物订单模块:货物订单是客户向公司下单后的结果,管理员可以对货物订单进行增删改查操作。
  • 商品档案模块:商品是客户向公司购买的产品,管理员可以对商品进行增删改查操作。
  • 供应商管理模块:供应商是贸易公司的上游客户,管理员可以对供应商进行增删改查操作。
  • 系统日志:用户在系统中的行为会自动记录,管理员可以查询系统日志。
  • 数据字典:管理员可视化修改其他模块的下拉框数据,无需修改前端代码。
  • 修改密码:用户可以根据自己的需要,修改自己账号的登录密码。
  • 个人中心:登陆注册、修改密码、维护自己账号的数据等。

三、使用对象

  • 贸易公司管理员:管理员可以删改供应商、商品、客户、货物订单,维护公司人员档案等全部功能。
  • 计划员:可查询公司的货物订单情况,对未来的采购拟定方案。
  • 业务员:可根据客户的购买需求,新增货物订单。

四、技术选型

前端

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。


五、系统展示

登录页

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

注册页

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

主页

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

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

商品支持模块

公司管理员可以在这里维护商品的数据,商品就是客户向公司购买的产品,比如生活类产品(双面胶等)、食品类产品(果冻、方便面等),如下图所示。

新增编辑商品

新增商品的操作界面如下图所示。

删除商品

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

供应商模块

供应商是贸易公司的上游客户,管理员可以对供应商进行增删改查操作,主界面如下图所示。

新增供应商

管理员可以新增供应商,需要填入公司名称、地址、联系人、电话等数据,如下图所示。

编辑供应商

管理员可以对供应商的数据进行修改,包括公司名称、地址、联系人、电话等数据,如下图所示。

删除供应商

管理员可以点击每一行数据的红色删除按钮,触发二次确认弹框,再点击确认即可完成供应商删除,如下图所示。

客户档案模块

客户是贸易公司的营销对象,管理员可以对客户数据进行增删改查操作,如下图所示。

新增客户

管理员可以新增客户档案,需要填入客户姓名、身份证号码、联系电话、客户性别,选填备注,如下图所示。

编辑客户数据

管理员可以编辑 CRM 档案,维护客户的各类数据,如姓名、身份证号码、联系电话等,如下图所示。

订单支持模块

货物订单是客户向公司下单后的结果,管理员可以对货物订单进行增删改查操作,订单模块的主界面如下图所示。

业务下订单

业务员可以在这里下订单,即新增贸易订单,如下图所示。

退货

若商品存在质量问题,业务员可以点击主界面的条目维护按钮,申请退货,如下图所示。

业务也可以添加订单的明细数据,完成商品选择和数量输入,点击添加条目按钮即可,如下图所示。

用户管理

公司管理员管理员工,在这里维护,如下图所示。

云盘(文件管理)

公司货物订单管理系统的所有文件都在这里维护,如下图所示。

系统日志

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

修改密码

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

个人门户

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

图表

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


六、项目总结

公司货物订单管理系统的投入作用,可以帮助中小贸易公司实现办公自动化,替代掉 Excel 维护的方法,提高货物订单的管理效率。

公司货物订单管理系统基于 VueSpringBoot 开发,包含了用户档案客户档案货物订单订单条目商品档案供应商档案系统日志数据字典修改密码个人中心功能,面向中小贸易公司管理货物订单,降低仓管员的工作量,提高货物订单的运维水平。


七、核心代码实例

实体类定义

@Data
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "a_order")
@TableName("a_order")
@ApiModel(value = "订单信息")
public class Order extends ZwzBaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "订单编号")
    private String code;
    @ApiModelProperty(value = "订单状态")
    private String status;
    @ApiModelProperty(value = "订单总价")
    private BigDecimal sumMoney;
    @ApiModelProperty(value = "订单生成日期")
    private String date;
    @ApiModelProperty(value = "操作人员")
    private String userName;
    @ApiModelProperty(value = "订单客户ID")
    private String customerId;
    @ApiModelProperty(value = "订单客户姓名")
    private String customerName;
    @ApiModelProperty(value = "收货人")
    private String inName;
    @ApiModelProperty(value = "收货电话")
    private String inMobile;
    @ApiModelProperty(value = "付款人")
    private String outName;
    @ApiModelProperty(value = "付款电话")
    private String outMobile;
    @ApiModelProperty(value = "备注")
    private String remark;
    @Transient
    @TableField(exist=false)
    @ApiModelProperty(value = "条目列表")
    private List<OrderItem> itemList;
}

新增贸易单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增贸易单")
public Result<Order> insert(Order order) {
    if(ZwzNullUtils.isNull(order.getCustomerId())) {
        return ResultUtil.error("订单客户不能为空");
    }
    Customer customer = iCustomerService.getById(order.getCustomerId());
    if(customer == null) {
        return ResultUtil.error("订单客户已被删除");
    }
    User currUser = securityUtil.getCurrUser();
    order.setUserName(currUser.getNickname());
    order.setCustomerName(customer.getName());
    order.setDate(DateUtil.today());
    order.setCode(IdUtil.getSnowflake(1, 1).nextId() + "");
    iOrderService.saveOrUpdate(order);
    return new ResultUtil<Order>().setData(order);
}

新增条目单(贸易子单)

@RequestMapping(value = "/inOrder", method = RequestMethod.POST)
@ApiOperation(value = "新增条目单")
public Result<Object> inOrder(@RequestParam String orderId,@RequestParam String commodityId,@RequestParam float number){
    Order order = iOrderService.getById(orderId);
    if(order == null) {
        return ResultUtil.error("订单不存在");
    }
    Commodity commodity = iCommodityService.getById(commodityId);
    if(commodity == null) {
        return ResultUtil.error("商品不存在");
    }
    OrderItem item = new OrderItem();
    item.setCode(IdUtil.getSnowflake(1, 1).nextId() + "");
    item.setCommodityId(commodity.getId());
    item.setCommodityName(commodity.getName());
    item.setUnit(commodity.getUnit());
    item.setMoney(commodity.getMoney());
    item.setDiscount(commodity.getDiscount());
    item.setNumber(BigDecimal.valueOf(number));
    item.setOrderId(orderId);
    iOrderItemService.saveOrUpdate(item);
    // 计算总订单金额
    calOrderSumNumber(order);
    return ResultUtil.success();
}

八、免责声明

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


相关文章
|
1天前
|
Web App开发 编解码 Java
B/S基层卫生健康云HIS医院管理系统源码 SaaS模式 、Springboot框架
基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。
50 4
|
1天前
|
运维 监控 安全
云HIS医疗管理系统源码——技术栈【SpringBoot+Angular+MySQL+MyBatis】
云HIS系统采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分,功能易扩展;支持多样化灵活配置,提取大量公共参数,无需修改代码即可满足不同客户需求;服务组织合理,功能高内聚,服务间通信简练。
34 4
|
1天前
|
Java 关系型数据库 MySQL
【毕业设计】基于Springboot的B2B平台医疗病历交互系统
【毕业设计】基于Springboot的B2B平台医疗病历交互系统
12 0
|
1天前
|
搜索推荐 Java 数据库
springboot集成ElasticSearch的具体操作(系统全文检索)
springboot集成ElasticSearch的具体操作(系统全文检索)
|
1天前
|
前端开发 Java 关系型数据库
Java医院绩效考核系统源码B/S架构+springboot三级公立医院绩效考核系统源码 医院综合绩效核算系统源码
作为医院用综合绩效核算系统,系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
30 2
|
1天前
|
运维 监控 Java
springboot基层区域HIS系统源码
医疗(医院)机构正式使用云HIS系统之前,要先进行院内基础数据的配置,主要在数据管理模块中进行,由系统管理员来操作。
11 0
|
1天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
102 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
1天前
|
JSON JavaScript Java
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
25 0
|
1天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的4S店客户管理系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的4S店客户管理系统的详细设计和实现
47 4
|
1天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
35 3