From a45b82a1ddf35b35a2b6ace52fef7b7156655e6f Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Sat, 12 Apr 2025 19:44:12 +0800
Subject: [PATCH] 1

---
 src/page/user/recharge.vue |  227 ++++++++++++++++++--------------------------------------
 1 files changed, 75 insertions(+), 152 deletions(-)

diff --git a/src/page/user/recharge.vue b/src/page/user/recharge.vue
index 0d926c8..d7e5676 100644
--- a/src/page/user/recharge.vue
+++ b/src/page/user/recharge.vue
@@ -3,129 +3,56 @@
     <van-nav-bar
       :placeholder="true"
       :safe-area-inset-top="true"
-      title="充值中心"
+      :title="$t('充值中心')"
       left-arrow
       @click-left="onClickLeft"
-    />
+    >
+      <template #right>
+        <van-icon
+          @click="$router.push('/rechargelist')"
+          name="orders-o"
+          size="20"
+        />
+      </template>
+    </van-nav-bar>
     <main>
-      <!-- <div class="main-title">請選擇充值方式</div>
-      <van-cell
-        is-link
-        :title="rechargeSelect.name || '請選擇'"
-        @click="show = true"
-      />
-      <van-action-sheet
-        v-model="show"
-        :actions="actions"
-        cancel-text="取消"
-        close-on-click-action
-        @select="select"
-      /> -->
       <div>
-        <div class="main-title">支持得支付渠道</div>
-        <van-cell
-          is-link
-          :title="paymentSelectData.channelAccount || '請選擇'"
-          @click="paymentShow = true"
-        />
-        <!-- paymentSelectData.channelMinLimit -->
-        <van-action-sheet
-          v-model="paymentShow"
-          :actions="paymentActions"
-          cancel-text="取消"
-          close-on-click-action
-          @select="paymentSelect"
-        />
 
-        <template v-if="paymentSelectData.channelAccount !== undefined">
-          <div class="main-title">收款卡號</div>
-          <div class="white-input">
-            <span>{{ paymentSelectData.channelAccount }}</span>
-            <i
-              class="iconfont icon-fuzhi fuzhi"
-              @click="(e) => copyText(e, channelAccount)"
-            ></i>
-          </div>
-          <div class="main-title">收款銀行</div>
-          <div class="white-input">
-            <span>{{ paymentSelectData.channelDesc }}</span>
-            <i
-              class="iconfont icon-fuzhi fuzhi"
-              @click="(e) => copyText(e, paymentSelectData.channelDesc)"
-            ></i>
-          </div>
-          <div class="main-title">收款人名字</div>
-          <div class="white-input">
-            <span>{{ paymentSelectData.channelImg }}</span>
-            <i
-              class="iconfont icon-fuzhi fuzhi"
-              @click="(e) => copyText(e, channelImg)"
-            ></i>
-          </div>
-          <div class="main-title">請選擇充值賬戶</div>
-          <van-cell
-            is-link
-            :title="rechargeAccountData.name || '請選擇'"
-            @click="rechargeAccountShow = true"
-          />
-          <van-action-sheet
-            v-model="rechargeAccountShow"
-            :actions="rechargeAccountActions"
-            cancel-text="取消"
-          />
+
+        <template >
+
+          <!-- @click="rechargeAccountShow = true" -->
+
           <!-- close-on-click-action -->
           <!-- @select="rechargeAccountSelect" -->
-          <div class="main-title">請選擇充值金額</div>
+          <div class="main-title">{{ $t("請選擇充值金額") }}</div>
           <div class="white-input">
             <input type="number" :value="value" @input="inputValue" />
             <span class="myr"> {{ rechargeAccountData.symbolCode }}</span>
           </div>
 
           <div class="bottom-text">
-            <!---->
-            <!-- <div class="balance">
-              <div>需要支付</div>
-              <div class="balance-text" style="margin-bottom: 0px">
-                0.0000 {{ rechargeAccountData.symbolCode }}
-              </div>
-            </div> -->
             <div class="balance" style="margin-top: 10px">
-              <div>最小充值金額</div>
+              <div>{{ $t("最小充值金額") }}</div>
               <div class="balance-text" style="margin-bottom: 0px">
-                {{ paymentSelectData.channelMinLimit }}
-                {{ rechargeAccountData.symbolCode }}
+                <!-- {{ paymentSelectData.channelMinLimit }}
+                {{ rechargeAccountData.symbolCode }} -->
+                1000
               </div>
             </div>
             <div class="division"></div>
-            <div class="upload-text">
-              <div style="margin-bottom: 0.37333rem">上傳憑證:</div>
-              <el-upload
-                :with-credentials="true"
-                class="avatar-uploader"
-                :action="admin + '/user/upload.do'"
-                list-type="picture-card"
-                name="upload_file"
-                :show-file-list="false"
-                :on-success="handleAvatarSuccess"
-                :on-error="handleError"
-                :before-upload="beforeAvatarUpload"
-                :disabled="!showBtn"
-              >
-                <img
-                  v-if="form.img1key"
-                  :src="form.img1key"
-                  class="id-img avatar"
-                  style="width: 100%; height: 100%"
-                />
-              </el-upload>
-            </div>
+
           </div>
+          <!--  :disabled="butFlg" -->
+          <div style="font-size: 12px;">
+            If you encounter any deposit problems, please contact online customer service
+            </div>
           <van-button
             class="but"
             type="primary"
             style="margin-top: 1.04rem; margin-bottom: 1.04rem"
             @click="selCzFns"
-            >充值</van-button
+            >{{ $t("hj172") }}</van-button
           >
         </template>
       </div>
@@ -137,8 +64,9 @@
 import { ActionSheet } from "vant";
 import ClipboardJS from "clipboard";
 import apiUrl from "@/axios/api.url.js";
-import { siteGetPayInfo, selCzFn } from "../../axios/api";
+import { siteGetPayInfo, selCzFn ,thirdPartyRecharge } from "../../axios/api";
 import { Notify } from "vant";
+import { rechargeAccountActions } from "@/utils/rechargeActions";
 // baseURL
 export default {
   components: { ActionSheet, [Notify.Component.name]: Notify.Component },
@@ -148,42 +76,19 @@
   // getPayInfo
   data() {
     return {
+      loading: false,
+      butFlg: true,
       admin: apiUrl.baseURL,
       value: 0,
       rechargeSelect: {},
       paymentSelectData: {},
       rechargeAccountData: {},
       show: false,
-      actions: [{ name: "銀行卡充值", key: "YHK" }],
+      actions: [{ name: this.$t("銀行卡充值"), key: "YHK" }],
       paymentShow: false,
       paymentActions: [],
       rechargeAccountShow: false,
-      rechargeAccountActions: [
-        {
-          name: "美股資產",
-          title1: "美股可用",
-          title2: "美股冻结",
-          key: "US",
-          symbol: "$",
-          symbolCode: "USD",
-        },
-        {
-          name: "印股資產",
-          title1: "印股可用",
-          title2: "印股冻结",
-          key: "IN",
-          symbol: "RM",
-          symbolCode: "MYR",
-        },
-        {
-          name: "馬股資產",
-          title1: "馬股可用",
-          title2: "馬股冻结",
-          key: "MAS",
-          symbol: "RM",
-          symbolCode: "MYR",
-        },
-      ],
+      rechargeAccountActions: rechargeAccountActions,
       showBtn: true,
       imgStatus: false,
       form: {
@@ -192,29 +97,43 @@
     };
   },
   methods: {
+    judgeValue() {
+      console.log(this.form.img1key, this.value);
+      if (this.form.img1key && this.value) {
+        this.butFlg = false;
+      } else {
+        this.butFlg = true;
+      }
+    },
     inputValue(e) {
       this.value = e.target.value;
-      console.log(e.target.value);
+      this.judgeValue();
     },
     async selCzFns() {
-      // payTypeId    payAmt  img
-      if (!this.value) {
-        return Notify("请输入充值金额");
-      }
-      if (!this.form.img1key) {
-        return Notify("请上传文件");
-      }
-      const res = await selCzFn({
-        payTypeId: this.paymentSelectData.id,
-        payAmt: this.value,
-        img: this.form.img1key,
+      const res = await thirdPartyRecharge({
+        tradeAmoun: this.value,
       });
-      if (res.status === 0) {
-        Notify({ type: "success", message: "充值成功" });
-        setTimeout(() => {
-          this.onClickLeft();
-        }, 500);
+      console.log(res);
+      if(res.status==0){
+        window.open(res.data);
       }
+      // if (!this.value) {
+      //   return Notify(this.$t("hj171"));
+      // }
+      // if (!this.form.img1key) {
+      //   return Notify(this.$t("请上传文件"));
+      // }
+      // const res = await selCzFn({
+      //   payTypeId: this.paymentSelectData.id,
+      //   payAmt: this.value,
+      //   img: this.form.img1key,
+      // });
+      // if (res.status === 0) {
+      //   Notify({ type: "success", message: this.$t("hj182") });
+      //   setTimeout(() => {
+      //     this.$router.push("/rechargelist");
+      //   }, 500);
+      // }
       //  Notify("请上传文件");
     },
     async getPayInfos() {
@@ -230,21 +149,25 @@
     handleAvatarSuccess(res, file) {
       this.imgStatus = false;
       this.form.img1key = res.data.url;
+      this.loading = false;
+      this.judgeValue();
     },
     beforeAvatarUpload(file) {
+      this.loading = true;
+      this.judgeValue();
       this.imgStatus = true;
     },
     handleError() {
+      this.loading = false;
       this.imgStatus = false;
     },
     // upload
     async afterRead(file) {
-      console.log(file);
       let formData = new FormData();
       formData.append("file", file.file || file.raw);
-      console.log(formData);
+      // console.log(formData);
       const res = await upload({ file: formData });
-      console.log(res);
+      // console.log(res);
     },
     copyText(e, data) {
       var clipboard = new ClipboardJS(".copy-button", {
@@ -252,7 +175,6 @@
       });
 
       clipboard.on("success", () => {
-        // alert("已复制到剪贴板");
         clipboard.destroy();
       });
 
@@ -269,14 +191,11 @@
     },
     paymentSelect(e) {
       this.paymentSelectData = e;
-      console.log(e);
       this.rechargeAccountActions.map((item) => {
-        console.log(item, e);
         if (item.key === e.assetsType) {
           this.rechargeAccountData = item;
         }
       });
-      console.log(this.rechargeAccountData, " this.rechargeAccountData");
     },
   },
 };
@@ -407,4 +326,8 @@
 /deep/ .el-upload__input {
   display: none !important;
 }
-</style>
\ No newline at end of file
+/deep/ .avatar-uploader {
+  width: 2.740741rem;
+  height: 2.740741rem;
+}
+</style>

--
Gitblit v1.9.3