【开源】基于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 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关文章:
【开源】基于Vue.js的车险自助理赔系统的设计和实现
项目编号: S 018 ,文末获取源码。 \color{red}{项目编号:S018,文末获取源码。} 项目编号:S018,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车…...
2023年亚太杯数学建模思路 - 案例:粒子群算法
文章目录 1 什么是粒子群算法?2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法? 粒子群算法(Pa…...
Android:Google三方库之Firebase集成详细步骤(一)
前提条件 安装最新版本的 Android Studio,或更新为最新版本。使用您的 Google 账号登录 Firebase请注意,依赖于 Google Play 服务的 Firebase SDK 要求设备或模拟器上必须安装 Google Play 服务 将Firebase添加到应用: 方式:使用…...
企业如何选择一款高效的ETL工具
企业如何选择一款高效的ETL工具? 在企业发展至一定规模后,构建数据仓库(Data Warehouse)和商业智能(BI)系统成为重要举措。在这个过程中,选择一款易于使用且功能强大的ETL平台至关重要,因为数…...
vr编辑器可以解决教育教学中的哪些问题
VR编辑器是一种基于虚拟现实技术的教育内容编辑器,可以帮助教师快速创建出高质量的虚拟现实教学内容。 比如在畜牧教学类,通过这个软件,教师可以将真实的动物场景、行为和特征模拟到虚拟现实环境中,让学生在沉浸式的体验中学习动物…...
国外聊天IM — Sendbird
接⼝⽂档: https://sendbird.com/docs 好久没写文章了 我在官网找到的pom, 下载不下来,git下载下来,打进项目里不能用,就只能用简单的http了 直接上代码,只是简单的调通代码,根据你自己业务改:…...
Django与Ajax
目录 一、什么是Ajax 二、Ajax引入 案例 小结 三、前后端数据传输的编码格式(contentType) 【1】form表单 【2】编码格式 【3】Ajax 【4】代码演示 四、Ajax发送JSON格式数据 【1】引入 【2】后端 【3】总结 五、Ajax提交文件数据 【发送文件数据的格式】 【结…...
linux日志不循环问题诊断
有一台Linux虚拟机的messages日志文件自2023年7月下旬开始没有按周为周期重新生成新的日志,一直累积在同一个messages文件中,如下所示: [root logrotate.d]# ls -l /var/log|grep me -rw-r--r-- 1 root root 107170 Nov 15 1…...
Golang版本处理Skywalking Trace上报数据
Tips: 中间记录了解决问题的过程,如不感兴趣可直接跳至结尾 首先去es里查询skywalking trace的元数据 可以拿到一串base64加密后的data_binary(直接解密不能用,会有乱码,可参考https://github.com/apache/skywalking/issues/7423) 对data_b…...
【开源】基于Vue和SpringBoot的教学过程管理系统
项目编号: S 054 ,文末获取源码。 \color{red}{项目编号:S054,文末获取源码。} 项目编号:S054,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…...
【python学习】中级篇-图形界面-内置库Tkinter,用于创建图形用户界面(GUI)
Tkinter是Python的一个内置库,用于创建图形用户界面(GUI)。 以下是一个简单的Tkinter用法示例: import tkinter as tkdef on_click():label.config(text"你好," entry.get())# 创建主窗口 root tk.Tk() root.title("Tkinte…...
【开源】基于JAVA的快递管理系统
项目编号: S 007 ,文末获取源码。 \color{red}{项目编号:S007,文末获取源码。} 项目编号:S007,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 快递类型模块2.3 快…...
伦敦银涨1%内银涨多少才能持平
伦敦银的价格走势是全球白银市场的价格指标,世界上其他主要的白银市场的价格走势,都是以它作为标杆并紧密的跟随。如果排除汇率的因素,伦敦银价格上涨百分之一,国内的白银价格理论上也会上涨接近的水平。 但不同市场上的白银价格&…...
Linux:进度条(小程序)以及git三板斧
Linux小程序:进度条 在实现小程序前我们要弄清楚: 1.缓冲区; 2.回车与换行。 缓冲区: 分别用gcc来编译下面两个程序: 程序一: #include <stdio.h> int main() { printf("hello Makefil…...
CSS-表格属性(1)
边框相关属性(其他元素也能用): 属性名:border-style功能:边框风格可选值: 1.none 默认值(无边框) 2.solid 实线 3.dashed 虚线 4.dotted 点线 5.double 双实线 border-style: dashed; 属性名:…...
html在线生成二维码(附源码)
文章目录 1.设计来源1.1 主界面1.2 美化功能 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134458927 html二维码生成(附源码),生成二…...
POS系统完整体系的介绍 Pos终端主密钥MK、DUKPT、PEK、DEK、MEK、TUSN的含义 ---安全行业基础篇7
POS系统完整体系的介绍 销售点终端(POS机)是零售和服务行业中用于处理销售和交易的关键技术。POS系统不仅涉及支付处理,还包括库存管理、顾客关系管理、数据分析等多个方面。下面是POS系统完整体系的介绍: 1. 硬件组件 终端机&…...
多普勒流速仪的功能作用是什么?
我国地域广大,各地降雨分布不均,某些城市经常会出现连续的降雨进而导致城市排水压力过大,为了提高城市应对排水过量的极端情况的出现,亟需一种方案能够对城市排水进行有效及时的监测,从而能够及时的采取应对方案。 在污…...
java 数据库 查询 select 2
Day2 组函数 以组为操作单位,一组数据得到一个结果。 在没有手动分组的前提下,整张表默认为一组数据 max(列名):获取最大值 min(列名):获取最小值 sum(列名):获取总和 avg(列名):获取平均值 count(列…...
【前端学java】复习巩固-Java中的对象比较(14)
往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 (…...
Alfred多模型AI对话终端:一键切换ChatGPT、Claude、Gemini等主流LLM
1. 项目概述与核心价值 如果你和我一样,是 Alfred 的重度用户,同时又经常需要在多个大语言模型(LLM)之间切换——比如用 OpenAI 的 GPT-4 处理复杂逻辑,用 Claude 写长文档,用 Gemini 查最新信息——那你一…...
TestDisk PhotoRec:开源数据恢复双雄,480+文件格式的终极拯救方案
TestDisk & PhotoRec:开源数据恢复双雄,480文件格式的终极拯救方案 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 当你的硬盘分区神秘消失,珍贵照片被误删࿰…...
Claude年度数据可视化工具:安全架构与社交分享实践
1. 项目概述:一个专为Claude用户打造的年度数据可视化与分享工具 又到年底了,对于深度使用AI工具的朋友们来说,回顾过去一年的使用数据总是件有趣的事。你可能会好奇,自己在Claude上到底花了多少“脑细胞”(或者说&am…...
别再只会用Nmap了!Kali自带的WhatWeb指纹识别工具,从基础扫描到批量实战保姆级教程
WhatWeb实战指南:超越Nmap的Web指纹识别艺术 在渗透测试和信息收集领域,Nmap无疑是大多数安全工程师的首选工具。但当你面对大量Web资产需要快速识别技术栈时,Kali Linux内置的WhatWeb工具往往能带来意想不到的效率提升。作为一名长期活跃在红…...
嵌入式系统中的高效数学运算实现与优化
1. 嵌入式数学运算的核心价值与挑战在资源受限的嵌入式系统中,数学运算的实现方式直接决定了系统性能和精度。与通用计算机不同,嵌入式设备通常不具备硬件浮点运算单元(FPU),甚至某些低端微控制器连整数乘法指令都没有。这就迫使开发者必须在…...
紧急!某城商行因Docker调试误操作导致T+0清算中断——这份《金融容器调试熔断 checklist》已获央行金融科技中心内部推荐
更多请点击: https://intelliparadigm.com 第一章:金融容器调试事故的根源与警示 在高并发、强一致性的金融核心系统中,容器化部署虽提升了弹性与交付效率,却也放大了调试环节的脆弱性。一次看似常规的 kubectl exec -it payment…...
Cortex-R82异常处理与调试机制深度解析
1. Cortex-R82异常处理架构解析在嵌入式实时系统中,异常处理机制直接决定了系统的可靠性和响应速度。Cortex-R82作为面向汽车电子和工业控制的高性能实时处理器,其异常处理架构设计体现了三个核心特征:确定性响应:所有异常入口和返…...
中小商家营销内卷无解?这套AI全链路方案,搞定内容量产难题
当下很多企业和个体营销从业者,都面临一致的运营困境:营销物料制作效率低下,设计师排期紧张、出图周期长,自制的文案和视觉画面适配度低,想要批量制作种草海报、短视频素材,还要投入高额的人力与时间成本。…...
Windows系统性能优化原理与实战
Windows 系统性能优化原理与实战:从内核调度到网络延迟的全链路调校指南 文章目录Windows 系统性能优化原理与实战:从内核调度到网络延迟的全链路调校指南摘要一、问题的本质:高配置 ≠ 低延迟二、Windows 进程调度机制深度解析2.1 优先级类的…...
从麦克风到数字音乐:聊聊ADC在音频采集链路上的那些事儿(以ADC0804/ADS1115为例)
从麦克风到数字音乐:ADC在音频采集链路上的实战解析 周末的午后,你拿起吉他即兴弹奏了一段旋律,想用电脑记录下来。连接好麦克风,打开录音软件,按下录制按钮——这个看似简单的动作背后,隐藏着一场精密的模…...
