2025-03-20 08:46:07 +08:00
|
|
|
<template>
|
|
|
|
|
<view class="bank_add_warp">
|
|
|
|
|
<view class="add_form">
|
|
|
|
|
<view class="add_bank_form_item" v-for="item in formList" :key="item.id">
|
|
|
|
|
<view class="add_title">{{item.title}}</view>
|
|
|
|
|
<up-input
|
|
|
|
|
:placeholder="item.placeholder"
|
|
|
|
|
border="surround"
|
|
|
|
|
v-model="form[item.formName]"
|
|
|
|
|
:customStyle="inputCss"
|
2025-05-07 09:54:33 +08:00
|
|
|
:type="item.type"
|
|
|
|
|
></up-input>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="add_bank_form_item" >
|
|
|
|
|
<view class="add_title">银行</view>
|
|
|
|
|
<view class="bank_warp" @click="bankShowCheck(true)">
|
|
|
|
|
<view style="color: #808080;margin-left: 22rpx;font-size: 28rpx;">{{form.bankName || "选择银行"}}</view>
|
|
|
|
|
<up-image src="/static/common/right_soild.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
|
|
|
|
|
</view>
|
2025-03-20 08:46:07 +08:00
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="add_but" @click="addBank">
|
|
|
|
|
添加
|
|
|
|
|
</view>
|
|
|
|
|
<up-toast ref="uToastRef"></up-toast>
|
2025-05-07 09:54:33 +08:00
|
|
|
<up-picker
|
|
|
|
|
:show="bankShow"
|
|
|
|
|
:columns="bankOption"
|
|
|
|
|
keyName="bankName"
|
|
|
|
|
itemHeight="34"
|
|
|
|
|
@confirm="bankConfirm"
|
|
|
|
|
:loading="bankLoading"
|
|
|
|
|
@close="bankShow=false"
|
|
|
|
|
@cancel="bankShow=false"
|
|
|
|
|
></up-picker>
|
2025-03-20 08:46:07 +08:00
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2025-05-07 09:54:33 +08:00
|
|
|
import { bindBank } from '@/api/bank.js';
|
|
|
|
|
import { getSupportBank } from '@/api/common.js';
|
|
|
|
|
|
2025-03-20 08:46:07 +08:00
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
inputCss:{
|
|
|
|
|
"height":'80rpx',
|
|
|
|
|
"background": "#F5F5F5",
|
|
|
|
|
"border-radius": "30rpx",
|
|
|
|
|
"border": "0rpx",
|
|
|
|
|
"padding-left": "16px",
|
|
|
|
|
},
|
|
|
|
|
form:{
|
2025-05-07 09:54:33 +08:00
|
|
|
bankNo:null,//银行卡号
|
|
|
|
|
bankId:null,// 银行ID
|
|
|
|
|
bankName:null,// 银行ID
|
|
|
|
|
bankUsername:null,//银行卡开户姓名
|
|
|
|
|
bankPhone:null,//银行卡预留手机号码
|
2025-03-20 08:46:07 +08:00
|
|
|
},
|
|
|
|
|
formList:[
|
|
|
|
|
{
|
|
|
|
|
id:1,
|
2025-05-07 09:54:33 +08:00
|
|
|
title:"银行卡开户姓名",
|
|
|
|
|
formName:"bankUsername",
|
|
|
|
|
placeholder:"请输入银行卡开户姓名",
|
|
|
|
|
type:'text',
|
|
|
|
|
},{
|
|
|
|
|
id:3,
|
|
|
|
|
title:"银行卡预留手机号码",
|
|
|
|
|
formName:"bankPhone",
|
|
|
|
|
placeholder:"请输入银行卡预留手机号码",
|
|
|
|
|
type:'number',
|
2025-03-20 08:46:07 +08:00
|
|
|
},{
|
|
|
|
|
id:2,
|
|
|
|
|
title:"银行卡账号/卡号",
|
2025-05-07 09:54:33 +08:00
|
|
|
formName:"bankNo",
|
2025-03-20 08:46:07 +08:00
|
|
|
placeholder:"请输入账号",
|
2025-05-07 09:54:33 +08:00
|
|
|
type:'number',
|
2025-03-20 08:46:07 +08:00
|
|
|
},
|
2025-05-07 09:54:33 +08:00
|
|
|
],
|
|
|
|
|
bankOption:[],// 银行列表选择
|
|
|
|
|
bankShow:false,
|
|
|
|
|
bankLoading:false,
|
2025-03-20 08:46:07 +08:00
|
|
|
}
|
|
|
|
|
},
|
2025-05-07 09:54:33 +08:00
|
|
|
onLoad() {
|
|
|
|
|
},
|
2025-03-20 08:46:07 +08:00
|
|
|
methods: {
|
2025-05-07 09:54:33 +08:00
|
|
|
// 选择银行的弹框
|
|
|
|
|
async bankShowCheck(status){
|
|
|
|
|
if(status){
|
|
|
|
|
const resp = await getSupportBank();
|
|
|
|
|
if(resp && resp.bizcode === 100){
|
|
|
|
|
this.bankOption = [resp.data];
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
this.bankOption = [[]];
|
|
|
|
|
}
|
|
|
|
|
this.bankShow = status;
|
|
|
|
|
},
|
|
|
|
|
// 提交地址
|
|
|
|
|
bankConfirm(e){
|
|
|
|
|
const {
|
|
|
|
|
columnIndex,
|
|
|
|
|
value,
|
|
|
|
|
values,
|
|
|
|
|
index,
|
|
|
|
|
} = e;
|
|
|
|
|
if(!value || value.length === 0){
|
|
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'error',
|
|
|
|
|
message: "请先选择银行",
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const data = value[0];
|
|
|
|
|
this.form.bankId = data.id;
|
|
|
|
|
this.form.bankName = data.bankName;
|
|
|
|
|
this.bankShowCheck(false);
|
|
|
|
|
},
|
|
|
|
|
async addBank(){
|
2025-03-20 08:46:07 +08:00
|
|
|
const param ={
|
|
|
|
|
...this.form
|
|
|
|
|
};
|
2025-05-07 09:54:33 +08:00
|
|
|
if(!param.bankUsername){
|
2025-03-20 08:46:07 +08:00
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'error',
|
2025-05-07 09:54:33 +08:00
|
|
|
message: "请输入银行卡开户姓名",
|
2025-03-20 08:46:07 +08:00
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
2025-05-07 09:54:33 +08:00
|
|
|
if(!param.bankPhone){
|
2025-03-20 08:46:07 +08:00
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'error',
|
2025-05-07 09:54:33 +08:00
|
|
|
message: "请输入银行卡预留手机号码",
|
2025-03-20 08:46:07 +08:00
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
2025-05-07 09:54:33 +08:00
|
|
|
if(!param.bankNo){
|
2025-03-20 08:46:07 +08:00
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'error',
|
2025-05-07 09:54:33 +08:00
|
|
|
message: "请输入银行卡账号/卡号",
|
2025-03-20 08:46:07 +08:00
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
2025-05-07 09:54:33 +08:00
|
|
|
if(!param.bankId){
|
|
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'error',
|
|
|
|
|
message: "请选择银行",
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
delete param.bankName;
|
|
|
|
|
const resp = await bindBank(param);
|
|
|
|
|
if(resp && resp.bizcode === 100){
|
|
|
|
|
this.$refs.uToastRef.show({
|
|
|
|
|
type: 'sesses',
|
|
|
|
|
message: "绑定成功",
|
|
|
|
|
});
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/pages/mine_bank_card/mine_bank_card',
|
|
|
|
|
})
|
|
|
|
|
},2000)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
2025-03-20 08:46:07 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.bank_add_warp{
|
|
|
|
|
height: calc(100vh - 58rpx);
|
|
|
|
|
background-color: $app-bj;
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
}
|
|
|
|
|
.add_form{
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 30rpx;
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.add_bank_form_item{
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
.add_title{
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
color: #111111;
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-07 09:54:33 +08:00
|
|
|
.bank_warp{
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
2025-03-20 08:46:07 +08:00
|
|
|
|
|
|
|
|
</style>
|