| | |
| | | <template> |
| | | <div> |
| | | <van-nav-bar |
| | | :placeholder="true" |
| | | :safe-area-inset-top="true" |
| | | :title="$t('充值中心')" |
| | | left-arrow |
| | | @click-left="onClickLeft" |
| | | > |
| | | <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" |
| | | /> |
| | | <van-icon @click="$router.push('/rechargelist')" name="orders-o" size="20" /> |
| | | </template> |
| | | </van-nav-bar> |
| | | <main> |
| | | <div> |
| | | |
| | | |
| | | <template > |
| | | <template> |
| | | |
| | | <!-- @click="rechargeAccountShow = true" --> |
| | | |
| | | <!-- close-on-click-action --> |
| | | <!-- @select="rechargeAccountSelect" --> |
| | | <div class="list_title"> |
| | | <div class="list_top">{{$t('线上充值')}}</div> |
| | | <div class="list_xx"> |
| | | <div class="list_xx_box" v-for="(item,index) in czlist" :key="index" @click="clicktype(item)">{{item}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="main-title">{{ $t("請選擇充值金額") }}</div> |
| | | <div class="white-input"> |
| | | <input type="number" :value="value" @input="inputValue" /> |
| | |
| | | <div class="balance-text" style="margin-bottom: 0px"> |
| | | <!-- {{ paymentSelectData.channelMinLimit }} |
| | | {{ rechargeAccountData.symbolCode }} --> |
| | | 1000 |
| | | 100000 |
| | | </div> |
| | | </div> |
| | | <div class="division"></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" |
| | | >{{ $t("hj172") }}</van-button |
| | | > |
| | | <div style="font-size: 12px;margin-top: 20px;color: #939298;"> |
| | | {{$t('tips333')}} |
| | | </div> |
| | | <div style="font-size: 12px;margin-top: 10px;color: #939298;line-height: 16px;"> |
| | | {{$t('tips111')}} |
| | | </div> |
| | | <div style="font-size: 12px;margin-top: 10px;color: #939298;line-height: 16px;"> |
| | | {{$t('tips222')}} |
| | | </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 #185546;':'border: 1px solid #e5e8ed;'">Pay 1</div> |
| | | <div class="payclass" @click="paytype=2" :style="paytype==2?'border: 1px solid #185546;':'border: 1px solid #e5e8ed;'">Pay 2</div> |
| | | </div> --> |
| | | <van-button class="but" type="primary" style="margin-top: 1.04rem; margin-bottom: 1.04rem" |
| | | @click="selCzFns">{{ $t("hj172") }}</van-button> |
| | | <van-dialog v-model="dialogVisible" :title="$t('请联系客服进行充值服务')" show-cancel-button :confirm-button-text="$t('联系客服')" |
| | | :cancel-button-text="$t('qx')" @confirm="onConfirm" @cancel="onCancel"> |
| | | </van-dialog> |
| | | </template> |
| | | </div> |
| | | </main> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { ActionSheet } from "vant"; |
| | | import ClipboardJS from "clipboard"; |
| | | import apiUrl from "@/axios/api.url.js"; |
| | | 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 }, |
| | | 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: "", |
| | | import { |
| | | ActionSheet |
| | | } from "vant"; |
| | | import ClipboardJS from "clipboard"; |
| | | import apiUrl from "@/axios/api.url.js"; |
| | | 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 |
| | | }, |
| | | mounted() { |
| | | this.getPayInfos(); |
| | | }, |
| | | // getPayInfo |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | 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, |
| | | paytype: 1, |
| | | form: { |
| | | img1key: "", |
| | | }, |
| | | czlist: ['500000', '1000000', '1500000', '2000000', '2500000', '3000000'] |
| | | }; |
| | | }, |
| | | methods: { |
| | | clicktype(e) { |
| | | this.value = e |
| | | }, |
| | | }; |
| | | }, |
| | | 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() { |
| | | const res = await thirdPartyRecharge({ |
| | | tradeAmoun: this.value, |
| | | }); |
| | | 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() { |
| | | 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; |
| | | 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() { |
| | | // const res = await thirdPartyRecharge({ |
| | | // tradeAmoun: this.value, |
| | | // type:this.paytype |
| | | // }); |
| | | // console.log(res); |
| | | // if (res.status == 0) { |
| | | // window.open(res.data); |
| | | // }else{ |
| | | // Notify(res.msg); |
| | | // } |
| | | // if (!this.value) { |
| | | // return Notify(this.$t("hj171")); |
| | | // } |
| | | // if (!this.form.img1key) { |
| | | // return Notify(this.$t("请上传文件")); |
| | | // } |
| | | if(this.value<100000){ |
| | | return Notify(this.$t("最小充值金額")+100000); |
| | | } |
| | | 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("请联系客服") |
| | | // }); |
| | | this.dialogVisible = !this.dialogVisible |
| | | // setTimeout(() => { |
| | | // this.$router.push("/rechargelist"); |
| | | // }, 500); |
| | | } |
| | | // Notify("请上传文件"); |
| | | // return Notify(this.$t("请上传文件")); |
| | | }, |
| | | // 点击确认按钮时的事件 |
| | | onConfirm() { |
| | | this.dialogVisible = false; |
| | | window.open('https://line.me/ti/p/3Cg9N_baNj', '_blank'); |
| | | console.log("已确认操作"); |
| | | }, |
| | | // 点击取消按钮时的事件 |
| | | onCancel() { |
| | | this.dialogVisible = false; |
| | | console.log("已取消操作"); |
| | | }, |
| | | 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 { |
| | | /deep/.van-dialog__header--isolated{ |
| | | padding: 0.444444rem; |
| | | } |
| | | .list_xx_box { |
| | | padding: 10px 20px; |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 8px; |
| | | font-size: 20px; |
| | | width: 160px; |
| | | text-align: center; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | color: #181818; |
| | | font-family: PingFang SC; |
| | | font-size: 0.32rem; |
| | | font-style: normal; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-bottom: 10px; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .list_xx { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .list_top { |
| | | font-size: 24px; |
| | | margin-bottom: 20px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .list_title { |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .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: #185546; |
| | | border-radius: 8px; |
| | | height: 66px; |
| | | font-size: 22px; |
| | | } |
| | | |
| | | .bottom-text { |
| | | width: 100%; |
| | | background-color: #fff; |
| | | padding: 0.26667rem 0.37333rem; |
| | | box-sizing: border-box; |
| | | .balance-text { |
| | | 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; |
| | | line-height: 0.37333rem; |
| | | margin-bottom: 0.37333rem; |
| | | 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; |
| | | } |
| | | } |
| | | .division { |
| | | width: 100%; |
| | | height: 0.02667rem; |
| | | flex-shrink: 0; |
| | | background-color: #e5e8ed; |
| | | margin: 0.37333rem 0; |
| | | |
| | | /deep/ .van-nav-bar__content { |
| | | height: 65px; |
| | | } |
| | | .upload-text { |
| | | color: #181818; |
| | | font-family: PingFang SC; |
| | | font-size: 0.32rem; |
| | | |
| | | /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-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; |
| | | } |
| | | /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> |