Merge branch 'feature/GFRS-1019【0415】签收回执人脸识别修改为短信验证码-tgy' into release/0507

This commit is contained in:
yuweiqi
2020-05-06 18:03:27 +08:00
3 changed files with 157 additions and 35 deletions

View File

@@ -78,7 +78,15 @@
</div>
</div>
</div>
<van-dialog v-model="show" title="提示" show-cancel-button @confirm="authConfirm(authCode)" @cancel="clearTimer">
<p class="p10 fs14">为确保是您本人操作短信验证码已发送至您手机号{{ encyCustomerMobile }}请您输入验证码以完成后续投保操作</p>
<van-cell-group class="flex align-items-c pr5 mb15">
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
<van-button type="danger" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000">{{
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
}}</van-button>
</van-cell-group>
</van-dialog>
<div class="bottom-btn bg-white" v-if="detailJump == '1'">
<van-button type="danger" size="large" @click="submit" :disabled="isSubmit" v-no-more-click="1000">提交</van-button>
</div>
@@ -88,8 +96,9 @@
</div>
</template>
<script>
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
import { getOrderDetail, saveInformation, submit } from '@/api/ebiz/sale/sale'
import { RadioGroup, Radio, Dialog, NoticeBar, Cell, CellGroup, Button, Field } from 'vant'
import { getAuthCode, autchCodeCheck, getOrderDetail, saveInformation, submit } from '@/api/ebiz/sale/sale'
import { checkPhone } from '@/api/ebiz/customer/customer'
import config from '@/config'
export default {
@@ -97,7 +106,13 @@ export default {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
show: false, // 获取短信验证码
codeDisabled: false, // 获取验证码按钮是否禁用
timeId: null, // 计时器ID
countDown: 60, // 倒计时
authCode: '', // 验证码
pdfh5: null,
encyCustomerMobile:'',
pdfUrl: '',
// policyUrl: '',
src: location.origin + '/pdfjs/web/viewer.html?file=',
@@ -161,9 +176,69 @@ export default {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button,
[Field.name]: Field,
[NoticeBar.name]: NoticeBar
},
methods: {
// 获取短信验证码
getAuthCode() {
this.codeDisabled = true
//倒计时
this.timeId = setInterval(() => {
this.countDown--
if (this.countDown <= 0) {
window.clearInterval(this.timeId)
this.codeDisabled = false
this.countDown = 60
}
}, 1000)
getAuthCode({
operateType: 'appntInfoEntry',
type: 'H5',
operateCode: this.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
console.log(res)
if (res.result == 0) {
this.sid = res.sessionId
} else {
this.$toast(res.resultMessage)
}
})
},
// 验证码确认事件
async authConfirm() {
//清理计时器
this.clearTimer()
this.changeSubmit()
},
// 清理计时器
clearTimer() {
window.clearInterval(this.timeId)
this.timeId = null
this.countDown = 60
this.codeDisabled = false
},
//提交变更申请
async changeSubmit() {
if (null == this.sid) {
this.$toast('请先进行发送短信验证码')
return
}
let res = await autchCodeCheck({
smsId: this.sid,
code: this.authCode
})
if (res.result == 0) {
this.submit4detail()
} else {
this.$toast(res.resultMessage)
}
},
timeOut() {
let that = this
let time = that.time
@@ -229,8 +304,53 @@ export default {
})
}
},
submit(){
if(this.detailJump == '1'){
this.submit4detailJump()
}else{
this.submit4detail()
}
},
submit4detailJump(){
// 如果是回执签收
// 则短信验证
this.$toast.loading({
// 持续展示 toast
duration: 0,
// 禁用背景点击s
forbidClick: true,
loadingType: 'spinner',
message: '加载中……'
})
let data = {
name: this.saleInsuredInfo.name,
idType: this.saleInsuredInfo.idType,
idNo: this.saleInsuredInfo.idNo,
mobile: this.saleInsuredInfo.mobile
}
this.customerMobile = this.saleInsuredInfo.mobile
this.encyCustomerMobile = this.customerMobile.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2')
this.authCode = null
// eslint-disable-next-line no-unused-vars
// return new Promise((resolve, reject) => {
checkPhone(data).then(res => {
console.log(res)
if (res.result == '0') {
console.log(res)
this.show = true
} else {
Dialog.confirm({
title: '提示',
message: '抱歉,您预留的手机号非您本人的手机号,请进行线下投保!',
showCancelButton: false
})
}
})
// })
},
// 点击提交
submit() {
submit4detail() {
this.$toast.loading({
duration: 0, // 持续展示 toast

View File

@@ -1,5 +1,5 @@
<template>
<div class="detail-container pb50">
<div class="detail-container pb50" v-if="false">
<!-- <van-uploader
name="appntImg"
v-model="appntImg"
@@ -87,6 +87,7 @@ export default {
this.idcardData.idcardName = JSON.parse(this.$route.query.saleInsuredInfo).name
this.idcardData.idcardNumber = JSON.parse(this.$route.query.saleInsuredInfo).idNo
this.getPolicyDetail()
this.next()
} else {
// 获取保单详情
}

View File

@@ -363,36 +363,37 @@ export default {
},
// 回执签收
next() {
let that = this
if (this.faceAuthCount.appnt < this.smsAuthNum) {
if (this.appntDTO.idType == '1') {
//证件类型为身份证时,进行人脸识别
EWebBridge.webCallAppInJs('face_auth', {
number: this.appntDTO.idNo, //身份证号码
name: this.appntDTO.name //姓名
}).then(data => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.toNextPage()
} else {
that.faceAuthCount.appnt++
if (that.faceAuthCount.appnt >= this.smsAuthNum) {
this.realPeopelCheck()
}
}
})
} else {
this.toNextPage()
}
} else {
this.realPeopelCheck()
}
this.toNextPage()
// let that = this
// if (this.faceAuthCount.appnt < this.smsAuthNum) {
// if (this.appntDTO.idType == '1') {
// //证件类型为身份证时,进行人脸识别
// EWebBridge.webCallAppInJs('face_auth', {
// number: this.appntDTO.idNo, //身份证号码
// name: this.appntDTO.name //姓名
// }).then(data => {
// this.$toast.loading({
// duration: 0, // 持续展示 toast
// forbidClick: true, // 禁用背景点击
// loadingType: 'spinner',
// message: '加载中……'
// })
// this.$toast.clear()
// if (JSON.parse(data).state == '1') {
// this.toNextPage()
// } else {
// that.faceAuthCount.appnt++
// if (that.faceAuthCount.appnt >= this.smsAuthNum) {
// this.realPeopelCheck()
// }
// }
// })
// } else {
// this.toNextPage()
// }
// } else {
// this.realPeopelCheck()
// }
},
toNextPage() {
let params = {