Compare commits
3 Commits
2bb1885b37
...
prod-25-08
| Author | SHA1 | Date | |
|---|---|---|---|
| 43b763bbce | |||
| c333298f82 | |||
| 1bd67b4f28 |
@ -316,20 +316,4 @@ export function unifiedOCRWithCompress(data){
|
|||||||
contentType:'application/json',
|
contentType:'application/json',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
||||||
// 服务商是否培训
|
|
||||||
export function jumpPage(data){
|
|
||||||
return request({
|
|
||||||
url:'/supplierAppV2/dispatchApp/user/jumpPage',
|
|
||||||
method:'POST',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
//
|
|
||||||
export function sendInsuranceEmail(){
|
|
||||||
return request({
|
|
||||||
url:'/supplierAppV2/dispatchApp/user/sendInsuranceEmail',
|
|
||||||
method:'POST',
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
@ -102,14 +102,4 @@ export function auditCarInfoAgain(data){
|
|||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 我的发布列表
|
|
||||||
export function getAddressForService(data){
|
|
||||||
return request({
|
|
||||||
url: '/base/gaodeMap/getPlaceByAddress',
|
|
||||||
method:'GET',
|
|
||||||
params: data,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB |
@ -17,13 +17,5 @@ const reportRouter = [
|
|||||||
title: '道路救援',
|
title: '道路救援',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/insuredPage',
|
|
||||||
name: 'insuredPage',
|
|
||||||
component: () => import('@/views/liabilityInsurance/insuredPage'),
|
|
||||||
meta:{
|
|
||||||
title: '参保救援职业责任险',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
export default reportRouter
|
export default reportRouter
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
import { getAddressForService } from "@/api/secondHandCar"
|
|
||||||
// 获取定位, 返回 经纬度
|
// 获取定位, 返回 经纬度
|
||||||
export function getLocal(mapContext) {
|
export function getLocal(mapContext) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -47,19 +46,7 @@ export function getAddress(mapContext, lnglat) {
|
|||||||
// 输入提示
|
// 输入提示
|
||||||
export function searchFun(mapContext, cityCode, keyword) {
|
export function searchFun(mapContext, cityCode, keyword) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
getAddressForService({
|
mapContext.plugin('AMap.AutoComplete', function(){
|
||||||
city: '',
|
|
||||||
address: keyword
|
|
||||||
}).then((res) => {
|
|
||||||
if(res.code == 200) {
|
|
||||||
resolve(res?.data?.pois || [])
|
|
||||||
} else {
|
|
||||||
resolve([])
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
resolve([])
|
|
||||||
})
|
|
||||||
/*mapContext.plugin('AMap.AutoComplete', function(){
|
|
||||||
var autoOptions = {
|
var autoOptions = {
|
||||||
city: cityCode || '全国',
|
city: cityCode || '全国',
|
||||||
};
|
};
|
||||||
@ -74,7 +61,7 @@ export function searchFun(mapContext, cityCode, keyword) {
|
|||||||
resolve([])
|
resolve([])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})*/
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -76,7 +76,7 @@
|
|||||||
import { Decimal } from 'decimal.js';
|
import { Decimal } from 'decimal.js';
|
||||||
import { Dialog } from "vant";
|
import { Dialog } from "vant";
|
||||||
import { myMixins } from "@/utils/myMixins"
|
import { myMixins } from "@/utils/myMixins"
|
||||||
import { uploadInvoice, getBillingInfo, deleteInvoice, createBatch, jumpPage} from "@/api/mine"
|
import { uploadInvoice, getBillingInfo, deleteInvoice, createBatch } from "@/api/mine"
|
||||||
export default {
|
export default {
|
||||||
name: "uploadInvoice",
|
name: "uploadInvoice",
|
||||||
mixins:[ myMixins ],
|
mixins:[ myMixins ],
|
||||||
@ -132,10 +132,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getJumpHandler() {
|
|
||||||
let res = await jumpPage();
|
|
||||||
return res
|
|
||||||
},
|
|
||||||
async initData() {
|
async initData() {
|
||||||
this.list = JSON.parse(localStorage.getItem('list'));
|
this.list = JSON.parse(localStorage.getItem('list'));
|
||||||
this.batchIds = [];
|
this.batchIds = [];
|
||||||
@ -234,12 +230,7 @@
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async beforeRead (file) {
|
beforeRead (file) {
|
||||||
let res = await this.getJumpHandler();
|
|
||||||
if(res?.data?.jump) {
|
|
||||||
this.$message.warning("您有没有完成的培训,请在中道调度APP上完成培训,再进行发票上传")
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
const FileExt = file.name.replace(/.+\./, "");
|
const FileExt = file.name.replace(/.+\./, "");
|
||||||
if (['jpg', 'png', 'jpeg', 'pdf', 'ofd'].indexOf(FileExt.toLowerCase()) === -1) {
|
if (['jpg', 'png', 'jpeg', 'pdf', 'ofd'].indexOf(FileExt.toLowerCase()) === -1) {
|
||||||
this.$toast('请上传后缀名为jpg、jpeg、png、pdf、ofd的文件!')
|
this.$toast('请上传后缀名为jpg、jpeg、png、pdf、ofd的文件!')
|
||||||
|
|||||||
@ -1,199 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="navBar">
|
|
||||||
<van-nav-bar
|
|
||||||
title="参保救援职业责任险"
|
|
||||||
left-arrow
|
|
||||||
left-arrow-color="#FFFFFF"
|
|
||||||
:border="false"
|
|
||||||
:fixed="true"
|
|
||||||
:safe-area-inset-top="true"
|
|
||||||
@click-left="goBack"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="contentWrap">
|
|
||||||
<div>
|
|
||||||
为降低日常救援工作中的不可预期的车损赔付带来的运营风险和资金压力,减少由此衍生而来的可能投诉,顺应行业服务标准不断增长的局势,中道救援自有车辆已全部投保了救援职业责任险。
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
通过日常的交流了解,此险种对于服务商而言,投保相对较难,很多服务商在无投保渠道的情况下选择了对于我们救援场景保障能力稍弱、不太匹配的货物险,从而从形成了现在很多救援车无保障、或者特殊场景货物险理赔难的局面。
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
为此中道救援经过与保司沟通协调,特为与中道救援合作紧密的服务商,提供救援职业责任险参保渠道,提升服务商服务能力,降低运营风险,实现共同进步。
|
|
||||||
</div>
|
|
||||||
<div>一、救援职业责任险简介:</div>
|
|
||||||
<div>1、综合保额50万元,可全方位覆盖我们日常的经营活动。</div>
|
|
||||||
<div> 2、保费支付可采用救援服务费抵扣的方式,降低资金压力。</div>
|
|
||||||
<div> 3、详细保险条款、保费和其他问题,如需了解,请与辖区区域经理联系。</div>
|
|
||||||
<div> 二、其他意见建议如需交流,请与18621558505曲仁杰联系。</div>
|
|
||||||
<div> 三、如确认参保,请点击下方“参保”按钮,会有专人与贵司联系。</div>
|
|
||||||
</div>
|
|
||||||
<div class="upload_btn_wrap">
|
|
||||||
<div class="btn_save" @click="showPoup = true">参保</div>
|
|
||||||
</div>
|
|
||||||
<div class="poupCommon" v-if="showPoup">
|
|
||||||
<div class="showPoupContainer">
|
|
||||||
<img class="insured" src="@/assets/insured-jianbian.png">
|
|
||||||
<img class="insure" src="@/assets/insured.png">
|
|
||||||
<div class="con">
|
|
||||||
<div class="title">请确认</div>
|
|
||||||
<div class="title">是否参保救援职业责任险</div>
|
|
||||||
<div class="btnWrap">
|
|
||||||
<div class="btn confirmBtn" @click="saveHandle">确认</div>
|
|
||||||
<div class="btn closeBtn" @click="showPoup = false">取消</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import {myMixins} from "@/utils/myMixins"
|
|
||||||
import {sendInsuranceEmail} from "@/api/mine"
|
|
||||||
export default {
|
|
||||||
name: "insuredPage",
|
|
||||||
mixins: [myMixins],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
showPoup: false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async mounted() {
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
async saveHandle() {
|
|
||||||
await sendInsuranceEmail();
|
|
||||||
this.$toast('操作成功');
|
|
||||||
this.showPoup=false
|
|
||||||
setTimeout(()=>{
|
|
||||||
this.goBack()
|
|
||||||
},1500)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
@import "@/styles/mixin.scss";
|
|
||||||
@import "@/styles/common.scss";
|
|
||||||
|
|
||||||
.wrap {
|
|
||||||
@include wh(100%, 100%);
|
|
||||||
background-color: #F4F5F7;
|
|
||||||
overflow-y: auto;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navBar {
|
|
||||||
height: 46px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contentWrap {
|
|
||||||
padding-top: 15px;
|
|
||||||
|
|
||||||
div {
|
|
||||||
padding: 0 18px;
|
|
||||||
line-height: 22px;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.upload_btn_wrap {
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
bottom: 10px;
|
|
||||||
left: 0;
|
|
||||||
padding: 15px 30px;
|
|
||||||
display: flex;
|
|
||||||
color: #fff;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 40px;
|
|
||||||
div {
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
border-radius: 5px;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.btn_save {
|
|
||||||
background: #354D93;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.poupCommon {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-color: rgba(0, 0, 0, .7);
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
.showPoupContainer {
|
|
||||||
width: 290px;
|
|
||||||
height: 242px;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
border-radius: 12px;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 11;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
margin: auto;
|
|
||||||
.con {
|
|
||||||
top: 80px !important;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: 60px;
|
|
||||||
}
|
|
||||||
.title {
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #040404;
|
|
||||||
line-height: 28px;
|
|
||||||
}
|
|
||||||
.insure {
|
|
||||||
width: 78px;
|
|
||||||
height: 78px;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 11;
|
|
||||||
top: -34px;
|
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
|
||||||
}
|
|
||||||
.insured {
|
|
||||||
width: 100%;
|
|
||||||
position: absolute;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
.btnWrap {
|
|
||||||
margin-top: 36px;
|
|
||||||
text-align: center;
|
|
||||||
.btn{
|
|
||||||
width: 174px;
|
|
||||||
height: 42px;
|
|
||||||
line-height: 42px;
|
|
||||||
border-radius: 23px;
|
|
||||||
}
|
|
||||||
.closeBtn {
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #2C4155;
|
|
||||||
opacity: .6;
|
|
||||||
}
|
|
||||||
.confirmBtn {
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 15px;
|
|
||||||
background: #F1BA63;
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -90,7 +90,7 @@
|
|||||||
}
|
}
|
||||||
let activeObj = this.addressList[this.activeIndex];
|
let activeObj = this.addressList[this.activeIndex];
|
||||||
let _tempObj = {
|
let _tempObj = {
|
||||||
startPoiAddress: activeObj?.address + activeObj?.name,
|
startPoiAddress: activeObj?.district + activeObj?.address + activeObj?.name,
|
||||||
startLat: activeObj?.location?.lat,
|
startLat: activeObj?.location?.lat,
|
||||||
startLng: activeObj?.location?.lng,
|
startLng: activeObj?.location?.lng,
|
||||||
adCode: activeObj?.adcode,
|
adCode: activeObj?.adcode,
|
||||||
|
|||||||
Reference in New Issue
Block a user