|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <ContentScrollView> | 
|---|
|  |  |  | <div class="bind-bank-card-wrapper"> | 
|---|
|  |  |  | <div class="bg-left-top"></div> | 
|---|
|  |  |  | <div class="bind-bank-card-content"> | 
|---|
|  |  |  | <div class="bank-card-name">{{ '招商银行' }}</div> | 
|---|
|  |  |  | <div class="bank-card-number">{{ '**** **** **** 1234' }}</div> | 
|---|
|  |  |  | <div class="bank-card-type">{{ '储蓄卡' }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bg-right-bottom"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bind-bank-card-tips">目前只支持一张银行卡,如需换卡请先解绑</div> | 
|---|
|  |  |  | </ContentScrollView> | 
|---|
|  |  |  | <PageFooter :isOnlyAction="false"> | 
|---|
|  |  |  | <PageFooterBtn type="primary" @click="handleUnbind()">解绑银行卡</PageFooterBtn> | 
|---|
|  |  |  | </PageFooter> | 
|---|
|  |  |  | <BindWalletView | 
|---|
|  |  |  | :type="EnumUserBankCardAccess.Bank" | 
|---|
|  |  |  | :detail="detail" | 
|---|
|  |  |  | @Unbind="handleUnbind" | 
|---|
|  |  |  | ></BindWalletView> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { useUserStore } from '@/stores/modules/user'; | 
|---|
|  |  |  | import Taro from '@tarojs/taro'; | 
|---|
|  |  |  | import { Message } from '@12333/utils'; | 
|---|
|  |  |  | import * as userServices from '@12333/services/apiV2/user'; | 
|---|
|  |  |  | import { EnumUserBankCardAccess } from '@12333/constants'; | 
|---|
|  |  |  | import { BindWalletView } from '@12333/components'; | 
|---|
|  |  |  | import { usePersonalUserBankCard } from '../hooks'; | 
|---|
|  |  |  | import { goBack } from '@/utils'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'InnerPage', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const userStore = useUserStore(); | 
|---|
|  |  |  | const { updateUserInfo } = useUser(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function handleUnbind() {} | 
|---|
|  |  |  | const { detail } = usePersonalUserBankCard({ | 
|---|
|  |  |  | access: EnumUserBankCardAccess.Bank, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleUnbind() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | await Message.confirm({ message: '确定要解绑银行卡吗?' }); | 
|---|
|  |  |  | let params: API.DeletePersonalUserBankCardCommand = { | 
|---|
|  |  |  | access: EnumUserBankCardAccess.Bank, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await userServices.deletePersonalUserBankCard(params); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | Message.success('解绑成功', { | 
|---|
|  |  |  | onClosed() { | 
|---|
|  |  |  | updateUserInfo(); | 
|---|
|  |  |  | goBack(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | @import '@/styles/common.scss'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bindBankCard-page-wrapper { | 
|---|
|  |  |  | .bind-bank-card-wrapper { | 
|---|
|  |  |  | margin: 20px auto 0; | 
|---|
|  |  |  | width: 660px; | 
|---|
|  |  |  | height: 360px; | 
|---|
|  |  |  | padding: 60px 72px; | 
|---|
|  |  |  | background: linear-gradient(134deg, #6c7ff6 0%, #7996f7 100%); | 
|---|
|  |  |  | box-shadow: 0px 4 10px 5px rgba(122, 151, 248, 0.3); | 
|---|
|  |  |  | border-radius: 22px; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | overflow: hidden; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg-left-top { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 148px; | 
|---|
|  |  |  | height: 130px; | 
|---|
|  |  |  | background-color: #7c8ef7; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | border-radius: 0 0 148px 0; | 
|---|
|  |  |  | z-index: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bind-bank-card-content { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bank-card-name { | 
|---|
|  |  |  | font-size: 40px; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bank-card-number { | 
|---|
|  |  |  | font-size: 32px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bank-card-type { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: rgba(255, 255, 255, 0.5); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg-right-bottom { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 306px; | 
|---|
|  |  |  | height: 306px; | 
|---|
|  |  |  | background: #7d98f7; | 
|---|
|  |  |  | left: 360px; | 
|---|
|  |  |  | top: 180px; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | z-index: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bind-bank-card-tips { | 
|---|
|  |  |  | margin: 66px auto 0; | 
|---|
|  |  |  | font-size: 22px; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | color: boleGetCssVar('text-color', 'secondary'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|