fix(提现功能): 银行卡信息提交调整,取消部分无意义提示和图标

This commit is contained in:
hzj 2025-11-14 14:30:25 +08:00
parent 5ff62f0f99
commit d1347f8bcc
3 changed files with 107 additions and 107 deletions

View File

@ -730,7 +730,7 @@
<script setup>
import { useI18n } from 'vue-i18n'
import { ref, reactive, onMounted, onUnmounted, computed } from 'vue'
import { useRouter } from 'vue-router'
import { useRoute, useRouter } from 'vue-router'
import GeneralHeader from '@/components/GeneralHeader.vue'
import {
getBankBalance,
@ -749,6 +749,7 @@ import { setDocumentDirection } from '@/locales/i18n'
const { t, locale } = useI18n()
const router = useRouter()
const route = useRoute()
//
locale.value && setDocumentDirection(locale.value)
@ -756,7 +757,7 @@ locale.value && setDocumentDirection(locale.value)
const availableIncome = ref('')
const selectedCoin = ref(null)
const selectedExchangeOption = ref(null)
const activeAction = ref('Exchange')
const activeAction = ref(route.query.activeAction || 'Exchange')
const loading = ref(false)
const exchangeTipShow = ref(false)
@ -1026,7 +1027,7 @@ const handleExchange = async () => {
//
const checkStatus = computed(() => {
return bankCardInfo.value?.status == 'PASS' && usedBankCard.value?.id && cashOutAmount.value > 50
return bankCardInfo.value?.status == 'PASS' && usedBankCard.value?.id && cashOutAmount.value >= 50
})
//

View File

@ -15,22 +15,12 @@
<div v-if="!usedBankCard.cardNo" style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Bank cards are not currently in use.
</div>
<div v-else style="display: flex">
<div style="width: 15%; display: flex; justify-content: center; align-items: center">
<img
src="/src/assets/icon/coin.png"
alt=""
style="display: block; width: 100%; object-fit: cover"
/>
<div v-else style="display: flex; flex-direction: column; justify-content: space-around">
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Card Number:{{ usedBankCard.cardNo }}
</div>
<div style="display: flex; flex-direction: column; justify-content: space-around">
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Card Number:{{ usedBankCard.cardNo }}
</div>
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Payee:{{ usedBankCard.payee }}
</div>
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Payee:{{ usedBankCard.payee }}
</div>
</div>
</div>
@ -62,59 +52,49 @@
box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
"
>
<div style="display: flex; align-items: center; gap: 4px">
<div style="width: 15%">
<img
src="/src/assets/icon/coin.png"
alt=""
style="display: block; width: 100%; object-fit: cover"
/>
<div style="display: flex; flex-direction: column; gap: 4px">
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Card Number:{{ card.cardNo }}
</div>
<div style="display: flex; flex-direction: column; gap: 4px">
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">
Card Number:{{ card.cardNo }}
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">Payee:{{ card.payee }}</div>
<div style="display: flex; align-items: center; gap: 8px">
<div
style="
font-size: 0.9em;
font-weight: 700;
padding: 2px 12px;
color: #fff;
border-radius: 16px;
background: radial-gradient(
107.94% 107.94% at 15.9% 13.54%,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0) 100%
),
linear-gradient(180deg, #fff 0%, #000 100%), #ff6464;
background-blend-mode: normal, soft-light, normal;
"
@click="removeBankCard(card.id)"
>
Delet
</div>
<div style="font-weight: 510; color: rgba(0, 0, 0, 0.4)">Payee:{{ card.payee }}</div>
<div style="display: flex; align-items: center; gap: 8px">
<div
style="
font-size: 0.9em;
font-weight: 700;
padding: 2px 12px;
color: #fff;
border-radius: 16px;
background: radial-gradient(
107.94% 107.94% at 15.9% 13.54%,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0) 100%
),
linear-gradient(180deg, #fff 0%, #000 100%), #ff6464;
background-blend-mode: normal, soft-light, normal;
"
@click="removeBankCard(card.id)"
>
Delet
</div>
<div
style="
font-size: 0.9em;
font-weight: 700;
padding: 2px 12px;
color: #fff;
border-radius: 16px;
background: radial-gradient(
107.94% 107.94% at 15.9% 13.54%,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0) 100%
),
linear-gradient(180deg, #fff 0%, #000 100%), #b464ff;
background-blend-mode: normal, soft-light, normal;
"
@click="setDefaultBankCard(card.id)"
>
Use
</div>
<div
style="
font-size: 0.9em;
font-weight: 700;
padding: 2px 12px;
color: #fff;
border-radius: 16px;
background: radial-gradient(
107.94% 107.94% at 15.9% 13.54%,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0) 100%
),
linear-gradient(180deg, #fff 0%, #000 100%), #b464ff;
background-blend-mode: normal, soft-light, normal;
"
@click="setDefaultBankCard(card.id)"
>
Use
</div>
</div>
</div>
@ -123,6 +103,7 @@
<div style="height: 50px"></div>
<!-- 添加按钮 -->
<div
style="
position: fixed;
@ -158,7 +139,7 @@
</div>
<!-- 弹窗遮罩层 -->
<maskLayer :maskLayerShow="maskLayerShow" @click="maskLayerShow = false">
<maskLayer :maskLayerShow="maskLayerShow" @click="closedPopup">
<!-- 选择提现方式抽屉 -->
<div style="position: fixed; bottom: 0; width: 100%">
<div
@ -239,6 +220,30 @@
</div>
</div>
<!-- 输入银行卡号 -->
<div v-if="cardNameShow" style="font-size: 0.9em; font-weight: 600; margin-bottom: 4px">
Card Name:
</div>
<div
v-if="cardNameShow"
style="box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25); border-radius: 8px; padding: 12px"
>
<input
type="text"
name=""
id=""
placeholder="Enter the Card Name"
style="
width: 100%;
outline: none;
border: none;
background-color: transparent;
color: black;
"
v-model="selectedMethod.cardName"
/>
</div>
<!-- 输入银行卡号 -->
<div style="font-size: 0.9em; font-weight: 600; margin-bottom: 4px">Card Number:</div>
<div style="box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25); border-radius: 8px; padding: 12px">
@ -306,7 +311,7 @@
<script setup>
import { useI18n } from 'vue-i18n'
import { ref, reactive, onMounted, onUnmounted, computed } from 'vue'
import { ref, onMounted, computed } from 'vue'
import { showError, showWarning, showInfo, showSuccess } from '@/utils/toast.js'
import { getUserId } from '@/utils/userStore'
import {
@ -322,6 +327,7 @@ const { t } = useI18n()
const maskLayerShow = ref(false)
const withdrawelMethodShow = ref(false)
const cardNameShow = ref(false)
const withdrawalWaysList = ref([]) //
const bankCardList = ref([]) //
@ -345,13 +351,32 @@ const selectedMethod = ref({
//
const checkpassed = computed(() => {
return selectedMethod.value.cardType && selectedMethod.value.cardNo && selectedMethod.value.payee
return (
selectedMethod.value.cardType &&
selectedMethod.value.cardName &&
selectedMethod.value.cardNo &&
selectedMethod.value.payee
)
})
//
const closedPopup = () => {
maskLayerShow.value = false
withdrawelMethodShow.value = false
cardNameShow.value = false
}
//
const selectMethod = (way) => {
selectedMethod.value.cardType = way
selectedMethod.value.cardName = way
if (way === 'USDT') {
selectedMethod.value.cardName = way
cardNameShow.value = false
} else if (way === 'BANK') {
selectedMethod.value.cardName = ''
cardNameShow.value = true
}
withdrawelMethodShow.value = !withdrawelMethodShow.value
}
@ -362,7 +387,7 @@ const Confirm = async () => {
const resAddCard = await addBankCard(selectedMethod.value)
if (resAddCard.status) {
//
maskLayerShow.value = false
closedPopup() //
selectedMethod.value = {
...selectedMethod.value,
cardType: '',
@ -425,7 +450,7 @@ const removeBankCard = async (cardId) => {
}
}
} catch (error) {
showError(error.response?.errorMsg)
showError(error.response?.errorMsg || '')
}
}
@ -437,33 +462,7 @@ const setDefaultBankCard = async (cardId) => {
getBankCards() //
}
} catch (error) {
showError(error.response?.errorMsg)
}
}
//
const addNewWithdrawInfo = async (infoData) => {
try {
const resAddInfo = await addWithdrawInfo(infoData)
if (resAddInfo.status) {
showSuccess(t('withdraw_info_added'))
getWithdrawInfo() //
}
} catch (error) {
showError(error.response?.errorMsg || t('add_withdraw_info_failed'))
}
}
//
const updateWithdrawInfoData = async (infoData) => {
try {
const resUpdateInfo = await updateWithdrawInfo(infoData)
if (resUpdateInfo.status) {
showSuccess(t('withdraw_info_updated'))
getWithdrawInfo() //
}
} catch (error) {
showError(error.response?.errorMsg || t('update_withdraw_info_failed'))
showError(error.response?.errorMsg || '')
}
}

View File

@ -168,13 +168,16 @@
margin-top: 10px;
width: 80%;
border-radius: 32px;
background: linear-gradient(135deg, #bb92ff 2.82%, #8b45ff 99.15%),
linear-gradient(135deg, #d1ced6 2.82%, #7c7882 99.15%);
padding: 12px;
color: #fff;
font-weight: 590;
text-align: center;
"
:style="{
background: checkStatus
? 'linear-gradient(135deg, #BB92FF 2.82%, #8B45FF 99.15%), linear-gradient(135deg, #D1CED6 2.82%, #7C7882 99.15%)'
: 'linear-gradient(135deg, #D1CED6 2.82%, #7C7882 99.15%)',
}"
@click="Submit"
>
{{ t('submit') }}
@ -357,9 +360,6 @@ const Submit = () => {
addWithdrawInfoData()
}
// router.go(-1)
} else {
showError(t('please_enter_contact_number'))
return
}
}