From 980cd417324ef09cde62add23738e1e388a6902a Mon Sep 17 00:00:00 2001
From: zhouhao <787329763@qq.com>
Date: Sat, 08 Jan 2022 11:09:17 +0800
Subject: [PATCH] 修改验证码验证
---
src/views/main/addBankcard.vue | 189 ++++++++++++++++++++++++++---------------------
1 files changed, 104 insertions(+), 85 deletions(-)
diff --git a/src/views/main/addBankcard.vue b/src/views/main/addBankcard.vue
index ed93dc1..4c93261 100644
--- a/src/views/main/addBankcard.vue
+++ b/src/views/main/addBankcard.vue
@@ -3,7 +3,10 @@
<div class='text-main'>
<!-- <van-nav-bar :title="title" left-arrow @click-left="onClickLeft" /> -->
<van-form validate-first ref="credRef">
- <div class="bes-title"><div> 分销个人</div></div>
+ <div class="bes-title">
+ <div v-if="bizType==0 || bizType==1 && this.dataInfo.status==0"> 分销个人</div>
+ <div v-else> 分销主体</div>
+ </div>
<!-- <van-field v-model.trim="dataForm.bankCardNo" label="银行卡号" placeholder="请输入银行卡号" :rules="bankId" name="bankId" clearable>
<template #button>
<van-icon name="scan" size="25" @click="imgClick()" />
@@ -11,26 +14,29 @@
</van-field> -->
<!-- <van-field readonly clickable name="noName" :value="bankName" label="银行名称" placeholder="请选择银行名称" @click="showPicker = true" :rules="noName" right-icon="arrow"/> -->
<div v-if="this.bizType==0 && this.dataInfo.status==0 || this.dataInfo.status==0 && this.bizType==1">
- <van-field v-model.trim="dataForm.name" label="姓名:" readonly/>
- <van-field v-model.trim="dataForm.idNo" label="身份证号:" readonly/>
+ <van-field v-model.trim="dataForm.name" label="姓名:" readonly />
+ <van-field v-model.trim="dataForm.idNo" label="身份证号:" readonly />
+ <van-field v-model.trim="dataForm.mblNo" label="手机号:" readonly />
</div>
- <div v-else>
- <van-field v-model.trim="dataForm.name" label="企业名称:" readonly/>
- <van-field v-model.trim="dataForm.idNo" label="负责人姓名:" readonly/>
+ <div v-else>
+ <van-field v-model.trim="dataForm.confName" label="企业名称:" readonly />
+ <van-field v-model.trim="dataForm.name" label="负责人姓名:" readonly />
+ <van-field v-model.trim="dataForm.idNo" label="负责人身份证号:" label-width="140px" readonly />
+ <van-field v-model.trim="dataForm.mblNo" label="负责人手机号:" label-width="140px" readonly />
</div>
- <van-field v-model.trim="dataForm.verCode" center clearable label="短信验证码" :rules="codeRules" placeholder="请输入短信验证码" >
+ <van-field v-model.trim="dataForm.verCode" center clearable label="短信验证码" :rules="codeRules" placeholder="请输入短信验证码">
<template #button>
- <van-button size="small" color="#6cc3bb" @click.stop="getCode" native-type="button" :disabled="isdisabled">{{codeText}}</van-button>
+ <van-button size="small" color="#6cc3bb" @click.stop="getCode" native-type="button" :disabled="isdisabled">{{codeText}}</van-button>
</template>
</van-field>
<div class="index-title">
<van-checkbox v-model="checked" style="height:30px; margin-right:5px" checked-color="#6cc3bb"></van-checkbox>
- <div v-if="bizType==0 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="show=true">《信息授权函》</span>的签订</div>
- <div v-if="bizType==1 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《保理付款服务合同》</span>的签订</div>
- <div v-if="bizType==1 && this.dataInfo.status==3" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《有追索权保理业务合同s》</span>的签订</div>
+ <div v-if="bizType==0 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="show=true">《信息授权函》</span>的签订</div>
+ <div v-if="bizType==1 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《保理付款服务合同》</span>的签订</div>
+ <div v-if="bizType==1 && this.dataInfo.status==3" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《有追索权保理业务合同s》</span>的签订</div>
</div>
<div style="margin: 16px;margin-top:30px">
- <van-button round block color="#6cc3bb" @click="onFailed" native-type="submit">确认</van-button>
+ <van-button round block color="#6cc3bb" @click="onFailed" native-type="submit">确认</van-button>
</div>
</van-form>
<van-popup v-model="show">
@@ -49,11 +55,10 @@
</div>
</div>
</van-popup>
- <van-popup v-model="showPicker" position="bottom">
- <van-picker show-toolbar :columns="dataObj.bankList" @confirm="onConfirm" @cancel="showPicker = false" value-key="name" ref="pickerRef"/>
- </van-popup>
+ <van-popup v-model="showPicker" position="bottom">
+ <van-picker show-toolbar :columns="dataObj.bankList" @confirm="onConfirm" @cancel="showPicker = false" value-key="name" ref="pickerRef" />
+ </van-popup>
<input style="float: left; display: none;" type="file" id='uploadFile' accept="image/*" v-on:change="readLocalFile()" v-if="ishowFile">
- </div>
</div>
</template>
@@ -61,7 +66,7 @@
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
-import { repstr } from '../../../static/agreement5'
+import { repstr } from '../../../static/agreement1'
import { repstrw } from '../../../static/agreement2'
export default {
//import引入的组件需要注入到对象中才能使用
@@ -71,20 +76,21 @@
return {
dataForm: {
},
- dataInfo:{},
- ishowFile:true,
- dataObj :{},
+ dataInfo: {},
+ ishowFile: true,
+ dataObj: {},
showPicker: false,
- agreementext: '',
- agreementextw: '', //代扣委託書
+ agreementext:'',
+ agreementextw: repstrw(111,222), //代扣委託書
checked: false,
codeValue: '',
isdisabled: false,
show: false,
showx: false,
- bankName:'',
- bizId:this.$route.query.bizId, //订单编号
- bizType:this.$route.query.bizType, //订单类型
+ bankName: '',
+ showOverlay: false,
+ bizId: this.$route.query.bizId, //订单编号
+ bizType: this.$route.query.bizType, //订单类型
codeText: '获取验证码',
noName: [
{
@@ -125,7 +131,7 @@
// trigger: 'onBlur',
// },
],
- codeRules: [
+ codeRules: [
{
required: true,
message: '验证码不能为空',
@@ -148,50 +154,58 @@
//监控data中的数据变化
watch: {
dataForm: {
- handler(newValue, oldValue) {
-// if(newValue.bankCardNo==''){
- this.ishowFile = false // 销毁
-// }
- },
- deep: true
- }
+ handler(newValue, oldValue) {
+ // if(newValue.bankCardNo==''){
+ this.ishowFile = false // 销毁
+ // }
+ },
+ deep: true
+ }
},
//方法集合
methods: {
bankCardNoInit() {
- let objForm ={bizId:this.bizId,bizType:this.bizType}
- this.$api.getBizStatus(objForm).then(res=>{
- this.dataInfo =res.body
- if (this.dataInfo.status==0){
- this.$api.getFrontData(objForm).then(res=>{
- this.dataForm =res.body
- })
- }else if(this.dataInfo.status==1 && Number(this.bizType)==0 || this.dataInfo.status==1 && Number(this.bizType)==1 || this.dataInfo.status==4 && Number(this.bizType)==1){
- this.$router.push({path:'/main/queryres',query:{...objForm}})
- }
+ let objForm = { bizId: this.bizId, bizType: this.bizType }
+ this.$api.getBizStatus(objForm).then(res => {
+ this.dataInfo = res.body
+ if (this.dataInfo.status == 0 || Number(this.bizType) == 1 && this.dataInfo.status == 3) {
+ this.$api.getFrontData(objForm).then(res => {
+ this.dataForm = res.body
})
+ } else if (this.dataInfo.status == 1 && Number(this.bizType) == 0 || this.dataInfo.status == 1 && Number(this.bizType) == 1 || this.dataInfo.status == 4 && Number(this.bizType) == 1) {
+ //获取人脸识别结果页面
+ this.$router.push({ path: '/main/queryres', query: { ...objForm } })
+ }else if(this.dataInfo.status == 6 && Number(this.bizType) ==1 || this.dataInfo.status ==2 && Number(this.bizType) ==0 ){ //已完成人脸识别合同签署
+ this.$router.push({path:'/main/bancardsucces',query:{bizId:this.bizId,bizType:this.bizType}})
+ }else if(res.body.status==99 && Number(this.bizType)==0 || res.body.status==88 && Number(this.bizType)==1 || res.body.status==99 && Number(this.bizType)==1){ //人脸识别失败
+ // window.clearInterval(t2) // 去除定时器
+ // slfe.dataInfo =res.body
+ // slfe.ResultIs =true //重试
+ this.$router.push({ path: '/main/queryres', query: { ...objForm } })
+ }
+ })
},
- onClickLeft(){
-
+ onClickLeft() {
+
},
- onConfirm(value) {
+ onConfirm(value) {
this.bankName = value.name;
- this.dataForm.bankCode=this.$refs.pickerRef.getValues()[0].code
+ this.dataForm.bankCode = this.$refs.pickerRef.getValues()[0].code
this.showPicker = false;
},
onFailed() {
- let mes = `请阅读并同意${this.orderType==1?'信息授权函':'保理付款服务合同'}`
- if (!this.checked) return this.$notify(mes)
- let objUrl
- if (process.env.NODE_ENV === "development") { //开发环境
- objUrl = `https://t.finlean.com/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
- } else{ //生产
- objUrl = `${window.location.origin}/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
- }
- const objForm ={bizId:this.bizId,bizType:this.bizType,callbackUrl:objUrl}
- this.$api.getFaceUrl(objForm).then(res=>{
- window.location.href=res.body.faceUrl
- })
+ let mes = `请阅读并同意${this.orderType == 1 ? '信息授权函' : '保理付款服务合同'}`
+ if (!this.checked) return this.$notify(mes)
+ let objUrl
+ if (process.env.NODE_ENV === "development") { //开发环境
+ objUrl = `https://t.finlean.com/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
+ } else { //生产
+ objUrl = `${window.location.origin}/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
+ }
+ const objForm = { bizId: this.bizId, bizType: this.bizType, callbackUrl: objUrl,verCode:this.dataForm.verCode }
+ this.$api.getFaceUrl(objForm).then(res => {
+ window.location.href = res.body.faceUrl
+ })
// this.$refs.credRef.validate().then(() => {
// // 验证通过
// if (this.dataForm.verCode ==undefined || this.dataForm.verCode =='') return this.$notify('请输入验证码')
@@ -201,12 +215,12 @@
// })
// })
},
- getCode(e) {
-
- this.$refs.credRef.validate(['bankId','noName']).then(()=>{
- this.getVerificationCode()
+ getCode(e) {
+
+ this.$refs.credRef.validate(['bankId', 'noName']).then(() => {
+ this.getVerificationCode()
})
-
+
},
setTime: function () {
let time = 60
@@ -236,47 +250,47 @@
},
getVerificationCode: function () {
// 向服务器获取验证码
-
- this.$api.bankCardAuthMsg({...this.dataForm, orderId: this.orderId}).then(res => {
- this.agreementextw = repstrw(this.dataObj.userName,this.dataObj.idNo,this.dataForm.bankCardMblNo,this.bankName,this.dataForm.bankCardNo);
+
+ this.$api.sendVerifyCode({bizId: this.bizId, bizType: this.bizType}).then(res => {
+ // this.agreementextw = repstrw(this.dataObj.userName, this.dataObj.idNo, this.dataForm.bankCardMblNo, this.bankName, this.dataForm.bankCardNo);
this.$notify_success('验证码发送成功!')
this.setTime()
})
},
//图片click
imgClick: function () {
- this.ishowFile = true // 重建
- this.$nextTick(()=>{
- document.getElementById("uploadFile").click();
+ this.ishowFile = true // 重建
+ this.$nextTick(() => {
+ document.getElementById("uploadFile").click();
})
- //
+ //
},
//点击选中图片
readLocalFile: function () {
console.log(document.getElementById("uploadFile").files)
- this.ishowFile = false // 销毁
+ this.ishowFile = false // 销毁
var localFile = document.getElementById("uploadFile").files[0];
var reader = new FileReader();
var content;
var self = this;
reader.onload = function (event) {
content = event.target.result;
- self.compress(content, 800, 0.5).then(val => {
- val = val.substring(val.indexOf(',')+1)
- self.$api.bankCardOcr({base64Img:val}).then(res=>{
- self.dataForm.bankCardNo =res.body.bankCardNo
-
- })
- });
+ self.compress(content, 800, 0.5).then(val => {
+ val = val.substring(val.indexOf(',') + 1)
+ self.$api.bankCardOcr({ base64Img: val }).then(res => {
+ self.dataForm.bankCardNo = res.body.bankCardNo
+
+ })
+ });
// current.imgs.push(content); //获取图片base64代码
}
reader.onerror = function (event) {
alert('error')
}
content = reader.readAsDataURL(localFile, "UTF-8");
- this.ishowFile = true // 重建
+ this.ishowFile = true // 重建
},
- // 压缩图片
+ // 压缩图片
compress(base64String, w, quality) {
var newImage = new Image();
var imgWidth, imgHeight;
@@ -310,8 +324,13 @@
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
- console.log(process.env.NODE_ENV )
- this.bankCardNoInit()
+ if (!this.$route.query.bizId || !this.$route.query.bizType) return this.$toast({
+ message: '请通过有效连接访问!',
+ type:'fail',
+ duration:0,
+ overlay:true,
+ })
+ this.bankCardNoInit()
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {
@@ -343,12 +362,12 @@
color: #999999;
font-size: 12px;
}
- .bes-title{
+ .bes-title {
background-color: #fff;
font-size: 20px;
font-weight: bold;
height: 60px;
- div{
+ div {
margin-left: 16px;
line-height: 60px;
}
--
Gitblit v1.8.0