dcc
2024-05-31 27601483c5031b5358368d08e4babed6d31c1d0e
src/page/user/recharge-sure.vue
@@ -1,97 +1,89 @@
<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('/cashlist')"
          name="orders-o"
          size="20"
        />
        <van-icon @click="$router.push('/cashlist')" name="orders-o" size="20" />
      </template>
    </van-nav-bar>
    <main>
      <div class="main-title">IFSC</div>
      <div class="white-input">
        <input type="number" :disabled="true" :placeholder="$t('请设置ifsc')" :value="bankCard.bankAddress" @input="ifscInputValue" />
<!--        <van-icon class="myr" name="arrow" />-->
      </div>
<!--      <van-cell-->
<!--        is-link-->
<!--        :title="paymentSelectData.channelAccount || $t('请设置ifsc')"-->
<!--        @click="paymentShow = true"-->
<!--      />-->
<!--      <van-action-sheet-->
<!--        v-model="paymentShow"-->
<!--        :actions="paymentActions"-->
<!--        :cancel-text="$t('qx')"-->
<!--        close-on-click-action-->
<!--        @select="paymentSelect"-->
<!--      />-->
      <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"
      />
      <div class="main-title">{{ $t("银行帐号") }}</div>
      <div class="white-input">
        <input type="number" :disabled="true" :placeholder="$t('请将银行账户设置为')" :value="bankCard.bankNo" @input="bankNoInputValue" />
<!--        <van-icon class="myr" name="arrow" />-->
      </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"-->
<!--      />-->
      <div class="main-title">{{ $t("hj213") }}</div>
      <div class="white-input">
        <input type="text" :disabled="true" :placeholder="$t('请设置银行名称')" :value="bankCard.bankName" @input="bankNameInputValue" />
<!--        <van-icon class="myr" name="arrow" />-->
      </div>
<!--      <van-cell is-link :title="bankCard.bankName || $t('请设置银行名称')" />-->
      <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" />
      <div class="main-title">{{ $t("姓名") }}</div>
      <div class="white-input">
        <input type="text" :disabled="true" :placeholder="$t('请将姓名设置为')" :value="actualName" @input="actualNameInputValue" />
<!--        <van-icon class="myr" name="arrow" />-->
        <input type="text" :disabled="true" :placeholder="$t('请将姓名设置为')" :value="actualName"
          @input="actualNameInputValue" />
        <!--        <van-icon class="myr" name="arrow" />-->
      </div>
<!--      <van-cell is-link :title="paymentSelectData.channelName || $t('请将姓名设置为')" />-->
<!--      <div class="main-title">{{ $t("支持得提款渠道") }}</div>-->
<!--      <van-cell-->
<!--        is-link-->
<!--        :title="rechargeSelect.name || $t('請選擇')"-->
<!--        @click="show = true"-->
<!--      />-->
<!--      <van-action-sheet-->
<!--        v-model="show"-->
<!--        :actions="actions"-->
<!--        :cancel-text="$t('hj106')"-->
<!--        close-on-click-action-->
<!--        @select="select"-->
<!--      />-->
<!--      <div v-if="rechargeSelect.key !== undefined">-->
<!--        <div class="main-title">{{ $t("請選擇銀行卡") }}</div>-->
<!--        <van-cell is-link :title="bankCard.bankNo || $t('請選擇')" />-->
<!--      </div>-->
      <div class="main-title">{{ $t("hj213") }}</div>
      <div class="white-input">
        <input type="text" :disabled="true" :placeholder="$t('请设置银行名称')" :value="bankCard.bankName"
          @input="bankNameInputValue" />
        <!--        <van-icon class="myr" name="arrow" />-->
        <i class="iconfont icon-fuzhi fuzhi" @click="(e) => copyText(e, bankCard.bankName)"></i>
      </div>
      <div class="main-title">{{ $t("银行帐号") }}</div>
      <div class="white-input">
        <input type="number" :disabled="true" :placeholder="$t('请将银行账户设置为')" :value="bankCard.bankNo"
          @input="bankNoInputValue" />
        <!--        <van-icon class="myr" name="arrow" />-->
        <i class="iconfont icon-fuzhi fuzhi" @click="(e) => copyText(e, bankCard.bankNo)"></i>
      </div>
      <div class="main-title">IFSC</div>
      <div class="white-input">
        <input type="text" :disabled="true" :placeholder="$t('请设置ifsc')" :value="bankCard.bankAddress"
          @input="ifscInputValue" />
        <!--        <van-icon class="myr" name="arrow" />-->
        <i class="iconfont icon-fuzhi fuzhi" @click="(e) => copyText(e, bankCard.bankAddress)"></i>
      </div>
      <!--      <van-cell-->
      <!--        is-link-->
      <!--        :title="paymentSelectData.channelAccount || $t('请设置ifsc')"-->
      <!--        @click="paymentShow = true"-->
      <!--      />-->
      <!--      <van-action-sheet-->
      <!--        v-model="paymentShow"-->
      <!--        :actions="paymentActions"-->
      <!--        :cancel-text="$t('qx')"-->
      <!--        close-on-click-action-->
      <!--        @select="paymentSelect"-->
      <!--      />-->
      <!--      <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"-->
      <!--      />-->
      <!--      <van-cell is-link :title="bankCard.bankName || $t('请设置银行名称')" />-->
      <!--      <van-cell is-link :title="paymentSelectData.channelName || $t('请将姓名设置为')" />-->
      <!--      <div class="main-title">{{ $t("支持得提款渠道") }}</div>-->
      <!--      <van-cell-->
      <!--        is-link-->
      <!--        :title="rechargeSelect.name || $t('請選擇')"-->
      <!--        @click="show = true"-->
      <!--      />-->
      <!--      <van-action-sheet-->
      <!--        v-model="show"-->
      <!--        :actions="actions"-->
      <!--        :cancel-text="$t('hj106')"-->
      <!--        close-on-click-action-->
      <!--        @select="select"-->
      <!--      />-->
      <!--      <div v-if="rechargeSelect.key !== undefined">-->
      <!--        <div class="main-title">{{ $t("請選擇銀行卡") }}</div>-->
      <!--        <van-cell is-link :title="bankCard.bankNo || $t('請選擇')" />-->
      <!--      </div>-->
      <div class="main-title">{{ $t("請選擇充值金額") }}</div>
      <div class="white-input">
        <input type="number" :value="value" @input="inputValue" />
@@ -116,336 +108,361 @@
          </div>
        </div>
      </div>
<!--      <van-cell-group v-if="rechargeAccountData.key !== undefined">-->
<!--        <van-cell :title="$t('最低取款金额')" :value="withMinAmt + symbolCode" />-->
<!--      </van-cell-group>-->
      <van-button
        class="but"
        type="primary"
        style="margin-top: 1.04rem; margin-bottom: 1.04rem"
        @click="setOutMoney"
        >{{ $t("提款") }}</van-button
      >
      <!--      <van-cell-group v-if="rechargeAccountData.key !== undefined">-->
      <!--        <van-cell :title="$t('最低取款金额')" :value="withMinAmt + symbolCode" />-->
      <!--      </van-cell-group>-->
      <van-button class="but" type="primary" style="margin-top: 1.04rem; margin-bottom: 1.04rem"
        @click="setOutMoney">{{ $t("提款") }}</van-button>
    </main>
  </div>
</template>
<script>
import { ActionSheet, Notify,Cell, CellGroup } from "vant";
import ClipboardJS from "clipboard";
import {getBankCard, getMoney, getSetting, outMoney, siteGetPayInfo} from "../../axios/api";
export default {
  components: {
  import {
    ActionSheet,
    [Notify.Component.name]: Notify.Component,
    Notify,
    Cell,
    CellGroup
  },
  data() {
    return {
      value: 0,
      paymentActions: [],
      paymentSelectData: "US",
      actualName: this.$store.state.userInfo.realName,
      show: false,
  } from "vant";
  import ClipboardJS from "clipboard";
  import {
    getBankCard,
    getMoney,
    getSetting,
    outMoney,
    siteGetPayInfo
  } from "../../axios/api";
      // 提款聚到
      rechargeSelect: {},
      actions: [{ name: this.$t("hj215"), key: "YHK" }],
      paymentShow: false,
      rechargeAccountShow: false,
      //  请选择提款账户
      rechargeAccountData: {},
      rechargeAccountActions: [
        {
          name: this.$t("US"),
          key: "US",
        },
        {
          name: this.$t("IN"),
          key: "IN",
        },
        // {
        //   name: this.$t("MAS"),
        //   key: "MAS",
        // },
        // {
        //   name: this.$t("HK"),
        //   key: "HK",
        // },
      ],
      bankCard: {},
      availableBalanceUSD: "0.0000",
      getMoneyList: [],
      assetsType: "",
      symbolCode: "",
      withMinAmt:''
    };
  },
  mounted() {
    this.getykh();
    this.getMoneys();
    this.getPayInfos();
    this.setSetting()
  },
  methods: {
    async setSetting(){
      const res = await getSetting();
      if (res.status === 0) {
        this.withMinAmt = res.data.withMinAmt
      }
  export default {
    components: {
      ActionSheet,
      [Notify.Component.name]: Notify.Component,
      Cell,
      CellGroup
    },
    async getPayInfos() {
      const res = await siteGetPayInfo();
      if (res.status === 0) {
        res.data.map((item) => {
          item.name = item.channelType;
    data() {
      return {
        value: 0,
        paymentActions: [],
        paymentSelectData: "US",
        actualName: this.$store.state.userInfo.realName,
        show: false,
        // 提款聚到
        rechargeSelect: {},
        actions: [{
          name: this.$t("hj215"),
          key: "YHK"
        }],
        paymentShow: false,
        rechargeAccountShow: false,
        //  请选择提款账户
        rechargeAccountData: {},
        rechargeAccountActions: [{
            name: this.$t("US"),
            key: "US",
          },
          {
            name: this.$t("IN"),
            key: "IN",
          },
          // {
          //   name: this.$t("MAS"),
          //   key: "MAS",
          // },
          // {
          //   name: this.$t("HK"),
          //   key: "HK",
          // },
        ],
        bankCard: {},
        availableBalanceUSD: "0.0000",
        getMoneyList: [],
        assetsType: "",
        symbolCode: "",
        withMinAmt: ''
      };
    },
    mounted() {
      this.getykh();
      this.getMoneys();
      this.getPayInfos();
      this.setSetting()
    },
    methods: {
      async setSetting() {
        const res = await getSetting();
        if (res.status === 0) {
          this.withMinAmt = res.data.withMinAmt
        }
      },
      async getPayInfos() {
        const res = await siteGetPayInfo();
        if (res.status === 0) {
          res.data.map((item) => {
            item.name = item.channelType;
          });
          this.paymentActions = res.data;
          console.log(this.paymentActions)
        }
        console.log(res);
      },
      async setOutMoney() {
        const res = await outMoney({
          amt: this.value,
          assetsType: this.accectType,
        });
        this.paymentActions = res.data;
        console.log(this.paymentActions)
      }
      console.log(res);
    },
    async setOutMoney() {
      const res = await outMoney({
        amt: this.value,
        assetsType: this.accectType,
      });
      if (res.status === 0) {
        Notify({ type: "success", message: this.$t("hj182") });
        setTimeout(() => {
          this.$router.push("/cashlist");
        }, 500);
      } else {
        Notify(res.msg);
      }
      //  Notify("请上传文件");
    },
    inputValue(e) {
      this.value = e.target.value;
    },
    ifscInputValue(e){
      this.bankCard.bankAddress = e.target.value;
    },
    bankNoInputValue(e){
      this.bankCard.bankNo = e.target.value;
    },
    bankNameInputValue(e){
      this.bankCard.bankName = e.target.value;
    },
    actualNameInputValue(e){
      this.actualName = e.target.value;
    },
    async getykh() {
      const res = await getBankCard();
      if (res.status === 0) {
        this.bankCard = res.data;
      }
    },
    async getMoneys() {
      const res = await getMoney();
      if (res.status === 0) {
        this.getMoneyList = res.data;
        res.data.map((item) => {
        if (res.status === 0) {
          Notify({
            type: "success",
            message: this.$t("hj182")
          });
          setTimeout(() => {
            this.$router.push("/cashlist");
          }, 500);
        } else {
          Notify(res.msg);
        }
        //  Notify("请上传文件");
      },
      inputValue(e) {
        this.value = e.target.value;
      },
      ifscInputValue(e) {
        this.bankCard.bankAddress = e.target.value;
      },
      bankNoInputValue(e) {
        this.bankCard.bankNo = e.target.value;
      },
      bankNameInputValue(e) {
        this.bankCard.bankName = e.target.value;
      },
      actualNameInputValue(e) {
        this.actualName = e.target.value;
      },
      async getykh() {
        const res = await getBankCard();
        if (res.status === 0) {
          this.bankCard = res.data;
        }
      },
      async getMoneys() {
        const res = await getMoney();
        if (res.status === 0) {
          this.getMoneyList = res.data;
          res.data.map((item) => {
            if (item.accectType === this.rechargeAccountData.key) {
              this.availableBalanceUSD = item.availableBalance;
              this.symbolCode = item.symbolCode;
              this.accectType = item.accectType;
            }
          });
        }
      },
      afterRead(file) {
        // 此时可以自行将文件上传至服务器
        console.log(file);
      },
      copyText(e, data) {
        var clipboard = new ClipboardJS(".copy-button", {
          text: () => data,
        });
        clipboard.on("success", () => {
          // alert("已复制到剪贴板");
          clipboard.destroy();
        });
        clipboard.onClick(e);
      },
      onClickLeft() {
        this.$router.push("/user");
      },
      select(e) {
        this.rechargeSelect = e;
        console.log(e);
      },
      rechargeAccountSelect(e) {
        console.log(e)
        this.rechargeAccountData = e;
        (this.getMoneyList || []).map((item) => {
          if (item.accectType === this.rechargeAccountData.key) {
            this.availableBalanceUSD = item.availableBalance;
            this.symbolCode = item.symbolCode;
            this.accectType = item.accectType;
          }
        });
      }
      },
      paymentSelect(e) {
        this.paymentSelectData = e;
        this.accectType = e.assetsType;
        console.log(e);
        this.rechargeAccountActions.map((item) => {
          if (item.key === e.assetsType) {
            console.log(item)
            this.rechargeAccountData = item;
            this.rechargeAccountSelect(item)
          }
        });
      },
    },
    afterRead(file) {
      // 此时可以自行将文件上传至服务器
      console.log(file);
    },
    copyText(e, data) {
      var clipboard = new ClipboardJS(".copy-button", {
        text: () => data,
      });
      clipboard.on("success", () => {
        // alert("已复制到剪贴板");
        clipboard.destroy();
      });
      clipboard.onClick(e);
    },
    onClickLeft() {
      this.$router.push("/user");
    },
    select(e) {
      this.rechargeSelect = e;
      console.log(e);
    },
    rechargeAccountSelect(e) {
      console.log(e)
      this.rechargeAccountData = e;
      (this.getMoneyList || []).map((item) => {
        if (item.accectType === this.rechargeAccountData.key) {
          this.availableBalanceUSD = item.availableBalance;
          this.symbolCode = item.symbolCode;
          this.accectType = item.accectType;
        }
      });
    },
    paymentSelect(e) {
      this.paymentSelectData = e;
      this.accectType = e.assetsType;
      console.log(e);
      this.rechargeAccountActions.map((item) => {
        if (item.key === e.assetsType) {
          console.log(item)
          this.rechargeAccountData = item;
          this.rechargeAccountSelect(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 {
    display: flex;
    justify-content: space-between;
    color: #181818;
    font-family: PingFang SC;
    font-size: 0.32rem;
    font-style: normal;
    font-weight: 500;
  .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;
    .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(5, 106, 239);
  cursor: pointer;
}
.dz-title {
  display: flex;
  justify-content: space-between;
  font-style: normal;
  font-weight: 400;
  font-size: 0.37333rem;
  color: #8c9fad;
  margin-top: 0.31333rem;
  padding: 0 0.13333rem;
  box-sizing: border-box;
  .balance-text {
  /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;
    color: #4f5257;
    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(5, 106, 239);
    cursor: pointer;
  }
  .dz-title {
    display: flex;
    justify-content: space-between;
    font-style: normal;
    font-weight: 400;
    font-size: 0.37333rem;
    color: #8c9fad;
    margin-top: 0.31333rem;
    padding: 0 0.13333rem;
    box-sizing: border-box;
    .balance-text {
      font-style: normal;
      font-weight: 500;
      font-size: 0.37333rem;
      color: #4f5257;
    }
  }
</style>