wupengfei
4 天以前 600a0319374e7ff53f801777d3dca25951cac1ca
apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
@@ -1,106 +1,48 @@
<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>