1
admin
2026-01-11 fff675a093a912ecdda8e5498421a3e41ab0b596
src/page/user/recharge.vue
@@ -17,14 +17,21 @@
    </van-nav-bar>
    <main>
      <div>
        <template>
          <!-- <div class="main-title">{{ $t("请选择充值账户") }}</div>
          <van-cell
            is-link
            :title="rechargeAccountData.name || $t('請選擇')"
            @click="rechargeAccountShow = true"
          />
          <van-action-sheet
            v-model="rechargeAccountShow"
            :actions="rechargeAccountActions"
            :cancel-text="$t('hj106')"
            close-on-click-action
            @select="rechargeAccountSelect"
          /> -->
        <template >
          <!-- @click="rechargeAccountShow = true" -->
          <!-- close-on-click-action -->
          <!-- @select="rechargeAccountSelect" -->
          <div class="main-title">{{ $t("請選擇充值金額") }}</div>
          <div class="white-input">
            <input type="number" :value="value" @input="inputValue" />
@@ -35,18 +42,42 @@
            <div class="balance" style="margin-top: 10px">
              <div>{{ $t("最小充值金額") }}</div>
              <div class="balance-text" style="margin-bottom: 0px">
                <!-- {{ paymentSelectData.channelMinLimit }}
                {{ rechargeAccountData.symbolCode }} -->
                1000
              </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
            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
            class="but"
            type="primary"
@@ -64,12 +95,15 @@
import { ActionSheet } from "vant";
import ClipboardJS from "clipboard";
import apiUrl from "@/axios/api.url.js";
import { siteGetPayInfo, selCzFn ,thirdPartyRecharge } 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();
  },
@@ -84,16 +118,22 @@
      paymentSelectData: {},
      rechargeAccountData: {},
      show: false,
      actions: [{ name: this.$t("銀行卡充值"), key: "YHK" }],
      actions: [
        {
          name: this.$t("銀行卡充值"),
          key: "YHK"
        }
      ],
      paymentShow: false,
      paymentActions: [],
      rechargeAccountShow: false,
      rechargeAccountActions: rechargeAccountActions,
      showBtn: true,
      imgStatus: false,
      paytype: 1,
      form: {
        img1key: "",
      },
        img1key: ""
      }
    };
  },
  methods: {
@@ -112,34 +152,19 @@
    async selCzFns() {
      const res = await thirdPartyRecharge({
        tradeAmoun: this.value,
        type: this.paytype
      });
      console.log(res);
      if(res.status==0){
      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("请上传文件"));
      // }
      // 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) => {
        res.data.map(item => {
          item.name = item.channelAccount;
        });
        this.paymentActions = res.data;
@@ -166,12 +191,14 @@
      let formData = new FormData();
      formData.append("file", file.file || file.raw);
      // console.log(formData);
      const res = await upload({ file: 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", () => {
@@ -181,7 +208,7 @@
      clipboard.onClick(e);
    },
    onClickLeft() {
      this.$router.push("/user");
      this.$router.push("/account");
    },
    select(e) {
      this.rechargeSelect = e;
@@ -191,31 +218,43 @@
    },
    paymentSelect(e) {
      this.paymentSelectData = e;
      this.rechargeAccountActions.map((item) => {
      this.rechargeAccountActions.map(item => {
        if (item.key === e.assetsType) {
          this.rechargeAccountData = item;
        }
      });
    },
  },
    }
  }
};
</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;
@@ -226,6 +265,7 @@
    font-style: normal;
    font-weight: 500;
    box-sizing: border-box;
    .balance-text {
      color: #181818;
      font-family: PingFang SC;
@@ -236,6 +276,7 @@
      margin-bottom: 0.37333rem;
    }
  }
  .division {
    width: 100%;
    height: 0.02667rem;
@@ -243,6 +284,7 @@
    background-color: #e5e8ed;
    margin: 0.37333rem 0;
  }
  .upload-text {
    color: #181818;
    font-family: PingFang SC;
@@ -251,9 +293,11 @@
    font-weight: 500;
  }
}
/deep/ .van-nav-bar__content {
  height: 65px;
}
/deep/ .van-nav-bar__title {
  font-family: "DINPro";
  width: 100%;
@@ -266,6 +310,7 @@
  font-size: 0.48rem;
  color: #14181f;
}
/deep/ .van-cell {
  list-style: none;
  width: 100%;
@@ -284,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;
@@ -316,16 +363,20 @@
  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;