【开源】基于Vue.js的CRM客户管理系统

这篇具有很好参考价值的文章主要介绍了【开源】基于Vue.js的CRM客户管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue客户关系源码,开源,vue.js,前端
文末获取源码,项目编号: S 072 。 \color{red}{文末获取源码,项目编号:S072。} 文末获取源码,项目编号:S072



一、摘要

1.1 项目介绍

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

1.2 项目录屏

源码下载


二、功能模块

CRM客户管理系统的系统设计是一个基于系统分析结果的过程,使用科学的系统理念和方法来设计一个新系统,该系统可以最大限度地实现所需的目的。系统设计主要是功能设计,创建理想系统并制定设计计划;将系统划分为若干子系统;子系统和整个系统的详细设计和评估;演示系统方案并预测性能效果,本系统主要从五个功能模块分析。

  1. 首先是客户管理模块,主要实现用户的增删改查,对客户信息进行快速、准确的记录和查询操作,标记客户信息并对它进行分类,每个客户都具有唯一的编号,姓名,联系方式等基本信息,同时还有客户类型,客户状态等附加信息,能够导出客户信息。

  2. 第二是客户跟踪模块,该模块主要就是对潜在客户进行跟踪,记录跟踪内容和对跟踪信息增删改查,每个客户的跟踪记录包括跟踪日期、跟踪人、跟进内容等信息。

  3. 第三是客户消费模块,记录客户的消费情况,对客户的消费记录进行增删改查,同时也能导出客户消费记录信息到本地。

  4. 第四是商品管理模块,包括商品信息的增删改查、商品分类、商品库存管理等功能。

  5. 第五是系统基础模块,该模块包含若干子功能,但是该功能模块只有管理员角色可以操作。

vue客户关系源码,开源,vue.js,前端


三、系统设计

3.1 用例设计

vue客户关系源码,开源,vue.js,前端

3.2 E-R 图设计

vue客户关系源码,开源,vue.js,前端

3.3 数据库设计

3.3.1 客户表

vue客户关系源码,开源,vue.js,前端

3.3.2 商品表

vue客户关系源码,开源,vue.js,前端

3.3.3 客户跟踪表

vue客户关系源码,开源,vue.js,前端

3.3.4 客户消费表

vue客户关系源码,开源,vue.js,前端

3.3.5 系统角色表

vue客户关系源码,开源,vue.js,前端


四、系统展示

vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端
vue客户关系源码,开源,vue.js,前端


五、核心代码

5.1 查询客户

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询客户")
public Result<IPage<Customer>> getByPage(@ModelAttribute Customer customer ,@ModelAttribute PageVo page){
    QueryWrapper<Customer> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(customer.getType())) {
        qw.eq("type",customer.getType());
    }
    if(!ZwzNullUtils.isNull(customer.getTitle())) {
        qw.like("title",customer.getTitle());
    }
    IPage<Customer> data = iCustomerService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Customer>>().setData(data);
}

5.2 新增客户跟踪记录

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增客户跟踪")
public Result<CustomerItem> insert(CustomerItem customerItem){
    Customer customer = iCustomerService.getById(customerItem.getCustomerId());
    if(customer == null) {
        return ResultUtil.error("客户不存在");
    }
    User currUser = securityUtil.getCurrUser();
    customerItem.setCustomerName(customer.getTitle());
    customerItem.setDate(DateUtil.now());
    customerItem.setUserId(currUser.getId());
    customerItem.setUserName(currUser.getNickname());
    iCustomerItemService.saveOrUpdate(customerItem);
    return new ResultUtil<CustomerItem>().setData(customerItem);
}

5.3 新增客户消费订单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增客户消费")
public Result<CustomerOrder> insert(CustomerOrder customerOrder){
    Customer customer = iCustomerService.getById(customerOrder.getUserId());
    if(customer == null) {
        return ResultUtil.error("客户不存在");
    }
    customerOrder.setUserName(customer.getTitle());
    Commodity commodity = iCommodityService.getById(customerOrder.getCommodityId());
    if(commodity == null) {
        return ResultUtil.error("商品不存在");
    }
    if(commodity.getNumber() == null) {
        commodity.setNumber(BigDecimal.ZERO);
    }
    if(customerOrder.getNumber().compareTo(commodity.getNumber()) > 0) {
        return ResultUtil.error("库存不足");
    }
    commodity.setNumber(commodity.getNumber().subtract(customerOrder.getNumber()));
    iCommodityService.saveOrUpdate(commodity);
    customerOrder.setTitle(commodity.getTitle());
    customerOrder.setType(commodity.getType());
    customerOrder.setPrice(commodity.getPrice());
    customerOrder.setImage(commodity.getImage());
    customerOrder.setUserId(customer.getId());
    customerOrder.setUserName(customer.getTitle());
    customerOrder.setDate(DateUtil.now());
    iCustomerOrderService.saveOrUpdate(customerOrder);
    return new ResultUtil<CustomerOrder>().setData(customerOrder);
}

5.4 查询商品

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询商品")
public Result<IPage<Commodity>> getByPage(@ModelAttribute Commodity commodity ,@ModelAttribute PageVo page){
    QueryWrapper<Commodity> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(commodity.getTitle())) {
        qw.like("title",commodity.getTitle());
    }
    if(!ZwzNullUtils.isNull(commodity.getType())) {
        qw.eq("type",commodity.getType());
    }
    IPage<Commodity> data = iCommodityService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Commodity>>().setData(data);
}

5.5 商品购买

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增商品购买")
public Result<CommodityBuy> insert(CommodityBuy commodityBuy){
    Commodity commodity = iCommodityService.getById(commodityBuy.getCommodityId());
    if(commodity == null) {
        return ResultUtil.error("商品不存在");
    }
    User currUser = securityUtil.getCurrUser();
    commodityBuy.setTitle(commodity.getTitle());
    commodityBuy.setType(commodity.getType());
    commodityBuy.setPrice(commodity.getPrice());
    commodityBuy.setImage(commodity.getImage());
    commodityBuy.setUserId(currUser.getId());
    commodityBuy.setUserName(currUser.getNickname());
    commodityBuy.setDate(DateUtil.now());
    iCommodityBuyService.saveOrUpdate(commodityBuy);
    if(commodity.getNumber() == null) {
        commodity.setNumber(BigDecimal.ZERO);
    }
    commodity.setNumber(commodity.getNumber().add(commodityBuy.getNumber()));
    iCommodityService.saveOrUpdate(commodity);
    return new ResultUtil<CommodityBuy>().setData(commodityBuy);
}

六、免责说明

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

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!文章来源地址https://www.toymoban.com/news/detail-766444.html

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

到了这里,关于【开源】基于Vue.js的CRM客户管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【开源】基于Vue.js的实验室耗材管理系统

    文末获取源码,项目编号: S 081 。 color{red}{文末获取源码,项目编号:S081。} 文末获取源码,项目编号: S 081 。 基于JAVA+Vue+SpringBoot+MySQL的实验室耗材管理系统,包含了耗材档案模块、耗材入库模块、耗材出库模块、耗材申请模块、耗材审核模块和耗材图表模块,还包含系

    2024年02月03日
    浏览(66)
  • 【开源】基于Vue.js的创意工坊双创管理系统

    项目编号: S 049 ,文末获取源码。 color{red}{项目编号:S049,文末获取源码。} 项目编号: S 049 ,文末获取源码。 基于JAVA+Vue+SpringBoot+MySQL的创意工坊双创管理系统,包含了讲座管理、消息管理、项目管理、公共空间、房间预约、团队管理模块,还包含系统自带的用户管理、

    2024年02月04日
    浏览(40)
  • 【开源】基于Vue.js的贫困地区人口信息管理系统

    文末获取源码,项目编号: S 073 。 color{red}{文末获取源码,项目编号:S073。} 文末获取源码,项目编号: S 073 。 基于JAVA+Vue+SpringBoot+MySQL的贫困地区人口信息管理系统,包含了贫困人口管理、精准扶贫管理、贫困家庭支出统计、特殊群体、贫困户子女信息、案件信息、物资

    2024年02月04日
    浏览(43)
  • 【开源】基于Vue.js和微信小程序的班级考勤管理系统

    文末获取源码,项目编号: S 080 。 color{red}{文末获取源码,项目编号:S080。} 文末获取源码,项目编号: S 080 。 基于JAVA+Vue+SpringBoot+MySQL的班级考勤管理系统,分为微信小程序端和管理后台,包含了学生档案、班级档案、教师档案、学生考勤、学生请假模块,还包含系统自

    2024年02月02日
    浏览(30)
  • 基于ssm的CRM客户管理系统(spring + springMVC + mybatis)营销业务信息java jsp源代码

    本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 基于ssm的CRM客户管理系统(spring + springMVC + mybatis) 系统有1权限:管理员 市场活动 线索(潜在客户) 客户 联

    2024年02月12日
    浏览(43)
  • CRM客户管理系统开发 获客管理营销全搞定

           企业经营管理是有很大学问的,无论是生产经营、销售、服务还是客户管理、维护、营销都是需要付出一定的人力物力来管理的。传统的企业管理多是通过人工方式来完成,个中细节繁琐复杂,耗时耗力还很容易出现纰漏。所以随着科技的发展,越来越多的商家企业

    2024年02月06日
    浏览(40)
  • 选型CRM客户管理系统的几个步骤

      CRM系统采购负责人,一般都是企业临时找的一位相对合适的人选,往往没有太多采购和部署系统的经验。但既然公司予以了重任就一定要将任务圆满完成, 选择CRM客户管理系统分为几个步骤? 创建需求文档 选型CRM可以采用逆向思维,反向推理选择适合的系统,如希望达成

    2024年02月06日
    浏览(40)
  • 如何通过CRM销售系统精细化管理客户?

      粗放式的客户管理会使企业失去许多潜在客户,这是许多管理者头疼的问题。与之对应的精细化管理,关键在于提升品质、降低成本、优化流程, 接下来我们就来聊一聊,如何通过CRM销售管理系统精细化管理客户。 一、客户数据库管理 在销售管理系统的帮助下,员工可以

    2024年02月08日
    浏览(41)
  • [ASP]今客CRM客户管理系统 v16.0

    源码下载:https://download.csdn.net/download/m0_66047725/88452236 今客CRM客户管理系统主要是为了帮助企业解决在日常工作中遇到的客户管理等难题而开发,通过今客CRM客户管理系统可以对企业事务中的不同功能进行操作,用户通过自定义字段类型可以达到适合不同企业的需求。在今客

    2024年02月07日
    浏览(33)
  • 企业客户管理难题都有哪些?CRM系统如何解决?

      CRM系统在客户管理中的重要性不言而喻,它可以帮助企业提高销售效率,优化客户体验和忠诚度,增加市场份额和利润。那么, CRM客户管理系统如何解决大客户管理难题? 大客户通常有着更高的品质要求、更多的定制需求、更严格的交付期限等,这对企业的产品开发、生产

    2024年02月06日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包