| | |
| | | <script> |
| | | import offIcon from '@/static/imgs/icons/off.png' |
| | | import leftIcon from '@/static/imgs/icons/left.png' |
| | | import kkIcon from '@/static/imgs/icons/kk.png' |
| | | import offIcon from '@/static/img/off.png' |
| | | import leftIcon from '@/static/img/left.png' |
| | | import kkIcon from '@/static/img/kk.png' |
| | | import addAddress from "@/pages/quanyi/components/addAddress"; |
| | | import agreement from "@/pages/quanyi/components/agreement"; |
| | | |
| | | import textBox from "@/components/textBox/index.vue"; |
| | | export default { |
| | | name: "add", |
| | | components: { |
| | | addAddress,agreement |
| | | addAddress,agreement,textBox |
| | | }, |
| | | data() { |
| | | return { |
| | | getPlatformProtocolNewList:[], |
| | | showTextBox: false, |
| | | loginAct: false, |
| | | $webHost:'https://rbb98765.zrgy-bbg.com', |
| | | protocolChecked: [1], |
| | | protocolChecked: [0], |
| | | offIcon,leftIcon,kkIcon, |
| | | callbackData:{}, |
| | | addressDetail: { |
| | |
| | | customStyle() { |
| | | return { |
| | | height: "100rpx", |
| | | background: "#FF1472", |
| | | background: "#4766FE", |
| | | color: "#fff", |
| | | borderRadius: "24rpx", |
| | | borderRadius: "50rpx", |
| | | fontSize: "34rpx", |
| | | }; |
| | | }, |
| | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/customer/getCstAddress', |
| | | data:{ |
| | | customerId: uni.getStorageSync('qxgLogin').customerId, |
| | | sourceId: uni.getStorageSync('qxgLogin').appId |
| | | customerId: uni.getStorageSync('ygxLogin').customerId, |
| | | sourceId: uni.getStorageSync('ygxLogin').appId |
| | | }, |
| | | success: function (res) { |
| | | _this.addressDetail = res.data.data; |
| | |
| | | |
| | | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/xinheyuan/bank/list/fake/'+uni.getStorageSync('qxgLogin').customerId, |
| | | url: _this.$webHost+'/api/v2/xinheyuan/bank/list/fake/'+uni.getStorageSync('ygxLogin').customerId, |
| | | success(res){ |
| | | console.log(res.data.data); |
| | | this.bankList = res.data.data; |
| | |
| | | uni.setStorageSync('windowHeight',uni.getSystemInfoSync().windowHeight) |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('qxgLogin').customerId}`, |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const dy = res.data.data[0]; |
| | |
| | | } |
| | | |
| | | }) |
| | | |
| | | |
| | | uni.request( { |
| | | url: _this.$webHost + "/api/v2/renpin/H5/getPlatformProtocolNew", |
| | | data: { |
| | | customerId: uni.getStorageSync('ygxLogin').customerId, |
| | | appId: uni.getStorageSync('ygxLogin').appId |
| | | }, |
| | | method: 'GET', |
| | | success(res) { |
| | | uni.showLoading({}) |
| | | _this.getPlatformProtocolNewList = res.data.data; |
| | | _this.showTextBox = true; |
| | | |
| | | _this.$nextTick(() => { |
| | | if(_this.$refs.textBox){ |
| | | uni.hideLoading(); |
| | | _this.$refs.textBox.open() |
| | | } else { |
| | | setTimeout(() => { |
| | | console.log('setTimeout'); |
| | | uni.hideLoading(); |
| | | _this.$refs.textBox && _this.$refs.textBox.open() |
| | | }, 400); |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | |
| | | }, |
| | | mounted(){ |
| | | this.$refs.codeUi.open() |
| | | this.windowHeight = uni.getSystemInfoSync().windowHeight; |
| | | this.interval = setInterval(() => { |
| | | let newHeight = window.innerHeight; |
| | |
| | | const _this = this; |
| | | |
| | | if(this.addressStr.length < 8){ |
| | | |
| | | uni.showToast({ |
| | | title: '请输入详细地址', |
| | | icon: 'none' |
| | |
| | | |
| | | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/sign/signed/'+uni.getStorageSync('qxgLogin').customerId, |
| | | url: _this.$webHost+'/api/v2/sign/signed/'+uni.getStorageSync('ygxLogin').customerId, |
| | | method:'POST', |
| | | }) |
| | | |
| | |
| | | url: _this.$webHost+'/api/v2/pay/memberPurchaseBenefitsPays', |
| | | method:'POST', |
| | | data:{ |
| | | customerId: uni.getStorageSync('qxgLogin').customerId, |
| | | customerId: uni.getStorageSync('ygxLogin').customerId, |
| | | memberPeriodConfigId: uni.getStorageSync('memberPeriodConfigInfo').id |
| | | }, |
| | | success(){ |
| | |
| | | this.$refs.popup.close() |
| | | }, |
| | | open(){ |
| | | // 通过组件定义的ref调用uni-popup方法 ,如果传入参数 ,type 属性将失效 ,仅支持 ['top','left','bottom','right','center'] |
| | | this.$refs.popup.open() |
| | | }, |
| | | |
| | | validateAndCacheCardInfo() { |
| | | const _this = this; |
| | | |
| | | |
| | | if(!_this.cardNumber.length || _this.cardNumber.length<14 ){ |
| | | return |
| | | } |
| | |
| | | } |
| | | }) |
| | | |
| | | /* uni.request({ |
| | | url: "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardBinCheck=true", // 阿里接口 |
| | | data: { |
| | | cardNo: _this.cardNumber, |
| | | }, |
| | | success: function (res) { |
| | | console.log(res.data.validated); |
| | | if (res.data.validated) { |
| | | |
| | | for (let i of uni.getStorageSync("bankList")) { |
| | | console.log(i); |
| | | if (res.data.bank === i.bankCode) { |
| | | _this.bankCode = i.bankCode; |
| | | _this.bankName = i.bankName; |
| | | |
| | | break; |
| | | } |
| | | } |
| | | if(!_this.bankName){ |
| | | uni.showToast({ |
| | | title: "暂不支持该银行或银行卡号有误", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | } |
| | | |
| | | else { |
| | | uni.showToast({ |
| | | title: "暂不支持该银行或银行卡号有误", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }, |
| | | });*/ |
| | | }, |
| | | submit() { |
| | | const _this = this; |
| | | if(!this.protocolChecked[0]){uni.showToast({title: '请阅读并同意相关协议', icon: 'none'});return;} |
| | | if(!_this.cardName){ |
| | | uni.showToast({ |
| | | title: "请填写您的姓名", |
| | | title: "请填写真实姓名", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | if(!_this.idCardNo){ |
| | | uni.showToast({ |
| | | title: "请填写您的身份证号", |
| | | title: "请输入身份证号", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | if(!_this.cardNumber){ |
| | | uni.showToast({ |
| | | title: "请填写银行卡号", |
| | | title: "请输入银行卡号", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | |
| | | }); |
| | | return |
| | | } |
| | | |
| | | if(!_this.addressStr){ |
| | | uni.showToast({ |
| | | title: "请填写您的详细地址", |
| | | title: "请填写详细地址", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | |
| | | |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('qxgLogin').customerId}`, |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | _this.getPayBindCardInfo = res.data.data; |
| | |
| | | data:{ |
| | | ..._this.bindCardId, |
| | | |
| | | "customerId": uni.getStorageSync('qxgLogin').customerId, |
| | | "customerId": uni.getStorageSync('ygxLogin').customerId, |
| | | "cardPhone" : _this.cardPhone, //手机号 |
| | | |
| | | "cardNumber": _this.cardNumber, //卡号 |
| | |
| | | }, |
| | | success(e){ |
| | | if(e.data.code!==200){ |
| | | _this.$util.Tips({ |
| | | title: e.data.data |
| | | }); |
| | | // _this.$util.Tips({ |
| | | // title: e.data.data |
| | | // }); |
| | | uni.showToast({ |
| | | title: e.data.data, |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('qxgLogin').customerId}`, |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const ls = res.data.data; |
| | |
| | | |
| | | |
| | | |
| | | if(ls.length>1 && !ls[1].bindStatus){ |
| | | if(ls.length && !ls[1].bindStatus){ |
| | | _this.$refs.codeUi.open() |
| | | _this.isCounting = false; |
| | | _this.countText = ''; |
| | | return; |
| | | } |
| | | if(ls.length>2 && !ls[2].bindStatus){ |
| | | if(ls.length && !ls[2].bindStatus){ |
| | | _this.$refs.setUi.open(); |
| | | _this.isCounting = false; |
| | | _this.countText = ''; |
| | |
| | | |
| | | |
| | | |
| | | _this.kk() |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | }, |
| | | getSmsCode(){ |
| | | const that = this; |
| | | console.log(that.getPayBindCardInfo[0].paymentMethod); |
| | | if(this.isCounting){ |
| | | return |
| | | } |
| | | if(that.getPayBindCardInfo[0].bindStatus){ |
| | | if(!that.getPayBindCardInfo[1].bindStatus){ |
| | | that.$refs.codeUi.open(); |
| | | getSmsCode(){ |
| | | const that = this; |
| | | console.log(that.getPayBindCardInfo[0].paymentMethod); |
| | | if(this.isCounting){ |
| | | return |
| | | } |
| | | if(!that.getPayBindCardInfo[2].bindStatus){ |
| | | that.$refs.setUi.open(); |
| | | if(that.getPayBindCardInfo[0].bindStatus){ |
| | | if(!that.getPayBindCardInfo[1].bindStatus){ |
| | | that.$refs.codeUi.open(); |
| | | return |
| | | } |
| | | if(!that.getPayBindCardInfo[2].bindStatus){ |
| | | that.$refs.setUi.open(); |
| | | } |
| | | return |
| | | } |
| | | return |
| | | } |
| | | |
| | | if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.cardPhone)) return that.$util.Tips({ |
| | | title: '请输入正确的手机号码' |
| | | }); |
| | | if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.cardPhone)) return uni.showToast({ |
| | | title: '请输入正确的手机号码', |
| | | icon: 'none' |
| | | }); |
| | | |
| | | |
| | | that.isCounting = true; |
| | | that.isCounting = true; |
| | | |
| | | |
| | | |
| | | uni.request({ |
| | | url: that.$webHost+'/api/v2/xinheyuan/bankcard/save', |
| | | method:'POST', |
| | | data:{ |
| | | "customerId": uni.getStorageSync('qxgLogin').customerId, |
| | | "nameReal": that.cardName, // 名字 |
| | | "cardNo":that.cardNumber, |
| | | "idCard": that.idCardNo, |
| | | uni.request({ |
| | | url: that.$webHost+'/api/v2/xinheyuan/bankcard/save', |
| | | method:'POST', |
| | | data:{ |
| | | "customerId": uni.getStorageSync('ygxLogin').customerId, |
| | | "nameReal": that.cardName, // 名字 |
| | | "cardNo":that.cardNumber, |
| | | "idCard": that.idCardNo, |
| | | |
| | | "bankPhoneNo":that.cardPhone, |
| | | "bankCode": that.bankCode, |
| | | "bankName": that.bankName, |
| | | "phone": that.cardPhone, //手机号 |
| | | "paymentMethod": that.getPayBindCardInfo[0].paymentMethod , |
| | | "bankPhoneNo":that.cardPhone, |
| | | "bankCode": that.bankCode, |
| | | "bankName": that.bankName, |
| | | "phone": that.cardPhone, //手机号 |
| | | "paymentMethod": that.getPayBindCardInfo[0].paymentMethod , |
| | | |
| | | |
| | | "preBindType": "prebc", |
| | | "bankId": "1", |
| | | "preBindType": "prebc", |
| | | "bankId": "1", |
| | | |
| | | }, |
| | | success(){ |
| | | uni.request({ |
| | | url: that.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | "customerId": uni.getStorageSync('qxgLogin').customerId, |
| | | "cardName": that.cardName, // 名字 |
| | | "cardIdNo": that.idCardNo, |
| | | }, |
| | | success(){ |
| | | uni.request({ |
| | | url: that.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | "customerId": uni.getStorageSync('ygxLogin').customerId, |
| | | "cardName": that.cardName, // 名字 |
| | | "cardIdNo": that.idCardNo, |
| | | |
| | | "cardNumber":that.cardNumber, |
| | | "bankPhoneNo":that.cardPhone, |
| | | "bankCode": that.bankCode, |
| | | "bankName": that.bankName, |
| | | "cardPhone": that.cardPhone, //手机号 |
| | | "paymentMethod": that.getPayBindCardInfo[0].paymentMethod , |
| | | "cardNumber":that.cardNumber, |
| | | "bankPhoneNo":that.cardPhone, |
| | | "bankCode": that.bankCode, |
| | | "bankName": that.bankName, |
| | | "cardPhone": that.cardPhone, //手机号 |
| | | "paymentMethod": that.getPayBindCardInfo[0].paymentMethod , |
| | | |
| | | |
| | | "preBindType": "prebc", |
| | | "bankId": "1", |
| | | "preBindType": "prebc", |
| | | "bankId": "1", |
| | | |
| | | }, |
| | | success(res){ |
| | | if(res.data.code === 401){ |
| | | that.getUserInfo() |
| | | return; |
| | | } |
| | | |
| | | if(res.data.code !==200){ |
| | | uni.showToast({ |
| | | title: res.data.data, |
| | | icon: 'none' |
| | | }) |
| | | return; |
| | | } |
| | | |
| | | if(res.data.code === 200){ |
| | | that.bindCardId = res.data.data; |
| | | } else { |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | uni.showToast({ |
| | | title: res.data.data, |
| | | icon: 'none' |
| | | }); |
| | | |
| | | if(!that.getPayBindCardInfo[0].bindStatus){ |
| | | |
| | | }, |
| | | success(res){ |
| | | if(res.data.code === 401){ |
| | | that.getUserInfo() |
| | | return; |
| | | } |
| | | |
| | | |
| | | if(!that.getPayBindCardInfo[1].bindStatus){ |
| | | that.$refs.codeUi.open() |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | return |
| | | } if(!that.getPayBindCardInfo[2].bindStatus){ |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | that.$refs.setUi.open() |
| | | return |
| | | if(res.data.code !==200){ |
| | | uni.showToast({ |
| | | title: res.data.data, |
| | | icon: 'none' |
| | | }) |
| | | return; |
| | | } |
| | | |
| | | if(res.data.code === 200){ |
| | | that.bindCardId = res.data.data; |
| | | } else { |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | uni.showToast({ |
| | | title: res.data.data, |
| | | icon: 'none' |
| | | }); |
| | | |
| | | if(!that.getPayBindCardInfo[0].bindStatus){ |
| | | |
| | | return; |
| | | } |
| | | |
| | | |
| | | if(!that.getPayBindCardInfo[1].bindStatus){ |
| | | that.$refs.codeUi.open() |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | return |
| | | } if(!that.getPayBindCardInfo[2].bindStatus){ |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | that.$refs.setUi.open() |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | | }) |
| | | |
| | | } |
| | | }) |
| | | |
| | | let count = 60; |
| | | that.countText = `${count}s秒后重新获取`; |
| | | |
| | | |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | let count = 60; |
| | | that.countText = `${count}s秒后重新获取`; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | } |
| | | },1000) |
| | | }, |
| | | fail(err){ |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | uni.showToast({ |
| | | title: err, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | // 二次获取 |
| | | getCode(){ |
| | | if (this.isCounting_A) { |
| | | return; |
| | | } |
| | | const paymentMethod = this.getPayBindCardInfo[1]['paymentMethod']; |
| | | const _this = this; |
| | | const pro = uni.getStorageSync('qxgLogin') |
| | | pro['userName'] = _this.cardName; |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | cardIdNo: _this.idCardNo, |
| | | customerId: pro.customerId, |
| | | cardName: _this.cardName, |
| | | cardNo: _this.cardIdNo, |
| | | cardPhone: _this.cardPhone, |
| | | cardNumber: _this.cardNumber, |
| | | bankName: _this.bankName, |
| | | preBindType: "prebc", |
| | | paymentMethod:paymentMethod, |
| | | againType : true |
| | | }, |
| | | success(dt){ |
| | | if(dt.data.code === 401){ |
| | | _this.getUserInfo() |
| | | return; |
| | | } |
| | | const res = dt.data.data; |
| | | if(!res){ |
| | | return; |
| | | } |
| | | _this.callbackData = res; |
| | | _this.bindCardId = res; |
| | | uni.showToast({ |
| | | title: "验证码已发送", |
| | | icon: "none", |
| | | }); |
| | | // 设置倒计时功能 |
| | | let count = 60; |
| | | |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | _this.$set(_this, "isCounting_A", false); |
| | | } else { |
| | | _this.$set(_this, "isCounting_A", true); |
| | | _this.$set(_this, "countText_A", `${count}秒后重新获取`); |
| | | } |
| | | }, 1000); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | submitPlan(){ |
| | | |
| | | const _this = this; |
| | | |
| | | if (!this.verificationCodeT) { |
| | | uni.showToast({ |
| | | title: "请输入验证码", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | const callbackData = _this.callbackData; |
| | | const paymentMethod = _this.getPayBindCardInfo[1]['paymentMethod']; |
| | | |
| | | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/verifySMSCodes', |
| | | method:'POST', |
| | | data:{ |
| | | ...callbackData, |
| | | |
| | | "customerId": uni.getStorageSync('qxgLogin').customerId, |
| | | "cardPhone" : _this.cardPhone, //手机号 |
| | | |
| | | "cardNumber": _this.cardNumber, //卡号 |
| | | paymentMethod:paymentMethod, |
| | | "cardName" : _this.cardName, // 名字 |
| | | "cardIdNo" : _this.cardIdNo, |
| | | "bankName" : _this.bankName, |
| | | "cardNo" : _this.cardNumber, |
| | | |
| | | "verificationCode": _this.verificationCodeT, |
| | | }, |
| | | success(dts){ |
| | | if(dts.data.code!==200){ |
| | | return |
| | | } |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('qxgLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const ls = res.data.data; |
| | | _this.getPayBindCardInfo = res.data.data; |
| | | if(ls.length>2 && !ls[2].bindStatus){ |
| | | _this.isCounting_A = false; |
| | | _this.countText_A = ''; |
| | | _this.$refs.codeUi.close() |
| | | _this.$refs.setUi.open() |
| | | return; |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | that.countText = `${count}s秒后重新获取`; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | } |
| | | |
| | | if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;} |
| | | |
| | | } |
| | | |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | // 三次 |
| | | getCode_san(){ |
| | | if (this.isCounting_B) { |
| | | return; |
| | | } |
| | | const paymentMethod = this.getPayBindCardInfo[2]['paymentMethod']; |
| | | const _this = this; |
| | | const pro = uni.getStorageSync('qxgLogin') |
| | | pro['userName'] = _this.cardName; |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | cardIdNo: _this.idCardNo, |
| | | customerId: pro.customerId, |
| | | cardName: _this.cardName, |
| | | cardNo: _this.cardIdNo, |
| | | cardPhone: _this.cardPhone, |
| | | cardNumber: _this.cardNumber, |
| | | bankName: _this.bankName, |
| | | preBindType: "prebc", |
| | | paymentMethod:paymentMethod, |
| | | againType : true |
| | | }, |
| | | success(dt){ |
| | | if(dt.data.code ==401){ |
| | | _this.getUserInfo() |
| | | return; |
| | | } |
| | | |
| | | if(dt.data.code !==200){ |
| | | },1000) |
| | | }, |
| | | fail(err){ |
| | | that.isCounting = false; |
| | | that.countText = ''; |
| | | uni.showToast({ |
| | | title: dt.data.data, |
| | | title: err, |
| | | icon: 'none' |
| | | }) |
| | | return; |
| | | } |
| | | }) |
| | | |
| | | const res = dt.data.data; |
| | | if(!res){ |
| | | return; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | // 二次获取 |
| | | getCode(){ |
| | | if (this.isCounting_A) { |
| | | return; |
| | | } |
| | | const paymentMethod = this.getPayBindCardInfo[1]['paymentMethod']; |
| | | const _this = this; |
| | | const pro = uni.getStorageSync('ygxLogin') |
| | | pro['userName'] = _this.cardName; |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | cardIdNo: _this.idCardNo, |
| | | customerId: pro.customerId, |
| | | cardName: _this.cardName, |
| | | cardNo: _this.cardIdNo, |
| | | cardPhone: _this.cardPhone, |
| | | cardNumber: _this.cardNumber, |
| | | bankName: _this.bankName, |
| | | preBindType: "prebc", |
| | | paymentMethod:paymentMethod, |
| | | againType : true |
| | | }, |
| | | success(dt){ |
| | | if(dt.data.code === 401){ |
| | | _this.getUserInfo() |
| | | return; |
| | | } |
| | | const res = dt.data.data; |
| | | if(!res){ |
| | | return; |
| | | } |
| | | _this.callbackData = res; |
| | | _this.bindCardId = res; |
| | | uni.showToast({ |
| | | title: "验证码已发送", |
| | | icon: "none", |
| | | }); |
| | | // 设置倒计时功能 |
| | | let count = 60; |
| | | |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | _this.$set(_this, "isCounting_A", false); |
| | | } else { |
| | | _this.$set(_this, "isCounting_A", true); |
| | | _this.$set(_this, "countText_A", `${count}秒后重新获取`); |
| | | } |
| | | }, 1000); |
| | | } |
| | | _this.callbackData = res; |
| | | _this.bindCardId = res; |
| | | }) |
| | | }, |
| | | |
| | | submitPlan(){ |
| | | |
| | | const _this = this; |
| | | |
| | | if (!this.verificationCodeT) { |
| | | uni.showToast({ |
| | | title: "验证码已发送", |
| | | title: "请输入验证码", |
| | | icon: "none", |
| | | }); |
| | | // 设置倒计时功能 |
| | | let count = 60; |
| | | |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | _this.$set(_this, "isCounting_B", false); |
| | | } else { |
| | | _this.$set(_this, "isCounting_B", true); |
| | | _this.$set(_this, "countText_B", `${count}秒后重新获取`); |
| | | } |
| | | }, 1000); |
| | | return; |
| | | } |
| | | }) |
| | | }, |
| | | submitPlan_san(){ |
| | | |
| | | const _this = this; |
| | | const callbackData = _this.callbackData; |
| | | const paymentMethod = _this.getPayBindCardInfo[1]['paymentMethod']; |
| | | |
| | | |
| | | if (!this.verificationCodeS) { |
| | | uni.showToast({ |
| | | title: "请输入验证码", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/verifySMSCodes', |
| | | method:'POST', |
| | | data:{ |
| | | ...callbackData, |
| | | |
| | | const callbackData = _this.callbackData; |
| | | const paymentMethod = _this.getPayBindCardInfo[2]['paymentMethod']; |
| | | "customerId": uni.getStorageSync('ygxLogin').customerId, |
| | | "cardPhone" : _this.cardPhone, //手机号 |
| | | |
| | | "cardNumber": _this.cardNumber, //卡号 |
| | | paymentMethod:paymentMethod, |
| | | "cardName" : _this.cardName, // 名字 |
| | | "cardIdNo" : _this.cardIdNo, |
| | | "bankName" : _this.bankName, |
| | | "cardNo" : _this.cardNumber, |
| | | |
| | | "verificationCode": _this.verificationCodeT, |
| | | }, |
| | | success(dts){ |
| | | if(dts.data.code!==200){ |
| | | // _this.$util.Tips({ |
| | | // title: dts.data.data |
| | | // }); |
| | | uni.showToast({ |
| | | title: dts.data.data, |
| | | icon: 'none' |
| | | }); |
| | | return |
| | | } |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const ls = res.data.data; |
| | | _this.getPayBindCardInfo = res.data.data; |
| | | if(ls.length>2 && !ls[2].bindStatus){ |
| | | _this.isCounting_A = false; |
| | | _this.countText_A = ''; |
| | | _this.$refs.codeUi.close() |
| | | _this.$refs.setUi.open() |
| | | } |
| | | |
| | | if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;} |
| | | |
| | | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/verifySMSCodes', |
| | | method:'POST', |
| | | data:{ |
| | | ...callbackData, |
| | | |
| | | "customerId": uni.getStorageSync('qxgLogin').customerId, |
| | | "cardPhone" : _this.cardPhone, //手机号 |
| | | |
| | | "cardNumber": _this.cardNumber, //卡号 |
| | | paymentMethod:paymentMethod, |
| | | "cardName" : _this.cardName, // 名字 |
| | | "cardIdNo" : _this.cardIdNo, |
| | | "bankName" : _this.bankName, |
| | | "cardNo" : _this.cardNumber, |
| | | |
| | | "verificationCode": _this.verificationCodeS, |
| | | }, |
| | | success(dts){ |
| | | if(dts.data.code!==200){ |
| | | _this.showToast({ |
| | | title: dts.data.data |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('qxgLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const ls = res.data.data; |
| | | _this.getPayBindCardInfo = res.data.data; |
| | | _this.isCounting_B = false; |
| | | _this.countText_B = ''; |
| | | _this.$refs.setUi.close() |
| | | _this.$refs.codeUi.close() |
| | | if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;} |
| | | |
| | | |
| | | }, |
| | | // 三次 |
| | | getCode_san(){ |
| | | if (this.isCounting_B) { |
| | | return; |
| | | } |
| | | const paymentMethod = this.getPayBindCardInfo[2]['paymentMethod']; |
| | | const _this = this; |
| | | const pro = uni.getStorageSync('ygxLogin') |
| | | pro['userName'] = _this.cardName; |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/bindCardToCodes', |
| | | method:'POST', |
| | | data:{ |
| | | cardIdNo: _this.idCardNo, |
| | | customerId: pro.customerId, |
| | | cardName: _this.cardName, |
| | | cardNo: _this.cardIdNo, |
| | | cardPhone: _this.cardPhone, |
| | | cardNumber: _this.cardNumber, |
| | | bankName: _this.bankName, |
| | | preBindType: "prebc", |
| | | paymentMethod:paymentMethod, |
| | | againType : true |
| | | }, |
| | | success(dt){ |
| | | if(dt.data.code ==401){ |
| | | _this.getUserInfo() |
| | | return; |
| | | } |
| | | |
| | | }) |
| | | if(dt.data.code !==200){ |
| | | uni.showToast({ |
| | | title: dt.data.data, |
| | | icon: 'none' |
| | | }) |
| | | return; |
| | | } |
| | | |
| | | const res = dt.data.data; |
| | | if(!res){ |
| | | return; |
| | | } |
| | | _this.callbackData = res; |
| | | _this.bindCardId = res; |
| | | uni.showToast({ |
| | | title: "验证码已发送", |
| | | icon: "none", |
| | | }); |
| | | // 设置倒计时功能 |
| | | let count = 60; |
| | | |
| | | const timer = setInterval(() => { |
| | | count--; |
| | | if (count <= 0) { |
| | | clearInterval(timer); |
| | | _this.$set(_this, "isCounting_B", false); |
| | | } else { |
| | | _this.$set(_this, "isCounting_B", true); |
| | | _this.$set(_this, "countText_B", `${count}秒后重新获取`); |
| | | } |
| | | }, 1000); |
| | | } |
| | | }) |
| | | }, |
| | | submitPlan_san(){ |
| | | |
| | | const _this = this; |
| | | |
| | | |
| | | if (!this.verificationCodeS) { |
| | | uni.showToast({ |
| | | title: "请输入验证码", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | }) |
| | | |
| | | const callbackData = _this.callbackData; |
| | | const paymentMethod = _this.getPayBindCardInfo[2]['paymentMethod']; |
| | | |
| | | |
| | | uni.request({ |
| | | url: _this.$webHost+'/api/v2/pay/verifySMSCodes', |
| | | method:'POST', |
| | | data:{ |
| | | ...callbackData, |
| | | |
| | | "customerId": uni.getStorageSync('ygxLogin').customerId, |
| | | "cardPhone" : _this.cardPhone, //手机号 |
| | | |
| | | "cardNumber": _this.cardNumber, //卡号 |
| | | paymentMethod:paymentMethod, |
| | | "cardName" : _this.cardName, // 名字 |
| | | "cardIdNo" : _this.cardIdNo, |
| | | "bankName" : _this.bankName, |
| | | "cardNo" : _this.cardNumber, |
| | | |
| | | "verificationCode": _this.verificationCodeS, |
| | | }, |
| | | success(dts){ |
| | | if(dts.data.code!==200){ |
| | | // _this.$util.Tips({ |
| | | // title: dts.data.data |
| | | // }); |
| | | uni.showToast({ |
| | | title: dts.data.data, |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | |
| | | uni.request({ |
| | | url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`, |
| | | method:'get', |
| | | success:function(res){ |
| | | const ls = res.data.data; |
| | | _this.getPayBindCardInfo = res.data.data; |
| | | _this.isCounting_B = false; |
| | | _this.countText_B = ''; |
| | | _this.$refs.setUi.close() |
| | | _this.$refs.codeUi.close() |
| | | if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;} |
| | | |
| | | |
| | | } |
| | | |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | |
| | | |
| | | |
| | | getUserInfo() { |
| | | |
| | | // const data = uni.getStorageSync('LOGING_DATA') |
| | | // console.log(data); |
| | | // this.$store.commit("LOGIN", { |
| | | // 'token': data.token |
| | | // }); |
| | | // this.$store.commit('UPDATE_USERINFO', { |
| | | // avatar: data.avatar, |
| | | // nickname: data.nickname, |
| | | // phone: data.phone |
| | | // }); |
| | | // this.$store.commit("SETUID", data.id) |
| | | |
| | | uni.reLaunch({ |
| | | url: '/pages/index/index' |
| | | }); |
| | | }, |
| | | }, |
| | | |
| | | |
| | | |
| | | getUserInfo() { |
| | | |
| | | |
| | | |
| | | uni.reLaunch({ |
| | | url: '/pages/index/index' |
| | | }); |
| | | }, |
| | | }, |
| | | onUnload() { |
| | | onUnload() { |
| | | clearInterval(this.interval); |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <view style="background: #fff;padding-bottom: 20rpx;"> |
| | | <view style="background: #F7F7F7;padding-bottom: 40rpx;"> |
| | | <view > |
| | | <view class="top">为向您提供更好的安全保障,您需要提供银行卡号以完成信息核验</view> |
| | | </view> |
| | | |
| | | <view style="background: white;height: 20rpx;"></view> |
| | | |
| | | <view class="form"> |
| | | <view class="clo" style="display: flex;background: white"> |
| | | <view class="clo"> |
| | | <view class="label"> |
| | | <text>真实姓名</text> |
| | | <text>持卡人姓名</text> |
| | | </view> |
| | | <view class="inp_box"> |
| | | <input maxlength="8" style="width: 400rpx;" v-model="cardName" class="inp" placeholder="请填写您的姓名" /> |
| | | <input maxlength="8" v-model="cardName" class="inp" placeholder="请填写持卡人姓名" /> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="clo" style="display: flex;background: white"> |
| | | <view class="clo"> |
| | | <view class="label"> |
| | | <text>身份证号</text> |
| | | </view> |
| | | <view class="inp_box"> |
| | | <input maxlength="18" style="width: 400rpx;" v-model="idCardNo" class="inp" placeholder="请填写您的身份证号" /> |
| | | <input maxlength="18" v-model="idCardNo" class="inp" placeholder="请填写身份证号" /> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <!-- <view style="background: #F7F7F7;height: 20rpx;"></view>--> |
| | | |
| | | |
| | | <view class="clo" style="display: flex"> |
| | | <view class="clo"> |
| | | <view class="label"> |
| | | <text>银行卡号</text> |
| | | </view> |
| | | <view class="inp_box"> |
| | | <input maxlength="30" style="width: 400rpx;" @blur="validateAndCacheCardInfo" v-model="cardNumber" class="inp" placeholder="请填写银行卡号" /> |
| | | <image @click="cardNumber=''" v-show="!bindStatus && cardNumber" :src="offIcon" style="width: 40rpx;height: 40rpx;position: absolute;right: -40rpx;top: 0;"></image> |
| | | <input maxlength="30" @blur="validateAndCacheCardInfo" v-model="cardNumber" class="inp" placeholder="请输入银行卡号" /> |
| | | <image @click="cardNumber=''" v-show="!bindStatus && cardNumber" :src="offIcon" style="width: 40rpx;height: 40rpx;position: absolute;right: 0rpx;top: 30rpx;"></image> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="clo" style="display: flex"> |
| | | <view class="clo"> |
| | | <view class="label"> |
| | | <text>所属银行</text> |
| | | </view> |
| | | <view class="inp_box" style="flex: 1;z-index: 1" > |
| | | <view :class="bankName?'':'a3'">{{bankName?bankName:'请输入所属银行'}}</view> |
| | | <view class="inp_box" style="z-index: 1" > |
| | | <view style="width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" :class="bankName?'':'a3'">{{bankName?bankName:'请输入所属银行'}}</view> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="clo" style="display: flex"> |
| | | <view class="clo"> |
| | | <view class="label"> |
| | | <view>手机号码</view> |
| | | <view>预留手机号</view> |
| | | </view> |
| | | <view class="inp_box" > |
| | | <input maxlength="11" v-model="cardPhone" class="inp" placeholder="请填写银行预留手机号" /> |
| | | <view class="inp_box" style="position: relative;"> |
| | | <input maxlength="11" v-model="cardPhone" class="inp" placeholder="请填写手机号" /> |
| | | <!-- <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode">--> |
| | | <!-- <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text>--> |
| | | <!-- </view>--> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="clo" style="display: flex" v-if="!getPayBindCardInfo[0].bindStatus"> |
| | | <view class="clo" v-if="getPayBindCardInfo.length && !getPayBindCardInfo[0].bindStatus"> |
| | | <view class="label"> |
| | | <text>验证码</text> |
| | | <text>手机验证码</text> |
| | | </view> |
| | | <view class="inp_box" style="display: flex;flex: 1"> |
| | | <input maxlength="6" v-model="verificationCode" class="inp" type="number" style="width: 200rpx" placeholder="请输入验证码" /> |
| | | <view class="inp_box" style="position: relative;"> |
| | | <input maxlength="6" v-model="verificationCode" class="inp" type="number" placeholder="请填写验证码" /> |
| | | |
| | | <view class="code" style="flex: 1;text-align: right" @click="getSmsCode"> |
| | | <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode"> |
| | | <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <view class="clo" style="display: flex;margin-bottom: 20rpx;" @click="$refs.address.open()"> |
| | | <view class="clo" @click="$refs.address.open()"> |
| | | <view class="label" > |
| | | <text>收货地址</text> |
| | | </view> |
| | | <view class="inp_box"> |
| | | <view style="font-size: 28rpx;" v-if="addressStr">{{addressStr}}</view> |
| | | <view style="font-size: 28rpx;color: #BDBDBE;" v-else>请填写您的详细地址</view> |
| | | <view style="font-size: 28rpx;width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" v-if="addressStr">{{addressStr}}</view> |
| | | <view style="font-size: 28rpx;color: #BDBDBE;width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" v-else>请填写详细地址</view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <!-- <view class="xieyi"> |
| | | <view style="display: flex"> |
| | | <checkbox-group @change="checkboxChange"> |
| | | |
| | | <view style=" padding: 0 30rpx;margin-left: 20rpx;"> |
| | | <view style="display: flex;"> |
| | | <checkbox value="1" activeBorderColor="none" activeBackgroundColor="red" style="border-radius: 0" color="#ffffff"/> |
| | | </checkbox-group> |
| | | <view style="margin-top: 2rpx;"> <text>我已同意</text> |
| | | </view> |
| | | </view> |
| | | </view>--> |
| | | |
| | | <view style=" padding: 0 30rpx;margin-top: 30rpx;"> |
| | | <view style="display: flex;align-items: center;"> |
| | | <uv-checkbox-group |
| | | activeColor="#FF1472" |
| | | activeColor="#4766FE" |
| | | iconSize="20" |
| | | shape="circle" |
| | | v-model="protocolChecked"> |
| | | <uv-checkbox size="14" :name="1" > |
| | | |
| | | </uv-checkbox> |
| | | <text class="protocol-text" > |
| | | 我已阅读并同意<text style="font-size: 24rpx;color: #4766FE" class="link-text" @click="$refs.agreement.open()">《相关协议》</text> |
| | | <uv-checkbox size="22" :name="1" > |
| | | <text class="protocol-text" > |
| | | 我已阅读并同意 |
| | | </text> |
| | | </uv-checkbox> |
| | | <text style="font-size: 24rpx;" class="link-text" @click="$refs.agreement.open()">《相关协议》</text> |
| | | </uv-checkbox-group> |
| | | |
| | | </view> |
| | |
| | | |
| | | </uni-popup> |
| | | |
| | | <uv-popup mode="center" round="20" ref="codeUi" :closeOnClickOverlay="false" bgColor=""> |
| | | <uv-popup mode="center" round="20" ref="codeUi" :closeOnClickOverlay="false" > |
| | | |
| | | <view style="padding: 40rpx;width:calc( 100% - 120rpx);margin: auto;border-radius: 40rpx 40rpx 40rpx 40rpx;background-image: url('/static/imgs/codeUiBACK.png');background-repeat: no-repeat;background-size: 100% 100%;padding-top: 60rpx;"> |
| | | <view style="padding: 40rpx 0;width: 690rpx;background: url('/static/img/smsCodeBg.png') no-repeat top center; background-size: 100%;height: 650rpx;position: relative;"> |
| | | <view class="head"> |
| | | <view |
| | | style=" |
| | | text-align: center; |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | position: absolute; |
| | | height: 190rpx; |
| | | right: 0; |
| | | top: -30rpx; |
| | | z-index: 1; |
| | | " |
| | | > |
| | | |
| | | <view style=" |
| | | <image |
| | | src="@/static/img/codeSetUi.png" |
| | | style=" |
| | | width: 190rpx; |
| | | height: 190rpx; |
| | | " |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | <!-- <view style=" |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | position: relative; |
| | | margin-bottom: 12rpx; |
| | | text-align: center; |
| | | |
| | | ">短信确认</view> |
| | | <view style="font-size: 28rpx;color: #666666;">为确保安全到账,需再次对您的收款账户进行短信验证</view> |
| | | ">短信确认</view> --> |
| | | |
| | | |
| | | <view class="close"> |
| | | <view |
| | | style=" |
| | | text-align: center; |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | height: 56rpx; |
| | | position: absolute; |
| | | left: 315rpx; |
| | | bottom: -80rpx; |
| | | " |
| | | > |
| | | <image |
| | | @click="$refs.codeUi.close()" |
| | | src="@/static/img/off.png" |
| | | style=" |
| | | width: 56rpx; |
| | | height: 56rpx; |
| | | " |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | <view style="margin-top: 100rpx;background: linear-gradient( -160deg, #D0FDFF 0%, #FFFBFC 50%, #FFFBFC 100%);border-radius: 40rpx 40rpx 40rpx 40rpx;border: 1px solid #fff;padding: 30rpx;position: relative;z-index: 2;"> |
| | | <view style="font-size: 28rpx;color: #252938;text-align: center;">为确保安全到账,需再次对您的收款账户进行短信验证</view> |
| | | <view class="content"> |
| | | <uv-form |
| | | :labelStyle="lstyle" |
| | | labelPosition="left" |
| | | |
| | | <view class="content" style="margin-top: 40rpx;"> |
| | | <uv-form |
| | | :labelStyle="lstyle" |
| | | labelPosition="left" |
| | | ref="form" |
| | | labelWidth="100" |
| | | > |
| | | |
| | | ref="form" |
| | | labelWidth="100" |
| | | > |
| | | <uv-form-item |
| | | class="item" |
| | | label="" |
| | | prop="repayTermStr" |
| | | |
| | | <uv-form-item |
| | | class="item" |
| | | label="" |
| | | prop="repayTermStr" |
| | | > |
| | | <uv-input |
| | | :adjustPosition="true" |
| | | readonly |
| | | v-model="cardPhone" |
| | | maxlength="11" |
| | | :customStyle="inputStyle" |
| | | disabledColor="none" |
| | | |
| | | > |
| | | <uv-input |
| | | shape="circle" |
| | | :adjustPosition="true" |
| | | readonly |
| | | v-model="cardPhone" |
| | | maxlength="11" |
| | | :customStyle="inputStyle" |
| | | disabledColor="none" |
| | | border="none" |
| | | placeholder="请输入手机号" |
| | | style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;" |
| | | ></uv-input> |
| | | </uv-form-item> |
| | | |
| | | border="none" |
| | | placeholder="请输入手机号" |
| | | ></uv-input> |
| | | </uv-form-item> |
| | | <uv-form-item |
| | | class="item" |
| | | label="" |
| | | prop="needVerify" |
| | | |
| | | <view style="height: 20rpx;"></view> |
| | | |
| | | <uv-form-item |
| | | class="item" |
| | | label="" |
| | | prop="needVerify" |
| | | |
| | | > |
| | | <uv-input |
| | | :adjustPosition="true" |
| | | maxlength="6" |
| | | v-model="verificationCodeT" |
| | | border="none" |
| | | placeholder="请输入验证码" |
| | | > |
| | | <template #suffix> |
| | | <text |
| | | class="code" |
| | | :class="isCounting_A ? 'ks' : ''" |
| | | @click="getCode" |
| | | >{{ isCounting_A ? countText_A : "获取验证码" }}</text |
| | | > |
| | | </template> |
| | | </uv-input> |
| | | </uv-form-item> |
| | | <uv-form-item > |
| | | <view class="but" style="width: 100%;margin-top: 20rpx;font-weight: 600;"> |
| | | <uv-button |
| | | :customStyle="customStyle" |
| | | |
| | | @click="submitPlan" |
| | | >确定</uv-button |
| | | > |
| | | </view> |
| | | </uv-form-item> |
| | | </uv-form> |
| | | </view> |
| | | </view> |
| | | <view style="text-align: center;margin-top: 40rpx;"> |
| | | <image |
| | | @click="$refs.codeUi.close()" |
| | | src="@/static/imgs/closeA.png" |
| | | style=" width: 50rpx; height: 50rpx; " |
| | | ></image> |
| | | > |
| | | <uv-input |
| | | :adjustPosition="true" |
| | | maxlength="6" |
| | | v-model="verificationCodeT" |
| | | border="none" |
| | | placeholder="请输入验证码" |
| | | style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;" |
| | | > |
| | | <template #suffix> |
| | | <text |
| | | class="code" |
| | | style="color: #4766FE;" |
| | | :class="isCounting_A ? 'ks' : ''" |
| | | @click="getCode" |
| | | >{{ isCounting_A ? countText_A : "获取验证码" }}</text |
| | | > |
| | | </template> |
| | | </uv-input> |
| | | </uv-form-item> |
| | | <uv-form-item > |
| | | <view class="but" style="width: 100%;"> |
| | | <uv-button |
| | | :customStyle="customStyle" |
| | | shape="circle" |
| | | @click="submitPlan" |
| | | >确认</uv-button |
| | | > |
| | | </view> |
| | | </uv-form-item> |
| | | </uv-form> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </uv-popup> |
| | | <uv-popup mode="center" round="20" ref="setUi" :closeOnClickOverlay="false" bgColor="" z-index="999"> |
| | | <uv-popup mode="center" round="20" ref="setUi" :closeOnClickOverlay="false" > |
| | | |
| | | <view style="padding: 40rpx;width:calc( 100% - 120rpx);margin: auto;border-radius: 40rpx 40rpx 40rpx 40rpx;background-image: url('/static/imgs/codeUiBACK.png');background-repeat: no-repeat;background-size: 100% 100%;padding-top: 60rpx;"> |
| | | |
| | | <view style=" |
| | | <view style="padding: 40rpx 0;width: 690rpx;background: url('/static/img/smsSetBg.png') no-repeat top center; background-size: 100%;height: 650rpx;"> |
| | | <view class="head"> |
| | | <view |
| | | style=" |
| | | text-align: center; |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | position: absolute; |
| | | height: 190rpx; |
| | | right: 0; |
| | | top: -30rpx; |
| | | z-index: 1; |
| | | " |
| | | > |
| | | |
| | | <image |
| | | src="@/static/img/codeSetUi.png" |
| | | style=" |
| | | width: 190rpx; |
| | | height: 190rpx; |
| | | " |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | <!-- <view style=" |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | position: relative; |
| | | margin-bottom: 12rpx; |
| | | text-align: center; |
| | | |
| | | ">本人提交确认</view> |
| | | <view style="font-size: 28rpx;color: #666666;">根据合规要求我们将进行本人提交意愿确认的短信校验,请注意查看短信验证码</view> |
| | | |
| | | <view class="content" style="margin-top: 40rpx;"> |
| | | ">本人提交确认</view> --> |
| | | <view class="close"> |
| | | <view |
| | | style=" |
| | | text-align: center; |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | height: 56rpx; |
| | | position: absolute; |
| | | left: 315rpx; |
| | | bottom: -80rpx; |
| | | " |
| | | > |
| | | <image |
| | | @click="$refs.setUi.close()" |
| | | src="@/static/img/off.png" |
| | | style=" |
| | | width: 56rpx; |
| | | height: 56rpx; |
| | | " |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | <view style="margin-top: 100rpx;background: linear-gradient( -160deg, #D0FDFF 0%, #FFFBFC 50%, #FFFBFC 100%);border-radius: 40rpx 40rpx 40rpx 40rpx;border: 1px solid #fff;padding: 30rpx;position: relative;z-index: 2;"> |
| | | <view style="font-size: 28rpx;color: #252938;text-align: center;">根据合规要求我们将进行本人提交意愿确认的短信校验,请注意查看短信验证码</view> |
| | | <view class="content"> |
| | | <uv-form |
| | | :labelStyle="lstyle" |
| | | labelPosition="left" |
| | |
| | | |
| | | border="none" |
| | | placeholder="请输入手机号" |
| | | style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;" |
| | | ></uv-input> |
| | | </uv-form-item> |
| | | <view style="height: 20rpx;"></view> |
| | | |
| | | <uv-form-item |
| | | class="item" |
| | | label="" |
| | |
| | | v-model="verificationCodeS" |
| | | border="none" |
| | | placeholder="请输入验证码" |
| | | style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;" |
| | | > |
| | | <template #suffix> |
| | | <text |
| | | class="code" |
| | | style="color: #4766FE;" |
| | | :class="isCounting_B ? 'ks' : ''" |
| | | @click="getCode_san" |
| | | >{{ isCounting_B ? countText_B : "获取验证码" }}</text |
| | |
| | | </uv-input> |
| | | </uv-form-item> |
| | | <uv-form-item > |
| | | <view class="but" style="width: 100%;margin-top: 20rpx;font-weight: 600;"> |
| | | <view class="but" style="width: 100%;"> |
| | | <uv-button |
| | | :customStyle="customStyle" |
| | | shape="circle" |
| | | @click="submitPlan_san" |
| | | >确定</uv-button |
| | | >确认</uv-button |
| | | > |
| | | </view> |
| | | </uv-form-item> |
| | | </uv-form> |
| | | </view> |
| | | </view> |
| | | |
| | | <view style="text-align: center;margin-top: 40rpx;"> |
| | | <image |
| | | @click="$refs.setUi.close()" |
| | | src="@/static/imgs/closeA.png" |
| | | style=" width: 50rpx; height: 50rpx; " |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </uv-popup> |
| | | |
| | | <uv-popup mode="bottom" round="20" ref="address" > |
| | | <addAddress :addressDetail="addressDetail" @off="$refs.address.close()" @submit="e => addressDetail = e"></addAddress> |
| | | </uv-popup> |
| | | |
| | | |
| | | <!-- <text-box v-if="showTextBox" ref="textBox" :getPlatformProtocolNewList="getPlatformProtocolNewList"></text-box> --> |
| | | </view> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | .uv-checkbox-group--row { |
| | | align-items: center; |
| | | } |
| | | ::v-deep .uv-popup .uv-popup__content { |
| | | overflow: visible !important; |
| | | } |
| | | .a3{ |
| | | color: #BDBDBE; |
| | | font-size: 30rpx; |
| | |
| | | } |
| | | .form{ |
| | | background: #FFFFFF; |
| | | padding-top: 40rpx; |
| | | .clo{ |
| | | display: flex; |
| | | padding: 30rpx 0rpx; |
| | | //display: flex; |
| | | //padding: 30rpx 0rpx; |
| | | padding-bottom: 30rpx; |
| | | margin: 0 40rpx; |
| | | |
| | | background: #FBFBFB !important; |
| | | border-radius: 24rpx 24rpx 24rpx 24rpx; |
| | | border: 2rpx solid #EEEEEE; |
| | | padding: 30rpx 20rpx; |
| | | margin-bottom: 40rpx; |
| | | //border-bottom: 1rpx solid #E7E9ED; |
| | | background: #FFFFFF; |
| | | .label{ |
| | | width: 160rpx; |
| | | width: 460rpx; |
| | | height: 40rpx; |
| | | |
| | | font-weight: 600; |
| | |
| | | |
| | | .inp_box{ |
| | | position: relative; |
| | | margin-top: 30rpx; |
| | | .inp{ |
| | | &::placeholder{ |
| | | color: #999999; |
| | | font-size: 30rpx; |
| | | } |
| | | height: 42rpx; |
| | | |
| | | width: 670rpx; |
| | | height: 100rpx; |
| | | border: 1px solid #EEEEEE; |
| | | border-radius: 20rpx; |
| | | padding-left: 20rpx; |
| | | font-weight: 400; |
| | | font-size: 30rpx; |
| | | color: #333333; |
| | |
| | | .code_a{ |
| | | |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #FF1472; |
| | | font-size: 28rpx; |
| | | color: #EE2626; |
| | | padding: 16rpx 20rpx; |
| | | //border: 1rpx solid #EE2626; |
| | | //border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | |
| | | } |
| | | .code_k{ |
| | | font-weight: 400; |
| | | font-size: 30rpx; |
| | | font-size: 28rpx; |
| | | color: #999999; |
| | | } |
| | | |
| | |
| | | |
| | | .sub{ |
| | | |
| | | |
| | | width: 690rpx; |
| | | bottom: 50rpx; |
| | | padding: 0 10rpx; |
| | | margin-top: 50rpx; |
| | | padding: 0 30rpx; |
| | | margin-top: 40rpx; |
| | | .sub_btn{ |
| | | background: #FF1472; |
| | | background: #4766FE; |
| | | border-radius: 50rpx 50rpx 50rpx 50rpx; |
| | | padding: 10rpx; |
| | | |
| | |
| | | |
| | | } |
| | | } |
| | | .item{ |
| | | |
| | | background: #FBFBFB; |
| | | border-radius: 24rpx 24rpx 24rpx 24rpx; |
| | | border: 2rpx solid #EEEEEE; |
| | | padding: 0 40rpx; |
| | | } |
| | | ::v-deep .uni-checkbox-input{ |
| | | border-radius: 0; |
| | | transform: scale(0.7); |
| | |
| | | color: #BDBDBE; |
| | | } |
| | | .protocol-text { |
| | | width: calc( 100% - 44rpx); |
| | | font-size: 24rpx; |
| | | color: #8B8D96; |
| | | line-height: 28rpx; |
| | |
| | | } |
| | | .nots{ |
| | | opacity: 0.5; |
| | | } |
| | | .code{ |
| | | color: #FF1472; |
| | | } |
| | | </style> |