| | |
| | | <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> |
| | | <div class="main-title">{{ $t("支持得支付渠道") }}</div> |
| | | <van-cell |
| | | is-link |
| | | :title="paymentSelectData.channelAccount || '請選擇'" |
| | | :title="paymentSelectData.channelAccount || $t('請選擇')" |
| | | @click="paymentShow = true" |
| | | /> |
| | | <!-- paymentSelectData.channelMinLimit --> |
| | | <van-action-sheet |
| | | v-model="paymentShow" |
| | | :actions="paymentActions" |
| | | cancel-text="取消" |
| | | :cancel-text="$t('qx')" |
| | | close-on-click-action |
| | | @select="paymentSelect" |
| | | /> |
| | | |
| | | <template v-if="paymentSelectData.channelAccount !== undefined"> |
| | | <div class="main-title">收款卡號</div> |
| | | <div class="main-title">{{ $t("收款卡號") }}</div> |
| | | <div class="white-input"> |
| | | <span>{{ paymentSelectData.channelAccount }}</span> |
| | | <i |
| | |
| | | @click="(e) => copyText(e, channelAccount)" |
| | | ></i> |
| | | </div> |
| | | <div class="main-title">收款銀行</div> |
| | | <div class="main-title">{{ $t("收款銀行") }}</div> |
| | | <div class="white-input"> |
| | | <span>{{ paymentSelectData.channelDesc }}</span> |
| | | <i |
| | |
| | | @click="(e) => copyText(e, paymentSelectData.channelDesc)" |
| | | ></i> |
| | | </div> |
| | | <div class="main-title">收款人名字</div> |
| | | <div class="main-title">{{ $t("收款人名字") }}</div> |
| | | <div class="white-input"> |
| | | <span>{{ paymentSelectData.channelImg }}</span> |
| | | <span>{{ paymentSelectData.channelName }}</span> |
| | | <i |
| | | class="iconfont icon-fuzhi fuzhi" |
| | | @click="(e) => copyText(e, channelImg)" |
| | | @click="(e) => copyText(e, paymentSelectData.channelName)" |
| | | ></i> |
| | | </div> |
| | | <div class="main-title">請選擇充值賬戶</div> |
| | | <div class="main-title">{{ $t("請選擇充值賬戶") }}</div> |
| | | <van-cell |
| | | is-link |
| | | :title="rechargeAccountData.name || '請選擇'" |
| | | @click="rechargeAccountShow = true" |
| | | :title="$t(rechargeAccountData.key) || $t('請選擇')" |
| | | /> |
| | | <!-- @click="rechargeAccountShow = true" --> |
| | | <van-action-sheet |
| | | v-model="rechargeAccountShow" |
| | | :actions="rechargeAccountActions" |
| | | cancel-text="取消" |
| | | :cancel-text="$t('qx')" |
| | | /> |
| | | <!-- close-on-click-action --> |
| | | <!-- @select="rechargeAccountSelect" --> |
| | | <div class="main-title">請選擇充值金額</div> |
| | | <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 }} |
| | |
| | | </div> |
| | | <div class="division"></div> |
| | | <div class="upload-text"> |
| | | <div style="margin-bottom: 0.37333rem">上傳憑證:</div> |
| | | <div style="margin-bottom: 0.37333rem"> |
| | | {{ $t("上傳憑證:") }} |
| | | </div> |
| | | <el-upload |
| | | v-loading="loading" |
| | | :with-credentials="true" |
| | | class="avatar-uploader" |
| | | :action="admin + '/user/upload.do'" |
| | |
| | | :on-error="handleError" |
| | | :before-upload="beforeAvatarUpload" |
| | | :disabled="!showBtn" |
| | | :limit="1" |
| | | > |
| | | <img |
| | | v-if="form.img1key" |
| | |
| | | </el-upload> |
| | | </div> |
| | | </div> |
| | | <!-- :disabled="butFlg" --> |
| | | <van-button |
| | | class="but" |
| | | type="primary" |
| | | style="margin-top: 1.04rem; margin-bottom: 1.04rem" |
| | | @click="selCzFns" |
| | | >充值</van-button |
| | | >{{ $t("hj172") }}</van-button |
| | | > |
| | | </template> |
| | | </div> |
| | |
| | | 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 }, |
| | |
| | | // 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, |
| | | form: { |
| | |
| | | }; |
| | | }, |
| | | 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("请输入充值金额"); |
| | | return Notify(this.$t("hj171")); |
| | | } |
| | | if (!this.form.img1key) { |
| | | return Notify("请上传文件"); |
| | | return Notify(this.$t("请上传文件")); |
| | | } |
| | | const res = await selCzFn({ |
| | | payTypeId: this.paymentSelectData.id, |
| | |
| | | img: this.form.img1key, |
| | | }); |
| | | if (res.status === 0) { |
| | | Notify({ type: "success", message: "充值成功" }); |
| | | Notify({ type: "success", message: this.$t("hj182") }); |
| | | setTimeout(() => { |
| | | this.onClickLeft(); |
| | | this.$router.push("/rechargelist"); |
| | | }, 500); |
| | | } |
| | | // Notify("请上传文件"); |
| | |
| | | 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); |
| | | // console.log(formData); |
| | | const res = await upload({ file: formData }); |
| | | console.log(res); |
| | | // console.log(res); |
| | | }, |
| | | copyText(e, data) { |
| | | var clipboard = new ClipboardJS(".copy-button", { |
| | |
| | | }); |
| | | |
| | | clipboard.on("success", () => { |
| | | // alert("已复制到剪贴板"); |
| | | clipboard.destroy(); |
| | | }); |
| | | |
| | |
| | | }, |
| | | paymentSelect(e) { |
| | | this.paymentSelectData = e; |
| | | console.log(e); |
| | | this.rechargeAccountActions.map((item) => { |
| | | console.log(item, e); |
| | | if (item.key === e.assetsType) { |
| | | this.rechargeAccountData = item; |
| | | } |
| | | }); |
| | | console.log(this.rechargeAccountData, " this.rechargeAccountData"); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | /deep/ .el-upload__input { |
| | | display: none !important; |
| | | } |
| | | /deep/ .avatar-uploader { |
| | | width: 2.740741rem; |
| | | height: 2.740741rem; |
| | | } |
| | | </style> |