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