web-base-h5/pages/mine/bindBank/index.vue

225 lines
5.1 KiB
Vue
Raw Normal View History

2025-03-23 09:29:40 +08:00
<template>
<view class="content">
<view class="tablebox" v-if="tableData.length > 0">
<view class="card" v-for="(item, index) in tableData"
:style="{ backgroundImage: 'url(' + item.backgroundImg + ')'}" :key="index">
<view class="cardtopflex">
<view class="cardtopflex2">
<view class="imgbox"><img :src="item.logo" alt="" /></view>
<view class="titlebox">
<view class="cardtitle">{{item.bankName}}</view>
<view class="cardtitle2">{{$t('MY_ORD_67')}}</view>
</view>
</view>
<view class="flexs_1" v-if="item.defaultCard==1">
<view class="qiu"></view>
<view v-if="userInfo.pkCountry == 1">{{$t('w_0263')}}</view>
<view v-else style="color: #000;font-weight: bold;" class="cardfooter">{{$t('w_0263')}}</view>
</view>
<view class="flexs_1" v-else>
<view style="color: #fff; font-weight: bold; cursor: pointer" @click="setDefault(item.pkId)"
class="cardfooter">{{$t('PER_DA_23')}}</view>
</view>
</view>
<view class="cardNumber">{{ item.cardNumber }}</view>
<view v-if="userInfo.pkCountry == 1" class="cardfooter" @click="removeBind(item)">
[{{$t('MY_ORD_68')}}]</view>
<view v-else style="color: #000;font-weight: bold;" class="cardfooter" @click="removeBind(item)">
[{{$t('MY_ORD_68')}}]</view>
</view>
</view>
<u-modal :showCancelButton="true" @cancel="modalShow=false" :content="$t('MY_ORD_69')" :show="modalShow"
@confirm="confirmRemove" ref="uModal" :asyncClose="true"></u-modal>
<view class="footerbtn" @click="goAdd">
+{{$t('MY_ORD_70')}}
</view>
<u-modal :showCancelButton="true" @cancel="modalShow2=false" content="当前解绑为默银行卡,请设置为另一张卡为默认银行卡"
:show="modalShow2" @confirm="confirmRemove2" ref="uModal" :asyncClose="true"></u-modal>
<!-- <el-button class="footerbtn" @click="bindBank(true)">{{$t('w_0179')}}</el-button> -->
</view>
</template>
<script>
import * as ban from "@/config/balance.js"
export default {
data() {
return {
tableData: [],
modalShow: false,
modalShow2: false,
pkId: "",
userInfo: {}
}
},
onLoad() {
this.userInfo = uni.getStorageSync('User')
},
onShow() {
this.getSearch()
},
methods: {
setDefault(pkId) {
ban.updateDefault({
pkId: pkId
}).then((res) => {
if (res.code == 200) {
uni.$u.toast(res.msg)
this.getSearch();
} else {
uni.$u.toast(res.msg)
}
});
},
goAdd() {
uni.navigateTo({
url: '/pages/mine/bindBank/bindBank'
})
},
removeBind(item) {
this.pkId = item.pkId
if (item.defaultCard == 1) {
this.modalShow2 = true
} else {
this.modalShow = true
}
},
confirmRemove2() {
this.modalShow2 =false
this.modalShow = true
},
//解除绑定
confirmRemove() {
ban.removeBankBind({
pkId: this.pkId
}).then((res) => {
if (res.code == 200) {
uni.$u.toast(res.msg)
this.modalShow = false
this.getSearch();
} else {
uni.$u.toast(res.msg)
this.modalShow = false
}
});
},
//点击绑定银行卡
bindBank(val) {
// this.isAdd = true;
// this.jdTl = val;
},
getSearch() {
ban.getBankList().then((res) => {
this.tableData = res.data;
});
},
}
}
</script>
<style lang="scss" scoped>
.content {
background-color: #f9f9f9;
padding: 22rpx;
.tablebox {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.card {
width: 100%;
background-color: rgba(170, 45, 42, 0.9);
background-size: 100% 100%;
border-radius: 20rpx;
margin: 20rpx 0;
padding: 28rpx 32rpx 40rpx 32rpx;
margin-top: 20rpx;
.cardtopflex {
display: flex;
align-items: center;
justify-content: space-between;
.flexs_1 {
display: flex;
align-items: center;
margin-right: 20rpx;
color: #ffffff;
font-size: 24rpx;
.qiu {
margin-right: 10rpx;
width: 20rpx;
height: 20rpx;
border-radius: 50%;
background: rgb(47, 236, 47);
}
}
.cardtopflex2 {
.imgbox {
margin-right: 20rpx;
img {
width: 68rpx;
height: 68rpx;
}
}
.titlebox {
color: #ffffff;
text-align: left;
.cardtitle {
font-size: 36rpx;
font-weight: 600;
}
.cardtitle2 {
font-size: 20rpx;
margin-top: 8rpx;
font-weight: 400;
}
}
}
}
.cardNumber {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 600;
color: #ffffff;
margin-top: 100rpx;
margin-left: 36rpx;
}
.cardfooter {
text-align: right;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #ffffff;
margin-top: 24rpx;
cursor: pointer;
}
}
}
.footerbtn {
display: flex;
align-items: center;
padding: 40rpx;
background: #ffffff;
font-size: 24rpx;
font-weight: 600;
border-radius: 20rpx;
margin-top: 32rpx;
width: 100%;
}
}
</style>