From 8402f0794434bac13c0de02d47fb5c28d6e2639c Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Fri, 06 Feb 2026 14:46:03 +0800
Subject: [PATCH] 更换ws地址

---
 src/page/user/recharge.vue |  292 ++++++++++++++++++++++++++-------------------------------
 1 files changed, 133 insertions(+), 159 deletions(-)

diff --git a/src/page/user/recharge.vue b/src/page/user/recharge.vue
index 0d926c8..c958f4c 100644
--- a/src/page/user/recharge.vue
+++ b/src/page/user/recharge.vue
@@ -3,121 +3,79 @@
     <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>
+        <template>
+          <!-- <div class="main-title">{{ $t("请选择充值账户") }}</div>
           <van-cell
             is-link
-            :title="rechargeAccountData.name || '請選擇'"
+            :title="rechargeAccountData.name || $t('請選擇')"
             @click="rechargeAccountShow = true"
           />
           <van-action-sheet
             v-model="rechargeAccountShow"
             :actions="rechargeAccountActions"
-            cancel-text="取消"
-          />
-          <!-- close-on-click-action -->
-          <!-- @select="rechargeAccountSelect" -->
-          <div class="main-title">請選擇充值金額</div>
+            :cancel-text="$t('hj106')"
+            close-on-click-action
+            @select="rechargeAccountSelect"
+          /> -->
+
+          <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 }}
+                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>
+          <!--  :disabled="butFlg" -->
+          <div style="font-size: 12px;">
+            If you encounter any deposit problems, please contact online
+            customer service
+          </div>
+          <div
+            style="display: flex;justify-content: space-between;align-items: center;margin-top: 20px;"
+          >
+            <div
+              class="payclass"
+              @click="paytype = 1"
+              :style="
+                paytype == 1
+                  ? 'border: 1px solid #c4d600;'
+                  : 'border: 1px solid  #e5e8ed;'
+              "
+            >
+              Pay 1
+            </div>
+            <div
+              class="payclass"
+              @click="paytype = 2"
+              :style="
+                paytype == 2
+                  ? 'border: 1px solid #c4d600;'
+                  : 'border: 1px solid  #e5e8ed;'
+              "
+            >
+              Pay 2
             </div>
           </div>
           <van-button
@@ -125,7 +83,7 @@
             type="primary"
             style="margin-top: 1.04rem; margin-bottom: 1.04rem"
             @click="selCzFns"
-            >充值</van-button
+            >{{ $t("hj172") }}</van-button
           >
         </template>
       </div>
@@ -137,90 +95,76 @@
 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 },
+  components: {
+    ActionSheet,
+    [Notify.Component.name]: Notify.Component
+  },
   mounted() {
     this.getPayInfos();
   },
   // 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,
+      paytype: 1,
       form: {
-        img1key: "",
-      },
+        img1key: ""
+      }
     };
   },
   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,
+        type: this.paytype
       });
-      if (res.status === 0) {
-        Notify({ type: "success", message: "充值成功" });
-        setTimeout(() => {
-          this.onClickLeft();
-        }, 500);
+      console.log(res);
+      if (res.status == 0) {
+        window.open(res.data);
+      } else {
+        Notify(res.msg);
       }
-      //  Notify("请上传文件");
     },
     async getPayInfos() {
       const res = await siteGetPayInfo();
       if (res.status === 0) {
-        res.data.map((item) => {
+        res.data.map(item => {
           item.name = item.channelAccount;
         });
         this.paymentActions = res.data;
@@ -230,36 +174,41 @@
     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);
-      const res = await upload({ file: formData });
-      console.log(res);
+      // console.log(formData);
+      const res = await upload({
+        file: formData
+      });
+      // console.log(res);
     },
     copyText(e, data) {
       var clipboard = new ClipboardJS(".copy-button", {
-        text: () => data,
+        text: () => data
       });
 
       clipboard.on("success", () => {
-        // alert("已复制到剪贴板");
         clipboard.destroy();
       });
 
       clipboard.onClick(e);
     },
     onClickLeft() {
-      this.$router.push("/user");
+      this.$router.push("/account");
     },
     select(e) {
       this.rechargeSelect = e;
@@ -269,34 +218,43 @@
     },
     paymentSelect(e) {
       this.paymentSelectData = e;
-      console.log(e);
-      this.rechargeAccountActions.map((item) => {
-        console.log(item, e);
+      this.rechargeAccountActions.map(item => {
         if (item.key === e.assetsType) {
           this.rechargeAccountData = item;
         }
       });
-      console.log(this.rechargeAccountData, " this.rechargeAccountData");
-    },
-  },
+    }
+  }
 };
 </script>
 
 <style lang="less" scoped>
+.payclass {
+  width: 150px;
+  height: 40px;
+  border-radius: 5px;
+  border: 1px solid #e5e8ed;
+  text-align: center;
+  line-height: 40px;
+}
+
 .but {
   width: 100%;
   color: #ffffff;
-  background-color: #1989fa;
+  background-color: #c4d600;
+  border: none;
   border-radius: 8px;
   height: 66px;
   font-size: 22px;
 }
+
 .bottom-text {
   width: 100%;
   background-color: #fff;
   padding: 0.26667rem 0.37333rem;
   box-sizing: border-box;
   margin-top: 0.26667rem;
+
   // margin-bottom: 80px;
   .balance {
     display: flex;
@@ -307,6 +265,7 @@
     font-style: normal;
     font-weight: 500;
     box-sizing: border-box;
+
     .balance-text {
       color: #181818;
       font-family: PingFang SC;
@@ -317,6 +276,7 @@
       margin-bottom: 0.37333rem;
     }
   }
+
   .division {
     width: 100%;
     height: 0.02667rem;
@@ -324,6 +284,7 @@
     background-color: #e5e8ed;
     margin: 0.37333rem 0;
   }
+
   .upload-text {
     color: #181818;
     font-family: PingFang SC;
@@ -332,9 +293,11 @@
     font-weight: 500;
   }
 }
+
 /deep/ .van-nav-bar__content {
   height: 65px;
 }
+
 /deep/ .van-nav-bar__title {
   font-family: "DINPro";
   width: 100%;
@@ -347,6 +310,7 @@
   font-size: 0.48rem;
   color: #14181f;
 }
+
 /deep/ .van-cell {
   list-style: none;
   width: 100%;
@@ -365,10 +329,12 @@
   margin-top: 0.26667rem;
   box-shadow: 0 0.16rem 0.32rem #eaeaea99;
 }
+
 main {
   padding: 0 0.4rem 0.53333rem;
   box-sizing: border-box;
 }
+
 .main-title {
   font-style: normal;
   font-weight: 400;
@@ -397,14 +363,22 @@
   display: flex;
   justify-content: space-between;
 }
+
 .fuzhi {
   font-size: 28px;
   cursor: pointer;
 }
+
 .myr {
   color: rgb(150, 151, 153);
 }
+
 /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