From 783767ba311eb89818b6349cea7c3a9e60d2b364 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Wed, 19 Mar 2025 16:46:29 +0800
Subject: [PATCH] 1

---
 src/page/home/home.vue      |    3 
 src/page/newUser/index.vue  |    3 
 src/page/user/recharge.vue  |  129 +++---------
 src/axios/api.js            |    4 
 src/axios/api.url.js        |    2 
 src/page/user/recharges.vue |  392 +++++++++++++++++++++++++++++++++++++++
 src/router/index.js         |   15 +
 7 files changed, 449 insertions(+), 99 deletions(-)

diff --git a/src/axios/api.js b/src/axios/api.js
index 1df5cfa..5634103 100644
--- a/src/axios/api.js
+++ b/src/axios/api.js
@@ -2,7 +2,9 @@
 // import APIUrl from '@/axios/api.url'
 
 // var img_url = APIUrl.util.image // 这个就是图片上传的api url
-
+export function thirdPartyRecharge(options) {
+  return post("/user/thirdPartyRecharge.do", options);
+}
 export function moneylogAll(options) {
   return post("/api/user/moneylogAll.do", options);
 }
diff --git a/src/axios/api.url.js b/src/axios/api.url.js
index 34717ee..4123025 100644
--- a/src/axios/api.url.js
+++ b/src/axios/api.url.js
@@ -11,7 +11,7 @@
   // 0311
   baseURL: "https://api.durocaspitall.com/",
   // 本地
-  // baseURL: "http://192.168.10.5:8091/",
+  // baseURL: "http://192.168.10.7:8091/",
   util: {
     image: "/util/image.html" // 图片上传
   }
diff --git a/src/page/home/home.vue b/src/page/home/home.vue
index 814d43f..8214cf5 100644
--- a/src/page/home/home.vue
+++ b/src/page/home/home.vue
@@ -57,7 +57,7 @@
                 <div class="name">{{ $t("yeb") }}</div>
               </div>
             </li> -->
-            <li @click="aRouter">
+            <li @click="$router.push('/recharge')">
               <div class="link">
                 <div class="icon">
                   <img
@@ -92,6 +92,7 @@
               </div>
             </li> -->
             <li @click="aRouter1">
+            <!-- <li @click="$router.push('/recharge')"> -->
               <div class="link">
                 <div class="icon">
                   <img
diff --git a/src/page/newUser/index.vue b/src/page/newUser/index.vue
index 4f3e26f..33dbbec 100644
--- a/src/page/newUser/index.vue
+++ b/src/page/newUser/index.vue
@@ -47,9 +47,8 @@
 
         <van-row style="margin-top: 16px">
           <van-col span="8" style="display: flex; justify-content: center">
-            <!-- @click="$router.push('/recharge')" -->
             <!-- @click="kefu" -->
-            <van-button @click="kefu" class="btn-two" type="primary">
+            <van-button @click="$router.push('/recharge')" class="btn-two" type="primary">
               {{ $t("hj172") }}
             </van-button>
           </van-col>
diff --git a/src/page/user/recharge.vue b/src/page/user/recharge.vue
index 7edccc9..d7e5676 100644
--- a/src/page/user/recharge.vue
+++ b/src/page/user/recharge.vue
@@ -17,57 +17,12 @@
     </van-nav-bar>
     <main>
       <div>
-        <div class="main-title">{{ $t("支持得支付渠道") }}</div>
-        <van-cell
-          is-link
-          :title="paymentSelectData.channelAccount || $t('請選擇')"
-          @click="paymentShow = true"
-        />
-        <!-- paymentSelectData.channelMinLimit -->
-        <van-action-sheet
-          v-model="paymentShow"
-          :actions="paymentActions"
-          :cancel-text="$t('qx')"
-          close-on-click-action
-          @select="paymentSelect"
-        />
 
-        <template v-if="paymentSelectData.channelAccount !== undefined">
-          <div class="main-title">{{ $t("收款卡號") }}</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">{{ $t("收款銀行") }}</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">{{ $t("收款人名字") }}</div>
-          <div class="white-input">
-            <span>{{ paymentSelectData.channelName }}</span>
-            <i
-              class="iconfont icon-fuzhi fuzhi"
-              @click="(e) => copyText(e, paymentSelectData.channelName)"
-            ></i>
-          </div>
-          <div class="main-title">{{ $t("請選擇充值賬戶") }}</div>
-          <van-cell
-            is-link
-            :title="$t(rechargeAccountData.key) || $t('請選擇')"
-          />
+
+        <template >
+
           <!-- @click="rechargeAccountShow = true" -->
-          <van-action-sheet
-            v-model="rechargeAccountShow"
-            :actions="rechargeAccountActions"
-            :cancel-text="$t('qx')"
-          />
+
           <!-- close-on-click-action -->
           <!-- @select="rechargeAccountSelect" -->
           <div class="main-title">{{ $t("請選擇充值金額") }}</div>
@@ -80,39 +35,18 @@
             <div class="balance" style="margin-top: 10px">
               <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">
-                {{ $t("上傳憑證:") }}
-              </div>
-              <el-upload
-                v-loading="loading"
-                :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"
-                :limit="1"
-              >
-                <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"
@@ -130,7 +64,7 @@
 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
@@ -176,23 +110,30 @@
       this.judgeValue();
     },
     async selCzFns() {
-      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,
+      const res = await thirdPartyRecharge({
+        tradeAmoun: this.value,
       });
-      if (res.status === 0) {
-        Notify({ type: "success", message: this.$t("hj182") });
-        setTimeout(() => {
-          this.$router.push("/rechargelist");
-        }, 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() {
@@ -389,4 +330,4 @@
   width: 2.740741rem;
   height: 2.740741rem;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/page/user/recharges.vue b/src/page/user/recharges.vue
new file mode 100644
index 0000000..7edccc9
--- /dev/null
+++ b/src/page/user/recharges.vue
@@ -0,0 +1,392 @@
+<template>
+  <div>
+    <van-nav-bar
+      :placeholder="true"
+      :safe-area-inset-top="true"
+      :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>
+        <div class="main-title">{{ $t("支持得支付渠道") }}</div>
+        <van-cell
+          is-link
+          :title="paymentSelectData.channelAccount || $t('請選擇')"
+          @click="paymentShow = true"
+        />
+        <!-- paymentSelectData.channelMinLimit -->
+        <van-action-sheet
+          v-model="paymentShow"
+          :actions="paymentActions"
+          :cancel-text="$t('qx')"
+          close-on-click-action
+          @select="paymentSelect"
+        />
+
+        <template v-if="paymentSelectData.channelAccount !== undefined">
+          <div class="main-title">{{ $t("收款卡號") }}</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">{{ $t("收款銀行") }}</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">{{ $t("收款人名字") }}</div>
+          <div class="white-input">
+            <span>{{ paymentSelectData.channelName }}</span>
+            <i
+              class="iconfont icon-fuzhi fuzhi"
+              @click="(e) => copyText(e, paymentSelectData.channelName)"
+            ></i>
+          </div>
+          <div class="main-title">{{ $t("請選擇充值賬戶") }}</div>
+          <van-cell
+            is-link
+            :title="$t(rechargeAccountData.key) || $t('請選擇')"
+          />
+          <!-- @click="rechargeAccountShow = true" -->
+          <van-action-sheet
+            v-model="rechargeAccountShow"
+            :actions="rechargeAccountActions"
+            :cancel-text="$t('qx')"
+          />
+          <!-- 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" style="margin-top: 10px">
+              <div>{{ $t("最小充值金額") }}</div>
+              <div class="balance-text" style="margin-bottom: 0px">
+                {{ paymentSelectData.channelMinLimit }}
+                {{ rechargeAccountData.symbolCode }}
+              </div>
+            </div>
+            <div class="division"></div>
+            <div class="upload-text">
+              <div style="margin-bottom: 0.37333rem">
+                {{ $t("上傳憑證:") }}
+              </div>
+              <el-upload
+                v-loading="loading"
+                :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"
+                :limit="1"
+              >
+                <img
+                  v-if="form.img1key"
+                  :src="form.img1key"
+                  class="id-img avatar"
+                  style="width: 100%; height: 100%"
+                />
+              </el-upload>
+            </div>
+          </div>
+          <!--  :disabled="butFlg" -->
+          <van-button
+            class="but"
+            type="primary"
+            style="margin-top: 1.04rem; margin-bottom: 1.04rem"
+            @click="selCzFns"
+            >{{ $t("hj172") }}</van-button
+          >
+        </template>
+      </div>
+    </main>
+  </div>
+</template>
+
+<script>
+import { ActionSheet } from "vant";
+import ClipboardJS from "clipboard";
+import apiUrl from "@/axios/api.url.js";
+import { siteGetPayInfo, selCzFn } from "../../axios/api";
+import { Notify } from "vant";
+import { rechargeAccountActions } from "@/utils/rechargeActions";
+// baseURL
+export default {
+  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: this.$t("銀行卡充值"), key: "YHK" }],
+      paymentShow: false,
+      paymentActions: [],
+      rechargeAccountShow: false,
+      rechargeAccountActions: rechargeAccountActions,
+      showBtn: true,
+      imgStatus: false,
+      form: {
+        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;
+      this.judgeValue();
+    },
+    async selCzFns() {
+      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() {
+      const res = await siteGetPayInfo();
+      if (res.status === 0) {
+        res.data.map((item) => {
+          item.name = item.channelAccount;
+        });
+        this.paymentActions = res.data;
+      }
+      console.log(res);
+    },
+    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) {
+      let formData = new FormData();
+      formData.append("file", file.file || file.raw);
+      // console.log(formData);
+      const res = await upload({ file: formData });
+      // console.log(res);
+    },
+    copyText(e, data) {
+      var clipboard = new ClipboardJS(".copy-button", {
+        text: () => data,
+      });
+
+      clipboard.on("success", () => {
+        clipboard.destroy();
+      });
+
+      clipboard.onClick(e);
+    },
+    onClickLeft() {
+      this.$router.push("/user");
+    },
+    select(e) {
+      this.rechargeSelect = e;
+    },
+    rechargeAccountSelect(e) {
+      this.rechargeAccountData = e;
+    },
+    paymentSelect(e) {
+      this.paymentSelectData = e;
+      this.rechargeAccountActions.map((item) => {
+        if (item.key === e.assetsType) {
+          this.rechargeAccountData = item;
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.but {
+  width: 100%;
+  color: #ffffff;
+  background-color: #1989fa;
+  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;
+    justify-content: space-between;
+    color: #181818;
+    font-family: PingFang SC;
+    font-size: 0.32rem;
+    font-style: normal;
+    font-weight: 500;
+    box-sizing: border-box;
+    .balance-text {
+      color: #181818;
+      font-family: PingFang SC;
+      font-size: 0.32rem;
+      font-style: normal;
+      font-weight: 500;
+      line-height: 0.37333rem;
+      margin-bottom: 0.37333rem;
+    }
+  }
+  .division {
+    width: 100%;
+    height: 0.02667rem;
+    flex-shrink: 0;
+    background-color: #e5e8ed;
+    margin: 0.37333rem 0;
+  }
+  .upload-text {
+    color: #181818;
+    font-family: PingFang SC;
+    font-size: 0.32rem;
+    font-style: normal;
+    font-weight: 500;
+  }
+}
+/deep/ .van-nav-bar__content {
+  height: 65px;
+}
+/deep/ .van-nav-bar__title {
+  font-family: "DINPro";
+  width: 100%;
+  height: 1.17333rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.48rem;
+  color: #14181f;
+}
+/deep/ .van-cell {
+  list-style: none;
+  width: 100%;
+  margin-top: 0.26667rem;
+  background: #fff;
+  border-radius: 0.10667rem;
+  list-style: none;
+  border: none;
+  font-family: Arial, sans-serif;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.37333rem;
+  line-height: 0.53333rem;
+  padding: 0.32rem 0.4rem;
+  box-sizing: border-box;
+  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;
+  font-size: 0.37333rem;
+  color: #8c9fad;
+  margin-top: 0.53333rem;
+}
+
+.white-input {
+  width: 100%;
+  background: #fff;
+  border-radius: 0.10667rem;
+  list-style: none;
+  border: none;
+  font-family: Arial, sans-serif;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.37333rem;
+  line-height: 0.53333rem;
+  padding: 0.32rem 0.4rem;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-top: 0.26667rem;
+  -webkit-box-shadow: 0 0.16rem 0.32rem #eaeaea99;
+  box-shadow: 0 0.16rem 0.32rem #eaeaea99;
+  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;
+}
+/deep/ .avatar-uploader {
+  width: 2.740741rem;
+  height: 2.740741rem;
+}
+</style>
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index ada5315..0d1d5f1 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -33,6 +33,7 @@
 import Authentication from "@/page/user/authentication";
 import Aggre from "@/page/user/agreement";
 import Recharge from "@/page/user/recharge";
+import recharges from "@/page/user/recharges";
 import RransferIndex from "@/page/user/ransferIndex";
 import transferindexList from "@/page/user//compontents/transferindex-list";
 import RechargeSure from "@/page/user/recharge-sure";
@@ -590,6 +591,20 @@
       },
       component: Recharge
     },
+
+    {
+      path: "/recharges",
+      name: "recharges",
+      meta: {
+        requireAuth: true,
+        show: true
+        // title: "充值"
+        // requireAuth: true,
+        // hasHeader: true,
+        // index: 31
+      },
+      component: recharges
+    },
     {
       path: "/transferIndex",
       name: "transferIndex",

--
Gitblit v1.9.3