6
0
Fork 0
jiqu-library-miniprogram/src/pageA/my_bank/index.vue

127 lines
4.8 KiB
Vue

<template>
<view>
<nav-shadow></nav-shadow>
<loading-view v-if="isFirstLoading"></loading-view>
<view class="text-center text-txBase text-xl pt-80rpx font-extrabold">请填写银行卡信息</view>
<view class="px-60rpx ">
<view class="flex items-center text-txBase text-lg mt-60rpx">
<view class="w-120rpx">持卡人</view>
<input :disabled="is_edited" v-model="real_name" placeholder-class="text-txGray" class="inputHeight rounded-lg" type="text" placeholder="持卡人">
</view>
<view v-if="!is_edited" class="text-right text-sm text-hex-D43030">*持卡人名称仅修改一次</view>
<view class="flex items-center text-txBase text-lg mt-60rpx">
<view class="w-120rpx">银行卡</view>
<input v-model="bank_number" placeholder-class="text-txGray" class="inputHeight rounded-lg" maxlength="25" type="number" placeholder="请填写银行卡号">
</view>
<view @tap="bankShow=true" class="flex items-center text-lg mt-60rpx">
<view class="w-120rpx">银行</view>
<view v-if="bank_name" class="inputHeight rounded-lg text-txBase leading-80rpx ">{{bank_name}}</view>
<view v-else class="inputHeight rounded-lg leading-80rpx text-txGray">请选择所属银行</view>
</view>
<view class="flex items-center text-txBase text-lg mt-60rpx">
<view class="w-120rpx">开户行</view>
<input v-model="bank_description" placeholder-class="text-txGray" class="inputHeight rounded-lg" type="text" placeholder="请填写开户行">
</view>
<view class="text-center text-txGray text-md mt-60rpx">提示:请认真填写,避免发生错误!</view>
<view class="mt-50rpx">
<view class="login-btn" @tap="onSubmit"> 保存 </view>
</view>
</view>
<u-select @confirm="BankConfirm" label-name="name" v-model="bankShow" confirm-color="#378264" :list="banks"></u-select>
</view>
</template>
<script>
export default {
data() {
return {
isFirstLoading:true,
bankShow:false,
bankList:[],
real_name:'',//真实姓名,
bank_number:'',//卡号,
bank_name:'',//银行名称
bank_description:'',//开户行
is_edited:false
};
},
computed:{
banks(){
const arr=[]
this.bankList.forEach((item,index)=>{
let obj={}
obj.name=item
arr.push(obj)
})
return arr
}
},
onLoad() {
this.getDate()
this.getBank()
},
methods:{
//查询银行卡信息
async getDate(){
let resDate=await this.$api.get('/v1/user-bank',{})
if(resDate.real_name){
this.real_name=resDate.real_name,
this.bank_number=resDate.bank_number,
this.bank_name=resDate.bank_name,
this.bank_description=resDate.bank_description,
this.is_edited=resDate.is_edited
}
this.isFirstLoading = false
},
//获取银行信息
async getBank(){
let resDate=await this.$api.get('/v1/banks-options',{})
this.bankList=resDate.banks
},
//选择的银行
BankConfirm(e){
this.bank_name=e[0].label
},
async onSubmit(){
let obj={
real_name:this.real_name,
bank_number:this.bank_number,
bank_name:this.bank_name,
bank_description:this.bank_description
}
if(!obj.real_name)return this.$u.toast("请填写持卡人姓名")
if(!this.$u.test.rangeLength(obj.bank_number, [16, 25]))return this.$u.toast("银行卡格式不正确")
if(!obj.bank_name)return this.$u.toast("请选择所属银行")
if(!obj.bank_description)return this.$u.toast("请填写开户行")
try{
let resDate=await this.$api.put('/v1/user-bank',obj,{custom: {loading: true}})
this.$u.toast("提交成功")
setTimeout(()=>{
uni.navigateBack()
this.eliminate()
},300)
}catch(err){}
},
//清除数据
eliminate(){
this.real_name='',
this.bank_number='',
this.bank_name='',
this.bank_description=''
}
}
}
</script>
<style>
page{
height: 100vh;
background: #FFFFFF;
}
</style>
<style lang="scss" scoped>
.inputHeight{
@apply h-80rpx flex-1 border border-txBorder px-base ml-40rpx text-lg ;
}
</style>