zhb 1 月之前
父節點
當前提交
f3118f388f
共有 4 個文件被更改,包括 1298 次插入729 次删除
  1. 613 275
      pages/customer/deposit.vue
  2. 69 115
      pages/customer/transfer.vue
  3. 53 83
      pages/customer/wallet-transfer.vue
  4. 563 256
      pages/customer/withdrawal.vue

文件差異過大導致無法顯示
+ 613 - 275
pages/customer/deposit.vue


+ 69 - 115
pages/customer/transfer.vue

@@ -2,106 +2,74 @@
     <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
         <cwg-header :title="t('Home.page_customer.item5')" />
         <uni-loading v-if="loading" />
-        <view id="custom_Transfer" class="transfer-page" v-else>
-            <view class="main-content">
-                <!-- 步骤1:选择转出账户 -->
-                <view class="box box-step1">
-                    <view class="b-card">
-                        <view class="card-top">
-                            <view class="card-row">
-                                <view class="tit">
-                                    <text class="iconfont icon-caret-right"></text>
-                                    <span>{{ t('Custom.Transfer.Title1') }}</span>
-                                </view>
-                            </view>
-                            <view class="card-row">
-                                <cwg-combox v-model:value="loginValue" :clearable="false" :options="withdrawDisplayList"
-                                    :placeholder="t('placeholder.choose')" />
-                            </view>
-                        </view>
-                    </view>
-                </view>
-
-                <!-- 步骤2:转账表单 -->
-                <view class="box box-step2" v-if="step2">
-                    <view class="b-card">
-                        <view class="card-top">
-                            <view class="card-row card-tit">
-                                <view class="title-wrapper">
-                                    <view class="tit">
-                                        <text class="iconfont icon-caret-right"></text>
-                                        <span>{{ t('Custom.Transfer.Title2') }}</span>
-                                    </view>
-                                </view>
-                            </view>
-                            <view class="card-row">
-                                <cwg-combox v-model:value="transferType" :clearable="false"
-                                    :options="transferTypeOptions" :placeholder="t('placeholder.choose')" />
-                            </view>
-
+        <view class="container" v-else>
+            <view class="row">
+                <view class="col-lg-8 col-sm-12">
+                    <view class="card">
+                        <view class="border-0 card-header">
                             <uni-forms ref="formRef" :model="form" :rules="rules" label-position="top"
                                 validate-trigger="submit">
-                                <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="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 class="row">
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'Custom.Transfer.Title1'"></h5>
+                                        <uni-forms-item>
+                                            <cwg-combox v-model:value="loginValue" :clearable="false"
+                                                :options="withdrawDisplayList"
+                                                :placeholder="t('placeholder.choose')" /></uni-forms-item>
                                     </view>
-                                </view>
-                                <view class="card-row amount-box">
-                                    <uni-forms-item name="amount" :error-message="amountErrorMessage"
-                                        class="amount-input">
-                                        <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
-                                            @blur="validateAmount" />
-                                    </uni-forms-item>
-                                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
-                                </view>
-
-                                <view class="form-row">
-                                    <view class="form-col-full">
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'Custom.Transfer.Title2'"></h5>
                                         <uni-forms-item>
-                                            <view class="tips">
-                                                <view class="title">{{ t('Custom.Transfer.Tips') }}</view>
-                                                <view>{{ t('Custom.Transfer.Tips1') }}</view>
-                                                <view>{{ t('Custom.Transfer.Tips2') }}</view>
-                                                <view>{{ t('Custom.Transfer.Tips3') }}</view>
-                                                <view>{{ t('Custom.Transfer.Tips4') }}</view>
-                                            </view>
+                                            <cwg-combox v-model:value="transferType" :clearable="false"
+                                                :options="transferTypeOptions"
+                                                :placeholder="t('placeholder.choose')" /></uni-forms-item>
+                                    </view>
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'Custom.Transfer.IntoAccount'"></h5>
+                                        <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>
-                                <view class="form-row">
-                                    <button class="s-btn reselect" type="primary" @click="toTransfer">{{ locale === 'es'
-                                        ?
-                                        'Enviar solicitud' : t('Btn.Submit') }}</button>
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'Custom.Transfer.Amount'"></h5>
+                                        <view class="card-row amount-box">
+                                            <uni-forms-item name="amount" :error-message="amountErrorMessage"
+                                                class="amount-input">
+                                                <uni-easyinput v-model="form.amount"
+                                                    :placeholder="t('placeholder.input')" @blur="validateAmount" />
+                                            </uni-forms-item>
+                                            <view class="btn btn-dark waves-effect waves-light" v-t="'State.All'"
+                                                @click="setAllAmount"></view>
+                                        </view>
+                                    </view>
+
+                                    <button @click="toTransfer" class="btn btn-dark waves-effect waves-light"><i
+                                            class="fi fi-rs-check"></i> <text v-t="'Btn.Submit'"></text></button>
                                 </view>
                             </uni-forms>
                         </view>
                     </view>
                 </view>
+                <div class="col-lg-4 col-sm-12">
+                    <h4 v-t="'Custom.Transfer.Tips'"></h4>
+                    <view class="fs-6 fw-semibold lh-sm">
+                        <view v-t="'Custom.Transfer.Tips1'"></view>
+                        <view v-t="'Custom.Transfer.Tips2'"></view>
+                        <view v-t="'Custom.Transfer.Tips3'"></view>
+                        <view v-t="'Custom.Transfer.Tips4'"></view>
+                    </view>
+                </div>
+
             </view>
-            <!-- 失败弹窗 -->
-            <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
-            <!-- 成功弹窗 -->
-            <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
-            <!-- 等待弹窗 -->
-            <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
         </view>
+        <!-- 步骤2:转账表单 -->
+        <!-- 失败弹窗 -->
+        <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
+        <!-- 成功弹窗 -->
+        <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
+        <!-- 等待弹窗 -->
+        <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
         <cwg-confirm-popup />
     </cwg-page-wrapper>
 </template>
@@ -559,6 +527,20 @@ watch(transferType, (newVal) => {
 <style lang="scss" scoped>
 @import "@/uni.scss";
 
+.amount-box {
+    display: flex;
+    align-items: center;
+    gap: px2rpx(12);
+
+    .amount-input {
+        flex: 1;
+    }
+
+    .btn {
+        margin-bottom: px2rpx(22);
+    }
+}
+
 .transfer-page {
     width: 100%;
     padding-bottom: px2rpx(20);
@@ -592,34 +574,6 @@ watch(transferType, (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);
-                            margin-bottom: px2rpx(22);
-                            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);
-                            cursor: pointer;
-                        }
-                    }
 
                     .card-tit {
                         margin-bottom: px2rpx(0) !important;

+ 53 - 83
pages/customer/wallet-transfer.vue

@@ -1,76 +1,59 @@
 <template>
     <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
         <cwg-header :title="t('wallet.item62')" />
-        <view id="custom_WalletTransfer" class="transfer-page">
-            <view class="main-content">
-                <view class="box box-step2">
-                    <view class="b-card">
-                        <view class="card-top">
+
+        <view class="container">
+            <view class="row">
+                <view class="col-lg-12 col-sm-12">
+                    <view class="card">
+                        <view class="border-0 card-header">
                             <uni-forms ref="formRef" :model="form" :rules="rules" label-position="top"
                                 validate-trigger="submit">
-
-                                <view class="card-row card-tit">
-                                    <view class="title-wrapper">
-                                        <view class="tit">
-                                            <text class="iconfont icon-caret-right"></text>
-                                            <span>{{ t('wallet.item63') }}</span>
-                                        </view>
+                                <view class="row">
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'wallet.item63'"></h5>
+                                        <uni-forms-item name="walletbalance">
+                                            <uni-easyinput v-model="walletbalanceDisplay" disabled
+                                                class="disabled-input" />
+                                        </uni-forms-item>
                                     </view>
-                                </view>
-                                <view class="card-row">
-                                    <uni-forms-item name="walletbalance">
-                                        <uni-easyinput v-model="walletbalanceDisplay" disabled class="disabled-input" />
-                                    </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.IntoAccount') }}</span>
-                                        </view>
+                                    <view class="col-lg-6">
+                                        <h5 class="mb-3" v-t="'Custom.Transfer.IntoAccount'"></h5>
+                                        <uni-forms-item name="login">
+                                            <cwg-combox v-model:value="form.login" :clearable="false"
+                                                :options="toOptionsDisplay" :placeholder="t('placeholder.choose')" />
+                                        </uni-forms-item>
                                     </view>
-                                </view>
-                                <view class="card-row">
-                                    <uni-forms-item name="login">
-                                        <cwg-combox v-model:value="form.login" :clearable="false"
-                                            :options="toOptionsDisplay" :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('Label.Amount') }}</span>
+                                    <view class="col-lg-6 mb-3">
+                                        <h5 class="mb-3" v-t="'Label.Amount'"></h5>
+                                        <view class="card-row amount-box">
+                                            <uni-forms-item name="amount" :error-message="amountErrorMessage"
+                                                class="amount-input">
+                                                <uni-easyinput v-model="form.amount"
+                                                    :placeholder="t('placeholder.input')" @blur="validateAmount" />
+                                            </uni-forms-item>
+                                            <view class="btn btn-dark waves-effect waves-light" v-t="'State.All'"
+                                                @click="setAllAmount"></view>
                                         </view>
                                     </view>
-                                </view>
-                                <view class="card-row amount-box">
-                                    <uni-forms-item name="amount" :error-message="amountErrorMessage"
-                                        class="amount-input">
-                                        <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
-                                            @blur="validateAmount" />
-                                    </uni-forms-item>
-                                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
-                                </view>
 
-                                <view class="form-row">
-                                    <button class="s-btn reselect" type="primary" @click="toTransfer">{{ t('Btn.Submit')
-                                    }}</button>
+
+                                    <button @click="toTransfer" class="btn btn-dark waves-effect waves-light"><i
+                                            class="fi fi-rs-check"></i> <text v-t="'Btn.Submit'"></text></button>
                                 </view>
                             </uni-forms>
                         </view>
                     </view>
                 </view>
+
             </view>
-            <!-- 失败弹窗 -->
-            <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
-            <!-- 成功弹窗 -->
-            <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
-            <!-- 等待弹窗 -->
-            <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
         </view>
+        <!-- 失败弹窗 -->
+        <cwg-error-popup v-model:visible="dialogError" @confirm="closeDia" :responseMessage="RES" />
+        <!-- 成功弹窗 -->
+        <cwg-success-popup v-model:visible="dialogSuccess" @confirm="closeDia" />
+        <!-- 等待弹窗 -->
+        <cwg-wait-popup v-model:visible="dialogCheckWait" type="center" :mask-click="false" :showFooters="false" />
     </cwg-page-wrapper>
 </template>
 
@@ -255,6 +238,20 @@ onMounted(() => {
 <style scoped lang="scss">
 @import "@/uni.scss";
 
+.amount-box {
+    display: flex;
+    align-items: center;
+    gap: px2rpx(12);
+
+    .amount-input {
+        flex: 1;
+    }
+
+    .btn {
+        margin-bottom: px2rpx(22);
+    }
+}
+
 .transfer-page {
     width: 100%;
     padding-bottom: px2rpx(20);
@@ -288,34 +285,7 @@ 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);
-                            margin-bottom: px2rpx(22);
-                            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);
-                            cursor: pointer;
-                        }
-                    }
 
                     .card-tit {
                         margin-bottom: px2rpx(0) !important;

+ 563 - 256
pages/customer/withdrawal.vue

@@ -1,106 +1,98 @@
 <template>
   <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
     <cwg-header :title="t('Home.page_customer.item3')" />
-
-    <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>
-
-        <!-- 步骤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 class="container">
+      <!-- <view
+        class="app-page-head card-header d-flex gap-3 flex-wrap align-items-center justify-content-between border-0">
+        <view class="app-page-head mb-0">
+          <h1 class="app-page-title">Withdrawal</h1>
         </view>
-
-        <!-- 步骤3:填写出金信息 -->
-        <view class="box box-step3" v-if="step3">
-          <view class="b-card">
-            <view class="card-top">
-              <!-- 表单 -->
+      </view> -->
+
+      <uni-loading v-if="loading" />
+      <view class="row" v-else>
+        <p v-if="channelData.type === 'DIGITAL_CURRENCY'" class="text-secondary" v-t="'Custom.Deposit.Des'" />
+        <view class="col-lg-8">
+          <view class="card">
+            <view class="border-0 card-header">
               <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 class="row">
+                  <!-- 步骤1:选择账户 -->
+                  <view class="col-lg-6">
+                    <h5 class="mb-3" v-t="'Custom.Deposit.Title11'"></h5>
+                    <uni-forms-item>
+                      <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
+                        :placeholder="t('placeholder.choose')" @change="onAccountChange" />
+                    </uni-forms-item>
+                  </view>
+                  <!-- 步骤2:支付通道列表 -->
+                  <view class="col-lg-6" v-if="step2">
+                    <h5 class="mb-3" v-t="'Custom.Deposit.Title22'"></h5>
+                    <uni-forms-item>
+                      <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
+                        :placeholder="t('placeholder.choose')">
+                      </cwg-combox>
+                    </uni-forms-item>
                   </view>
-                  <view v-if="bankDate.length">
+
+
+                  <!-- 银行选择(针对有银行列表的通道) -->
+                  <view class="col-lg-6" v-if="bankDate.length">
+                    <h5 class="mb-3" v-t="'Custom.Withdraw.Title5'"></h5>
                     <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>
-
                   <!-- 电子钱包地址输入 -->
-                  <view v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
-                    <view class="tit">
-                      <text>{{ getWalletLabel }}</text>
+                  <template v-if="['CHANNEL_TYPE_WALLET', 'CHANNEL_TYPE_ALI_WALLET'].includes(channelData.type)">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3">{{ getWalletLabel }}</h5>
+                      <uni-forms-item name="address">
+                        <uni-easyinput :clearable="false" v-model="form.address"
+                          :placeholder="t('placeholder.input')" />
+                      </uni-forms-item>
                     </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>
-
+                  </template>
                   <!-- 数字货币选择(从已保存地址中选择) -->
                   <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 class="col-lg-6">
                       <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>
+                        <h5 class="mb-3" v-t="'Custom.Withdraw.Title6'"></h5>
                       </view>
                       <uni-forms-item>
                         <cwg-combox :clearable="false" v-model:value="myId" :options="digitalOptions"
+                          :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange" />
+                        <!-- <cwg-combox :clearable="false" v-model:value="myId" :options="digitalOptions"
                           :placeholder="t('placeholder.choose')" @change="onDigitalCurrencyChange"
-                          :disabled="!ruleForm.bankBlockchain.length" />
+                          :disabled="!ruleForm.bankBlockchain.length" /> -->
                       </uni-forms-item>
+
+                      <h6>
+                        <text v-t="'blockchain.item10'"></text>
+                        <text class="add-btn crm-cursor" @click="openAddBankCard('add_bankBlockchain')">
+                          {{ t('Custom.Withdraw.addBank1') }}
+                        </text>
+                      </h6>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('blockchain.item3')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'blockchain.item3'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.addressName" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('blockchain.item4')">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'blockchain.item4'"></h5>
+                      <uni-forms-item>
                         <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="col-lg-12" v-if="form.addressProve">
+                      <h5 class="mb-3" v-t="'blockchain.item5'"></h5>
+                      <uni-forms-item>
                         <view class="proof">
                           <template v-if="form.addressProve && (form.addressProve.slice(-3).toLowerCase() === 'pdf')">
                             <cwg-link type="pdf1" :url="imgUrl + form.addressProve" target="_blank"
@@ -111,241 +103,556 @@
                         </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>
 
+                    <!-- <view class="col-lg-12">
+                      <text class="tit"><text class="iconfont iconi"></text><text
+                          v-t="'Custom.Deposit.Des'"></text></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.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>
-                  </view>
-                  <!-- 银行卡/信用卡选择 -->
-                  <view :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
+                  <!-- 银行卡/信用卡选择下拉框 -->
+                  <view class="col-lg-6"
                     v-if="['BANK', 'BANK_TELEGRAPHIC', 'CHANNEL_TYPE_CARD'].includes(channelData.type)">
+                    <h5 class="mb-3" v-t="'Custom.Withdraw.Title4'"></h5>
                     <uni-forms-item>
                       <cwg-combox :clearable="false" v-model:value="myId" :options="bankCardOptions"
                         @change="chooseBank" :placeholder="t('placeholder.choose')" />
                     </uni-forms-item>
+                    <h6 class="add-back">
+                      <text v-if="channelData.type == 'BANK_TELEGRAPHIC'" v-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'" v-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'"
+                        v-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>
+                    </h6>
                   </view>
-                  <!-- 通用银行信息展示 -->
+
+                  <!-- 通用银行信息展示 (BANK) -->
                   <template v-if="channelData.type == 'BANK'">
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.UserName')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.UserName'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankUname" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.BankCardNum'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankCardNum" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.BankName'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankName" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.bankBranchName')">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.bankBranchName'"></h5>
+                      <uni-forms-item>
                         <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')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'PersonalManagement.Label.CreditCardAccountName'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankUname" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('PersonalManagement.Label.CreditCardAccount')">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'PersonalManagement.Label.CreditCardAccount'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankCardNum" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item label="CVV">
+
+                    <view class="col-lg-6">
+                      <h5 class="mb-3">CVV</h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.cvv" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('PersonalManagement.Label.ExpirationYear')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'PersonalManagement.Label.ExpirationYear'"></h5>
+                      <uni-forms-item>
                         <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')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.UserName'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankUname" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.BankCardNum')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.BankCardNum'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankCardNum" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.BankName')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.BankName'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.bankName" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.swiftCode')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.swiftCode'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.swiftCode" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.bankCode')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.bankCode'"></h5>
+                      <uni-forms-item>
                         <uni-easyinput disabled v-model="form.customBankCode" />
                       </uni-forms-item>
                     </view>
-                    <view>
-                      <uni-forms-item :label="t('Custom.Withdraw.bankAddr')">
+                    <view class="col-lg-6">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.bankAddr'"></h5>
+                      <uni-forms-item>
                         <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>
+                    <view class="col-lg-6">
+                      <h5 class="mb-3"> Account Agency NO</h5>
+                      <uni-forms-item name="agencyNo">
                         <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">
+                    <view class="col-lg-6" v-if="channelData.code == 'PAY_RETAILER_REMIT_PAY_KEY_BRW'">
+                      <h5 class="mb-3" v-t="'Custom.Withdraw.cpf'"></h5>
+                      <uni-forms-item 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 class="col-lg-6" v-if="channelData.type == 'BANK_TELEGRAPHIC'">
+                    <h5 class="mb-3" v-t="'Custom.Withdraw.CurrencyType'"></h5>
+                    <uni-forms-item>
+                      <cwg-combox :clearable="false" v-model:value="form.currency"
+                        :options="[{ text: 'USD', value: 'USD' }]" @change="(val) => form.currency = val" />
+                    </uni-forms-item>
                   </view>
-                  <view v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
-                    <view class="tit">
-                      <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                      }}</text>
+                  <view class="col-lg-6">
+                    <h5 class="mb-3">
+                      <text v-t="'Custom.Withdraw.Title3'"></text>
+                      <text v-if="channelData.type !== 'BANK_TELEGRAPHIC'">({{ channelData.currency }})</text>
+                    </h5>
+                    <view 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>
+                      <view class="btn btn-dark waves-effect waves-light" v-t="'State.All'" @click="setAllAmount">
+                      </view>
                     </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>
-
-
-                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
 
-                  </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" />
+                  <view class="col-lg-12 mb-3">
+                    <!-- 协议同意部分 -->
+                    <view class="agree mb-3">
+                      <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" v-t="'Custom.Withdraw.Des'"></text>
+                          </label>
+                        </checkbox-group>
                       </uni-forms-item>
                     </view>
-                    <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" />
+                    <view class="agree  mb-3" 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>
+                              <text v-t="'Custom.Withdraw.item1'"></text><br>
+                              <text v-t="'Custom.Withdraw.item1_1'"></text><br>
+                              <text v-t="'Custom.Withdraw.item1_2'"></text>
+                            </text>
+                          </label>
+                        </checkbox-group>
                       </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>
-                </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="btn btn-dark waves-effect waves-light" @click="openTips"><i class="fi fi-rs-check">
+                    </i><text v-t="'Btn.Submit'"></text></button>
                 </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>
-            <cwg-rich-text class="attention" :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
+        <view class="col-lg-4">
+          <view class="tips" v-if="(introduce.introduce || introduce.enIntroduce)">
+            <view>
+              <cwg-rich-text class="attention" :nodes="isZh ? introduce.introduce : introduce.enIntroduce" />
+            </view>
           </view>
         </view>
       </view>
     </view>
+    <template v-if="step4">
+      <view class="custom-deposit-container">
+        <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>
+
+          <!-- 步骤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>
+
+          <!-- 步骤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>
+                    <!-- 电子钱包地址输入 -->
+                    <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>
+                    <!-- 数字货币选择(从已保存地址中选择) -->
+                    <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" />
+                          <!-- <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')">
+                      <view
+                        style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
+                        <view class="tit">
 
+                          <text>{{ t('Custom.Withdraw.Title4') }}</text>
+                        </view>
+                        <view 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>
+                    </view>
+                    <!-- 银行卡/信用卡选择 -->
+                    <view 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')" />
+                      </uni-forms-item>
+                    </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>
+
+
+                      <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
+
+                    </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>
+                      <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>
+                  </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>
+            </view>
+          </view>
+        </view>
+      </view>
+    </template>
+    <!-- 提示弹窗 -->
+    <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" />
   </cwg-page-wrapper>
 
 </template>
@@ -1868,20 +2175,20 @@ watch(() => form.amount, (newVal) => {
           align-items: center;
           color: var(--bs-heading-color);
           position: relative;
-          padding-left: 20px;
-
-          &:after {
-            content: '';
-            position: absolute;
-            left: 0;
-            top: 50%;
-            transform: translateY(-50%);
-            width: 0;
-            height: 0;
-            border-top: 6px solid transparent;
-            border-bottom: 6px solid transparent;
-            border-left: 8px solid currentColor;
-          }
+          // padding-left: 20px;
+
+          // &:after {
+          //   content: '';
+          //   position: absolute;
+          //   left: 0;
+          //   top: 50%;
+          //   transform: translateY(-50%);
+          //   width: 0;
+          //   height: 0;
+          //   border-top: 6px solid transparent;
+          //   border-bottom: 6px solid transparent;
+          //   border-left: 8px solid currentColor;
+          // }
 
           .iconfont {
             margin-right: px2rpx(8);
@@ -2098,22 +2405,22 @@ watch(() => form.amount, (newVal) => {
     flex: 1;
   }
 
-  .btn {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    font-size: px2rpx(14);
-    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;
-  }
+  // .btn {
+  //   display: flex;
+  //   align-items: center;
+  //   justify-content: center;
+  //   font-size: px2rpx(14);
+  //   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 {

部分文件因文件數量過多而無法顯示