Files
supplier-dispatch-h5/src/views/rvDriverAuthentication/bankInfo.vue

144 lines
4.1 KiB
Vue

<template>
<div class="content">
<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>
<tip-bar :title="'温馨提示:服务完成后,平台代收的运费需要提现到您的银行卡账户中,请确保您上传的银行卡信息真实可用。'"></tip-bar>
<photo-item title="银行卡正面照片" :left-url="form.bankCardFront || bank" :show="show" @leftImg="bankHandler"></photo-item>
<div class="carInfo">
<div class="left_wrap title">
<span class="mar_left">姓名</span>
<div>
<span class="star">*</span>
<span>账户号</span>
</div>
<div>
<span class="star">*</span>
<span>开户行</span>
</div>
</div>
<div class="right_wrap">
<input type="text" disabled placeholder="请输入持卡人姓名" v-model="form.name">
<input type="text" placeholder="请输入银行卡号" v-model="form.cardNumber">
<input type="text" placeholder="请输入开户行" v-model="form.bankName">
</div>
</div>
<fixed-button @myClick="clickHandler" v-if="showFun()"></fixed-button>
<!-- <protocol-dialog></protocol-dialog>-->
</div>
</template>
<script>
// import protocolDialog from "./component/protocolDialog";
import fixedButton from "./component/fixedButton";
import photoItem from "./component/photoItem";
import tipBar from "./component/tipBar";
import { ocrRecognize, driverInfoVerify, driverInfoVerifyDetail } from '@/api/authentication.js'
import { leftCopy } from '@/utils/common.js'
import { myMixins } from '@/utils/myMixins.js'
export default {
name: "bankInfo",
components: {
tipBar,
photoItem,
fixedButton,
// protocolDialog
},
mixins: [myMixins],
data() {
return {
bank: require('@/assets/authentication/bank_icon1.png'),
show: undefined,
form: {
bankCardFront: '',
bankName: '',
cardNumber: '',
name: '',
},
type:localStorage.getItem('type')
}
},
async mounted() {
// if(options?.show) {
this.show = true
// }
if( this.show ) {
await this.getDetail()
}
},
async onShow() {
},
methods: {
async clickHandler() {
if(!this.form.bankCardFront) {
this.$toast('银行卡照片未上传');
return
}
if( this.form.name && this.form.cardNumber && this.form.bankName ) {
let res = await driverInfoVerify( {
verifyType: 4,
...this.form,
type: this.type || 'full',
})
this.$toast('操作成功')
await this.getRegisterInfo({
verifyType: 4
})
setTimeout(() => {
this.h5GoBack()
}, 100)
console.log('注册', res)
} else {
this.$toast('银行卡信息识别错误')
}
},
async bankHandler(data) {
this.form.bankName = ''
this.form.cardNumber = ''
this.form.name = ''
this.form.bankCardFront = data
let res = await this.orcHandler(this.form.bankCardFront, 5)
leftCopy(this.form, {...res?.data?.data})
},
async getDetail() { // 认证详情
let res = await driverInfoVerifyDetail( {
verifyType: 4
})
leftCopy(this.form, {...res?.data?.bankCardInfoData})
console.log('bank', res)
},
async orcHandler(url, type) { // ocr 识别
let res = await ocrRecognize( {
ocrType: type,
imageUrl: url
});
return res;
},
}
}
</script>
<style lang="scss">
@import "@/styles/common.scss";
@import "@/styles/infoShow.scss";
page {
background: #F4F5F7;
}
.content{
height: 100%;
overflow-y: auto;
}
.navBar{
margin-bottom: 46px;
}
</style>