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