218 Commits

Author SHA1 Message Date
4e55ba01c8 CRM_25-11-18#story#7552,服务商体系新增潜在服务商--曹智龙 2025-11-12 09:18:39 +08:00
7f6d1823c4 story#7373 调度h5 保单填写限制修改 2025-11-07 09:11:01 +08:00
90cd479fea story#7373 调度h5 添加车辆类型 2025-11-05 18:38:29 +08:00
a377ecc5c9 story#7373 关于完善救援责任险管理功能的需求--临期筛选功能 2025-11-04 15:37:01 +08:00
0d695ff407 工单详情,模块1高度调整 2025-11-03 17:49:06 +08:00
4b298dd758 story#7373 关于完善救援责任险管理功能的需求--临期筛选功能 2025-11-03 14:50:33 +08:00
e3fba5d319 司机app使用该请求不挂token 2025-11-01 13:02:43 +08:00
e1569bb742 车辆列表,添加停启用状态更改接口 2025-10-28 18:00:45 +08:00
33b45ad37e 车辆列表,添加停启用状态更改接口 2025-10-28 17:11:19 +08:00
2e8018026f CRM_25-11-12#story#7366,服务商KPI界面需求2025.9.11 (旧的模块删除平安好评率) 2025-10-28 13:32:52 +08:00
a19b14b7d9 潜在服务商--修改按钮 2025-10-24 14:34:48 +08:00
41b43087f1 CRM_25-10-30#story#7373,关于完善救援责任险管理功能的需求--临期筛选功能 2025-10-24 10:25:18 +08:00
f257a9ad2a 潜在服务商修改 2025-10-23 11:39:01 +08:00
f788927da2 潜在服务商修改 2025-10-22 18:04:06 +08:00
769cae6223 潜在服务商修改 2025-10-22 15:12:17 +08:00
c2c319bfe8 潜在服务商修改 2025-10-22 15:02:46 +08:00
f622bb6d45 潜在服务商修改 2025-10-22 14:23:11 +08:00
954b792532 潜在服务商 2025-10-22 13:49:49 +08:00
45588f346f headers中添加Authorization 2025-10-17 11:41:53 +08:00
aeb011efbe CRM_25-10-15#story#7339,服务商在APP中查看救援相关资料内容优化 2025-10-15 16:29:06 +08:00
baa9a9c273 CRM_25-10-23#story#7370,我的车辆中“救援职业责任险”功能的优化需求(调度APP) 2025-10-15 10:38:30 +08:00
5fc794e412 CRM_25-10-23#story#7361,调度app案件信息增加 2025-10-15 10:38:29 +08:00
bb98eff5ae CRM_25-10-15#story#7316,服务商体系新增潜在服务商--曹智龙 2025-10-15 10:38:29 +08:00
97f6e47a00 CRM_25-10-15#story#7339,服务商在APP中查看救援相关资料内容优化 2025-10-13 16:48:13 +08:00
617b08e863 救援职业责任险界面,描述1的文字更改 2025-10-10 09:34:59 +08:00
39c83c71b3 CRM_25-10-15#story#7305#车辆信息梳理的需求-车辆类别选择限制(二) 2025-10-10 09:33:52 +08:00
7c97210d79 CRM_25-10-15#story#7316,服务商体系新增潜在服务商--曹智龙 2025-10-09 14:36:40 +08:00
8f42efe226 换请求方式 2025-09-26 13:10:38 +08:00
f94eee745a 跳转后添加type=invoice 参数 2025-09-26 11:42:22 +08:00
bf7e495b45 培训添加发票参数 2025-09-26 11:05:20 +08:00
f51b0a2aab CRM_25-10-15#story#7305,车辆信息梳理的需求-车辆类别选择限制(二) 2025-09-25 17:47:37 +08:00
d1726e3041 行驶证核验通过--颜色 2025-09-24 16:08:59 +08:00
01b724964d kpi总览界面,拒单明细type值遗漏补充 2025-09-19 15:23:56 +08:00
aabcd9ea29 车辆审核状态不能修改 2025-09-19 13:10:59 +08:00
ad8312f54b kpi总览界面,数据NAN解决 2025-09-18 15:13:08 +08:00
2c9dac15ce kpi总览界面,隐藏两个平安的指标 2025-09-17 21:58:01 +08:00
2e0f372a9b task#9508 大力神更名为随车吊平板车的相关问题 2025-09-17 10:23:30 +08:00
740ad98a99 实名认证接口加参数ump:1 2025-09-15 13:17:41 +08:00
ecc6e23663 VConsole调试删除 2025-09-15 08:58:50 +08:00
6dcc59ea2d 实名认证链接decode测试 2025-09-12 11:43:57 +08:00
f897506e86 实名认证调整 2025-09-12 11:14:41 +08:00
06d530fada 认证页的返回都调转列表页 2025-09-12 11:10:43 +08:00
3f64c42fbf 实名认证返回参数丢失测试解决 2025-09-12 11:01:33 +08:00
1b62e6eebf kpi界面,月日师傅二级tab设为一样 2025-09-12 10:59:19 +08:00
074575b703 kpi界面,月日师傅二级tab设为一样 2025-09-12 10:58:15 +08:00
6d5a91279a 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:38:35 +08:00
e9c3befe50 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:35:40 +08:00
91f14b9389 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:33:01 +08:00
a6dcd9ef03 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:27:17 +08:00
77d8bbf27c 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:21:55 +08:00
4c90532462 实名认证页,认证结果esignFlag做缓存,添加打印 2025-09-12 10:18:55 +08:00
204d6b354f 实名认证页,认证结果esignFlag做缓存 2025-09-12 10:16:17 +08:00
91aa8f3f05 实名认证页返回都到列表页 2025-09-12 09:22:29 +08:00
9f2b343662 实名认证页代码优化 2025-09-11 23:07:46 +08:00
e02456e807 实名认证页代码优化 2025-09-11 22:35:20 +08:00
ad0094fda2 认证页增加双击不放大功能,滚动条丝滑滚动优化 2025-09-11 17:30:47 +08:00
87263991ff 认证页下一步添加接口 2025-09-11 16:59:10 +08:00
415a0be018 CRM_25-09-25#story#7216,车辆信息梳理的需求-“公车”的服务内容调整 2025-09-11 16:05:08 +08:00
7aefcd8141 kpi催促明细,添加催促次数 2025-09-11 15:58:50 +08:00
6eb407d956 实名认证esignFlag缓存添加 2025-09-11 14:58:07 +08:00
7cfa03bf74 实名认证操作成功后返回到认证列表页 2025-09-11 14:48:37 +08:00
b7ee2bb3d7 实名认证界面加缓存数据 2025-09-11 14:42:49 +08:00
066abdeeb0 救援职业责任险 2025-09-11 14:36:38 +08:00
3b8837ce68 实名认证界面加缓存数据 2025-09-11 14:25:16 +08:00
8f730c7d04 实名认证接口加token参数 2025-09-11 13:05:01 +08:00
56046dc878 实名认证加token参数 2025-09-11 11:52:03 +08:00
da9cc2f588 实名认证加token参数 2025-09-11 11:50:09 +08:00
ab7593ae2d 车辆服务刷新问题 2025-09-11 09:49:06 +08:00
3a7c06ff2f story#7189,跳转加token参数 2025-09-10 16:42:14 +08:00
ab82fa04a6 story#7189,高度调整 2025-09-10 16:09:08 +08:00
695ce00a66 story#7131:调度APP车辆管理功能调整的需求-新增搜索和筛选功能 2025-09-10 15:12:52 +08:00
c6c6f9e6a9 story#7189,type默认'full' 2025-09-10 13:38:52 +08:00
65e5bd2814 kpi率乘以一百 2025-09-10 10:17:11 +08:00
f008ef0d09 kpi字段替换 2025-09-10 10:17:11 +08:00
5ffa3f3d9e 平安聚合时效 2025-09-10 10:17:11 +08:00
1a15772f08 story#7189,认证页radio回显处理 2025-09-10 09:20:41 +08:00
8f066a7bbf kpi首页添加综合打分项 2025-09-10 09:19:38 +08:00
d3e91f584f story#7189,回程车小程序司机端-迁移认证,跳转新的url 2025-09-09 16:59:56 +08:00
d04ed28ec2 story#7189,回程车小程序司机端-迁移认证,添加调试 2025-09-09 16:52:42 +08:00
36db96808a story#7189,回程车小程序司机端-迁移认证 2025-09-09 16:39:28 +08:00
781ef75913 story#7189,回程车小程序司机端-迁移认证页面 2025-09-09 13:33:44 +08:00
e7b0cfb006 司机端培训资料,关键字接受字段更换,切换优化加loading 2025-09-09 13:33:32 +08:00
57b4bc2e59 司机端培训资料,关键字接受字段更换,切换优化加loading 2025-09-09 13:32:12 +08:00
990db65d25 story#7189,回程车小程序司机端-迁移认证页面 2025-09-09 11:01:04 +08:00
cebb173ec4 三分钟联系客户率 2025-09-09 10:37:47 +08:00
8968f4caa9 好评率好评量删除 2025-09-09 10:35:52 +08:00
40ab15266a 车辆信息,修改并且自测 2025-09-08 13:09:10 +08:00
6bc55d7b89 story#7149,服务商KPI模块界面调整 2025-09-05 11:14:12 +08:00
06191163a2 服务商KPI 2025-09-04 09:52:08 +08:00
be0227c68b story#7059服务商kpi 2025-08-28 16:07:02 +08:00
b981a57ef5 派遣量=承接量+拒单量 2025-08-28 11:44:34 +08:00
b836f3c979 story#7074,地图搜索位置改动为后台接口 2025-08-27 17:07:30 +08:00
a5c88f11bb story#7065,救援责任险相关需求-添加判断服务商是否参保 2025-08-27 11:03:35 +08:00
9b64456854 story#7062,供应商培训和财务发票修改,上传发票问题查找 2025-08-26 16:33:57 +08:00
658c0c7db2 story#7062,培训 2025-08-26 15:01:33 +08:00
698f98bee7 story#7062,供应商培训和财务发票上传挂钩--曹智龙,弹框位置 2025-08-26 11:44:42 +08:00
ec974ed55c story#7059,服务商KPI界面调整需求--袁鸿鑫 2025-08-22 17:01:02 +08:00
41820ef796 story#7059,服务商KPI界面调整需求--袁鸿鑫, 前三部分 2025-08-22 17:01:02 +08:00
2bb1885b37 story#7065,救援责任险相关需求-调度APP推广及系统配套功能 2025-08-22 14:41:21 +08:00
fcf088a6f6 story#7074,地图搜索位置改动为后台接口 2025-08-21 10:15:57 +08:00
60836e19da story#7074,地图搜索位置改动为后台接口 2025-08-21 09:05:47 +08:00
1abb7ac605 story#7074,地图搜索位置改动为后台接口 2025-08-20 17:53:07 +08:00
2c94eee160 story#7062,供应商培训和财务发票上传挂钩--曹智龙 2025-08-18 16:02:22 +08:00
4bbc53a9aa story#6982 车辆信息修改--强制更新视图 2025-08-18 14:38:03 +08:00
5c821e1fc0 story#6735 车辆信息修改--用轻型测试的反显问题,去除轻型 2025-08-14 14:32:02 +08:00
a84dd52eae story#6982 车辆信息修改--切换 2025-08-14 14:29:48 +08:00
4dc0e9b835 story#6982 车辆信息修改--自测 2025-08-14 14:07:01 +08:00
e18be51b77 story#6735 报警--数据撤回 2025-08-14 13:51:34 +08:00
c7cc6bfec4 story#6735 报警--ios联调测试 2025-08-14 13:48:48 +08:00
0d862caff1 story#6735 报警--兼容测试 2025-08-14 13:43:53 +08:00
cf60d22074 story#6735 报警--联调样式恢复数据 2025-08-14 13:39:54 +08:00
d99b0d126f story#6735 报警--联调宽度修改 2025-08-14 13:36:02 +08:00
0249e0863d story#6735 报警--联调修改 2025-08-14 13:31:55 +08:00
314ab0b729 story#6982,车辆信息梳理的需求-车辆类别选择限制 2025-08-07 15:31:42 +08:00
24b94ebc8c story#6962,二手拖车系统优化-底盘和上装的外部展示和搜索 2025-08-07 11:54:33 +08:00
21221c2196 story#6932,子公司车辆处置的系统需求,售出信息更为图片 2025-07-31 15:31:08 +08:00
adf68457fc story#6932,子公司车辆处置的系统需求,我的发布列表刷新成功,重新获取下列表 2025-07-31 15:17:25 +08:00
94f536d304 story#6735 报警--自测后修改 2025-07-31 14:17:09 +08:00
47d30f220e story#6735 报警--自测后修改 2025-07-31 14:13:31 +08:00
ef4abf8e62 story#6932,售出渠道样式调整 2025-07-30 16:26:00 +08:00
54041f0008 story#6932,VConsole去除 2025-07-30 16:18:01 +08:00
283d1a37a2 story#6932,VConsole调试 2025-07-30 16:15:44 +08:00
0d9c5fefee story#6932,VConsole调试 2025-07-30 16:10:10 +08:00
bed585ffdc story#6932,年月传值和界面显示区分 2025-07-30 16:04:14 +08:00
55044c55d5 story#6932,年月选择样式优化,禁止弹出键盘 2025-07-30 15:46:41 +08:00
97bf33b316 story#6932,年月选择样式优化,禁止弹出键盘 2025-07-30 15:36:53 +08:00
23e066e752 story#6932,只有子公司的已售出下架才跳转补充信息 2025-07-30 14:48:48 +08:00
2de215bd1f story#6932,我的发布,下架按钮清楚radio的值 2025-07-30 14:09:19 +08:00
c44851f636 story#6932,我的发布,状态对应图标样式调整 2025-07-30 11:25:46 +08:00
3b51a87ed1 story#6932,售出信息,修改下架才展示不通过原因 2025-07-30 11:07:03 +08:00
138bd80bc3 story#6932,售出信息,区分三种状态显示及按钮对应逻辑 2025-07-30 10:29:50 +08:00
1d8fd78a2b story#6932,售出信息,区分三种状态显示及按钮对应逻辑 2025-07-30 10:26:21 +08:00
8b35675abc story#6735 报警--tab参数 2025-07-30 10:21:50 +08:00
8bbdfb5ca5 story#6735 报警--添加跳转路径 2025-07-30 10:06:03 +08:00
040fbb268a story#6932,增加售出信息页面及在发布列表添加按钮 2025-07-29 16:21:10 +08:00
1cb27fea3a 二手车车源信息--求购页添加车源id 2025-07-23 15:37:41 +08:00
61f2ae5a87 story#6735 中道救援系统及调度APP中新增报警模块 接口 2025-07-18 17:36:24 +08:00
156d570595 story#6735 中道救援系统及调度APP中新增报警模块 接口 2025-07-18 16:48:25 +08:00
c44f872d00 task#7363 车辆报警详情处理页面静态页 2025-07-17 09:16:47 +08:00
5c603618d3 story#6735 task#7361 车辆报警列表静态页 2025-07-16 16:00:55 +08:00
9a9ac9f76e task#6796 二手拖车系统查询功能完善的需求 2025-07-09 14:13:52 +08:00
da73c933a0 二手拖车,进入详情页调保存信息记录接口,注释打印代码 2025-06-28 14:41:12 +08:00
45d95fe250 二手拖车,进入详情页调保存信息记录接口,获取id,关闭页面,id传入接口 2025-06-27 17:28:25 +08:00
310b64f97c 二手拖车,进入详情页调保存信息记录接口,获取id,关闭页面,id传入接口 2025-06-27 17:23:12 +08:00
058ce2c72c 二手拖车,进入详情页调保存信息记录接口,获取id,关闭页面,id传入接口 2025-06-27 16:56:58 +08:00
ee8fdb16c4 task#6524 添加刷新按钮 2025-06-20 11:44:51 +08:00
7ff13628b5 task#6524 滚动测试 2025-06-20 10:36:02 +08:00
eae60d1000 task#6524 修改地址 2025-06-20 10:20:57 +08:00
3a1e4a6ae2 task#6524 滚动问题 2025-06-20 10:19:45 +08:00
5bd9db3165 task#6524 颜色兼容 2025-06-20 10:10:21 +08:00
fbce498e94 task#6524 头部颜色兼容 2025-06-20 09:49:18 +08:00
6ab2e0b1d7 task#6524 头部兼容 2025-06-20 09:41:40 +08:00
001683f215 task#6524 下拉刷新 2025-06-19 20:32:16 +08:00
bb13a6e34e task#6524 获取定位城市,时间默认当前 2025-06-19 19:55:32 +08:00
16d4425e07 task#6524 有订单才访问 2025-06-19 18:00:36 +08:00
a73434fd4d task#6524 textarea修改 2025-06-18 14:15:02 +08:00
75d20beb77 task#6524 http兼容司机app 2025-06-18 13:42:10 +08:00
9a21834741 task#6524 报备防重复点击 2025-06-18 11:09:51 +08:00
749daae26e task#6524 报备 2025-06-12 10:27:59 +08:00
0fc0d33742 story#6606,二手拖车系统优化,浏览单位加人 2025-06-09 09:32:13 +08:00
d1efe578d4 story#6606,二手拖车系统优化 2025-06-09 08:59:34 +08:00
899ea612f4 task#5914 添加报备页面,地图页面 2025-06-06 09:38:55 +08:00
5552b48ec4 story#6462,二手车,下架状态不展示想要按钮 2025-05-22 19:26:23 +08:00
56e56c7839 story#6462,筛选项问题 2025-05-22 11:55:08 +08:00
851a0e7260 story#6462,二手拖车信息需求 2025-05-22 11:43:06 +08:00
d2f124e901 story#6462,二手拖车信息需求 2025-05-22 10:58:35 +08:00
8bc734273b story#6462,二手拖车信息需求 2025-05-22 10:58:04 +08:00
643ee2c5eb story#6462,发布省市和日期去除clearable属性 2025-05-21 14:32:39 +08:00
881ae7e47b story#6462,发布日期清除事件和图标 2025-05-21 14:27:14 +08:00
d5af7692f8 story#6462,自定义清除事件和图标 2025-05-21 14:21:34 +08:00
aa52bd2f31 story#6462,自定义清除事件和图标 2025-05-21 14:17:35 +08:00
9df87ac518 story#6462,阻止输入框默认行为 2025-05-21 14:10:45 +08:00
8e20adbba3 story#6462,阻止输入框默认行为 2025-05-21 14:02:32 +08:00
cc083b7551 story#6462,阻止输入框默认行为 2025-05-21 14:00:04 +08:00
0a668e6f57 story#6462,阻止输入框默认行为 2025-05-21 13:55:09 +08:00
c2cc09aef1 story#6462,省市选择弹出框不要× 2025-05-21 13:48:33 +08:00
037fbf74fb story#6462,筛选输入框设置只读 2025-05-21 13:18:00 +08:00
de252fceb2 story#6462,列表添加发布省市和发布时间筛选项 2025-05-21 10:55:16 +08:00
6a53749cdc 样式调整 2025-05-08 14:07:38 +08:00
d71e3679ef 添加展示测试 2025-05-08 13:41:38 +08:00
c626aab606 添加展示 2025-05-08 13:06:42 +08:00
7594e56cda story#5360,web端拨打电话的确定事件弹框消失 2025-04-21 09:34:47 +08:00
95c8095518 story#5314 图片变形 2025-04-17 14:06:45 +08:00
0aa3630adb story#5360,web端拨打电话改为确定 2025-04-16 16:48:38 +08:00
75eba22e9e story#5360,将所有露出的“二手车”字样,全部改为“二手拖车”字样 2025-04-16 16:42:30 +08:00
a162c3fdcc story#5314 底部图片修改 2025-04-14 09:26:58 +08:00
33f4857427 story#5314 banner图样式3 2025-04-11 18:51:42 +08:00
432f35a403 story#5314 banner图样式2 2025-04-11 18:45:05 +08:00
ae0bd3b169 story#5314 banner图样式 2025-04-11 18:39:37 +08:00
6b27859358 二手车交易,刷新函数添加调列表接口 2025-04-11 13:51:52 +08:00
99edd5d431 story#5314 二手车系统优化需求 2025-04-11 11:01:47 +08:00
9ac5860ef8 story#5314 二手车系统优化需求 2025-04-11 10:52:57 +08:00
e56de7ff8b story#5314 二手车系统的优化需求 2025-04-11 09:28:56 +08:00
4a70d881b8 story#5256 供应商整改界面完善20250327 2025-04-09 16:26:27 +08:00
5de1efc5fb story#5314 二手车系统的优化需求 需要UI和接口的修改 2025-04-07 16:07:02 +08:00
7b7e926f8a story#5314 照片显示比例失调的问题需要优化 2025-04-02 13:23:18 +08:00
ba1cd9fcac story#5314 含税价格--> 售价(含税) 2025-04-02 11:42:03 +08:00
3fe67c1015 story#5314 在查看车源列表的界面,鼠标在移动到可以点击的区域时,改成手指的样式。 2025-04-02 11:00:19 +08:00
cdc63e6c42 story#5314 h5端 点击车源查看详情的照片,无法再点击放大,需要改成可以点击查看大图 2025-04-02 10:56:30 +08:00
0e138e22f4 story#5314 web端 点击车源查看详情的照片,无法再点击放大,需要改成可以点击查看大图2 2025-04-02 10:46:55 +08:00
b5c5f24c49 story#5314 web端 点击车源查看详情的照片,无法再点击放大,需要改成可以点击查看大图。 2025-04-02 10:43:13 +08:00
d3d6226bcd story#5314 点击车源查看详情的照片:一是要改成照片自动滚动播放,二是左右切换照片的按钮改为更明显的样式,三是照片张数显示改为更明显的样式,目前的按钮不醒目 2 2025-04-02 10:38:55 +08:00
a426b67a51 story#5314 点击车源查看详情的照片:一是要改成照片自动滚动播放,二是左右切换照片的按钮改为更明显的样式,三是照片张数显示改为更明显的样式,目前的按钮不醒目 2025-04-02 10:31:53 +08:00
efe76bb675 story#5314 二、名称优化,含税价格,点击车源查看详情的照片部分优化 2025-04-02 10:24:08 +08:00
de9d73a642 二手车交易,发布列表的navBar自定义 2025-03-25 14:54:19 +08:00
044813f411 二手车交易,售价输入0开头时,后边不允许输入任何数字 2025-03-25 14:15:57 +08:00
b90b7ea89c 二手车交易,发布时,求购可以输入0,但不允许输入多个0 2025-03-25 13:16:06 +08:00
4c02dcd075 二手车交易,求购发布样式优化 2025-03-25 11:38:30 +08:00
3cd768b973 二手车交易,排放标准添加国三选项 2025-03-25 11:05:02 +08:00
db6a3facae 二手车交易,行驶公里保留一位小数 2025-03-19 18:00:01 +08:00
48ab0cfb52 二手车交易,后台点击弹框关闭时记录浏览量 2025-03-19 10:14:13 +08:00
c5176ebc02 二手车交易,测试记录浏览量1 2025-03-19 09:48:27 +08:00
f666d9bcb4 二手车交易,测试记录浏览量 2025-03-19 09:23:17 +08:00
6864a1330f 二手车交易,记录浏览量 2025-03-19 09:08:34 +08:00
e373acb818 二手车交易,用户离开记录浏览量 2025-03-18 21:22:33 +08:00
fe71adf6e3 二手车交易,用户离开记录浏览量 2025-03-18 21:21:00 +08:00
b6d0ae476c 二手车交易,用户离开记录浏览量 2025-03-18 20:58:50 +08:00
c80a2f6e6b 二手车交易,行驶公里换行显示 2025-03-18 20:53:01 +08:00
137 changed files with 8756 additions and 629 deletions

330
package-lock.json generated
View File

@ -18,6 +18,7 @@
"element-ui": "^2.15.9",
"less": "^4.1.3",
"less-loader": "^11.1.3",
"qrcode": "^1.5.4",
"qs": "^6.11.2",
"sass": "^1.65.1",
"sass-loader": "^13.3.2",
@ -3350,7 +3351,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"engines": {
"node": ">=8"
}
@ -4801,6 +4801,15 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decimal.js": {
"version": "10.4.3",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz",
@ -5020,6 +5029,12 @@
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
"license": "MIT"
},
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@ -5210,8 +5225,7 @@
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/emojis-list": {
"version": "3.0.0",
@ -6215,7 +6229,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@ -6370,7 +6383,6 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@ -6992,7 +7004,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"engines": {
"node": ">=8"
}
@ -7408,7 +7419,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"dependencies": {
"p-locate": "^4.1.0"
},
@ -8445,7 +8455,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"dependencies": {
"p-try": "^2.0.0"
},
@ -8460,7 +8469,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"dependencies": {
"p-limit": "^2.2.0"
},
@ -8485,7 +8493,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"engines": {
"node": ">=6"
}
@ -8582,7 +8589,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"engines": {
"node": ">=8"
}
@ -8663,6 +8669,15 @@
"node": ">=8"
}
},
"node_modules/pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
"license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/portfinder": {
"version": "1.0.32",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
@ -9394,6 +9409,131 @@
"node": ">=6"
}
},
"node_modules/qrcode": {
"version": "1.5.4",
"resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz",
"integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
"license": "MIT",
"dependencies": {
"dijkstrajs": "^1.0.1",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"bin": {
"qrcode": "bin/qrcode"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/qrcode/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/qrcode/node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/qrcode/node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"node_modules/qrcode/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/qrcode/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
"node_modules/qrcode/node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/qrcode/node_modules/y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
"license": "ISC"
},
"node_modules/qrcode/node_modules/yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"license": "MIT",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
},
"engines": {
"node": ">=8"
}
},
"node_modules/qrcode/node_modules/yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"license": "ISC",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
@ -9643,7 +9783,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
@ -9657,6 +9796,12 @@
"node": ">=0.10.0"
}
},
"node_modules/require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"license": "ISC"
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@ -10033,6 +10178,12 @@
"node": ">= 0.8.0"
}
},
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"license": "ISC"
},
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@ -10324,7 +10475,6 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@ -10338,7 +10488,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@ -11702,6 +11851,12 @@
"which": "bin/which"
}
},
"node_modules/which-module": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
"license": "ISC"
},
"node_modules/wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
@ -14418,8 +14573,7 @@
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"ansi-styles": {
"version": "3.2.1",
@ -15473,6 +15627,11 @@
}
}
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
},
"decimal.js": {
"version": "10.4.3",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz",
@ -15627,6 +15786,11 @@
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
"dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@ -15783,8 +15947,7 @@
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"emojis-list": {
"version": "3.0.0",
@ -16545,7 +16708,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@ -16650,8 +16812,7 @@
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"get-intrinsic": {
"version": "1.2.1",
@ -17088,8 +17249,7 @@
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"is-glob": {
"version": "4.0.3",
@ -17399,7 +17559,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
@ -18184,7 +18343,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
@ -18193,7 +18351,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
@ -18211,8 +18368,7 @@
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"param-case": {
"version": "3.0.4",
@ -18292,8 +18448,7 @@
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"path-is-absolute": {
"version": "1.0.1",
@ -18350,6 +18505,11 @@
"find-up": "^4.0.0"
}
},
"pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
},
"portfinder": {
"version": "1.0.32",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
@ -18835,6 +18995,96 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"qrcode": {
"version": "1.5.4",
"resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz",
"integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
"requires": {
"dijkstrajs": "^1.0.1",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"requires": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
},
"yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"requires": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
}
},
"yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
@ -19021,8 +19271,7 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
},
"require-from-string": {
"version": "2.0.2",
@ -19030,6 +19279,11 @@
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true
},
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@ -19293,6 +19547,11 @@
"send": "0.18.0"
}
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@ -19534,7 +19793,6 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@ -19545,7 +19803,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
"ansi-regex": "^5.0.1"
}
@ -20524,6 +20781,11 @@
"isexe": "^2.0.0"
}
},
"which-module": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
},
"wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",

View File

@ -19,6 +19,7 @@
"element-ui": "^2.15.9",
"less": "^4.1.3",
"less-loader": "^11.1.3",
"qrcode": "^1.5.4",
"qs": "^6.11.2",
"sass": "^1.65.1",
"sass-loader": "^13.3.2",

View File

@ -26,11 +26,16 @@
<van-number-keyboard safe-area-inset-bottom />
<script type="text/javascript">
window._AMapSecurityConfig = {
serviceHost: 'https://api.sinoassist.com/_AMapService',
// serviceHost: 'https://api.sinoassist.com/_AMapService',
securityJsCode:'91ab1ebc492d5479a68b11527bd73dc9',
}
</script>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.Polyline"></script>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script>
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>-->
<script>
window.selfLink = window.location.href;
window.selfSearch = window.location.search;
</script>
<script>
// VConsole 默认会挂载到 `window.VConsole` 上
// let vConsole = new window.VConsole();

View File

@ -44,10 +44,10 @@
<body>
<div class="container">
<h3>声明</h3>
<p>本平台为二手车买卖双方提供免费信息发布服务。在您使用本平台之前,请仔细阅读并理解本免责声明。一旦使用本平台,即视为您已阅读、理解并同意接受本免责声明的所有条款。</p>
<p>本平台为二手车买卖双方提供免费信息发布服务。在您使用本平台之前,请仔细阅读并理解本免责声明。一旦使用本平台,即视为您已阅读、理解并同意接受本免责声明的所有条款。</p>
<h4>一、平台性质</h4>
<p>1. 本平台仅为信息发布平台,不参与任何二手车交易环节,包括但不限于交易洽谈、合同签订、款项支付、车辆交付等,实际交易价格由买卖双方自行协商确定。</p>
<p>1. 本平台仅为信息发布平台,不参与任何二手车交易环节,包括但不限于交易洽谈、合同签订、款项支付、车辆交付等,实际交易价格由买卖双方自行协商确定。</p>
<p>2. 本平台不对发布信息的真实性、准确性、完整性、合法性进行任何形式的担保或保证,用户应自行判断信息的真实性并承担由此产生的风险。</p>
<h4>二、用户责任</h4>

72
src/api/authentication.js Normal file
View File

@ -0,0 +1,72 @@
import request from '@/utils/http'
// 根据订单 获取报备类型
/*export function getReportListByOrder(key){
return request({
url: '/order/baseDriverReportConfigs/getByOrderId',
method:'GET',
params: key
})
}*/
// 弹框
export function successPopup( data) {
return request({
url: '/returnOrder/wechatDriver/user/successPopup',
method:'POST',
contentType: 'application/x-www-form-urlencoded',
data
})
}
// 认证进度
export function infoVerifyProgress(data){
return request({
url: '/returnOrder/wechatDriver/user/infoVerifyProgress',
method:'POST',
contentType: 'application/json',
data
})
}
// 认证详情
export function driverInfoVerifyDetail(data) {
return request({
url:'/returnOrder/wechatDriver/user/driverInfoVerifyDetail',
method:'POST',
data: data,
contentType: 'application/json',
})
}
// 我的信息
export function getMyInfo(data) {
return request({
url:'/returnOrder/wechatDriver/user/driverDetail',
method:'POST',
data: data,
})
}
// ocr识别
export function ocrRecognize( data) {
return request( {
url:'/returnOrder/wechatDriver/user/ocrRecognize',
data: data,
method:'POST',
contentType: 'application/json'
})
}
// 认证
export function driverInfoVerify( data) {
return request({
url:'/returnOrder/wechatDriver/user/driverInfoVerify',
data: data,
method:'POST',
contentType: 'application/json'
})
}
// 实名认证
export function driverRealName( data) {
return request('/returnOrder/wechatDriver/user/driverRealNameAuth', {
data: data,
method:'POST',
contentType: 'application/json'
})
}

View File

@ -18,6 +18,25 @@ export function saveVehicle(data){
data
})
}
/*车辆更改状态 /supplierAppV2/dispatchApp/user/enableVehicle*/
export function enableVehicle(data){
return request({
url:'/supplierAppV2/dispatchApp/user/enableVehicle',
method:'POST',
contentType:'application/json',
data
})
}
//编辑车辆信息
export function updateInsurance(data){
return request({
url:'/supplierAppV2/dispatchApp/user/updateInsurance',
method:'POST',
data
})
}
// 获取车辆信息(用于修改时回显的值,只需传vehicleId
export function getInfoById(data){
return request({
@ -50,6 +69,62 @@ export function supplierServiceTree(){
method:'POST'
})
}
// 服务商服务能力
export function supplierServicePartTree(data){
return request({
url:'/supplier/approval/getSupplierServiceTree',
method:'POST',
data
})
}
// 申请加入
export function saveSupplier(data){
return request({
url:'/supplier/potential/save',
method:'POST',
data
})
}
// 申请加入
export function auditSupplier(data){
return request({
url:'/supplier/potential/audit',
method:'POST',
data
})
}
// 修改申请信息
export function getSupplierInfo(key){
return request({
url:'/supplier/potential/getById',
method:'GET',
params:key
})
}
// 获取企微二维码
export function getOrCodeInfo(data){
return request({
url:'/agg-api/wxcp/createContactQrCode',
method:'POST',
contentType:'application/json',
data
})
}
// 获取是否添加企微结果
export function getContactQrCodeResult(data){
return request({
url:'/agg-api/wxcp/getContactQrCodeResult',
method:'POST',
data
})
}
//司机列表
export function driverList(data){
return request({
@ -317,3 +392,35 @@ export function unifiedOCRWithCompress(data){
data
})
}
export function getArea(data){
return request({
url:'/base/area/tree',
method:'POST',
data
})
}
// 服务商是否培训
export function jumpPage(data){
return request({
url:'/supplierAppV2/dispatchApp/user/jumpPage',
method:'POST',
contentType:'application/json',
data
})
}
//发送确认参保
export function sendInsuranceEmail(){
return request({
url:'/supplierAppV2/dispatchApp/user/sendInsuranceEmail',
method:'POST',
})
}
// 判断服务商是否参保
export function isSendInsuranceEmail(){
return request({
url:'/supplierAppV2/dispatchApp/user/isSendInsuranceEmail',
method:'POST',
})
}

View File

@ -112,3 +112,50 @@ export function correctionHandle(data) {
data
})
}
// 获取报警列表
export function getAlarmList(data) {
return request({
url: '/supplierAppV2/dispatchApp/alarm/alarmList',
method:'POST',
contentType: 'application/json',
data
})
}
// 获取报警数目
export function getAlarmCount(data) {
return request({
url: '/supplierAppV2/dispatchApp/alarm/alarmCount',
method:'POST',
data
})
}
// 获取报警详情
export function getAlarmByCode(data) {
return request({
url: '/supplierAppV2/dispatchApp/alarm/getAlarmByCode',
method:'POST',
data
})
}
// 处理报警
export function dealWithAlarm(data) {
return request({
url: '/supplierAppV2/dispatchApp/alarm/handAlarm',
method:'POST',
data
})
}
//获取当前任务信息
export function getConfigByCode(data){
return request({
url: '/base/baseConfig/getConfigByCode',
method:'POST',
data
})
}

37
src/api/report.js Normal file
View File

@ -0,0 +1,37 @@
import request from '@/utils/http'
// 根据订单 获取报备类型
export function getReportListByOrder(key){
return request({
url: '/order/baseDriverReportConfigs/getByOrderId',
method:'GET',
params: key
})
}
// 添加报备
export function newOrderReporting(data){
return request({
url: '/supplierAppV2/dispatchApp/order/newOrderReporting',
method:'POST',
contentType: 'application/json',
data
})
}
// 获取报备列表
export function reportHistory(data){
return request({
url: '/supplierAppV2/dispatchApp/order/reportHistory',
method:'POST',
data
})
}
// 获取订单信息
export function getOrderInfo(data){
return request({
url: '/supplierAppV2/dispatchApp/order/reportOrderDetail',
method:'POST',
data
})
}

View File

@ -54,14 +54,14 @@ export function userFeedback(data){
data
})
}
//二手车信息擦亮
//二手车信息擦亮
export function usedCarPolish(data){
return request({
url: `/toc-user/car-app/usedCarPolish/${data}`,
method:'POST',
})
}
//二手车信息下架
//二手车信息下架
export function usedCarRemove(data){
return request({
url: '/toc-user/car-app/usedCarRemove',
@ -70,7 +70,7 @@ export function usedCarRemove(data){
data
})
}
//二手车信息重新上架
//二手车信息重新上架
export function usedCarReShelf(data){
return request({
url: `/toc-user/car-app/usedCarReShelf/${data}`,
@ -94,3 +94,22 @@ export function saveRecord(data){
data
})
}
// 审核不通过再次提交
export function auditCarInfoAgain(data){
return request({
url: '/toc-user/car-app/auditCarInfoAgain',
method:'POST',
contentType: 'application/json',
data
})
}
// 我的发布列表
export function getAddressForService(data){
return request({
url: '/base/gaodeMap/getPlaceByAddress',
method:'GET',
params: data,
})
}

BIN
src/assets/alarm_check.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

BIN
src/assets/alarm_one.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/alarm_repair.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/alarm_three.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/alarm_tip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/alarm_two.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
src/assets/emptyData.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
src/assets/insured.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,43 @@
const authenticationRouter = [
{
path: '/auditList',
name: 'auditList',
component: () => import('@/views/rvDriverAuthentication/auditList.vue'),
meta:{
title: '小板运输司机认证',
}
},
{
path: '/personAudit',
name: 'personAudit',
component: () => import('@/views/rvDriverAuthentication/personAudit.vue'),
meta:{
title: '实名认证',
}
},
{
path: '/carAudit',
name: 'carAudit',
component: () => import('@/views/rvDriverAuthentication/carAudit.vue'),
meta:{
title: '驾驶证认证',
}
},
{
path: '/carInfoAudit',
name: 'carInfoAudit',
component: () => import('@/views/rvDriverAuthentication/carInfoAudit.vue'),
meta:{
title: '车辆信息认证',
}
},
{
path: '/bankInfo',
name: 'bankInfo',
component: () => import('@/views/rvDriverAuthentication/bankInfo.vue'),
meta:{
title: '银行卡信息认证',
}
},
]
export default authenticationRouter

View File

@ -4,11 +4,37 @@ Vue.use(VueRouter);
import kpiRouter from './kpi-router'
import invoiceRouter from "@/router/invoice-router";
import secondHandRouter from "@/router/second-hand-router";
import reportRouter from "@/router/report-router"
import authenticationRouter from "@/router/authentication-router"
const routes = [
{
path: '/',
redirect: '/index'
},
{
path: '/supplierAdd',
name: 'supplierAdd',
component: () => import('@/views/index/supplierAdd'),
meta:{
title: '信息录入',
}
},
{
path: '/supplierAddResult',
name: 'supplierAddResult',
component: () => import('@/views/index/supplierAddResult'),
meta:{
title: '审核中',
}
},
{
path: '/supplierInfo',
name: 'supplierInfo',
component: () => import('@/views/index/supplierInfo'),
meta:{
title: '信息查看',
}
},
{
path: '/toDoList',
name: 'toDoList',
@ -146,6 +172,14 @@ const routes = [
title: '车辆新增或修改'
}
},
{
path: "/continueInsurance",
name: 'continueInsurance',
component: () => import('@/views/index/continueInsurance'),
meta: {
title: '续保更新'
}
},
{
path: '/driverManage',
name: 'driverManage',
@ -250,6 +284,22 @@ const routes = [
title:'车辆维保'
}
},
{
path: '/vehicleAlarmList',
name: 'vehicleAlarmList',
component:()=>import('@/views/vehicle-maintenance/vehicle-alarm-list.vue'),
meta: {
title:'车辆报警'
}
},
{
path: '/vehicleAlarmDetail',
name: 'vehicleAlarmDetail',
component:()=>import('@/views/vehicle-maintenance/vehicle-alarm-detail.vue'),
meta: {
title:'报警详情'
}
},
{
path: '/maintenanceApplication',
name: 'maintenanceApplication',
@ -277,6 +327,8 @@ const routes = [
...kpiRouter,
...invoiceRouter,
...secondHandRouter,
...reportRouter,
...authenticationRouter
]
const router = new VueRouter({

View File

@ -0,0 +1,29 @@
const reportRouter = [
{
path: '/reportIndex',
name: 'reportIndex',
component: () => import('@/views/report/reportIndex'),
meta:{
title: '道路救援',
cache: true,
modalState: false,
}
},
{
path: '/addressMap',
name: 'addressMap',
component: () => import('@/views/report/addressMap'),
meta:{
title: '道路救援',
}
},
{
path: '/insuredPage',
name: 'insuredPage',
component: () => import('@/views/liabilityInsurance/insuredPage'),
meta:{
title: '参保救援职业责任险',
}
},
]
export default reportRouter

View File

@ -55,5 +55,13 @@ const secondHandCar = [
title: '免责声明',
}
},
{
path: '/sellingInfo',
name: 'sellingInfo',
component: () => import('@/views/secondHandCar/sellingInfo.vue'),
meta:{
title: '售出信息',
}
},
]
export default secondHandCar

View File

@ -47,4 +47,84 @@ select{
font-size: 14px;
color: #000000;
}
.text_center {
text-align: center;
}
//同意协议勾选
.protocol-list {
display: flex;
//align-items: top;
margin-top: 5px;
justify-content: center;
position: fixed;
bottom: 20px;
text-align: center;
width: 100%;
padding: 20px;
box-sizing: border-box;
.protocol-text {
font-size: 12px;
color: #203152;
line-height: 18px;
//text-align: left;
.linkColor {
color: #3364B7;
word-break: keep-all;
}
}
}
.icon_register {
width: 100%;
height: auto;
}
.mr15 {
margin-right: 15px;
}
.mt20 {
margin-top: 20px;
}
.flex_vertical_center {
display: flex;
align-items: center;
}
.flex {
display: flex;
}
.flex_between {
justify-content: space-between;
}
/*@mixin wh($w,$h) {
width: $w;
height: $h;
}
@mixin flex(){
display: flex;
}
@mixin alignCenter(){
@include flex();
align-items: center;
}
@mixin col(){
@include flex();
flex-direction: column;
}
@mixin colBothCenter(){
@include col();
justify-content: center;
align-items: center;
}
@mixin sizingPadding($t,$r,$b,$l) {
box-sizing: border-box;
padding: $t $r $b $l;
}*/
/*@mixin weigthSize($wei,$size){
font-weight:$wei ;
font-size: $size;
}
@mixin weigthSizeColor($wei,$size,$col){
@include weigthSize($wei,$size);
color: $col;
}*/

43
src/styles/infoShow.scss Normal file
View File

@ -0,0 +1,43 @@
.carInfo{
margin-top: 10px;
box-sizing: border-box;
width: 100%;
min-height: 151px;
background: #FFFFFF;
padding:8px 23px 17px 30px ;
display: flex;
justify-content: space-between;
.left_wrap,.right_wrap{
display: flex;
flex-direction: column;
justify-content: space-around;
}
.title {
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #323643;
.mar_left{
margin-left: 8px;
}
.star {
color: red;
margin-right: 3px;
}
}
.right_wrap{
align-items: flex-end;
.phone{
font-size: 13px;
font-weight: 500;
color: #323643;
}
input{
font-size: 12px;
text-align: right;
&::-webkit-input-placeholder { /* WebKit browserswebkit内核浏览器 */
color: #A1A1A1;
}
}
}
}

View File

@ -105,3 +105,32 @@
color: $col;
line-height: $hei;
}
@mixin width_height($width,$height){
width: $width;
height: $height;
}
@mixin flex($row,$colum){
display: flex;
justify-content: $row;
align-items: $colum;
}
@mixin center(){
display: flex;
align-items: center;
}
@mixin direction($justify-content){
display: flex;
flex-direction: column;
justify-content: $justify-content;
}
@mixin iconImg($width,$height,$marginRight){
width: $width;
height: $height;
margin-right: $marginRight;
}
@mixin iconImgLeft($width,$height,$marginRight){
width: $width;
height: $height;
margin-left: $marginRight;
}

View File

@ -42,11 +42,89 @@ const timeFormat=(data) =>{
return formattedDate;
}
// 认证状态
const verifyStatus=(id)=> {
const ids = String(id)
const status = {
'0': 1, // 个人信息认证
'-1': 1, // 已注册
'7': 1, // 已发送待认证
'1': 2, // 驾照信息认证
'2': 3, // 车辆信息审核
'3': 4, // 银行卡信息审核
'4': 5, // 认证中
'8': 6, // 审核中
'11': 6, // 审核失败
'12': 6 // 审核成功
}
return status[ids]
}
// 认证状态 简易版
const verifyStatusSimple=(id)=> {
const ids = String(id)
const status = {
'0': 1, // 个人信息认证
'-1': 1, // 已注册
'7': 1, // 已发送待认证
'1': 3, // 驾照信息认证
'2': 3, // 车辆信息审核
'3': 4, // 银行卡信息审核
'4': 5, // 认证中
'8': 6, // 审核中
'11': 6, // 审核失败
'12': 6 // 审核成功
}
return status[ids]
}
// 认证状态
const tipString=(id)=> {
const ids = String(id)
const status = {
'0': { // 个人信息认证
tip: '认证待提交',
button: '待认证'
},
'1': { // 驾照信息认证
tip: '认证待提交',
button: '待认证'
},
'2': { // 车辆信息审核
tip: '认证待提交',
button: '待认证'
},
'3': { // 银行卡信息审核
tip: '认证待提交',
button: '待认证'
},
'4': { // 认证中
tip: '认证待提交',
button: '待认证'
},
'8': { // 审核中
tip: '认证审核中',
button: '审核中'
},
'11': { // 审核失败
tip: '认证审核失败',
button: '审核失败'
},
'12': { // 审核成功
tip: '认证审核成功',
button: '审核成功'
},
}
return status[ids]
}
module.exports = {
formatNumber,
formatDate,
leftCopy,
timeFormat,
formatDate1
formatDate1,
verifyStatus,
verifyStatusSimple,
tipString
}

View File

@ -11,22 +11,34 @@ const service = axios.create({
})
const urlParams = new URLSearchParams(window.location.search);
let token = urlParams.get('token');
localStorage.setItem('token', token);
if( token ) {
localStorage.setItem('token', token);
} else {
localStorage.setItem('token', '');
}
service.interceptors.request.use(
config => {
let reqUrl=config.url
console.log('config',config)
config.data = config.contentType ? config.data : qs.stringify(config.data)
if (config.testFlag) {
config.data = qs.stringify(config.data, {arrayFormat: 'indices', allowDots: true})
}
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
let token = localStorage.getItem('token');
// let token='4099761587129c46b03c9316c9e866c9'
// let token='eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBTkNIQU5HIiwidXNlcklkIjo0NTY3MSwibmFtZSI6IuWuieeVhSIsInVzZXJOYW1lIjoiQU5DSEFORyIsInN1cHBsaWVySWQiOjExMjgsImlzWmQiOjAsImV4cCI6MTc1NTQyMjUyNX0.xzDZhaANJFnbeViIHJA0SEtOyTv7Ja3rKmXqRKRuFkc'
// let token='eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJTSEhQWEIiLCJ1c2VySWQiOjU0NzI2LCJuYW1lIjoiI-a1i-ivleWwj-eZveeZvSIsInVzZXJOYW1lIjoiU0hIUFhCIiwic3VwcGxpZXJJZCI6MTAwMDE2NSwiZXhwIjoxNzQ0NTEwNzkwfQ.JPk0OA7slYJN3FIi_uhW4Y0CiWRvl6R1dK8MRTbyhD8'
if(!(reqUrl=='/supplier/supplierTraining/trainingTask' || reqUrl=='/supplier/supplierTraining/normalList' || reqUrl=='/supplier/supplierTraining/trainingList')){
config.headers['Authorization'] = `${token}`;
config.headers['token'] = `${token}`;
}
// if(!(reqUrl=='/supplier/supplierTraining/trainingTask' || reqUrl=='/supplier/supplierTraining/normalList' || reqUrl=='/supplier/supplierTraining/trainingList')){
if (reqUrl=='/supplier/supplierTraining/trainingList' && config?.params?.type==1){
console.log('司机app使用该请求不挂token')
} else {
if(token) {
config.headers['Authorization'] = `${token}`;
config.headers['token'] = `${token}`;
}
}
// }
return config
},
error => {

View File

@ -1,3 +1,4 @@
import { getAddressForService } from "@/api/secondHandCar"
// 获取定位, 返回 经纬度
export function getLocal(mapContext) {
return new Promise((resolve, reject) => {
@ -36,6 +37,7 @@ export function getAddress(mapContext, lnglat) {
} else {
console.log(result)
alert(JSON.stringify(result))
reject(result)
}
})
})
@ -44,8 +46,20 @@ export function getAddress(mapContext, lnglat) {
// 输入提示
export function searchFun(mapContext, cityCode, keyword) {
return new Promise((resolve, reject) => {
mapContext.plugin('AMap.AutoComplete', function(){
return new Promise((resolve) => {
getAddressForService({
city: '',
address: keyword
}).then((res) => {
if(res.code == 200) {
resolve(res?.data?.pois || [])
} else {
resolve([])
}
}).catch(() => {
resolve([])
})
/*mapContext.plugin('AMap.AutoComplete', function(){
var autoOptions = {
city: cityCode || '全国',
};
@ -57,10 +71,10 @@ export function searchFun(mapContext, cityCode, keyword) {
if(result.info == 'OK') {
resolve(result.tips)
} else {
reject(result)
resolve([])
}
})
})
})*/
})
}
@ -90,6 +104,7 @@ export function getRoad( mapContext, startLng, startLat, endLng, endLat ) {
}
/*
function drawRoute(route, map) {
let path = parseRouteToPath(route)
@ -106,3 +121,4 @@ function drawRoute(route, map) {
map.add(routeLine);
}
*/

View File

@ -5,6 +5,12 @@ export const myMixins = {
}
},
methods: {
showFun() {
if( localStorage.getItem('infoVerify') == 8 || localStorage.getItem('infoVerify') == 12 ) {
return false
}
return true
},
goPage(page, query) {
this.$router.push({
name: page,

View File

@ -90,6 +90,7 @@ export default {
totalList:[],
numInfo:'',
keyword:'',
serviceTypeName:'',
show:false,
showEmpty:false,
isLoading:false,
@ -101,7 +102,8 @@ export default {
const urlParams = new URLSearchParams(window.location.search);
this.driverId = urlParams.get('driverId');
this.time=timeFormat(Date.now())
this.keyword=urlParams.get('keyWord') || ''
this.keyword=urlParams.get('keyword') || ''
this.serviceTypeName=urlParams.get('serviceTypeName') || ''
this.getTrainingList();
document.addEventListener('visibilitychange', async ( ) => {
let state = document.visibilityState
@ -129,6 +131,7 @@ export default {
type:1,
id:this.driverId,
text:this.keyword || '',
serviceTypeName:this.serviceTypeName || ''
})
this.totalList=[]
this.pageList=[]

View File

@ -36,9 +36,6 @@
v-model="keyword"
placeholder="名称/关键词/简介"
>
<!-- <template #button>
<van-icon class="search" name="search" size="20" @click="getTrainingList"/>
</template>-->
</van-field>
</template>
<template slot="left">
@ -97,6 +94,7 @@ export default {
showEmpty:false,
supplierId:'',
driverId:'',
serviceTypeName:'',
}
},
mounted() {
@ -104,32 +102,36 @@ export default {
this.supplierId = urlParams.get('supplierId');
this.driverId = urlParams.get('driverId');
if(this.driverId){
this.keyword=urlParams.get('keyWord') || ''
this.keyword=urlParams.get('keyword') || ''
}
this.serviceTypeName=urlParams.get('serviceTypeName') || ''
this.getNormalList()
},
methods:{
onRefresh() {
this.getNormalList()
setTimeout(() => {
if(!this.isLoading){
this.$toast('刷新成功');
}
/* setTimeout(() => {
this.$toast('刷新成功');
this.isLoading = false;
}, 1000);
}, 1000);*/
},
async changeTab(index) {
this.activeIndex = index
await this.getNormalList()
},
async getNormalList(){
let res= await getNormalList({
type:this.supplierId ? 2 : 1,
// type:2,
id: this.supplierId ? this.supplierId : this.driverId,
// id:this.supplierId,//33041,
text:this.keyword || '',
})
this.isLoading = true;
this.totalList=[]
this.pageList=[]
let res= await getNormalList({
type:this.supplierId ? 2 : 1,
id: this.supplierId ? this.supplierId : this.driverId,
text:this.keyword || '',
serviceTypeName:this.serviceTypeName || ''
})
this.totalList=res.data.list
let result=[]
if(this.activeIndex === 0){
@ -149,6 +151,7 @@ export default {
}else {
this.showEmpty = false
}
this.isLoading = false
},
initShow(){
this.keyword= '',

View File

@ -68,6 +68,7 @@ export default {
pageList:[],
totalList:[],
keyword:'',
serviceTypeName:'',
show:false,
showEmpty:false,
isLoading:false,
@ -77,6 +78,8 @@ export default {
mounted() {
const urlParams = new URLSearchParams(window.location.search);
this.supplierId = urlParams.get('supplierId');
this.keyword=urlParams.get('keyword') || ''
this.serviceTypeName=urlParams.get('serviceTypeName') || ''
this.getTrainingList();
document.addEventListener('visibilitychange', async ( ) => {
let state = document.visibilityState
@ -104,6 +107,7 @@ export default {
type:2,
id: this.supplierId,
text:this.keyword || '',
serviceTypeName:this.serviceTypeName || ''
})
this.totalList=[]
this.pageList=[]

View File

@ -0,0 +1,415 @@
<template>
<div class="wrap vehicleAdd">
<div class="navBar">
<van-nav-bar
title="续保更新"
left-arrow
left-arrow-color="#FFFFFF"
:border="false"
:fixed="true"
:safe-area-inset-top="true"
@click-left="h5GoBack"
/>
</div>
<div class="addContentWrap">
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span>有无投保救援职业责任险或货运险</span>
</div>
<div class="isJoin">
<van-radio-group v-model="hasLiabilityInsurance" @change="isChange" class="joinWrap">
<van-radio :name="1" style="margin-right: 26px">
<img
slot="icon"
slot-scope="props"
:src="props.checked ? activeIcon : inactiveIcon"
>
</van-radio>
<van-radio :name="0">
<img
slot="icon"
slot-scope="props"
:src="props.checked ? activeIcon : inactiveIcon"
>
</van-radio>
</van-radio-group>
</div>
</div>
<span style="color: red">如有投保未投保选不必上传交强险或者商业险等其他保单</span>
<div class="lineBot"></div>
<template v-if="hasLiabilityInsurance == 1">
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span style="line-height: 20px">请上传救援职业责任险或货运险保单PDF或者关键信息页截图</span>
</div>
<van-uploader
v-model="insurancePictureFiles"
:after-read="insurancePictureFilesHandler"
max-count="1"
:preview-size="54"
accept="image "
/>
</div>
<div class="lineBot"></div>
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span>承保保司</span>
</div>
<el-select
v-model="insuranceCorp"
value-key="name"
class="elSelect"
collapse-tags="collapse-tags"
placeholder="请选择" style="width: 55%"
>
<el-option
v-for="item in insuranceOptions"
:key="item.name"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="lineBot"></div>
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span>保险有效期</span>
</div>
<el-input style="width: 55%" readonly @focus="showDatePicker = true" v-model="dateVal" placeholder="请选择发布日期" :class="{'customSel':true,'customInput':true , 'has-value': dateVal }" >
<template #suffix>
<i
v-if="dateVal"
class="el-icon-circle-close el-input__icon"
@click="dateVal = ''"
></i>
</template>
</el-input>
</div>
</template>
<common-btn title="保存" @submitClick="submitBtn"/>
<van-calendar v-model="showDatePicker" :min-date="minDate"
:max-date="maxDate" type="range" @confirm="onConfirm" />
</div>
</div>
</template>
<script>
import {Dialog} from "vant";
import {myMixins} from "@/utils/myMixins"
import {formatDate1} from "@/utils/common"
import { uploadImage, updateInsurance, getInfoById} from "@/api/mine"
import CommonBtn from "@/components/commonBtn.vue"
export default {
name: "vehicleAdd",
mixins:[myMixins],
data(){
return{
defaultProps: {
children: 'children',
label: 'name'
},
minDate: new Date(1970, 0, 1), // 设置最小可选日期1970年1月1日
maxDate: new Date(2099, 11, 31), // 设置最大可选日期2099年12月31日
showDatePicker: false,
dateVal: '',
hasLiabilityInsurance: 1, // 有无责任险
activeIcon: require('@/assets/check.png'),
inactiveIcon: require('@/assets/uncheck.png'),
// result: [],
checked: true,
show:false,
imageUrl: require('@/assets/arr_right.png'),
insurancePictureFiles: [],
insurancePicturePhoto: '', // 保单照片
isMultiple: false, // 是否支持多选
insuranceCorp: '',
insuranceOptions: [{
name: '太平洋',
value: 1
}, {
name: '人保',
value: 2
}, {
name: '平安',
value: 3
}, {
name: '中华联合',
value: 4
}, {
name: '大地',
value: 5
}, {
name: '阳光',
value: 6
}, {
name: '太平',
value: 7
}, {
name: '人寿',
value: 8
}, {
name: '永安',
value: 9
}, {
name: '华安',
value: 10
}, {
name: '申能',
value: 11
}, {
name: '大家',
value: 12
}, {
name: '富德',
value: 13
}, {
name: '其他',
value: 14
}]
}
},
computed: {
},
watch:{
},
async mounted() {
this.id=this.$route.params?.id
if( this.id){
// await this.vehicleInfo()
}
},
methods:{
async vehicleInfo(){
let res= await getInfoById({
vehicleId:this.id
})
let result=res.data;
this.id=result.vehicleId
this.insurancePicturePhoto = result.insurancePicturePhoto;
this.hasLiabilityInsurance = result.hasLiabilityInsurance
this.insuranceCorp = result.insuranceCorp;
if(this.insurancePicturePhoto) {
this.insurancePictureFiles = [{url: this.insurancePicturePhoto}]
}
if( result.liabilityInsuranceEndTime && result.liabilityInsuranceStartTime ) {
this.dateVal = formatDate1(result.liabilityInsuranceStartTime) + ' - ' + formatDate1(result.liabilityInsuranceEndTime)
}
},
formatDate(date) {
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
},
onConfirm(date) {
const [start, end] = date;
this.showDatePicker = false;
this.dateVal = `${this.formatDate(start)} - ${this.formatDate(end)}`;
},
formatDateTimeRange(str) {
const [startStr, endStr] = str.split(' - ').map(s => s.trim());
const startDate = new Date(startStr);
const startTime = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, '0')}-${startDate.getDate().toString().padStart(2, '0')} 00:00:00`;
const endDate = new Date(endStr);
const endTime = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, '0')}-${endDate.getDate().toString().padStart(2, '0')} 23:59:59`;
return {
startTime,
endTime
};
},
async insurancePictureFilesHandler(file) {
const formData = new FormData();
formData.append("file" , file.file);
let res = await uploadImage(formData);
this.insurancePicturePhoto = res.data;
},
isChange(e){
this.hasLiabilityInsurance=e
if (e === 0) {
Dialog.confirm({
title: '提醒',
message: '有救援职业责任险车辆会提升案件聚合能力和接单能力。',
confirmButtonText: '我已知晓', // 确认按钮文字,默认为“确认”
showCancelButton: false // 是否显示取消按钮,默认为 true。如果不需要取消按钮可以设置为 false。
})
.then(() => { /* 确认后的操作 */ })
.catch(() => { /* 取消后的操作 */ });
}
},
async submitBtn(){
if(this.hasLiabilityInsurance === null || this.hasLiabilityInsurance === undefined || this.hasLiabilityInsurance === '') { // 有职业责任险,就需要有保单照片
this.$toast('救援职业责任险不能为空')
return
}
if(!this.insurancePicturePhoto && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
this.$toast('保单照片不能为空')
return
}
if(!this.insuranceCorp && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
this.$toast('承保保司不能为空')
return
}
if(!this.dateVal && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
this.$toast('保单有效期不能为空')
return
}
let timeObj;
if(this.dateVal) {
timeObj = this.formatDateTimeRange(this.dateVal)
}
let params = {
id: this.id ? this.id : '',
renewInsureInfo: JSON.stringify({
hasLiabilityInsurance: this.hasLiabilityInsurance,
insurancePictureUrls: this.hasLiabilityInsurance == 1 ? this.insurancePicturePhoto : '',
insuranceCorp: this.hasLiabilityInsurance == 1 ? this.insuranceCorp : '',
liabilityInsuranceStartTime: this.hasLiabilityInsurance == 1 ? (timeObj?.startTime || '' ) : '',
liabilityInsuranceEndTime: this.hasLiabilityInsurance == 1 ? (timeObj?.endTime || '') : '',
})
}
await updateInsurance(params)
if(this.id){
this.$toast('修改成功')
}else{
this.$toast('添加成功')
}
setTimeout(()=>{
this.$router.back();
},2000)
}
},
components:{
CommonBtn
}
}
</script>
<style>
.vehicleAdd .van-field__control:disabled {
color: #323643 !important;
-webkit-text-fill-color: #323643 !important;
}
</style>
<style scoped lang="scss">
@import "@/styles/mixin.scss";
@import "@/styles/common.scss";
.mySelect{
@include fontWeightSize(bold,13px);
color: #323643;
appearance: none;
padding-right: 16px;
background: url('@/assets/arrow_bot.png') no-repeat right center / 15px 14px;
}
.checkbox-group {
display: none;
}
.navBar{
margin-bottom: 46px;
}
.wrap{
@include wh(100%,100%);
overflow-y: auto;
}
.addContentWrap{
margin-left: 16px;
.item_content_btn {
padding-right: 25px;
text-align: right;
span {
display: inline-block;
background: #354D93;
padding: 5px 10px;
font-size: 12px;
font-weight: bold;
color: #fff;
border-radius: 4px;
margin-bottom: 5px;
}
}
.itemContent{
@include flexColBet;
line-height: 56px;
box-sizing: border-box;
padding-right: 25px;
.titleType{
@include fontWeightSize(bold,14px);
color: #323643;
}
.isJoin{
display: flex;
.joinWrap{
display: flex;
}
img{
@include widHeiMar(16px,16px,6px)
}
}
.startImg{
@include widHeiMar(6px,6px,3px);
vertical-align: super;
}
input{
border: none;
text-align: right;
@include fontWeightSize(bold,13px);
opacity: .5;
}
}
.lineBot{
@include wh(100%,1px);
background: #E9E9EA;
opacity: 0.6;
}
.serviceType{
@include fontWeightSize(bold,13px);
margin-left: 15px;
.trailerService{
margin-bottom: 10px;
}
.serviceline{
@include flexCenter;
margin-bottom: 10px;
}
.item{
margin: 20px 0;
@include flexCenter;
}
.radioWrap{
margin-left: 10px;
}
.service{
@include colorOpa(#323643,0.7);
line-height: 18px;
white-space: nowrap;
}
.line{
display: inline-block;
@include wh(240px,2px);
opacity: 0.16;
border-bottom: 1px solid;
border-image: linear-gradient(270deg, rgba(217, 217, 217, 0.6), rgba(178, 178, 178, 1), rgba(178, 178, 178, 1), rgba(217, 217, 217, 0.6)) 1 1;
}
img{
@include widHeiMar(16px,16px,12px)
}
}
.btn{
width: 90%;
margin: 40px 0 30px 8px;
}
}
.elSelect ::v-deep .el-input__inner{
border: none !important;
text-align: right !important;
}
.disabled-tree {
pointer-events: none;
opacity: 0.6;
}
</style>

Some files were not shown because too many files have changed in this diff Show More