|
@@ -7,17 +7,16 @@
|
|
|
<view class="b-card">
|
|
<view class="b-card">
|
|
|
<view class="card-top">
|
|
<view class="card-top">
|
|
|
<text class="tit">{{ t('Custom.Deposit.Title22')
|
|
<text class="tit">{{ t('Custom.Deposit.Title22')
|
|
|
- }}</text>
|
|
|
|
|
- <view v-for="(group, groupKey) in tableData" :key="groupKey">
|
|
|
|
|
-
|
|
|
|
|
- <!-- 通道分组标题 -->
|
|
|
|
|
- <view class="channelType" v-if="group.length" v-t="groupTitleMap[groupKey]" />
|
|
|
|
|
- <PaymentMethodsList :list="group" @select="isShowStep3" />
|
|
|
|
|
|
|
+ }}</text>
|
|
|
|
|
+ <cwg-asset-tabs v-if="tabsConfig.length > 0" v-model="activeTab" :tabs="tabsConfig" />
|
|
|
|
|
+ <uni-loading v-if="currentTableData.length == 0" />
|
|
|
|
|
+ <view v-if="currentTableData.length">
|
|
|
|
|
+ <PaymentMethodsList :list="currentTableData" @select="isShowStep3" />
|
|
|
</view>
|
|
</view>
|
|
|
<view v-if="step3" class="reselect-btn">
|
|
<view v-if="step3" class="reselect-btn">
|
|
|
<button class="s-btn reselect" type="primary" @click="showTable">{{
|
|
<button class="s-btn reselect" type="primary" @click="showTable">{{
|
|
|
t('Custom.Deposit.Reselect')
|
|
t('Custom.Deposit.Reselect')
|
|
|
- }}</button>
|
|
|
|
|
|
|
+ }}</button>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -114,7 +113,7 @@
|
|
|
v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3 && form.addressProve">
|
|
v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3 && form.addressProve">
|
|
|
<uni-forms-item :label="t('blockchain.item5')">
|
|
<uni-forms-item :label="t('blockchain.item5')">
|
|
|
<div style="height: 100%; width: 100%" v-if="form.addressProve">
|
|
<div style="height: 100%; width: 100%" v-if="form.addressProve">
|
|
|
- <cwg-link type="pdf1"
|
|
|
|
|
|
|
+ <cwg-link type="pdf1"
|
|
|
v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')"
|
|
v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')"
|
|
|
:url="imgUrl + form.addressProve" target="_blank"
|
|
:url="imgUrl + form.addressProve" target="_blank"
|
|
|
style="text-decoration: none; min-width: auto; width: auto; color: #ffffff; padding: 5px 10px;"
|
|
style="text-decoration: none; min-width: auto; width: auto; color: #ffffff; padding: 5px 10px;"
|
|
@@ -152,7 +151,7 @@
|
|
|
</text>
|
|
</text>
|
|
|
<text v-if="channelData.type == 'BANK'">{{
|
|
<text v-if="channelData.type == 'BANK'">{{
|
|
|
t('Custom.Withdraw.addBank')
|
|
t('Custom.Withdraw.addBank')
|
|
|
- }}</text>
|
|
|
|
|
|
|
+ }}</text>
|
|
|
<text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
|
|
<text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
|
|
|
@click="openAddBankCard('add_bankCard')">
|
|
@click="openAddBankCard('add_bankCard')">
|
|
|
{{ t('Custom.Withdraw.addBank1') }}
|
|
{{ t('Custom.Withdraw.addBank1') }}
|
|
@@ -238,37 +237,44 @@
|
|
|
:placeholder="t('placeholder.choose')" @change="chooseBank" />
|
|
:placeholder="t('placeholder.choose')" @change="chooseBank" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.UserName')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.UserName')">
|
|
|
<uni-easyinput disabled v-model="form.bankUname" />
|
|
<uni-easyinput disabled v-model="form.bankUname" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
|
|
|
<uni-easyinput disabled v-model="form.bankCardNum" />
|
|
<uni-easyinput disabled v-model="form.bankCardNum" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.BankName')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.BankName')">
|
|
|
<uni-easyinput disabled v-model="form.bankName" />
|
|
<uni-easyinput disabled v-model="form.bankName" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
|
|
|
<uni-easyinput disabled v-model="form.swiftCode" />
|
|
<uni-easyinput disabled v-model="form.swiftCode" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.bankCode')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.bankCode')">
|
|
|
<uni-easyinput disabled v-model="form.customBankCode" />
|
|
<uni-easyinput disabled v-model="form.customBankCode" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
|
|
<uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
|
|
|
<uni-easyinput disabled v-model="form.bankAddr" />
|
|
<uni-easyinput disabled v-model="form.bankAddr" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<!-- Account Agency NO -->
|
|
<!-- Account Agency NO -->
|
|
|
<uni-forms-item :label="'Account Agency NO'" name="agencyNo">
|
|
<uni-forms-item :label="'Account Agency NO'" name="agencyNo">
|
|
|
<uni-easyinput v-model="form.agencyNo" />
|
|
<uni-easyinput v-model="form.agencyNo" />
|
|
@@ -287,13 +293,15 @@
|
|
|
<text>{{ t('Custom.Withdraw.Title3') }}</text>
|
|
<text>{{ t('Custom.Withdraw.Title3') }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.CurrencyType')" name="currency">
|
|
<uni-forms-item :label="t('Custom.Withdraw.CurrencyType')" name="currency">
|
|
|
<cwg-combox filterable v-model:value="form.currency"
|
|
<cwg-combox filterable v-model:value="form.currency"
|
|
|
:options="[{ text: 'USD', value: 'USD' }]" />
|
|
:options="[{ text: 'USD', value: 'USD' }]" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item :label="t('Custom.Withdraw.amount')" name="amount"
|
|
<uni-forms-item :label="t('Custom.Withdraw.amount')" name="amount"
|
|
|
:error-message="amountErrorMessage">
|
|
:error-message="amountErrorMessage">
|
|
|
<uni-easyinput v-model.trim="form.amount" type="number"
|
|
<uni-easyinput v-model.trim="form.amount" type="number"
|
|
@@ -305,10 +313,11 @@
|
|
|
<uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
|
|
<uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<view class="tit">
|
|
<view class="tit">
|
|
|
<text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
|
|
<text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
|
|
|
- }}</text>
|
|
|
|
|
|
|
+ }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
|
|
|
|
|
+ v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
|
|
|
<uni-forms-item name="amount" :error-message="amountErrorMessage">
|
|
<uni-forms-item name="amount" :error-message="amountErrorMessage">
|
|
|
<uni-easyinput v-model.trim="form.amount" autocomplete="off" type="number"
|
|
<uni-easyinput v-model.trim="form.amount" autocomplete="off" type="number"
|
|
|
@blur="validateAmount" />
|
|
@blur="validateAmount" />
|
|
@@ -470,6 +479,44 @@ const tableData = reactive({
|
|
|
CHANNEL_TYPE_ALI_WALLET: [],
|
|
CHANNEL_TYPE_ALI_WALLET: [],
|
|
|
UCARD_WALLET: []
|
|
UCARD_WALLET: []
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
|
|
+//通道table-选择前后
|
|
|
|
|
+const activeTab = ref(1)
|
|
|
|
|
+// 🔥 自动过滤掉空数据的 tab
|
|
|
|
|
+const tabsConfig = computed(() => {
|
|
|
|
|
+ const allTabs = [
|
|
|
|
|
+ { text: t('Custom.Deposit.Channel3'), value: 1, type: 'Digital_Currency' },
|
|
|
|
|
+ { text: t('Custom.Deposit.Channel2'), value: 2, type: 'China_UnionPay' },
|
|
|
|
|
+ { text: t('Custom.Deposit.Channel4'), value: 3, type: 'Electronic_Wallet' },
|
|
|
|
|
+ { text: t('Custom.Deposit.Channel1'), value: 4, type: 'International_Transfer' },
|
|
|
|
|
+ { text: t('PersonalManagement.Label.CreditCard'), value: 5, type: 'CHANNEL_TYPE_CARD' },
|
|
|
|
|
+ { text: t('card.title'), value: 6, type: 'UCARD_WALLET' },
|
|
|
|
|
+ { text: t('Label.Ali'), value: 7, type: 'CHANNEL_TYPE_ALI_WALLET' },
|
|
|
|
|
+ ]
|
|
|
|
|
+ // ✅ 只保留有数据的 tab
|
|
|
|
|
+ return allTabs.filter(tab => {
|
|
|
|
|
+ console.log(tableData[tab.type], tab.type);
|
|
|
|
|
+ return tableData[tab.type]?.length > 0
|
|
|
|
|
+ })
|
|
|
|
|
+})
|
|
|
|
|
+// 当前选中的 tab 项
|
|
|
|
|
+const currentTab = computed(() => tabsConfig.value.find(t => t.value === activeTab.value))
|
|
|
|
|
+
|
|
|
|
|
+// 当前要渲染的表格数据
|
|
|
|
|
+const currentTableData = computed(() => {
|
|
|
|
|
+ const type = currentTab.value?.type
|
|
|
|
|
+ return type ? tableData[type] || [] : []
|
|
|
|
|
+})
|
|
|
|
|
+// ✅ 监听 tab 变化,自动选中第一个有数据的 tab
|
|
|
|
|
+watch(
|
|
|
|
|
+ tabsConfig,
|
|
|
|
|
+ (newTabs) => {
|
|
|
|
|
+ if (newTabs.length > 0) {
|
|
|
|
|
+ activeTab.value = newTabs[0].value // 选中第一个
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ { immediate: true }
|
|
|
|
|
+)
|
|
|
const bankDate = ref([])
|
|
const bankDate = ref([])
|
|
|
const channelData = ref({})
|
|
const channelData = ref({})
|
|
|
const WireTransferAccount = ref({})
|
|
const WireTransferAccount = ref({})
|