zhb 1 mese fa
parent
commit
bd71c7f883

+ 2 - 1
pages/customer/components/AccountList.vue

@@ -363,7 +363,7 @@ onMounted(async () => {
 .grid-layout {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
-    gap: px2rpx(20);
+    gap: px2rpx(100);
 
     @media (max-width: 1200px) {
         grid-template-columns: repeat(auto-fill, minmax(33.33%, 1fr));
@@ -371,6 +371,7 @@ onMounted(async () => {
 
     @media (max-width: 768px) {
         grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
+        gap: px2rpx(20);
     }
 
     .account-card {

+ 2 - 3
pages/customer/deposit-select.vue

@@ -1579,7 +1579,7 @@ const doShowStep3 = (row) => {
 //选择支付方式
 const isShowStep3 = (row) => {
     router.push(`/pages/customer/deposit?login=${loginValue.value}`)
-    userStore.savePaymentChannel(row.id)
+    userStore.savePaymentChannel(row.code)
     userStore.saveChannelList(tableData)
 
     return
@@ -1843,7 +1843,6 @@ const toIncome = () => {
 
 // 生命周期
 onMounted(() => {
-    console.log(userInfo.value.customInfo.countryEnName, userInfo.value.customInfo, 12341)
     if (country.value === "VN") dialogVietnamNotice.value = true
     is20Open()
     getDateList()
@@ -2086,7 +2085,7 @@ watch(() => params.agree6, (newVal) => {
 
         &:active {
             transform: scale(0.98);
-            background: var(--color-navy-800);
+            background-color: #cf1322;
         }
     }
 

+ 20 - 22
pages/customer/deposit.vue

@@ -11,7 +11,7 @@
                         <view class="card-top">
                             <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                 t('Custom.Deposit.Title1')
-                            }}</text>
+                                }}</text>
                             <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
                                 :placeholder="t('placeholder.choose')" />
                         </view>
@@ -23,7 +23,7 @@
                         <view class="card-top">
                             <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                 t('Custom.Deposit.Title2')
-                            }}</text>
+                                }}</text>
                             <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
                                 :placeholder="t('placeholder.choose')">
                             </cwg-combox>
@@ -72,7 +72,7 @@
                                     <view>
                                         <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                             t('news_add_field.Label.Title4')
-                                        }}</text>
+                                            }}</text>
                                     </view>
                                     <view>
                                         <uni-forms-item>
@@ -103,7 +103,7 @@
                                                         WireTransferAccount.bankUname || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankName')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankName
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankName
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -113,7 +113,7 @@
                                                         WireTransferAccount.bankCardNum || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankAddr')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankAddr
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankAddr
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -123,7 +123,7 @@
                                                         WireTransferAccount.swiftCode || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankCode')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankCode
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankCode
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -151,7 +151,7 @@
                                                         + '-' +
                                                         WireTransferAccount.type }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Withdraw.Title6')
-                                            }}</text><text class="content">{{ WireTransferAccount.address ||
+                                                    }}</text><text class="content">{{ WireTransferAccount.address ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">QR Code</text>
@@ -246,16 +246,16 @@
                                                     <checkbox :checked="params.agree4"
                                                         @click="params.agree4 = !params.agree4" />
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit1')
-                                                    }}</text>
+                                                        }}</text>
                                                 </label>
                                                 <view style="line-height: 1.5; font-size: 14px">
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit2')
-                                                    }}</text>
+                                                        }}</text>
                                                     <text class="clause crm-cursor" @click="dialogClauseNZ = true">{{
                                                         t('news_add_field1.activitiesNZ.itemDeposit3')
-                                                    }}</text>
+                                                        }}</text>
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit4')
-                                                    }}</text>
+                                                        }}</text>
                                                 </view>
                                             </uni-forms-item>
 
@@ -268,15 +268,15 @@
                                                     <checkbox :checked="params.agree5"
                                                         @click="params.agree5 = !params.agree5" />
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit1')
-                                                    }}</text>
+                                                        }}</text>
                                                 </label>
                                                 <view style="line-height: 1.5; font-size: 14px">
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2')
-                                                    }}</text>
+                                                        }}</text>
                                                     <text class="clause crm-cursor" @click="dialogClauseNZTwo = true">{{
                                                         t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</text>
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4')
-                                                    }}</text>
+                                                        }}</text>
                                                 </view>
                                             </uni-forms-item>
 
@@ -360,7 +360,7 @@
                                     </view>
                                 </template>
                                 <button class="s-btn" type="primary" @click="submitConfirm">{{ t('Btn.Submit')
-                                }}</button>
+                                    }}</button>
                             </uni-forms>
                         </view>
                     </view>
@@ -1471,8 +1471,6 @@ const closeDia = () => {
     dialogCheck.value = false
     dialogVisible.value = false
     dialogCheckOK.value = false
-    isStep3.value = false
-    step2.value = false
     showTable()
     loginValue.value = ""
 }
@@ -1836,8 +1834,8 @@ const toIncome = () => {
 //24新年庆典   结束
 
 // 新改内容
-userStore.paymentChannel.value
-userStore.channelList.value
+// userStore.paymentChannel.value
+// userStore.channelList.value
 const channel = computed(() => userStore.paymentChannel)
 const channelList = computed(() => userStore.channelList)
 const channelListOptions = ref([])
@@ -1874,7 +1872,7 @@ function formatChannels(data) {
             result.push({
                 ...item,
                 text: item.name,
-                value: item.id
+                value: item.code
             })
         })
     }
@@ -1897,7 +1895,7 @@ onUnmounted(() => {
 watch(channelId, async (newVal) => {
     if (newVal) {
         showTable()
-        let row = channelListOptions.value.find(item => item.id == newVal)
+        let row = channelListOptions.value.find(item => item.code == newVal)
         isShowStep3(row)
     }
 });
@@ -2127,7 +2125,7 @@ watch(() => params.agree6, (newVal) => {
 
         &:active {
             transform: scale(0.98);
-            background: var(--color-navy-800);
+            background-color: #cf1322;
         }
     }
 

+ 1 - 1
pages/customer/style.scss

@@ -78,7 +78,7 @@
 
       &:active {
         transform: scale(0.98);
-        background: var(--color-navy-800);
+        background-color: #cf1322;
       }
     }
   }

+ 31 - 39
pages/customer/transfer.vue

@@ -33,7 +33,6 @@
                                     </view>
                                 </view>
                             </view>
-
                             <view class="card-row">
                                 <cwg-combox v-model:value="transferType" :clearable="false"
                                     :options="transferTypeOptions" :placeholder="t('placeholder.choose')" />
@@ -41,44 +40,34 @@
 
                             <uni-forms ref="formRef" :model="form" :rules="rules" label-position="top"
                                 validate-trigger="submit">
-                                <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 转出账户 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.TransferAccounts')"
-                                            name="withdrawLogin">
-                                            <cwg-combox :disabled="true" v-model:value="form.withdrawLogin"
-                                                :clearable="false" :options="withdrawDisplayList"
-                                                :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
-                                    </view>
-                                    <view class="form-col">
-                                        <!-- 转入账户 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.IntoAccount')" name="depositLogin"
-                                            :error-message="depositErrorMessage">
-                                            <cwg-combox v-model:value="form.depositLogin" :clearable="false"
-                                                :options="depositDisplayList" :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
+                                <view class="card-row card-tit">
+                                    <view class="title-wrapper">
+                                        <view class="tit">
+                                            <text class="iconfont icon-caret-right"></text>
+                                            <span>{{ t('Custom.Transfer.IntoAccount') }}</span>
+                                        </view>
                                     </view>
                                 </view>
-
-                                <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 货币类型 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.CurrencyType')" name="currency">
-
-                                            <cwg-combox v-model:value="form.currency" :clearable="false"
-                                                :options="currencyOptions" :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
-                                    </view>
-                                    <view class="form-col">
-                                        <!-- 转账金额 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.Amount')" name="amount"
-                                            :error-message="amountErrorMessage">
-                                            <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
-                                                @blur="validateAmount" />
-                                        </uni-forms-item>
+                                <view class="card-row">
+                                    <uni-forms-item name="depositLogin">
+                                        <cwg-combox v-model:value="form.depositLogin" :clearable="false"
+                                            :options="depositDisplayList" :placeholder="t('placeholder.choose')" />
+                                    </uni-forms-item>
+                                </view>
+                                <view class="card-row card-tit">
+                                    <view class="title-wrapper">
+                                        <view class="tit">
+                                            <text class="iconfont icon-caret-right"></text>
+                                            <span>{{ t('Custom.Transfer.Amount') }}</span>
+                                        </view>
                                     </view>
                                 </view>
+                                <view class="card-row">
+                                    <uni-forms-item name="amount" :error-message="amountErrorMessage">
+                                        <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
+                                            @blur="validateAmount" />
+                                    </uni-forms-item>
+                                </view>
 
                                 <view class="form-row">
                                     <view class="form-col-full">
@@ -338,11 +327,12 @@ const toTransfer = async () => {
             RES.value = error.msg;
             dialogCheck.value = true;
             dialogVisible.value = false;
+            resetForm()
         }
     } finally {
         submitting.value = false;
         flag.value = false;
-        resetForm()
+
         if (dialogCheckWait.value) dialogCheckWait.value = false;
     }
 };
@@ -565,16 +555,19 @@ watch(transferType, (newVal) => {
                     padding: px2rpx(15) px2rpx(20);
 
                     .card-row {
-                        margin-bottom: px2rpx(12);
+                        margin-bottom: px2rpx(30);
 
                         &:last-child {
                             margin-bottom: 0;
                         }
                     }
+                    .card-tit{
+                        margin-bottom: px2rpx(0) !important;
+                    }
 
                     .tit {
                         font-size: px2rpx(16);
-                        margin-bottom: px2rpx(12);
+                        margin-bottom: px2rpx(12) !important;
                         font-weight: 600;
 
                         .iconfont {
@@ -597,7 +590,6 @@ watch(transferType, (newVal) => {
             .form-row {
                 display: flex;
                 flex-wrap: wrap;
-                margin: 0 px2rpx(-5);
                 margin-bottom: px2rpx(12);
                 gap: px2rpx(12);
 

+ 14 - 12
pages/customer/withdrawal-select.vue

@@ -29,7 +29,7 @@
             </view>
             <view v-if="step3" class="reselect-btn">
               <button class="s-btn reselect" type="primary" @click="showTable">{{ t('Custom.Deposit.Reselect')
-                }}</button>
+              }}</button>
             </view>
           </view>
         </view>
@@ -149,7 +149,7 @@
                       </text>
                       <text v-if="channelData.type == 'BANK'">{{
                         t('Custom.Withdraw.addBank')
-                        }}</text>
+                      }}</text>
                       <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
                         @click="openAddBankCard('add_bankCard')">
                         {{ t('Custom.Withdraw.addBank1') }}
@@ -274,7 +274,7 @@
                 <uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
                   <view class="tit">
                     <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                      }}</text>
+                    }}</text>
                   </view>
                 </uni-col>
                 <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type !== 'BANK_TELEGRAPHIC'">
@@ -373,7 +373,10 @@ import CwgKycPopup from './components/KycPopup.vue'
 let { Code, Host80 } = Config
 import { useI18n } from 'vue-i18n'
 const { t, locale } = useI18n()
-
+import useRouter from '@/hooks/useRouter'
+const router = useRouter()
+import useUserStore from '@/stores/use-user-store'
+const userStore = useUserStore()
 const isZh = computed(() => ['cn', 'zhHant'].includes(locale.value))
 // 获取组件实例,用于访问全局挂载的属性和方法(替代 this)
 const { proxy } = getCurrentInstance()
@@ -1101,8 +1104,6 @@ function selectCode(codeVal) {
 //关闭提交后的弹出框
 function closeDia() {
   resetForm()
-  isStep3.value = false;
-  step2.value = false;
   showTable();
   loginValue.value = "";
   dialogCheck.value = false;
@@ -1469,7 +1470,10 @@ function toShop() {
 
 //选择支付方式
 function isShowStep3(row) {
-  console.log(row, 222);
+  router.push(`/pages/customer/withdrawal?login=${loginValue.value}`)
+  userStore.savePaymentChannel(row.code)
+  userStore.saveChannelList(tableData)
+  return
   dialogCheckWait.value = false;
   dialogVisible.value = false;
   flag.value = false;
@@ -1523,8 +1527,6 @@ function isShowStep3(row) {
 function showTable() {
   resetForm()
   myId.value = null;
-  step3.value = false;
-  isStep3.value = false;
   isChannel.value = true;
 
   getDepositList();
@@ -1777,8 +1779,8 @@ watch(() => form.amount, (newVal) => {
 onMounted(() => {
   getDateList();
   //调用手续费减免次数接口
-  getFreeNumber();
-  isNewYear24Open();
+  // getFreeNumber();
+  // isNewYear24Open();
 });
 
 
@@ -1878,7 +1880,7 @@ onMounted(() => {
 
       &:active {
         transform: scale(0.98);
-        background: var(--color-navy-800);
+        background-color: #cf1322;
       }
     }
   }

+ 465 - 372
pages/customer/withdrawal.vue

@@ -1,360 +1,357 @@
 <template>
   <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
     <cwg-header :title="t('Custom.Withdraw.Title')" />
-    <view class="custom-withdraw">
-      <!-- 步骤1:选择账户 -->
-      <view class="box box-step1">
-        <view class="b-card">
-          <view class="card-top">
-            <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title11') }}</text>
-            <view class="base-info-form">
-              <view class="uni-row2">
-                <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
-                  :placeholder="t('placeholder.choose')" @change="onAccountChange" />
+
+    <uni-loading v-if="loading" />
+    <view class="custom-deposit-container" v-else>
+      <view class="custom-withdraw">
+        <!-- 步骤1:选择账户 -->
+        <view class="box box-step1">
+          <view class="b-card">
+            <view class="card-top">
+              <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title11') }}</text>
+              <view class="base-info-form">
+                <view class="uni-row2">
+                  <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
+                    :placeholder="t('placeholder.choose')" @change="onAccountChange" />
+                </view>
               </view>
             </view>
           </view>
         </view>
-      </view>
 
-      <!-- 步骤2:支付通道列表 -->
-      <view class="box box-step2" v-if="step2">
-        <view class="b-card">
-          <view class="card-top">
-            <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title22') }}</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 v-if="step3" class="reselect-btn">
-              <button class="s-btn reselect" type="primary" @click="showTable">{{ t('Custom.Deposit.Reselect')
-                }}</button>
+        <!-- 步骤2:支付通道列表 -->
+        <view class="box box-step2" v-if="step2">
+          <view class="b-card">
+            <view class="card-top">
+              <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title22') }}</text>
+              <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
+                :placeholder="t('placeholder.choose')">
+              </cwg-combox>
             </view>
           </view>
         </view>
-      </view>
 
-      <!-- 步骤3:填写出金信息 -->
-      <view class="box box-step3" v-if="step3">
-        <view class="b-card">
-          <view class="card-top">
-            <!-- 注意事项 -->
-            <view v-if="!isStep3" class="step3-attention">
-              {{ introduce.value }}
-              <view class="tips" v-if="(introduce.introduce || introduce.enIntroduce)">
-                <view>
-                  <rich-text class="attention" :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
-                </view>
-              </view>
-              <view class="btn-bottom">
-                <text class="btn crm-cursor" @click="isStep3 = true">{{ t('Btn.Confirm') }}</text>
-              </view>
-            </view>
-            <!-- 表单 -->
-            <uni-forms ref="formRef" :model="form" :rules="rules" labelWidth="200" label-position="top" v-show="isStep3"
-              class="base-info-form" validate-trigger="submit">
-              <uni-row class="demo-uni-row uni-row1">
-                <!-- 银行选择(针对有银行列表的通道) -->
-                <uni-col :span="24" v-if="bankDate.length">
-                  <view class="tit">
-                    <text>{{ t('Custom.Withdraw.Title5') }}</text>
+        <!-- 步骤3:填写出金信息 -->
+        <view class="box box-step3" v-if="step3">
+          <view class="b-card">
+            <view class="card-top">
+              <!-- 表单 -->
+              <uni-forms ref="formRef" :model="form" :rules="rules" labelWidth="200" label-position="top"
+                v-show="isStep3" class="base-info-form" validate-trigger="submit">
+                <view class="demo-uni-row uni-row1 uni-row2">
+                  <!-- 银行选择(针对有银行列表的通道) -->
+                  <view v-if="bankDate.length">
+                    <view class="tit">
+                      <text>{{ t('Custom.Withdraw.Title5') }}</text>
+                    </view>
+                  </view>
+                  <view v-if="bankDate.length">
+                    <uni-forms-item name="bankCode">
+                      <cwg-combox :clearable="false" v-model:value="form.bankCode" :options="bankOptions"
+                        :placeholder="t('placeholder.choose')" @change="selectCode" />
+                    </uni-forms-item>
                   </view>
-                </uni-col>
-                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="bankDate.length">
-                  <uni-forms-item name="bankCode">
-                    <cwg-combox :clearable="false" v-model:value="form.bankCode" :options="bankOptions"
-                      :placeholder="t('placeholder.choose')" @change="selectCode" />
-                  </uni-forms-item>
-                </uni-col>
 
-                <!-- 电子钱包地址输入 -->
-                <uni-col :span="24"
-                  v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
-                  <view class="tit">
-                    <text>{{ getWalletLabel }}</text>
+                  <!-- 电子钱包地址输入 -->
+                  <view v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
+                    <view class="tit">
+                      <text>{{ getWalletLabel }}</text>
+                    </view>
+                  </view>
+                  <!-- 电子钱包地址输入 -->
+                  <view v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
+                    <uni-forms-item name="address">
+                      <uni-easyinput :clearable="false" v-model="form.address" :placeholder="t('placeholder.input')" />
+                    </uni-forms-item>
                   </view>
-                </uni-col>
-                <!-- 电子钱包地址输入 -->
-                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                  v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
-                  <uni-forms-item name="address">
-                    <uni-easyinput :clearable="false" v-model="form.address" :placeholder="t('placeholder.input')" />
-                  </uni-forms-item>
-                </uni-col>
 
-                <!-- 数字货币选择(从已保存地址中选择) -->
-                <template v-if="channelData.type === 'DIGITAL_CURRENCY'">
-                  <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="channelData.type === 'DIGITAL_CURRENCY'">
-                    <view style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                  <!-- 数字货币选择(从已保存地址中选择) -->
+                  <template v-if="channelData.type === 'DIGITAL_CURRENCY'">
+                    <view :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="channelData.type === 'DIGITAL_CURRENCY'">
+                      <view
+                        style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                        <view class="tit">
+
+                          <text>{{ t('Custom.Withdraw.Title6') }}</text>
+                        </view>
+                        <view class="add-back">
+                          <text>{{
+                            t('blockchain.item10') }}</text>
+                          <text class="add-btn crm-cursor" @click="openAddBankCard('add_bankBlockchain')">
+                            {{ t('Custom.Withdraw.addBank1') }}
+                          </text>
+                        </view>
+                      </view>
+                      <uni-forms-item>
+                        <cwg-combox :clearable="false" v-model:value="myId" :options="digitalOptions"
+                          :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange"
+                          :disabled="!ruleForm.bankBlockchain.length" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('blockchain.item3')">
+                        <uni-easyinput disabled v-model="form.addressName" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('blockchain.item4')">
+                        <uni-easyinput disabled v-model="form.address" />
+                      </uni-forms-item>
+                    </view>
+                    <view v-if="form.addressProve">
+                      <uni-forms-item :label="t('blockchain.item5')">
+                        <view class="proof">
+                          <template v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')">
+                            <cwg-link type="pdf1" :url="imgUrl + form.addressProve" target="_blank"
+                              class="state crm_state_blue">PDF</cwg-link>
+                          </template>
+                          <image v-else :src="imgUrl + form.addressProve" mode="aspectFit"
+                            style="width: 100rpx; height: 100rpx;" @click="previewImage(imgUrl + form.addressProve)" />
+                        </view>
+                      </uni-forms-item>
+                    </view>
+                    <view :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+                      <text class="tit"><text class="iconfont iconi"></text>{{ t('Custom.Deposit.Des') }}</text>
+                    </view>
+
+                  </template>
+
+                  <view class="card-tit"
+                    v-if="isStep3 && (channelData.type == 'BANK_TELEGRAPHIC' || channelData.type == 'BANK' || channelData.type == 'CHANNEL_TYPE_CARD')">
+                    <div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
                       <view class="tit">
 
-                        <text>{{ t('Custom.Withdraw.Title6') }}</text>
+                        <text>{{ t('Custom.Withdraw.Title4') }}</text>
                       </view>
-                      <view class="add-back">
-                        <text>{{
-                          t('blockchain.item10') }}</text>
-                        <text class="add-btn crm-cursor" @click="openAddBankCard('add_bankBlockchain')">
+                      <div class="add-back">
+                        <text v-if="channelData.type == 'BANK_TELEGRAPHIC'">{{
+                          t('Custom.Withdraw.addWire') }}</text>
+                        <text v-if="channelData.type == 'BANK_TELEGRAPHIC'" class="add-btn crm-cursor"
+                          @click="openAddBankCard('add_wireTransfer')">
                           {{ t('Custom.Withdraw.addBank1') }}
                         </text>
-                      </view>
-                    </view>
+                        <text v-if="channelData.type == 'BANK'">{{
+                          t('Custom.Withdraw.addBank')
+                          }}</text>
+                        <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
+                          @click="openAddBankCard('add_bankCard')">
+                          {{ t('Custom.Withdraw.addBank1') }}
+                        </text>
+                        <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'">{{
+                          t('PersonalManagement.Label.addCreditCard') }}</text>
+                        <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'" class="add-btn crm-cursor"
+                          @click="openAddBankCard('add_CreditCard')">
+                          {{ t('Custom.Withdraw.addBank1') }}
+                        </text>
+                      </div>
+                    </div>
+                  </view>
+                  <!-- 银行卡/信用卡选择 -->
+                  <view :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
+                    v-if="['BANK', 'BANK_TELEGRAPHIC', 'CHANNEL_TYPE_CARD'].includes(channelData.type)">
                     <uni-forms-item>
-                      <cwg-combox :clearable="false" v-model:value="myId" :options="digitalOptions"
-                        :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange"
-                        :disabled="!ruleForm.bankBlockchain.length" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('blockchain.item3')">
-                      <uni-easyinput disabled v-model="form.addressName" />
+                      <cwg-combox :clearable="false" v-model:value="myId" :options="bankCardOptions"
+                        @change="chooseBank" :placeholder="t('placeholder.choose')" />
                     </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('blockchain.item4')">
-                      <uni-easyinput disabled v-model="form.address" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="form.addressProve">
-                    <uni-forms-item :label="t('blockchain.item5')">
-                      <view class="proof">
-                        <template v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')">
-                          <cwg-link type="pdf1" :url="imgUrl + form.addressProve" target="_blank"
-                            class="state crm_state_blue">PDF</cwg-link>
-                        </template>
-                        <image v-else :src="imgUrl + form.addressProve" mode="aspectFit"
-                          style="width: 100rpx; height: 100rpx;" @click="previewImage(imgUrl + form.addressProve)" />
-                      </view>
+                  </view>
+                  <!-- 通用银行信息展示 -->
+                  <template v-if="channelData.type == 'BANK'">
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.UserName')">
+                        <uni-easyinput disabled v-model="form.bankUname" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+                        <uni-easyinput disabled v-model="form.bankCardNum" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+                        <uni-easyinput disabled v-model="form.bankName" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.bankBranchName')">
+                        <uni-easyinput disabled v-model="form.bankBranchName" />
+                      </uni-forms-item>
+                    </view>
+                  </template>
+                  <!-- 信用卡信息展示(针对有信用卡列表的通道) -->
+                  <template v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                    <view>
+                      <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccountName')">
+                        <uni-easyinput disabled v-model="form.bankUname" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccount')">
+                        <uni-easyinput disabled v-model="form.bankCardNum" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item label="CVV">
+                        <uni-easyinput disabled v-model="form.cvv" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('PersonalManagement.Label.ExpirationYear')">
+                        <uni-easyinput disabled v-model="form.expiryYearMonth" />
+                      </uni-forms-item>
+                    </view>
+                  </template>
+                  <!-- 银行电汇转账信息展示(针对有银行转账列表的通道) -->
+                  <template v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.UserName')">
+                        <uni-easyinput disabled v-model="form.bankUname" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+                        <uni-easyinput disabled v-model="form.bankCardNum" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+                        <uni-easyinput disabled v-model="form.bankName" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
+                        <uni-easyinput disabled v-model="form.swiftCode" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.bankCode')">
+                        <uni-easyinput disabled v-model="form.customBankCode" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
+                        <uni-easyinput disabled v-model="form.bankAddr" />
+                      </uni-forms-item>
+                    </view>
+                    <view>
+                      <uni-forms-item label="Account Agency NO" name="agencyNo"
+                        v-if="channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
+                        <uni-easyinput v-model="form.agencyNo" />
+                      </uni-forms-item>
+                      <uni-forms-item label="Account Agency NO" v-else>
+                        <uni-easyinput v-model="form.agencyNo" />
+                      </uni-forms-item>
+                    </view>
+                    <view v-if="channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
+                      <uni-forms-item label="CPF" name="cpf">
+                        <uni-easyinput v-model="form.cpf" />
+                      </uni-forms-item>
+                    </view>
+                  </template>
+                  <!-- 出金金额 -->
+                  <view v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
+                    <view class="tit">
+                      <text>{{ t('Custom.Withdraw.Title3') }}</text>
+                    </view>
+                  </view>
+                  <view v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
+                    <view class="tit">
+                      <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
+                        }}</text>
+                    </view>
+                  </view>
+                  <view v-if="channelData.type !== 'BANK_TELEGRAPHIC'" class="amount-box amount-box1">
+                    <uni-forms-item name="amount" :error-message="amountErrorMessage" class="amount-input">
+                      <uni-easyinput v-model="form.amount" type="number" @blur="validateAmount" />
                     </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-                    <text class="tit"><text class="iconfont iconi"></text>{{ t('Custom.Deposit.Des') }}</text>
-                  </uni-col>
 
-                </template>
 
-                <uni-col :span="24" class="card-tit"
-                  v-if="isStep3 && (channelData.type == 'BANK_TELEGRAPHIC' || channelData.type == 'BANK' || channelData.type == 'CHANNEL_TYPE_CARD')">
-                  <div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
-                    <view class="tit">
+                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
 
-                      <text>{{ t('Custom.Withdraw.Title4') }}</text>
+                  </view>
+                  <template v-else>
+                    <view>
+                      <uni-forms-item :label="t('Custom.Withdraw.CurrencyType')">
+                        <cwg-combox :clearable="false" v-model:value="form.currency"
+                          :options="[{ text: 'USD', value: 'USD' }]" @change="(val) => form.currency = val" />
+                      </uni-forms-item>
                     </view>
-                    <div class="add-back">
-                      <text v-if="channelData.type == 'BANK_TELEGRAPHIC'">{{
-                        t('Custom.Withdraw.addWire') }}</text>
-                      <text v-if="channelData.type == 'BANK_TELEGRAPHIC'" class="add-btn crm-cursor"
-                        @click="openAddBankCard('add_wireTransfer')">
-                        {{ t('Custom.Withdraw.addBank1') }}
-                      </text>
-                      <text v-if="channelData.type == 'BANK'">{{
-                        t('Custom.Withdraw.addBank')
-                        }}</text>
-                      <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
-                        @click="openAddBankCard('add_bankCard')">
-                        {{ t('Custom.Withdraw.addBank1') }}
-                      </text>
-                      <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'">{{
-                        t('PersonalManagement.Label.addCreditCard') }}</text>
-                      <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'" class="add-btn crm-cursor"
-                        @click="openAddBankCard('add_CreditCard')">
-                        {{ t('Custom.Withdraw.addBank1') }}
-                      </text>
-                    </div>
-                  </div>
-                </uni-col>
-                <!-- 银行卡/信用卡选择 -->
-                <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
-                  v-if="['BANK', 'BANK_TELEGRAPHIC', 'CHANNEL_TYPE_CARD'].includes(channelData.type)">
-                  <uni-forms-item>
-                    <cwg-combox :clearable="false" v-model:value="myId" :options="bankCardOptions" @change="chooseBank"
-                      :placeholder="t('placeholder.choose')" />
+                    <view class="amount-box">
+                      <uni-forms-item :label="t('Custom.Withdraw.amount')" name="amount"
+                        :error-message="amountErrorMessage" class="amount-input">
+                        <uni-easyinput v-model="form.amount" type="number" @blur="validateAmount" />
+                      </uni-forms-item>
+                      <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
+                    </view>
+                  </template>
+                </view>
+                <!-- 协议同意 -->
+                <view class="agree">
+                  <uni-forms-item name="agree2">
+                    <checkbox-group :value="form.agree2 ? ['1'] : []" @change="onAgree2Change">
+                      <label class="checkbox">
+                        <checkbox value="1" :checked="form.agree2" />
+                        <text class="crm-cursor" style="text-decoration: underline;"
+                          @click.stop="dialogCheckTip = true">{{
+                            t('Custom.Withdraw.Des') }}</text>
+                      </label>
+                    </checkbox-group>
                   </uni-forms-item>
-                </uni-col>
-                <!-- 通用银行信息展示 -->
-                <template v-if="channelData.type == 'BANK'">
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.UserName')">
-                      <uni-easyinput disabled v-model="form.bankUname" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
-                      <uni-easyinput disabled v-model="form.bankCardNum" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.BankName')">
-                      <uni-easyinput disabled v-model="form.bankName" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.bankBranchName')">
-                      <uni-easyinput disabled v-model="form.bankBranchName" />
-                    </uni-forms-item>
-                  </uni-col>
-                </template>
-                <!-- 信用卡信息展示(针对有信用卡列表的通道) -->
-                <template v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccountName')">
-                      <uni-easyinput disabled v-model="form.bankUname" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccount')">
-                      <uni-easyinput disabled v-model="form.bankCardNum" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item label="CVV">
-                      <uni-easyinput disabled v-model="form.cvv" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('PersonalManagement.Label.ExpirationYear')">
-                      <uni-easyinput disabled v-model="form.expiryYearMonth" />
-                    </uni-forms-item>
-                  </uni-col>
-                </template>
-                <!-- 银行电汇转账信息展示(针对有银行转账列表的通道) -->
-                <template v-if="channelData.type == 'BANK_TELEGRAPHIC'">
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.UserName')">
-                      <uni-easyinput disabled v-model="form.bankUname" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
-                      <uni-easyinput disabled v-model="form.bankCardNum" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.BankName')">
-                      <uni-easyinput disabled v-model="form.bankName" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
-                      <uni-easyinput disabled v-model="form.swiftCode" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.bankCode')">
-                      <uni-easyinput disabled v-model="form.customBankCode" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
-                      <uni-easyinput disabled v-model="form.bankAddr" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item label="Account Agency NO" name="agencyNo"
-                      v-if="channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
-                      <uni-easyinput v-model="form.agencyNo" />
-                    </uni-forms-item>
-                    <uni-forms-item label="Account Agency NO" v-else>
-                      <uni-easyinput v-model="form.agencyNo" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                    v-if="channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
-                    <uni-forms-item label="CPF" name="cpf">
-                      <uni-easyinput v-model="form.cpf" />
-                    </uni-forms-item>
-                  </uni-col>
-                </template>
-                <!-- 出金金额 -->
-                <uni-col :span="24" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
-                  <view class="tit">
-                    <text>{{ t('Custom.Withdraw.Title3') }}</text>
-                  </view>
-                </uni-col>
-                <uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
-                  <view class="tit">
-                    <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                      }}</text>
-                  </view>
-                </uni-col>
-                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="channelData.type !== 'BANK_TELEGRAPHIC'">
-                  <uni-forms-item name="amount" :error-message="amountErrorMessage">
-                    <uni-easyinput v-model="form.amount" type="number" @blur="validateAmount" />
+                </view>
+                <view class="agree" v-if="dialogTipsIsShow">
+                  <uni-forms-item name="agree3">
+                    <checkbox-group :value="form.agree3 ? ['1'] : []" @change="onAgree3Change">
+                      <label class="checkbox">
+                        <checkbox value="1" :checked="form.agree3" />
+                        <text>* {{ t('Custom.Withdraw.item1') }}<br>{{ t('Custom.Withdraw.item1_1') }}<br>{{
+                          t('Custom.Withdraw.item1_2') }}</text>
+                      </label>
+                    </checkbox-group>
                   </uni-forms-item>
-                </uni-col>
-                <template v-else>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.CurrencyType')">
-                      <cwg-combox :clearable="false" v-model:value="form.currency"
-                        :options="[{ text: 'USD', value: 'USD' }]" @change="(val) => form.currency = val" />
-                    </uni-forms-item>
-                  </uni-col>
-                  <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-                    <uni-forms-item :label="t('Custom.Withdraw.amount')" name="amount"
-                      :error-message="amountErrorMessage">
-                      <uni-easyinput v-model="form.amount" type="number" @blur="validateAmount" />
-                    </uni-forms-item>
-                  </uni-col>
-                </template>
-              </uni-row>
-              <!-- 协议同意 -->
-              <view class="agree">
-                <uni-forms-item name="agree2">
-                  <checkbox-group :value="form.agree2 ? ['1'] : []" @change="onAgree2Change">
-                    <label class="checkbox">
-                      <checkbox value="1" :checked="form.agree2" />
-                      <text class="crm-cursor" style="text-decoration: underline;"
-                        @click.stop="dialogCheckTip = true">{{
-                          t('Custom.Withdraw.Des') }}</text>
-                    </label>
-                  </checkbox-group>
-                </uni-forms-item>
-              </view>
-              <view class="agree" v-if="dialogTipsIsShow">
-                <uni-forms-item name="agree3">
-                  <checkbox-group :value="form.agree3 ? ['1'] : []" @change="onAgree3Change">
-                    <label class="checkbox">
-                      <checkbox value="1" :checked="form.agree3" />
-                      <text>* {{ t('Custom.Withdraw.item1') }}<br>{{ t('Custom.Withdraw.item1_1') }}<br>{{
-                        t('Custom.Withdraw.item1_2') }}</text>
-                    </label>
-                  </checkbox-group>
-                </uni-forms-item>
-              </view>
-              <button class="s-btn" type="primary" @click="openTips">{{ t('Btn.Submit') }}</button>
-            </uni-forms>
+                </view>
+                <button class="s-btn" type="primary" @click="openTips">{{ t('Btn.Submit') }}</button>
+              </uni-forms>
+            </view>
+          </view>
+        </view>
+        <!-- 提示弹窗 -->
+        <cwg-tips-popup v-model:visible="dialogTips" content="Custom.Withdraw.item2" @confirm="closeTipsConfirm" />
+        <!-- 弹窗:确认信息 -->
+        <cwg-check-confirm-popup v-model:visible="dialogCheckConfirm" :title="t('Home.page_customer.item3')"
+          :channelData="channelData" :code="code" :selectCodes="selectCodes" :params="form" :FreeNumber="FreeNumber"
+          :userName="userName" :dialogCheckConfirm_form="dialogCheckConfirm_form" :login="loginValue"
+          :loginDoc="loginValueDoc" @confirm="submit" />
+        <!-- 协议弹窗 -->
+        <cwg-tips-popup v-model:visible="dialogCheckTip"
+          :introduce="isZh ? introduce.introduce : introduce.enIntroduce" />
+        <!-- 等待弹窗 -->
+        <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
+        <!-- 最后失败弹窗 -->
+        <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
+        <!-- 最后成功弹窗 -->
+        <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
+        <!-- kyc成功弹窗 -->
+        <cwg-kyc-popup v-model:visible="dialogKyc" :qrText="text1" />
+        <!--验证码-->
+        <cwg-email-code-popup v-model:visible="dialogDealResult" @confirm="submitCode" :api="emailCodeApi" />
+        <!-- 新增银行弹窗 -->
+        <add-bank-dialog ref="addBankDialogRef" @success="addSuccess" />
+      </view>
+      <view class="step3-attention">
+        <view class="tips" v-if="(introduce.introduce || introduce.enIntroduce)">
+          <view>
+            <rich-text class="attention" :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
           </view>
         </view>
       </view>
-      <!-- 提示弹窗 -->
-      <cwg-tips-popup v-model:visible="dialogTips" content="Custom.Withdraw.item2" @confirm="closeTipsConfirm" />
-      <!-- 弹窗:确认信息 -->
-      <cwg-check-confirm-popup v-model:visible="dialogCheckConfirm" :title="t('Home.page_customer.item3')"
-        :channelData="channelData" :code="code" :selectCodes="selectCodes" :params="form" :FreeNumber="FreeNumber"
-        :userName="userName" :dialogCheckConfirm_form="dialogCheckConfirm_form" :login="loginValue"
-        :loginDoc="loginValueDoc" @confirm="submit" />
-      <!-- 协议弹窗 -->
-      <cwg-tips-popup v-model:visible="dialogCheckTip"
-        :introduce="isZh ? introduce.introduce : introduce.enIntroduce" />
-      <!-- 等待弹窗 -->
-      <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
-      <!-- 最后失败弹窗 -->
-      <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
-      <!-- 最后成功弹窗 -->
-      <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
-      <!-- kyc成功弹窗 -->
-      <cwg-kyc-popup v-model:visible="dialogKyc" :qrText="text1" />
-      <!--验证码-->
-      <cwg-email-code-popup v-model:visible="dialogDealResult" @confirm="submitCode" :api="emailCodeApi" />
-      <!-- 新增银行弹窗 -->
-      <add-bank-dialog ref="addBankDialogRef" @success="addSuccess" />
     </view>
+
   </cwg-page-wrapper>
 
 </template>
 
 <script setup>
-import { ref, reactive, computed, onMounted, nextTick, watch, getCurrentInstance } from 'vue'
+import { ref, reactive, computed, onMounted, nextTick, watch, getCurrentInstance, onUnmounted } from 'vue'
 import { onLoad } from '@dcloudio/uni-app'
 import { showToast } from "@/utils/toast";
 import { isAfterJuly28 } from '@/utils/dateUtils'
@@ -373,6 +370,10 @@ import CwgKycPopup from './components/KycPopup.vue'
 let { Code, Host80 } = Config
 import { useI18n } from 'vue-i18n'
 const { t, locale } = useI18n()
+import useRouter from '@/hooks/useRouter'
+const router = useRouter()
+import useUserStore from '@/stores/use-user-store'
+const userStore = useUserStore()
 
 const isZh = computed(() => ['cn', 'zhHant'].includes(locale.value))
 // 获取组件实例,用于访问全局挂载的属性和方法(替代 this)
@@ -437,7 +438,6 @@ const tabsConfig = computed(() => {
   ]
   // ✅ 只保留有数据的 tab
   return allTabs.filter(tab => {
-    console.log(tableData[tab.type], tab.type);
     return tableData[tab.type]?.length > 0
   })
 })
@@ -449,16 +449,6 @@ 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 channelData = ref({}) //当前选择的通道信息
 const WireTransferAccount = ref({}) //银行电汇信息
@@ -1107,7 +1097,6 @@ function closeDia() {
   loginValue.value = "";
   dialogCheck.value = false;
   dialogVisible.value = false;
-
 }
 
 //取消
@@ -1136,8 +1125,6 @@ async function openTips() {
   try {
     if (formRef.value) {
       const valid = await formRef.value.validate()
-      console.log(valid, 1212);
-
       if (dialogTipsIsShow.value) {
         dialogTips.value = true;
       } else {
@@ -1218,9 +1205,6 @@ function getMetaInfo() {
 }
 
 async function qrCode(serial) {
-  // if (getInfoStatus.kycType == 3) {
-  //   getMetaInfo();
-  // }
   getMetaInfo()
   let res = await customApi.getWebsdkLink({
     serial,
@@ -1473,6 +1457,7 @@ function isShowStep3(row) {
   dialogCheckWait.value = false;
   dialogVisible.value = false;
   flag.value = false;
+  isStep3.value = true;
   //判断是否有bank
   if (row.bankValid && isChannel.value) {
     getBankList(row);
@@ -1523,18 +1508,13 @@ function isShowStep3(row) {
 function showTable() {
   resetForm()
   myId.value = null;
-  step3.value = false;
-  isStep3.value = false;
   isChannel.value = true;
-
-  getDepositList();
-
-
   form.currency = "USD";
 }
 
 //获取账户信息
 async function getDateList() {
+  loading.value = true
   let res = await customApi.CustomDropdown({ platform: "" });
   if (res.code == Code.StatusOK) {
     loginOptions.value = res.data.map(item => ({
@@ -1552,6 +1532,7 @@ async function getDateList() {
   } else {
     showToast(res.msg);
   }
+  loading.value = false
 }
 //获取出金通道
 async function getDepositList() {
@@ -1710,13 +1691,85 @@ function getFirstDayOfNextMonth() {
   //   return new Date(nextYear, nextMonth, 1); // 下个月的1日
   // }
 }
+// 新改内容
+// userStore.paymentChannel.value
+// userStore.channelList.value
+const channel = computed(() => userStore.paymentChannel)
+const channelList = computed(() => userStore.channelList)
+const channelListOptions = ref([])
+const channelId = ref(null)
+const loading = ref(false)
+const setAllAmount = () => {
+  const found = loginOptions.value.find(opt => opt.login === Number(loginValue.value))
+  console.log(found, 1212);
+
+  form.amount = parseInt(found.balance)
+  validateAmount()
+}
+const allTabs = computed(() => {
+  return {
+    "Digital_Currency": t('Custom.Deposit.Channel3'),
+    "China_UnionPay": t('Custom.Deposit.Channel2'),
+    "Electronic_Wallet": t('Custom.Deposit.Channel4'),
+    "International_Transfer": t('Custom.Deposit.Channel1'),
+    "CHANNEL_TYPE_CARD": t('PersonalManagement.Label.CreditCard'),
+    "Ucard_Wallet": t('card.title'),
+    "CHANNEL_TYPE_ALI_WALLET": t('Label.Ali'),
+  }
+})
+function formatChannels(data) {
+  const result = []
+  // 遍历每个分类
+  for (const key in data) {
+    const list = data[key] || []
+    // 插入分类标题(禁用项)
+    if (list.length) {
+      result.push({
+        text: allTabs.value[key],
+        value: key,
+        disable: true
+      })
+    }
+    list.forEach(item => {
+      result.push({
+        ...item,
+        text: item.name,
+        value: item.code
+      })
+    })
+  }
+  return result
+}
+// -------------------- lifecycle --------------------
+onMounted(() => {
+  if (channelList.value) {
+    channelListOptions.value = formatChannels(channelList.value)
+  }
+  channelId.value = channel.value
+  console.log(channelId, 121212);
 
+  getDateList();
+  //调用手续费减免次数接口
+  getFreeNumber();
+  isNewYear24Open();
+});
+onUnmounted(() => {
+  // userStore.savePaymentChannel('')
+  // userStore.saveChannelList('')
+})
 // -------------------- watch --------------------
+watch(channelId, async (newVal) => {
+  if (newVal) {
+    showTable()
+    let row = channelListOptions.value.find(item => item.code == newVal)
+    console.log(row, 123123);
+    isShowStep3(row)
+  }
+});
 watch(loginValue, (newVal) => {
   if (newVal) {
-    step2.value = true;
-    const found = loginOptions.value.find(opt => opt.login === Number(newVal))
-    loginValueDoc.value = found.label
+    // const found = loginOptions.value.find(opt => opt.login === Number(newVal))
+    // loginValueDoc.value = found.label
     showTable();
   }
 });
@@ -1773,13 +1826,7 @@ watch(() => form.amount, (newVal) => {
   }
 });
 
-// -------------------- lifecycle --------------------
-onMounted(() => {
-  getDateList();
-  //调用手续费减免次数接口
-  getFreeNumber();
-  isNewYear24Open();
-});
+
 
 
 </script>
@@ -1788,15 +1835,17 @@ onMounted(() => {
 @import "@/uni.scss";
 
 .custom-withdraw {
+  width: px2rpx(566);
+  flex-shrink: 0;
 
   .box {
     margin-bottom: px2rpx(20);
 
     .b-card {
-      background: #fff;
-      border-radius: px2rpx(12);
-      padding: px2rpx(20);
-      box-shadow: 0 px2rpx(4) px2rpx(12) rgba(0, 0, 0, 0.03);
+      // background: #fff;
+      // border-radius: px2rpx(12);
+      // padding: px2rpx(20);
+      // box-shadow: 0 px2rpx(4) px2rpx(12) rgba(0, 0, 0, 0.03);
 
       .card-top {
         .tit {
@@ -1878,7 +1927,7 @@ onMounted(() => {
 
       &:active {
         transform: scale(0.98);
-        background: var(--color-navy-800);
+        background-color: #cf1322;
       }
     }
   }
@@ -1889,8 +1938,6 @@ onMounted(() => {
     align-items: center;
     margin-bottom: px2rpx(12);
     padding: px2rpx(12) px2rpx(16);
-    background: var(--color-zinc-100);
-    border-radius: px2rpx(8);
 
     text {
       font-size: px2rpx(14);
@@ -2011,20 +2058,6 @@ onMounted(() => {
         margin-bottom: px2rpx(28);
       }
 
-      .uni-select,
-      .uni-combox,
-      .uni-easyinput__content,
-      .uni-date-editor--x {
-        border: none !important;
-        background-color: var(--color-zinc-100) !important;
-        border-radius: px2rpx(8) !important;
-      }
-
-      .uni-date-x {
-        border: none !important;
-        background-color: rgba(195, 195, 195, 0) !important;
-      }
-
       .uni-easyinput__content-input {
         height: px2rpx(35) !important;
       }
@@ -2041,4 +2074,64 @@ onMounted(() => {
     }
   }
 }
+
+
+
+.amount-box {
+  display: flex;
+  align-items: center;
+  gap: px2rpx(12);
+
+  .amount-input {
+    flex: 1;
+  }
+
+  .btn {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-size: px2rpx(14);
+    color: var(--color-zinc-600);
+    margin-bottom: px2rpx(12);
+    height: px2rpx(35);
+    background-color: #cf1322;
+    color: #fff;
+    border-radius: px2rpx(4);
+    font-weight: 600;
+    border: none;
+    padding: 0 px2rpx(20);
+    margin-top: px2rpx(21);
+    cursor: pointer;
+  }
+}
+
+.amount-box1 {
+  align-items: flex-start;
+
+  .btn {
+
+    margin-top: px2rpx(0);
+  }
+
+}
+
+.custom-deposit-container {
+  width: 100%;
+  display: flex;
+  gap: px2rpx(60);
+  justify-content: space-between;
+}
+
+@media (max-width: 992px) {
+  .custom-withdraw {
+    width: 100%;
+    margin-top: px2rpx(20);
+  }
+
+  .custom-deposit-container {
+    display: flex;
+    gap: px2rpx(30);
+    flex-wrap: wrap;
+  }
+}
 </style>

+ 3 - 19
pages/ib/agent-transfer.vue

@@ -36,18 +36,6 @@
 
                             <uni-forms ref="formRef" :model="form" :rules="rules" label-width="300" label-position="top"
                                 validate-trigger="submit">
-                                <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 转出账户 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.TransferAccounts')"
-                                            name="withdrawLogin">
-                                            <cwg-combox :disabled="true" v-model:value="form.withdrawLogin"
-                                                :clearable="false" :options="withdrawDisplayList"
-                                                :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
-                                    </view>
-
-                                </view>
 
                                 <view class="form-row">
                                     <view class="form-col">
@@ -57,6 +45,9 @@
                                                 :options="depositDisplayList" :placeholder="t('placeholder.choose')" />
                                         </uni-forms-item>
                                     </view>
+
+                                </view>
+                                <view class="form-row">
                                     <view class="form-col">
                                         <!-- 确认转入账户 -->
                                         <uni-forms-item :label="t('Custom.Transfer.ConfirmIntoAccount')"
@@ -69,13 +60,6 @@
                                 </view>
 
                                 <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 货币类型 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.CurrencyType')" name="currency">
-                                            <cwg-combox v-model:value="form.currency" :clearable="false"
-                                                :options="currencyOptions" :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
-                                    </view>
                                     <view class="form-col">
                                         <!-- 转账金额 -->
                                         <uni-forms-item :label="t('Custom.Transfer.Amount')" name="amount"

+ 0 - 14
pages/ib/transfer.vue

@@ -13,13 +13,6 @@
                             <uni-forms ref="formRef" :model="form" :rules="rules" label-width="300" label-position="top"
                                 validate-trigger="submit">
                                 <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 转出账户 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.TransferAccounts')">
-                                            <uni-easyinput v-model="fromInfo" disabled
-                                                :placeholder="t('placeholder.input')" @blur="validateAmount" />
-                                        </uni-forms-item>
-                                    </view>
                                     <view class="form-col">
                                         <!-- 转入账户 -->
                                         <uni-forms-item :label="toLabel" name="to"
@@ -31,13 +24,6 @@
                                 </view>
 
                                 <view class="form-row">
-                                    <view class="form-col">
-                                        <!-- 货币类型 -->
-                                        <uni-forms-item :label="t('Custom.Transfer.CurrencyType')" name="currency">
-                                            <cwg-combox v-model:value="form.currency" :clearable="false"
-                                                :options="currencyOptions" :placeholder="t('placeholder.choose')" />
-                                        </uni-forms-item>
-                                    </view>
                                     <view class="form-col">
                                         <!-- 转账金额 -->
                                         <uni-forms-item :label="t('Custom.Transfer.Amount')" name="amount"

+ 6 - 4
pages/ib/withdraw-select.vue

@@ -405,6 +405,8 @@ import { useI18n } from 'vue-i18n'
 
 const { t, locale } = useI18n()
 const { Code, Host80 } = Config
+import useRouter from '@/hooks/useRouter'
+const router = useRouter()
 
 const isZh = computed(() => ['cn', 'zhHant'].includes(locale.value))
 // ---------- 辅助函数:替代原 this.Session ----------
@@ -1306,8 +1308,6 @@ const submit = async (formName) => {
             flag.value = false;
         }
     }
-
-
 }
 
 const Initialize = () => {
@@ -1319,7 +1319,9 @@ const Initialize = () => {
 }
 
 const isShowStep3 = (row) => {
-    
+    router.push(`/pages/ib/withdraw`)
+    userStore.savePaymentChannel(row.code)
+    userStore.saveChannelList(tableData)
     return
 
     if (row.bankValid && isChannel.value) {
@@ -1568,7 +1570,7 @@ watch(() => form.amount, (newVal) => {
 
             &:active {
                 transform: scale(0.98);
-                background: var(--color-navy-800);
+                background-color: #cf1322;
             }
         }
     }

+ 476 - 398
pages/ib/withdraw.vue

@@ -1,396 +1,376 @@
 <template>
     <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
         <cwg-header :title="t('Home.page_ib.item5')" />
-        <view class="custom-withdraw">
-            <!-- 步骤2:支付通道列表 -->
-            <view class="box box-step2">
-                <view class="b-card">
-                    <view class="card-top">
-                        <text class="tit">{{ t('Custom.Deposit.Title22')
-                            }}</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 v-if="step3" class="reselect-btn">
-                            <button class="s-btn reselect" type="primary" @click="showTable">{{
-                                t('Custom.Deposit.Reselect')
-                                }}</button>
+
+        <uni-loading v-if="loading" />
+        <view class="custom-deposit-container" v-else>
+            <view class="custom-withdraw">
+                <!-- 步骤2:支付通道列表 -->
+                <view class="box box-step2">
+                    <view class="b-card">
+                        <view class="card-top">
+                            <text class="tit">{{ t('Custom.Deposit.Title22')
+                                }}</text>
+                            <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
+                                :placeholder="t('placeholder.choose')">
+                            </cwg-combox>
                         </view>
                     </view>
                 </view>
-            </view>
 
-            <!-- 步骤3:填写出金信息 -->
-            <view class="box box-step3" v-if="step3">
-                <view class="b-card">
-                    <view class="card-top">
-                        <!-- 注意事项 -->
-                        <view v-if="!isStep3" class="step3-attention">
-                            <view class="tips" v-if="(introduce.introduce || introduce.enIntroduce)">
-                                <view>
-                                    <rich-text class="attention"
-                                        :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
-                                </view>
-                            </view>
-                            <view class="btn-bottom">
-                                <text class="btn crm-cursor" @click="isStep3 = true">{{ t('Btn.Confirm') }}</text>
-                            </view>
-                        </view>
-                        <!-- 表单 -->
-                        <uni-forms ref="formRef" :model="form" :rules="rules" label-width="200" label-position="top"
-                            v-if="isStep3" class="form base-info-form" validate-trigger="submit">
-                            <uni-row class="demo-uni-row uni-row1">
-                                <!-- 银行选择区域(当有银行列表时) -->
-                                <uni-col :span="24" v-if="bankDate.length && isStep3">
-                                    <view class="tit">
-                                        <text>{{ t('Custom.Withdraw.Title5') }}</text>
+                <!-- 步骤3:填写出金信息 -->
+                <view class="box box-step3">
+                    <view class="b-card">
+                        <view class="card-top">
+                            <!-- 注意事项 -->
+                            <!-- 表单 -->
+                            <uni-forms ref="formRef" :model="form" :rules="rules" label-width="200" label-position="top"
+                                class="form base-info-form" validate-trigger="submit">
+                                <view class="demo-uni-row uni-row1 uni-row2">
+                                    <!-- 银行选择区域(当有银行列表时) -->
+                                    <view v-if="bankDate.length">
+                                        <view class="tit">
+                                            <text>{{ t('Custom.Withdraw.Title5') }}</text>
+                                        </view>
                                     </view>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="bankDate.length && isStep3">
-                                    <uni-forms-item name="bankCode">
-                                        <cwg-combox filterable v-model:value="form.bankCode" :options="bankOptions"
-                                            :placeholder="t('placeholder.choose')" />
-                                    </uni-forms-item>
-                                </uni-col>
-
-                                <!-- 电子钱包标题 -->
-                                <uni-col :span="24"
-                                    v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
-                                    <view class="tit">
-                                        <text>{{ getWalletLabel }}</text>
+                                    <view v-if="bankDate.length">
+                                        <uni-forms-item name="bankCode">
+                                            <cwg-combox v-model:value="form.bankCode" :options="bankOptions"
+                                                :placeholder="t('placeholder.choose')" />
+                                        </uni-forms-item>
                                     </view>
-                                </uni-col>
-
-                                <!-- 电子钱包地址输入 -->
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="(channelData.type == 'CHANNEL_TYPE_WALLET' || channelData.type == 'CHANNEL_TYPE_ALI_WALLET') && isStep3">
-                                    <uni-forms-item name="address">
-                                        <uni-easyinput v-model="form.address" :placeholder="t('placeholder.input')"
-                                            autocomplete="off" />
-                                    </uni-forms-item>
-                                </uni-col>
 
-                                <!-- 数字货币区域 -->
-                                <uni-col :span="24" class="card-tit"
-                                    v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3">
-                                    <div
-                                        style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                                    <!-- 电子钱包标题 -->
+                                    <view
+                                        v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
                                         <view class="tit">
-
-                                            <text>{{ t('Custom.Withdraw.Title6') }}</text>
+                                            <text>{{ getWalletLabel }}</text>
                                         </view>
-                                        <div class="add-back">
-                                            <text>{{ t('blockchain.item10') }}</text>
-                                            <text class="add-btn crm-cursor"
-                                                @click="openAddBankCard('add_bankBlockchain')">
-                                                {{ t('Custom.Withdraw.addBank1') }}
-                                            </text>
-                                        </div>
-                                    </div>
-                                </uni-col>
-                                <uni-col :span="24" v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3">
-                                    <uni-forms-item>
-                                        <cwg-combox filterable v-model:value="myId" :options="digitalOptions"
-                                            :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange"
-                                            :disabled="!ruleForm.bankBlockchain.length" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3">
-                                    <uni-forms-item :label="t('blockchain.item3')">
-                                        <uni-easyinput disabled v-model="form.addressName" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3">
-                                    <uni-forms-item :label="t('blockchain.item4')">
-                                        <uni-easyinput disabled v-model="form.address" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3 && form.addressProve">
-                                    <uni-forms-item :label="t('blockchain.item5')">
-                                        <div style="height: 100%; width: 100%" v-if="form.addressProve">
-                                            <cwg-link type="pdf1"
-                                                v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')"
-                                                :url="imgUrl + form.addressProve" target="_blank"
-                                                style="text-decoration: none; min-width: auto; width: auto; color: #ffffff; padding: 5px 10px;"
-                                                class="state crm_state_blue">
-                                                PDF
-                                            </cwg-link>
-                                            <image v-else style="width: 50px; height: 50px"
-                                                :src="imgUrl + form.addressProve" mode="aspectFill"
-                                                @click="previewImage(imgUrl + form.addressProve)" />
-                                        </div>
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :span="24" v-if="channelData.type == 'DIGITAL_CURRENCY' && isStep3">
-                                    <view class="tit" style="margin: 0 0 20px">
-                                        <i class="iconfont iconi"></i>
-                                        <text>{{ t('Custom.Deposit.Des') }}</text>
                                     </view>
-                                </uni-col>
 
-                                <!-- 银行卡/电汇/信用卡区域 -->
-                                <uni-col :span="24" class="card-tit"
-                                    v-if="isStep3 && (channelData.type == 'BANK_TELEGRAPHIC' || channelData.type == 'BANK' || channelData.type == 'CHANNEL_TYPE_CARD')">
-                                    <div
-                                        style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
-                                        <view class="tit">
+                                    <!-- 电子钱包地址输入 -->
+                                    <view
+                                        v-if="(channelData.type == 'CHANNEL_TYPE_WALLET' || channelData.type == 'CHANNEL_TYPE_ALI_WALLET')">
+                                        <uni-forms-item name="address">
+                                            <uni-easyinput v-model="form.address" :placeholder="t('placeholder.input')"
+                                                autocomplete="off" />
+                                        </uni-forms-item>
+                                    </view>
+
+                                    <!-- 数字货币区域 -->
+                                    <view class="card-tit" v-if="channelData.type == 'DIGITAL_CURRENCY'">
+                                        <div
+                                            style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                                            <view class="tit">
 
-                                            <text>{{ t('Custom.Withdraw.Title4') }}</text>
+                                                <text>{{ t('Custom.Withdraw.Title6') }}</text>
+                                            </view>
+                                            <div class="add-back">
+                                                <text>{{ t('blockchain.item10') }}</text>
+                                                <text class="add-btn crm-cursor"
+                                                    @click="openAddBankCard('add_bankBlockchain')">
+                                                    {{ t('Custom.Withdraw.addBank1') }}
+                                                </text>
+                                            </div>
+                                        </div>
+                                    </view>
+                                    <view v-if="channelData.type == 'DIGITAL_CURRENCY'">
+                                        <uni-forms-item>
+                                            <cwg-combox v-model:value="myId" :options="digitalOptions"
+                                                :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange"
+                                                :disabled="!ruleForm.bankBlockchain.length" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'DIGITAL_CURRENCY'">
+                                        <uni-forms-item :label="t('blockchain.item3')">
+                                            <uni-easyinput disabled v-model="form.addressName" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'DIGITAL_CURRENCY'">
+                                        <uni-forms-item :label="t('blockchain.item4')">
+                                            <uni-easyinput disabled v-model="form.address" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'DIGITAL_CURRENCY' && form.addressProve">
+                                        <uni-forms-item :label="t('blockchain.item5')">
+                                            <div style="height: 100%; width: 100%" v-if="form.addressProve">
+                                                <cwg-link type="pdf1"
+                                                    v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')"
+                                                    :url="imgUrl + form.addressProve" target="_blank"
+                                                    style="text-decoration: none; min-width: auto; width: auto; color: #ffffff; padding: 5px 10px;"
+                                                    class="state crm_state_blue">
+                                                    PDF
+                                                </cwg-link>
+                                                <image v-else style="width: 50px; height: 50px"
+                                                    :src="imgUrl + form.addressProve" mode="aspectFill"
+                                                    @click="previewImage(imgUrl + form.addressProve)" />
+                                            </div>
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'DIGITAL_CURRENCY'">
+                                        <view class="tit" style="margin: 0 0 20px">
+                                            <i class="iconfont iconi"></i>
+                                            <text>{{ t('Custom.Deposit.Des') }}</text>
                                         </view>
-                                        <div class="add-back">
-                                            <text v-if="channelData.type == 'BANK_TELEGRAPHIC'">{{
-                                                t('Custom.Withdraw.addWire') }}</text>
-                                            <text v-if="channelData.type == 'BANK_TELEGRAPHIC'"
-                                                class="add-btn crm-cursor" @click="openAddBankCard('add_wireTransfer')">
-                                                {{ t('Custom.Withdraw.addBank1') }}
-                                            </text>
-                                            <text v-if="channelData.type == 'BANK'">{{
-                                                t('Custom.Withdraw.addBank')
-                                                }}</text>
-                                            <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
-                                                @click="openAddBankCard('add_bankCard')">
-                                                {{ t('Custom.Withdraw.addBank1') }}
-                                            </text>
-                                            <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'">{{
-                                                t('PersonalManagement.Label.addCreditCard') }}</text>
-                                            <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'"
-                                                class="add-btn crm-cursor" @click="openAddBankCard('add_CreditCard')">
-                                                {{ t('Custom.Withdraw.addBank1') }}
-                                            </text>
+                                    </view>
+
+                                    <!-- 银行卡/电汇/信用卡区域 -->
+                                    <view class="card-tit"
+                                        v-if="isStep3 && (channelData.type == 'BANK_TELEGRAPHIC' || channelData.type == 'BANK' || channelData.type == 'CHANNEL_TYPE_CARD')">
+                                        <div
+                                            style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                                            <view class="tit">
+
+                                                <text>{{ t('Custom.Withdraw.Title4') }}</text>
+                                            </view>
+                                            <div class="add-back">
+                                                <text v-if="channelData.type == 'BANK_TELEGRAPHIC'">{{
+                                                    t('Custom.Withdraw.addWire') }}</text>
+                                                <text v-if="channelData.type == 'BANK_TELEGRAPHIC'"
+                                                    class="add-btn crm-cursor"
+                                                    @click="openAddBankCard('add_wireTransfer')">
+                                                    {{ t('Custom.Withdraw.addBank1') }}
+                                                </text>
+                                                <text v-if="channelData.type == 'BANK'">{{
+                                                    t('Custom.Withdraw.addBank')
+                                                    }}</text>
+                                                <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
+                                                    @click="openAddBankCard('add_bankCard')">
+                                                    {{ t('Custom.Withdraw.addBank1') }}
+                                                </text>
+                                                <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'">{{
+                                                    t('PersonalManagement.Label.addCreditCard') }}</text>
+                                                <text v-if="channelData.type == 'CHANNEL_TYPE_CARD'"
+                                                    class="add-btn crm-cursor"
+                                                    @click="openAddBankCard('add_CreditCard')">
+                                                    {{ t('Custom.Withdraw.addBank1') }}
+                                                </text>
+                                            </div>
                                         </div>
-                                    </div>
-                                </uni-col>
-
-                                <!-- 网银支付信息(BANK) -->
-                                <uni-col :span="24" v-if="channelData.type == 'BANK' && isStep3">
-                                    <uni-forms-item>
-                                        <cwg-combox v-model:value="myId" :options="bankCardOptions"
-                                            :placeholder="t('placeholder.choose')" @change="chooseBank" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK' && isStep3">
-                                    <uni-forms-item :label="t('Custom.Withdraw.UserName')">
-                                        <uni-easyinput disabled v-model="form.bankUname" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK' && isStep3">
-                                    <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
-                                        <uni-easyinput disabled v-model="form.bankCardNum" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK' && isStep3">
-                                    <uni-forms-item :label="t('Custom.Withdraw.BankName')">
-                                        <uni-easyinput disabled v-model="form.bankName" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK' && isStep3">
-                                    <uni-forms-item :label="t('Custom.Withdraw.bankBranchName')">
-                                        <uni-easyinput disabled v-model="form.bankBranchName" />
-                                    </uni-forms-item>
-                                </uni-col>
+                                    </view>
 
-                                <!-- 信用卡信息 -->
-                                <uni-col :span="24" v-if="channelData.type == 'CHANNEL_TYPE_CARD' && isStep3">
-                                    <uni-forms-item>
-                                        <cwg-combox v-model:value="myId" :options="bankCardOptions"
-                                            :placeholder="t('placeholder.choose')" @change="chooseBank" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'CHANNEL_TYPE_CARD' && isStep3">
-                                    <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccountName')">
-                                        <uni-easyinput disabled v-model="form.bankUname" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'CHANNEL_TYPE_CARD' && isStep3">
-                                    <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccount')">
-                                        <uni-easyinput disabled v-model="form.bankCardNum" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'CHANNEL_TYPE_CARD' && isStep3">
-                                    <uni-forms-item label="CVV">
-                                        <uni-easyinput disabled v-model="form.cvv" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'CHANNEL_TYPE_CARD' && isStep3">
-                                    <uni-forms-item :label="t('PersonalManagement.Label.ExpirationYear')">
-                                        <uni-easyinput disabled v-model="form.expiryYearMonth" />
-                                    </uni-forms-item>
-                                </uni-col>
+                                    <!-- 网银支付信息(BANK) -->
+                                    <view v-if="channelData.type == 'BANK'">
+                                        <uni-forms-item>
+                                            <cwg-combox v-model:value="myId" :options="bankCardOptions"
+                                                :placeholder="t('placeholder.choose')" @change="chooseBank" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.UserName')">
+                                            <uni-easyinput disabled v-model="form.bankUname" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+                                            <uni-easyinput disabled v-model="form.bankCardNum" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+                                            <uni-easyinput disabled v-model="form.bankName" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.bankBranchName')">
+                                            <uni-easyinput disabled v-model="form.bankBranchName" />
+                                        </uni-forms-item>
+                                    </view>
 
-                                <!-- 电汇信息 -->
-                                <uni-col :span="24" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
-                                    <uni-forms-item>
-                                        <cwg-combox v-model:value="myId" :options="bankCardOptions"
-                                            :placeholder="t('placeholder.choose')" @change="chooseBank" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.bankUname" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.bankCardNum" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.bankName" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.swiftCode" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.customBankCode" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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-easyinput disabled v-model="form.bankAddr" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
-                                    <!-- Account Agency NO -->
-                                    <uni-forms-item :label="'Account Agency NO'" name="agencyNo">
-                                        <uni-easyinput v-model="form.agencyNo" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
-                                    v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3 && channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
-                                    <uni-forms-item label="CPF" name="cpf">
-                                        <uni-easyinput v-model="form.cpf" />
-                                    </uni-forms-item>
-                                </uni-col>
+                                    <!-- 信用卡信息 -->
+                                    <view v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                                        <uni-forms-item>
+                                            <cwg-combox v-model:value="myId" :options="bankCardOptions"
+                                                :placeholder="t('placeholder.choose')" @change="chooseBank" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                                        <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccountName')">
+                                            <uni-easyinput disabled v-model="form.bankUname" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                                        <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccount')">
+                                            <uni-easyinput disabled v-model="form.bankCardNum" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                                        <uni-forms-item label="CVV">
+                                            <uni-easyinput disabled v-model="form.cvv" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'CHANNEL_TYPE_CARD'">
+                                        <uni-forms-item :label="t('PersonalManagement.Label.ExpirationYear')">
+                                            <uni-easyinput disabled v-model="form.expiryYearMonth" />
+                                        </uni-forms-item>
+                                    </view>
 
-                                <!-- 电汇金额区域 -->
-                                <uni-col :span="24" v-if="channelData.type == 'BANK_TELEGRAPHIC' && isStep3">
-                                    <view class="tit">
-                                        <text>{{ t('Custom.Withdraw.Title3') }}</text>
+                                    <!-- 电汇信息 -->
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item>
+                                            <cwg-combox v-model:value="myId" :options="bankCardOptions"
+                                                :placeholder="t('placeholder.choose')" @change="chooseBank" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.UserName')">
+                                            <uni-easyinput disabled v-model="form.bankUname" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+                                            <uni-easyinput disabled v-model="form.bankCardNum" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+                                            <uni-easyinput disabled v-model="form.bankName" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
+                                            <uni-easyinput disabled v-model="form.swiftCode" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.bankCode')">
+                                            <uni-easyinput disabled v-model="form.customBankCode" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
+                                            <uni-easyinput disabled v-model="form.bankAddr" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <!-- Account Agency NO -->
+                                        <uni-forms-item :label="'Account Agency NO'" name="agencyNo">
+                                            <uni-easyinput v-model="form.agencyNo" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view
+                                        v-if="channelData.type == 'BANK_TELEGRAPHIC' && channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
+                                        <uni-forms-item label="CPF" name="cpf">
+                                            <uni-easyinput v-model="form.cpf" />
+                                        </uni-forms-item>
                                     </view>
-                                </uni-col>
-                                <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">
-                                        <cwg-combox filterable v-model:value="form.currency"
-                                            :options="[{ text: 'USD', value: 'USD' }]" />
-                                    </uni-forms-item>
-                                </uni-col>
-                                <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"
-                                        :error-message="amountErrorMessage">
-                                        <uni-easyinput v-model.trim="form.amount" type="number"
-                                            @blur="validateAmount" />
-                                    </uni-forms-item>
-                                </uni-col>
 
-                                <!-- 非电汇的金额区域 -->
-                                <uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
-                                    <view class="tit">
-                                        <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                                            }}</text>
+                                    <!-- 电汇金额区域 -->
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <view class="tit">
+                                            <text>{{ t('Custom.Withdraw.Title3') }}</text>
+                                        </view>
                                     </view>
-                                </uni-col>
-                                <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-easyinput v-model.trim="form.amount" autocomplete="off" type="number"
-                                            @blur="validateAmount" />
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                                        <uni-forms-item :label="t('Custom.Withdraw.CurrencyType')" name="currency">
+                                            <cwg-combox v-model:value="form.currency"
+                                                :options="[{ text: 'USD', value: 'USD' }]" />
+                                        </uni-forms-item>
+                                    </view>
+                                    <view v-if="channelData.type == 'BANK_TELEGRAPHIC'" class="amount-box">
+                                        <uni-forms-item :label="t('Custom.Withdraw.amount')" name="amount"
+                                            :error-message="amountErrorMessage" class="amount-input">
+                                            <uni-easyinput v-model.trim="form.amount" type="number"
+                                                @blur="validateAmount" />
+                                        </uni-forms-item>
+                                        <!-- <view class="btn" v-t="'State.All'" @click="setAllAmount"></view> -->
+                                    </view>
+
+                                    <!-- 非电汇的金额区域 -->
+                                    <view v-if="channelData.type != 'BANK_TELEGRAPHIC'">
+                                        <view class="tit">
+                                            <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
+                                                }}</text>
+                                        </view>
+                                    </view>
+                                    <view v-if="channelData.type != 'BANK_TELEGRAPHIC'" class="amount-box amount-box1">
+                                        <uni-forms-item name="amount" :error-message="amountErrorMessage"
+                                            class="amount-input">
+                                            <uni-easyinput v-model.trim="form.amount" autocomplete="off" type="number"
+                                                @blur="validateAmount" />
+                                        </uni-forms-item>
+                                        <!-- <view class="btn" v-t="'State.All'" @click="setAllAmount"></view> -->
+                                    </view>
+                                </view>
+                                <view class="agree">
+                                    <uni-forms-item name="agree2">
+                                        <checkbox-group :value="form.agree2 ? ['1'] : []" @change="onAgree2Change">
+                                            <label class="checkbox">
+                                                <checkbox value="1" :checked="form.agree2" />
+                                                <view class="crm-cursor"
+                                                    style="text-decoration: underline; display: inline-block; margin-left: 10px;"
+                                                    @click.stop="dialogCheckTip = true">
+                                                    {{ t('Custom.Withdraw.Des') }}
+                                                </view>
+                                            </label>
+                                        </checkbox-group>
                                     </uni-forms-item>
-                                </uni-col>
-                            </uni-row>
-                            <view class="agree">
-                                <uni-forms-item name="agree2">
-                                    <checkbox-group :value="form.agree2 ? ['1'] : []" @change="onAgree2Change">
-                                        <label class="checkbox">
-                                            <checkbox value="1" :checked="form.agree2" />
-                                            <view class="crm-cursor"
-                                                style="text-decoration: underline; display: inline-block; margin-left: 10px;"
-                                                @click.stop="dialogCheckTip = true">
-                                                {{ t('Custom.Withdraw.Des') }}
-                                            </view>
-                                        </label>
-                                    </checkbox-group>
-                                </uni-forms-item>
-                            </view>
-                            <view class="agree" v-if="dialogTipsIsShow">
-                                <uni-forms-item name="agree3">
-                                    <checkbox-group :value="form.agree3 ? ['1'] : []" @change="onAgree3Change">
-                                        <label class="checkbox">
-                                            <checkbox value="1" :checked="form.agree3" />
-                                            <view class="crm-cursor" style="display: inline-block; margin-left: 10px;">
-                                                * {{ t('Custom.Withdraw.item1') }}<br />
-                                                {{ t('Custom.Withdraw.item1_1') }}<br />
-                                                {{ t('Custom.Withdraw.item1_2') }}
-                                            </view>
-                                        </label>
-                                    </checkbox-group>
-                                </uni-forms-item>
-                            </view>
-                            <button class="s-btn" type="primary" @click="openTips">{{ t('Btn.Submit') }}</button>
+                                </view>
+                                <view class="agree" v-if="dialogTipsIsShow">
+                                    <uni-forms-item name="agree3">
+                                        <checkbox-group :value="form.agree3 ? ['1'] : []" @change="onAgree3Change">
+                                            <label class="checkbox">
+                                                <checkbox value="1" :checked="form.agree3" />
+                                                <view class="crm-cursor"
+                                                    style="display: inline-block; margin-left: 10px;">
+                                                    * {{ t('Custom.Withdraw.item1') }}<br />
+                                                    {{ t('Custom.Withdraw.item1_1') }}<br />
+                                                    {{ t('Custom.Withdraw.item1_2') }}
+                                                </view>
+                                            </label>
+                                        </checkbox-group>
+                                    </uni-forms-item>
+                                </view>
+                                <button class="s-btn" type="primary" @click="openTips">{{ t('Btn.Submit') }}</button>
 
-                        </uni-forms>
+                            </uni-forms>
+                        </view>
+                    </view>
+                </view>
+                <!-- 提示弹窗 -->
+                <cwg-tips-popup v-model:visible="dialogTips" content="Custom.Withdraw.item2"
+                    @confirm="closeTipsConfirm" />
+                <cwg-tips-popup v-model:visible="dialogCheckInto" content="ApplicationDialog.Des42_1"
+                    title="ApplicationDialog.Des41_1" @confirm="closeTipsConfirm" />
+                <cwg-tips-popup v-model:visible="dialogCheckInto1" content="ApplicationDialog.Des42"
+                    title="ApplicationDialog.Des41" @confirm="closeTipsConfirm" />
+                <!-- 弹窗:确认信息 -->
+                <cwg-check-confirm-popup v-model:visible="dialogCheckConfirm" :title="t('Home.page_customer.item3')"
+                    :channelData="channelData" :code="code" :selectCodes="selectCodes" :params="form"
+                    :FreeNumber="FreeNumber" :userName="userName" :dialogCheckConfirm_form="dialogCheckConfirm_form"
+                    :login="loginValue" type="IB" @confirm="submit" />
+                <!-- 协议弹窗 -->
+                <cwg-tips-popup v-model:visible="dialogCheckTip"
+                    :introduce="isZh ? introduce.introduce : introduce.enIntroduce" />
+                <!-- 等待弹窗 -->
+                <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false"
+                    :showFooters="false" />
+                <!-- 最后失败弹窗 -->
+                <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
+                <!-- 最后成功弹窗 -->
+                <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
+                <!-- 功能关闭弹出 -->
+                <cwg-function-disabled-popup v-model:visible="InfoStatus5" :showFooters="false" @confirm="toHome" />
+                <!-- kyc成功弹窗 -->
+                <cwg-kyc-popup v-model:visible="dialogKyc" :qrText="text1" />
+                <!--验证码-->
+                <!-- 新增银行弹窗 -->
+                <add-bank-dialog ref="addBankDialogRef" @success="addSuccess" />
+            </view>
+            <view class="step3-attention">
+                <view class="tips" v-if="(introduce.introduce || introduce.enIntroduce)">
+                    <view>
+                        <rich-text class="attention" :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
                     </view>
                 </view>
             </view>
-            <!-- 提示弹窗 -->
-            <cwg-tips-popup v-model:visible="dialogTips" content="Custom.Withdraw.item2" @confirm="closeTipsConfirm" />
-            <cwg-tips-popup v-model:visible="dialogCheckInto" content="ApplicationDialog.Des42_1"
-                title="ApplicationDialog.Des41_1" @confirm="closeTipsConfirm" />
-            <cwg-tips-popup v-model:visible="dialogCheckInto1" content="ApplicationDialog.Des42"
-                title="ApplicationDialog.Des41" @confirm="closeTipsConfirm" />
-            <!-- 弹窗:确认信息 -->
-            <cwg-check-confirm-popup v-model:visible="dialogCheckConfirm" :title="t('Home.page_customer.item3')"
-                :channelData="channelData" :code="code" :selectCodes="selectCodes" :params="form"
-                :FreeNumber="FreeNumber" :userName="userName" :dialogCheckConfirm_form="dialogCheckConfirm_form"
-                :login="loginValue" type="IB" @confirm="submit" />
-            <!-- 协议弹窗 -->
-            <cwg-tips-popup v-model:visible="dialogCheckTip"
-                :introduce="isZh ? introduce.introduce : introduce.enIntroduce" />
-            <!-- 等待弹窗 -->
-            <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
-            <!-- 最后失败弹窗 -->
-            <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
-            <!-- 最后成功弹窗 -->
-            <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
-            <!-- 功能关闭弹出 -->
-            <cwg-function-disabled-popup v-model:visible="InfoStatus5" :showFooters="false" @confirm="toHome" />
-            <!-- kyc成功弹窗 -->
-            <cwg-kyc-popup v-model:visible="dialogKyc" :qrText="text1" />
-            <!--验证码-->
-            <!-- 新增银行弹窗 -->
-            <add-bank-dialog ref="addBankDialogRef" @success="addSuccess" />
         </view>
+
     </cwg-page-wrapper>
 </template>
 
 <script setup>
-import { ref, reactive, computed, onMounted, nextTick, watch } from 'vue'
+import { ref, reactive, computed, onMounted, nextTick, watch, onUnmounted } from 'vue'
 import { onLoad } from '@dcloudio/uni-app'
 import { showToast } from "@/utils/toast";
 import useUserStore from '@/stores/use-user-store'
@@ -495,7 +475,6 @@ const tabsConfig = computed(() => {
     ]
     // ✅ 只保留有数据的 tab
     return allTabs.filter(tab => {
-        console.log(tableData[tab.type], tab.type);
         return tableData[tab.type]?.length > 0
     })
 })
@@ -1207,8 +1186,6 @@ const closeTipsConfirm = () => {
 
 const closeDia = () => {
     resetForm()
-    isStep3.value = false
-    step2.value = false
     dialogCheck.value = false
     dialogVisible.value = false
     showTable()
@@ -1312,7 +1289,7 @@ const submit = async (formName) => {
 
 const Initialize = () => {
     loginValue.value = ""
-    isStep3.value = false
+    isStep3.value = true
     step2.value = false
     step3.value = false
     showTable()
@@ -1322,12 +1299,10 @@ const isShowStep3 = (row) => {
     if (row.bankValid && isChannel.value) {
         getBankList(row)
         isChannel.value = false
-        step3.value = true
         channelData.value = row
         mAmount.minAmount = row.minAmount
         mAmount.maxAmount = row.maxAmount
     } else {
-        step3.value = true
         bankDate.value = []
         channelData.value = row
         mAmount.minAmount = row.minAmount
@@ -1360,13 +1335,12 @@ const isShowStep3 = (row) => {
     if (row.type === "CHANNEL_TYPE_ALI_WALLET") tableData.CHANNEL_TYPE_ALI_WALLET[0] = row
     introduce.introduce = row.introduce
     introduce.enIntroduce = row.enIntroduce
+    loading.value = false
 }
 
 const showTable = () => {
     resetForm()
     myId.value = null
-    step3.value = false
-    isStep3.value = false
     isChannel.value = true
     getDepositList()
     // 重置表单
@@ -1375,6 +1349,7 @@ const showTable = () => {
 }
 
 const getDateList = async () => {
+
     const res = await customApi.CustomDropdown({ platform: "" })
     if (res.code === Code.StatusOK) {
         loginOptions.value = res.data
@@ -1442,26 +1417,86 @@ const cancelBank = () => {
         defaultBank: false
     })
 }
-
+// 新改内容
+// userStore.paymentChannel.value
+// userStore.channelList.value
+const channel = computed(() => userStore.paymentChannel)
+const channelList = computed(() => userStore.channelList)
+const channelListOptions = ref([])
+const channelId = ref(null)
+const loading = ref(false)
+const setAllAmount = () => {
+    const found = loginOptions.value.find(opt => opt.login === Number(loginValue.value))
+    params.amount = parseInt(found.balance)
+    validateAmount()
+}
+const allTabs = computed(() => {
+    return {
+        "Digital_Currency": t('Custom.Deposit.Channel3'),
+        "China_UnionPay": t('Custom.Deposit.Channel2'),
+        "Electronic_Wallet": t('Custom.Deposit.Channel4'),
+        "International_Transfer": t('Custom.Deposit.Channel1'),
+        "CHANNEL_TYPE_CARD": t('PersonalManagement.Label.CreditCard'),
+        "Ucard_Wallet": t('card.title'),
+        "CHANNEL_TYPE_ALI_WALLET": t('Label.Ali'),
+    }
+})
+function formatChannels(data) {
+    const result = []
+    // 遍历每个分类
+    for (const key in data) {
+        const list = data[key] || []
+        // 插入分类标题(禁用项)
+        if (list.length) {
+            result.push({
+                text: allTabs.value[key],
+                value: key,
+                disable: true
+            })
+        }
+        list.forEach(item => {
+            result.push({
+                ...item,
+                text: item.name,
+                value: item.code
+            })
+        })
+    }
+    return result
+}
 // ---------- 生命周期 ----------
 onMounted(() => {
+    loading.value = true
+    if (channelList.value) {
+        channelListOptions.value = formatChannels(channelList.value)
+    }
+    channelId.value = channel.value
+
+
+    // getDateList()
+    // getDepositList()
+    getFreeNumber()
+    isShowDialog()
     if (getInfoStatus5.value) {
         InfoStatus5.value = true
         return
     }
-    getFreeNumber()
-    isShowDialog()
-    // getDateList()
-    getDepositList()
+})
+onUnmounted(() => {
+    // userStore.savePaymentChannel('')
+    // userStore.saveChannelList('')
 })
 
-// 监听 value 变化
-watch(loginValue, (newVal) => {
+watch(channelId, async (newVal) => {
     if (newVal) {
-        step2.value = true
         showTable()
+        let row = channelListOptions.value.find(item => item.code == newVal)
+        console.log(row, 2222);
+
+        isShowStep3(row)
     }
-})
+});
+// 监听 value 变化
 
 // 监听 form.amount 变化
 watch(() => form.amount, (newVal) => {
@@ -1475,15 +1510,12 @@ watch(() => form.amount, (newVal) => {
 @import "@/uni.scss";
 
 .custom-withdraw {
+    width: px2rpx(566);
 
     .box {
         margin-bottom: px2rpx(20);
 
         .b-card {
-            background: #fff;
-            border-radius: px2rpx(12);
-            padding: px2rpx(20);
-            box-shadow: 0 px2rpx(4) px2rpx(12) rgba(0, 0, 0, 0.03);
 
             .card-top {
                 .tit {
@@ -1565,7 +1597,7 @@ watch(() => form.amount, (newVal) => {
 
             &:active {
                 transform: scale(0.98);
-                background: var(--color-navy-800);
+                background-color: #cf1322;
             }
         }
     }
@@ -1576,8 +1608,6 @@ watch(() => form.amount, (newVal) => {
         align-items: center;
         margin-bottom: px2rpx(12);
         padding: px2rpx(12) px2rpx(16);
-        background: var(--color-zinc-100);
-        border-radius: px2rpx(8);
 
         text {
             font-size: px2rpx(14);
@@ -1699,20 +1729,6 @@ watch(() => form.amount, (newVal) => {
                 margin-bottom: px2rpx(28);
             }
 
-            .uni-select,
-            .uni-combox,
-            .uni-easyinput__content,
-            .uni-date-editor--x {
-                border: none !important;
-                background-color: var(--color-zinc-100) !important;
-                border-radius: px2rpx(8) !important;
-            }
-
-            .uni-date-x {
-                border: none !important;
-                background-color: rgba(195, 195, 195, 0) !important;
-            }
-
             .uni-easyinput__content-input {
                 height: px2rpx(35) !important;
             }
@@ -1729,4 +1745,66 @@ watch(() => form.amount, (newVal) => {
         }
     }
 }
+
+
+.amount-box {
+    display: flex;
+    align-items: center;
+    gap: px2rpx(12);
+
+    .amount-input {
+        flex: 1;
+    }
+
+    .btn {
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        font-size: px2rpx(14);
+        color: var(--color-zinc-600);
+        margin-bottom: px2rpx(12);
+        height: px2rpx(35);
+        background-color: #cf1322;
+        color: #fff;
+        border-radius: px2rpx(4);
+        font-weight: 600;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        border: none;
+        padding: 0 px2rpx(20);
+        margin-top: px2rpx(21);
+        cursor: pointer;
+    }
+}
+
+.amount-box1 {
+    align-items: flex-start;
+
+    .btn {
+
+        margin-top: px2rpx(0);
+    }
+
+}
+
+.custom-deposit-container {
+    width: 100%;
+    display: flex;
+    gap: px2rpx(60);
+    justify-content: space-between;
+}
+
+@media (max-width: 992px) {
+    .custom-deposit {
+        width: 100%;
+        margin-top: px2rpx(20);
+    }
+
+    .custom-deposit-container {
+        display: flex;
+        gap: px2rpx(30);
+        flex-wrap: wrap;
+    }
+}
 </style>

+ 1 - 2
static/scss/global/global.scss

@@ -920,7 +920,6 @@ uni-content.collapsed {
     color: var(--color-navy-900);
     // color: var(--color-white);
     // background-color: var(--color-navy-900);
-    padding: 0 px2rpx(15);
     font-size: px2rpx(20);
     font-weight: bold;
 }
@@ -956,7 +955,7 @@ uni-content.collapsed {
 
         &:active {
             transform: scale(0.98);
-            background: var(--color-navy-800);
+            background-color: #cf1322;
         }
     }
 }