【开源】基于Vue.js的车险自助理赔系统的设计和实现

在这里插入图片描述
项目编号: S 018 ,文末获取源码。 \color{red}{项目编号:S018,文末获取源码。} 项目编号:S018,文末获取源码。


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 数据中心模块
    • 2.2 角色管理模块
    • 2.3 车辆档案模块
    • 2.4 车辆理赔模块
    • 2.5 理赔照片模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 数据库设计
      • 3.2.1 角色表
      • 3.2.2 车辆表
      • 3.2.3 理赔表
      • 3.2.4 理赔照片表
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询车辆档案
    • 5.2 申请车辆理赔
    • 5.3 上传理赔照片
    • 5.4 小程序登录
    • 5.5 修改个人昵称
  • 六、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL 的车险自助理赔系统包含车辆管理模块、车险理赔模块、理赔审核模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,车险自助理赔系统基于角色的访问控制,给车险管理员、用户、理赔专员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

车险自助理赔系统的功能性需求主要包含数据中心模块、角色管理模块、车辆档案模块、车辆理赔模块这五大模块,系统是基于浏览器运行的web管理后端,其中各个模块详细说明如下:

2.1 数据中心模块

数据中心模块包含了车险自助理赔系统的系统基础配置,如登录用户的管理、运营公司组织架构的管理、用户菜单权限的管理、系统日志的管理、公用文件云盘的管理。
其中登录用户管理模块,由管理员负责运维工作,管理员可以对登录用户进行增加、删除、修改、查询操作。
组织架构,指的是运营公司的组织架构,该模块适用于管理这些组织架构的部门层级和员工的部门归属情况。
用户菜单权限管理模块,用于管理不同权限的用户,拥有哪些具体的菜单权限。
系统日志的管理,用于维护用户登入系统的记录,方便定位追踪用户的操作情况。
公用云盘管理模块,用于统一化维护车险自助理赔系统中的图片,如理赔单照片、车辆照片等等。

2.2 角色管理模块

车险自助理赔系统是给多个角色使用的,车主和理赔管理员拥有着不同的菜单权限,所以需要建立角色管理模块。其中角色的字段包括角色名称、状态、排序值、备注、创建人、创建时间、更新人、更新时间等,管理员可以新增、删除、修改、条件查询角色,用户查询管理员发布的角色数据。

2.3 车辆档案模块

车辆是车险自助理赔系统的核心,有了车辆才可以申请理赔,所以需要对车辆的档案进程维护,车辆信息包括归属人、联系电话、车牌号、车辆照片、品牌、保险状态、创建人、创建时间等,车主可以申请添加自己名下的车辆,管理员可以对车辆信息进行添加、删除、编辑和条件查询操作。

2.4 车辆理赔模块

车辆理赔模块用于车主对自己车辆的理赔事宜进行申请和维护。车辆理赔的字段包括车辆、归属人、联系电话、车牌号、车辆照片、品牌、理赔事由、审核状态等,车主可以发起车辆理赔申请,管理员可以对车主发起的理赔申请进行审核操作。

2.5 理赔照片模块

为了更好的表达车辆理赔的情况,设计了理赔照片模块,车主可以根据需要上传理赔的照片,更好的说明理赔的情况,理赔照片的字段包括理赔单、照片、上传时间、上传、备注、排序值、更新时间、更新人,车主可以上传理赔照片,并挂靠到某个车辆理赔单上,管理员可以根据理赔单查询理赔的照片数据。


三、系统设计

3.1 用例设计

在这里插入图片描述

3.2 数据库设计

3.2.1 角色表

在这里插入图片描述

3.2.2 车辆表

在这里插入图片描述

3.2.3 理赔表

在这里插入图片描述

3.2.4 理赔照片表

在这里插入图片描述


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询车辆档案

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询车辆")
public Result<IPage<Vehicle>> getByPage(@ModelAttribute Vehicle vehicle ,@ModelAttribute PageVo page){
    QueryWrapper<Vehicle> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(vehicle.getUserName())) {
        qw.like("user_name",vehicle.getUserName());
    }
    if(!ZwzNullUtils.isNull(vehicle.getCarNumber())) {
        qw.like("car_number",vehicle.getCarNumber());
    }
    if(!ZwzNullUtils.isNull(vehicle.getStatus())) {
        qw.like("status",vehicle.getStatus());
    }
    IPage<Vehicle> data = iVehicleService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Vehicle>>().setData(data);
}

5.2 申请车辆理赔

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "小程序申请理赔")
public Result<Object> addOne(@RequestParam String carId,@RequestParam String reason,@RequestParam String money,@RequestParam String image){
    Vehicle v = iVehicleService.getById(carId);
    if(v == null) {
        return ResultUtil.error("车辆不存在");
    }
    VehicleClaim vc = new VehicleClaim();
    vc.setVehicleId(v.getId());
    vc.setUserId(v.getUserId());
    vc.setUserName(v.getUserName());
    vc.setMobile(v.getMobile());
    vc.setCarNumber(v.getCarNumber());
    vc.setImage(v.getImage());
    vc.setBrand(v.getBrand());
    vc.setClaimReason(reason);
    vc.setClaimTime1(DateUtil.now());
    vc.setClaimTime2("");
    vc.setClaimStatus("未审核");
    vc.setClaimUser("");
    try {
        vc.setClaimMoney(BigDecimal.valueOf(Long.parseLong(money)));
    } catch (Exception e) {
        vc.setClaimMoney(BigDecimal.ZERO);
    }
    iVehicleClaimService.saveOrUpdate(vc);
    User currUser = securityUtil.getCurrUser();
    String[] imageList = image.split(",");
    for (String vo : imageList) {
        VehicleImage vi = new VehicleImage();
        vi.setClaimId(vc.getId());
        vi.setImage(vo);
        vi.setUploadTime(DateUtil.now());
        vi.setUploadUser(currUser.getNickname());
        iVehicleImageService.saveOrUpdate(vi);
    }
    return ResultUtil.success();
}

5.3 上传理赔照片

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增照片")
public Result<VehicleImage> addOne(@RequestParam String id,@RequestParam String image){
    User currUser = securityUtil.getCurrUser();
    String[] imageList = image.split(",");
    for (String vo : imageList) {
        VehicleImage vi = new VehicleImage();
        vi.setClaimId(id);
        vi.setImage(vo);
        vi.setUploadTime(DateUtil.now());
        vi.setUploadUser(currUser.getNickname());
        iVehicleImageService.saveOrUpdate(vi);
    }
    return ResultUtil.success();
}

5.4 小程序登录

@RequestMapping(value = "/loginOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "小程序登陆")
public Result<String> loginOnWeb(@RequestParam String userName, @RequestParam String password){
    QueryWrapper<User> qw = new QueryWrapper<>();
    qw.eq("username",userName);
    List<User> userList = iUserService.list(qw);
    if(userList.size() < 1) {
        User u = new User();
        u.setUsername(userName);
        u.setNickname(userName);
        u.setMobile(userName);
        u.setEmail(u.getMobile() + "@qq.com");
        String encryptPass = new BCryptPasswordEncoder().encode(password);
        u.setPassword(encryptPass).setType(0);
        iUserService.saveOrUpdate(u);
        QueryWrapper<Role> roleQw = new QueryWrapper<>();
        roleQw.eq("default_role",true);
        List<Role> roleList = iRoleService.list(roleQw);
        if(roleList.size() > 0){
            for(Role role : roleList) {
                iUserRoleService.saveOrUpdate(new UserRole().setUserId(u.getId()).setRoleId(role.getId()));
            }
        }
        String accessToken = securityUtil.getToken(u.getUsername(), true);
        UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(u), null, null);
        SecurityContextHolder.getContext().setAuthentication(authentication);
        return new ResultUtil<String>().setData(accessToken);
    }
    User user = userList.get(0);
    if(!new BCryptPasswordEncoder().matches(password, user.getPassword())){
        return ResultUtil.error("密码不正确");
    }
    String accessToken = securityUtil.getToken(user.getUsername(), true);
    UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(user), null, null);
    SecurityContextHolder.getContext().setAuthentication(authentication);
    return new ResultUtil<String>().setData(accessToken);
}

5.5 修改个人昵称

@RequestMapping(value = "/changeName", method = RequestMethod.GET)
@ApiOperation(value = "修改昵称")
public Result<User> changeName(@RequestParam String nickname){
    User user = iUserService.getById(securityUtil.getCurrUser().getId());
    if(user == null) {
        return ResultUtil.error("用户不存在");
    }
    user.setNickname(nickname);
    iUserService.saveOrUpdate(user);
    return new ResultUtil<User>().setData(user);
}

六、免责说明

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

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/170767.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

“玄学+社交+AI”最全解题思路,融云 AI 对话方案全力支持

“东北 I 人异于常人”成了 MBTI 最新热梗。互联网 Meme 在放过了“为 I 做 E”后&#xff0c;开始对 MBTI 做更精细的划分了。关注【融云全球互联网通信云】了解更多 一切皆可玄学&#xff0c;今年爆火的还有香灰琉璃和十八籽手串&#xff0c;作为年轻人“在上进与上班中选择了…

java系列之 页面打印出 [object Object],[object Object]

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 &#x1f3f7;️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…

深入探索 PaddlePaddle 中的计算图

**引言** 计算图是深度学习平台 PaddlePaddle 的核心组件之一&#xff0c;它提供了一种图形化的方式来表示和执行深度学习模型。通过了解和理解 PaddlePaddle 中的计算图&#xff0c;我们可以更好地理解深度学习的工作原理&#xff0c;并且能够更加灵活和高效地构建和训练复杂…

西米支付”:在游戏SDK中,提供了哪些支付渠道?SDK的用处?

在游戏SDK中&#xff0c;提供了哪些支付渠道&#xff1f; 常见的支付方式包括支付宝、微信支付、银联支付等。游戏SDK的支付功能可以方便玩家选择不同的支付渠道&#xff0c;以满足他们个性化的支付需求。 流行的支付应用&#xff1a;该应用集成了流行的支付应用支付接口&#…

如何解决requests库自动确定认证arded 类型

requests 库是一种非常强大的爬虫工具,可以用于快速构建高效和稳定的网络爬虫程序。对于经常使用爬虫IP用来网站爬虫反爬策略的我来说&#xff0c;下面遇到的问题应当值得我们思考一番。 问题背景 在使用requests库进行网络请求时&#xff0c;有时会遇到需要对目标服务进行认证…

基于Java封装继承多态实现的一个简单图书系统

首先我们大概了解下图书系统的需求 1.要有两种身份 管理员和普通用户。普通用户和管理员分别对应的功能不一样&#xff0c;需要分开实现 2. 图书系统肯定要有图书&#xff0c;和存放图书的地方&#xff0c;存放就用数组来实现 3.实现对应用户的功能 接下来我们第一步&#xf…

数字化转型背景下,企业如何做好知识管理?

在当今数字化转型的时代&#xff0c;企业面临着日益复杂和快速变化的商业环境。知识管理成为了企业成功的关键之一。有效地管理和利用知识资源可以提升企业的创新能力、决策质量和竞争力。以下我列了一些关键的点&#xff0c;讲讲在数字化转型背景下&#xff0c;企业如何可以做…

Qt程序打包成.exe可执行文件

1.使用Release进行编译 2.找到编译成功的地址: 找到对应的目录 3.把SerialTool.exe文件单独复制到一个文件夹,这里我直接在桌面创建一个SerialTool文件夹,这时候直接运行是不行的,我们需要把库都导进去 4. 在安装目录找到如下这个文件,点击打开,找到你电脑对应的版本即可,我这…

印刷企业实施MES管理系统需要哪些硬件设施

随着科技的飞速发展&#xff0c;印刷行业正面临着前所未有的挑战和机遇。为了提高生产效率&#xff0c;降低成本&#xff0c;并增强市场竞争力&#xff0c;越来越多的印刷企业开始实施制造执行系统&#xff08;MES&#xff09;管理系统。本文将重点讨论印刷企业在实施MES管理系…

Java 多线程进阶

1 方法执行与进程执行 GetMapping("/demo1")public void demo1(){//方法调用new ThreadTest1("run1").run();//线程调用new ThreadTest1("run2").start();} 下断点调试信息&#xff0c;可以看到run()方法当前线程是“main1” 继续运行到run里面&…

软件测试/测试开发/人工智能丨​Python运算符解析,小白也能轻松get

什么是运算符 运算符是用于进行各种运算操作的符号或关键词。 在数学和计算机编程中&#xff0c;运算符被用来表示不同的运算操作&#xff0c;例如加法、减法、乘法、除法等。 比如: 4 5&#xff0c;其中&#xff0c;4和5为操作数&#xff0c;为运算符。a 10&#xff0c;…

HandBrake :MacOS专业视频转码工具

handbrake 俗称大菠萝&#xff0c;是一款免费开源的视频转换、压缩软件&#xff0c;它几乎支持目前市面上所能见到的所有视频格式&#xff0c;并且支持电脑硬件压缩&#xff0c;是一款不可多得的优秀软件 优点 ∙Windows, Linux, Mac 三平台支持 ∙开源、免费、无广告 ∙支…

uni-app - 弹出框

目录 1.基本介绍 2.原生uinapp 通过uni.showActionSheet实现 3.使用组件 Popup 弹出层 ③效果展示 1.基本介绍 弹出框让我们在需要时在屏幕底部弹出一个菜单&#xff0c;它通常用于在各种应用程序中进行选择操作。Uniapp为我们提供了基本的底部弹出框组件&#xff0c;但它也有…

全国见!飞桨星河社区五周年,邀你共赴大模型盛宴!

自2018年对外发布以来&#xff0c;飞桨星河社区已汇集660万AI开发者。感谢大家一路见证了飞桨星河社区的成长&#xff0c; 也很荣幸飞桨星河社区陪伴了大家的AI开发旅程。 在这个大模型时代&#xff0c; 飞桨星河社区期待可以帮助开发者们实现自我价值&#xff0c; 获得更多成长…

[JDK工具-3] javac编译器生成class文件 java执行器运行class文件

位置&#xff1a;jdk\bin 语法&#xff1a;javac 源文件 -d class文件输出路径 -encoding utf-8 javac HelloWorld.java -d D:\project1\java8\java8\xin-javademo\src\main\java\com\xin\demo\hutooldemo\ -encoding utf-8 语法&#xff1a;java 类文件完全限定名&#xff08;…

CRM系统的销售预测是什么?怎么做?

简单来说&#xff0c;销售预测可以通过销售关键信息为团队预测收入&#xff0c;分配目标。CRM中的销售预测可以帮助企业制定合理的销售目标和策略&#xff0c;并通过实时数据发现瓶颈所在&#xff0c;提高团队绩效。下面说说CRM中销售预测是什么&#xff1f;如何销售预测&#…

数据中心走向绿色低碳,液冷存储舍我其谁

引言&#xff1a;没有最冷&#xff0c;只有更冷&#xff0c;绿色低碳早已成为行业关键词。 【全球存储观察 &#xff5c; 科技热点关注】 每一次存储行业的创新&#xff0c;其根源离不开行业端的用户需求驱动。 近些年从数据中心建设的整体发展情况来看&#xff0c;从风冷到…

目标分割技术-语义分割总览

前言 博主现任高级人工智能工程师&#xff0c;曾发表多篇SCI且获得过多次国际竞赛奖项&#xff0c;理解各类模型原理以及每种模型的建模流程和各类题目分析方法。目的就是为了让零基础快速使用各类代码模型&#xff0c;每一篇文章都包含实战项目以及可运行代码。欢迎大家订阅一…

抖音如何推广引流?抖音推广引流的经验与工具分享

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、了解抖音推广的价值 抖音作为一款热门的短视频应用&#xff0c;拥有庞大的用户群体和强大的传播力。通过抖音推广&#xff0c;企业或个人可以在短时间内获得大量的曝光和流量&…

浪潮信息云峦服务器操作系统KeyarchOS体验与实践

写在前面 大家好我是网络豆&#xff0c;一名云计算运维人员&#xff0c;本文将会带大家体验一下浪潮信息服务器操作系统云峦KeyarchOS。看看浪潮信息服务器操作系统云峦KeyarchOS的优势与实践操作如何。 背景了解 KeyarchOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术…