dcc
2024-05-31 27601483c5031b5358368d08e4babed6d31c1d0e
src/page/user/recharge.vue
@@ -17,12 +17,61 @@
    </van-nav-bar>
    <main>
      <div>
        <div class="main-title">{{ $t("支持得支付渠道") }}</div>
        <van-cell
          is-link
          :title="paymentSelectData.channelAccount || $t('請選擇')"
          @click="paymentShow = true"
        />
      <!-- <div class="main-title">Select recharge account</div> -->
      <template >
        <div class="main-title">{{ $t("請選擇充值賬戶") }}</div>
         <van-cell
         @click="paymentShow = true"
           is-link
           :title="$t(rechargeAccountData.key) || $t('請選擇')"
         />
         <van-action-sheet
           v-model="rechargeAccountShow"
           :actions="rechargeAccountActions"
           :cancel-text="$t('qx')"
         />
         <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>
         <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.bankNumber }}</span>
           <i
             class="iconfont icon-fuzhi fuzhi"
             @click="(e) => copyText(e, paymentSelectData.bankNumber)"
           ></i>
         </div>
         <div class="main-title" >IFSC</div>
        <div class="white-input" >
          <span>{{ paymentSelectData.channelAccount }}</span>
          <i
            v-if="paymentSelectData.channelAccount"
            class="iconfont icon-fuzhi fuzhi"
            @click.stop="(e) => copyText(e, paymentSelectData.channelAccount)"
          ></i>
          <van-icon v-else class="myr" name="arrow" />
        </div>
      </template>
        <!--        <van-cell-->
        <!--          is-link-->
        <!--          :title="paymentSelectData.channelAccount || $t('請選擇')"-->
        <!--          @click="paymentShow = true"-->
        <!--        />-->
        <!-- paymentSelectData.channelMinLimit -->
        <van-action-sheet
          v-model="paymentShow"
@@ -32,41 +81,18 @@
          @select="paymentSelect"
        />
        <template v-if="paymentSelectData.channelAccount !== undefined">
          <div class="main-title">{{ $t("收款卡號") }}</div>
<!--          <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)"
              @click="(e) => copyText(e, paymentSelectData.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="rechargeAccountData.name || $t('請選擇')" />
          <!-- @click="rechargeAccountShow = true" -->
          <van-action-sheet
            v-model="rechargeAccountShow"
            :actions="rechargeAccountActions"
            :cancel-text="$t('qx')"
          />
          <!-- close-on-click-action -->
          <!-- @select="rechargeAccountSelect" -->
          </div>-->
          <div class="main-title">{{ $t("請選擇充值金額") }}</div>
          <div class="white-input">
            <input type="number" :value="value" @input="inputValue" />
@@ -74,13 +100,6 @@
          </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>{{ $t("最小充值金額") }}</div>
              <div class="balance-text" style="margin-bottom: 0px">
@@ -94,18 +113,15 @@
                {{ $t("上傳憑證:") }}
              </div>
              <el-upload
                v-loading="loading"
                :with-credentials="true"
                class="avatar-uploader"
                :action="admin + '/user/upload.do'"
                :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"
@@ -124,7 +140,6 @@
            @click="selCzFns"
            >{{ $t("hj172") }}</van-button
          >
        </template>
      </div>
    </main>
  </div>
@@ -136,6 +151,8 @@
import apiUrl from "@/axios/api.url.js";
import { siteGetPayInfo, selCzFn } from "../../axios/api";
import { Notify } from "vant";
import { compress } from "@/utils/imgupload";
import { rechargeAccountActions } from "@/utils/rechargeActions";
// baseURL
export default {
  components: { ActionSheet, [Notify.Component.name]: Notify.Component },
@@ -157,34 +174,7 @@
      paymentShow: false,
      paymentActions: [],
      rechargeAccountShow: false,
      rechargeAccountActions: [
        {
          title: this.$t("美股資產"),
          title1: this.$t("美股可用"),
          title2: this.$t("美股冻结"),
          name: this.$t("US"),
          key: "US",
          symbol: "$",
          symbolCode: "USD",
        },
        // {
        //   title: this.$t("印股資產"),
        //   title1: this.$t("印股可用"),
        //   title2: this.$t("印股冻结"),
        //   key: "IN",
        //   symbol: "RM",
        //   symbolCode: "MYR",
        // },
        {
          name: this.$t("MAS"),
          title: this.$t("馬股資產"),
          title1: this.$t("馬股可用"),
          title2: this.$t("馬股冻结"),
          key: "MAS",
          symbol: "RM",
          symbolCode: "MYR",
        },
      ],
      rechargeAccountActions: rechargeAccountActions,
      showBtn: true,
      imgStatus: false,
      form: {
@@ -206,7 +196,6 @@
      this.judgeValue();
    },
    async selCzFns() {
      // payTypeId    payAmt  img
      if (!this.value) {
        return Notify(this.$t("hj171"));
      }
@@ -230,22 +219,36 @@
      const res = await siteGetPayInfo();
      if (res.status === 0) {
        res.data.map((item) => {
          item.name = item.channelAccount;
          item.name = item.channelType;
        });
        this.paymentActions = res.data;
        console.log(this.paymentActions)
      }
      console.log(res);
    },
    handleAvatarSuccess(res, file) {
      this.imgStatus = false;
      this.form.img1key = res.data.url;
      this.loading = false;
      this.judgeValue();
      // this.loading = false;
      // this.judgeValue();
    },
    beforeAvatarUpload(file) {
      this.loading = true;
      this.judgeValue();
      // this.imgStatus = true;
      this.imgStatus = true;
      const isLt10M = file.size / 1024 / 1024 < 10;
      if (!isLt10M) {
        this.$message.error(this.$t("hj205"));
        return false;
      } else {
        this.form.img1key = URL.createObjectURL(file);
        console.log(this.form.img1key );
        compress(file, function (val) {
          console.log(val);
        });
        // this.judgeValue();
      }
    },
    handleError() {
      this.loading = false;
@@ -253,7 +256,6 @@
    },
    // upload
    async afterRead(file) {
      console.log(file);
      let formData = new FormData();
      formData.append("file", file.file || file.raw);
      // console.log(formData);
@@ -266,7 +268,6 @@
      });
      clipboard.on("success", () => {
        // alert("已复制到剪贴板");
        clipboard.destroy();
      });
@@ -283,14 +284,12 @@
    },
    paymentSelect(e) {
      this.paymentSelectData = e;
      console.log(e);
      console.log(this.rechargeAccountActions,e)
      this.rechargeAccountActions.map((item) => {
        console.log(item, e);
        if (item.key === e.assetsType) {
          this.rechargeAccountData = item;
        }
      });
      console.log(this.rechargeAccountData, " this.rechargeAccountData");
    },
  },
};
@@ -425,4 +424,4 @@
  width: 2.740741rem;
  height: 2.740741rem;
}
</style>
</style>