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. 必须了解使用本软件的风险,作者不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。


相关文章
|
19天前
|
前端开发 安全 Java
基于springboot+vue开发的会议预约管理系统
一个完整的会议预约管理系统,包含前端用户界面、管理后台和后端API服务。 ### 后端 - **框架**: Spring Boot 2.7.18 - **数据库**: MySQL 5.6+ - **ORM**: MyBatis Plus 3.5.3.1 - **安全**: Spring Security + JWT - **Java版本**: Java 11 ### 前端 - **框架**: Vue 3.3.4 - **UI组件**: Element Plus 2.3.8 - **构建工具**: Vite 4.4.5 - **状态管理**: Pinia 2.1.6 - **HTTP客户端
123 4
基于springboot+vue开发的会议预约管理系统
|
5月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
463 1
|
6月前
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
430 7
|
2月前
|
前端开发 JavaScript Java
基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
本系统基于SpringBoot与Vue3开发,实现校园食堂评价功能。前台支持用户注册登录、食堂浏览、菜品查看及评价发布;后台提供食堂、菜品与评价管理模块,支持权限控制与数据维护。技术栈涵盖SpringBoot、MyBatisPlus、Vue3、ElementUI等,适配响应式布局,提供完整源码与数据库脚本,可直接运行部署。
100 0
基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
|
4月前
|
监控 数据可视化 JavaScript
springboot + vue的MES系统生产计划管理源码
MES系统(制造执行系统)的生产计划管理功能是其核心模块之一,涵盖生产计划制定与优化、调度排程、进度监控反馈、资源管理调配及可视化报告五大方面。系统基于SpringBoot + Vue-Element-Plus-Admin技术栈开发,支持多端应用(App、小程序、H5、后台)。通过实时数据采集与分析,MES助力企业优化生产流程,适用于现代化智能制造场景。
164 1
|
5月前
|
供应链 JavaScript BI
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
这是一款专为小微企业打造的 SaaS ERP 管理系统,基于 SpringBoot+Vue+ElementUI+UniAPP 技术栈开发,帮助企业轻松上云。系统覆盖进销存、采购、销售、生产、财务、品质、OA 办公及 CRM 等核心功能,业务流程清晰且操作简便。支持二次开发与商用,提供自定义界面、审批流配置及灵活报表设计,助力企业高效管理与数字化转型。
474 2
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
|
6月前
|
JavaScript 前端开发 Java
Spring Boot 与 Vue.js 前后端分离中的数据交互机制
本文深入探讨了Spring Boot与Vue.js在前后端分离架构下的数据交互机制。通过对比传统`model.addAttribute()`方法与RESTful API的设计,分析了两者在耦合性、灵活性及可扩展性方面的差异。Spring Boot以RESTful API提供数据服务,Vue.js借助Axios消费API并动态渲染页面,实现了职责分明的解耦架构。该模式显著提升了系统的灵活性和维护性,适用于复杂应用场景如论坛、商城系统等,为现代Web开发提供了重要参考。
496 0
|
9月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的留守儿童爱心网站设计与实现(计算机毕设项目实战+源码+文档)
博主是一位全网粉丝超过100万的CSDN特邀作者、博客专家,专注于Java、Python、PHP等技术领域。提供SpringBoot、Vue、HTML、Uniapp、PHP、Python、NodeJS、爬虫、数据可视化等技术服务,涵盖免费选题、功能设计、开题报告、论文辅导、答辩PPT等。系统采用SpringBoot后端框架和Vue前端框架,确保高效开发与良好用户体验。所有代码由博主亲自开发,并提供全程录音录屏讲解服务,保障学习效果。欢迎点赞、收藏、关注、评论,获取更多精品案例源码。
|
9月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的家政服务管理平台设计与实现(计算机毕设项目实战+源码+文档)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
9月前
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!