lxf
2025-04-26 0788772afaf87391d302ad90c8825f4da11277f4
src/page/user/transfer.vue
@@ -1,52 +1,94 @@
<template>
  <div class="wrapper">
    <div class="header">
      <mt-header title="账户资金互转">
    <!-- <div class="header">
      <mt-header :title="$t('账户资金互转')">
        <router-link to="/user" slot="left">
          <mt-button icon="back">我的</mt-button>
          <mt-button icon="back"></mt-button>
        </router-link>
      </mt-header>
    </div>
    </div> -->
    <van-nav-bar
      :placeholder="true"
      :safe-area-inset-top="true"
      :title="$t('账户资金互转')"
      left-arrow
      @click-left="onClickLeft"
    >
    </van-nav-bar>
    <mt-navbar v-model="selected">
      <mt-tab-item v-if="this.$store.state.settingForm.indexDisplay" id="1">融资转指数</mt-tab-item>
      <mt-tab-item v-if="this.$store.state.settingForm.indexDisplay" id="2">指数转融资</mt-tab-item>
      <mt-tab-item v-if="this.$store.state.settingForm.futuresDisplay" id="3">融资转期货</mt-tab-item>
      <mt-tab-item v-if="this.$store.state.settingForm.futuresDisplay" id="4">期货转融资</mt-tab-item>
      <mt-tab-item id="1">{{ $t("沙特账户转黄金原油账户") }}</mt-tab-item>
      <mt-tab-item id="2">{{ $t("黄金原油账户转沙特账户") }}</mt-tab-item>
      <!-- <mt-tab-item v-if="this.$store.state.settingForm.futuresDisplay" id="3">融资转期货</mt-tab-item> -->
      <!-- <mt-tab-item v-if="this.$store.state.settingForm.futuresDisplay" id="4">期货转融资</mt-tab-item> -->
    </mt-navbar>
    <mt-tab-container class="order-list" v-model="selected">
      <mt-tab-container-item id="1">
        <div class="form-block">
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled v-model="this.$store.state.userInfo.enableAmt">
          <mt-field
            :label="$t('可转金额')"
            :placeholder="$t('可转金额')"
            type="text"
            disabled
            v-model="myMoney[0].availableBalance"
          >
          </mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" name="amt" v-model="form.account1" placeholder="请输入转账金额" type="text">
            <span @click="selectAll1">全部</span>
          <mt-field
            :label="$t('转账金额')"
            name="amt"
            v-model="form.account1"
            :placeholder="$t('请输入转账金额')"
            type="text"
          >
            <span @click="selectAll1">{{ $t("hj60") }}</span>
          </mt-field>
        </div>
        <!-- <div class="form-block">
            <mt-field label="资金密码" placeholder="资金密码" type="password" v-model="form.password"></mt-field>
        </div>
        <p class="prompt">资金密码默认为登录密码</p> -->
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入指数账户</span>
        </div>
        <!-- <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">{{
            $t("确认转入黄金原油账户")
          }}</span>
        </div> -->
        <van-button class="but" type="primary" style="margin-top: 1.04rem; margin-bottom: 1.04rem"
            @click="tosubmit">{{
            $t("确认转入黄金原油账户")
          }}</van-button>
      </mt-tab-container-item>
      <mt-tab-container-item id="2">
        <div class="form-block">
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled
            v-model="this.$store.state.userInfo.enableIndexAmt"></mt-field>
          <mt-field
            :label="$t('可转金额')"
            :placeholder="$t('可转金额')"
            type="text"
            disabled
            v-model="myMoney[1].availableBalance"
          ></mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account2" placeholder="请输入转账金额" type="text">
            <span @click="selectAll2">全部</span>
          <mt-field
            :label="$t('转账金额')"
            v-model="form.account2"
            :placeholder="$t('请输入转账金额')"
            type="text"
          >
            <span @click="selectAll2">{{ $t("hj60") }}</span>
          </mt-field>
        </div>
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入融资账户</span>
        </div>
        <!-- <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">{{
            $t("确认转入沙特账户")
          }}</span>
        </div> -->
        <van-button class="but" type="primary" style="margin-top: 1.04rem; margin-bottom: 1.04rem"
            @click="tosubmit">{{
            $t("确认转入沙特账户")
          }}</van-button>
      </mt-tab-container-item>
      <mt-tab-container-item id="3">
      <!-- <mt-tab-container-item id="3">
        <div class="form-block">
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled v-model="this.$store.state.userInfo.enableAmt">
          </mt-field>
@@ -57,10 +99,11 @@
          </mt-field>
        </div>
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入期货账户</span>
          <span class="text-center btnok loginout" @click="tosubmit">确认转入黄金原油账户</span>
        </div>
      </mt-tab-container-item>
      <mt-tab-container-item id="4">
     -->
      <!-- <mt-tab-container-item id="4">
        <div class="form-block">
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled
            v-model="this.$store.state.userInfo.enableFuturesAmt"></mt-field>
@@ -71,102 +114,143 @@
          </mt-field>
        </div>
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入融资账户</span>
          <span class="text-center btnok loginout" @click="tosubmit">确认转入沙特账户</span>
        </div>
      </mt-tab-container-item>
       -->
    </mt-tab-container>
  </div>
</template>
<script>
// import '@/assets/style/common.less'
import * as api from '@/axios/api'
import { Toast } from 'mint-ui'
import * as api from "@/axios/api";
import { Toast } from "mint-ui";
export default {
  components: {
  },
  components: {},
  data() {
    return {
      selected: '1', // 选中
      selected: "1", // 选中
      form: {
        account1: '',
        account2: '',
        account3: '',
        account4: '',
        password: ''
        account1: "",
        account2: "",
        account3: "",
        account4: "",
        password: ""
      },
      userInfo: {
        realName: ''
      }
    }
        realName: ""
      },
      myMoney: ""
    };
  },
  watch: {},
  computed: {},
  created() {
    this.getProductSetting()
    this.getProductSetting();
    this.getMoney();
  },
  mounted() {
    if (this.$route.query.type) {
      this.selected = this.$route.query.type + ''
      this.selected = this.$route.query.type + "";
    }
    this.getUserInfo()
    this.getUserInfo();
  },
  methods: {
    onClickLeft() {
      this.$router.push("/user");
    },
    async getProductSetting() {
      let data = await api.getProductSetting()
      let data = await api.getProductSetting();
      if (data.status === 0) {
        this.$store.state.settingForm = data.data
        this.$store.state.settingForm = data.data;
        if (!this.$store.state.settingForm.indexDisplay) {
          this.selected = '3'
          this.selected = "3";
        }
      } else {
        this.$message.error(data.msg)
        this.$message.error(data.msg);
      }
    },
    selectAll1() {
      // 选择全部
      this.form.account1 = this.$store.state.userInfo.enableAmt
      this.form.account1 = this.myMoney[0].availableBalance;
    },
    selectAll2() {
      // 选择全部
      this.form.account2 = this.$store.state.userInfo.enableIndexAmt
      this.form.account2 = this.myMoney[1].availableBalance;
    },
    selectAll3() {
      // 选择全部
      this.form.account3 = this.$store.state.userInfo.enableAmt
      this.form.account3 = this.$store.state.userInfo.enableAmt;
    },
    selectAll4() {
      // 选择全部
      this.form.account4 = this.$store.state.userInfo.enableFuturesAmt
      this.form.account4 = this.$store.state.userInfo.enableFuturesAmt;
    },
    async tosubmit() {
      // 融资转指数
      let opt = {
        amt: this.selected === '1' ? this.form.account1 : this.selected === '2' ? this.form.account2 : this.selected === '3' ? this.form.account3 : this.form.account4,
        type: this.selected // 1 融资转指数 2 指数转融资
      }
      let data = await api.AmtChange(opt)
        amt:
          this.selected === "1"
            ? this.form.account1
            : this.selected === "2"
            ? this.form.account2
            : this.selected === "3"
            ? this.form.account3
            : this.form.account4,
        // type: this.selected, // 1 融资转指数 2 指数转融资
        userId: this.$store.state.userInfo.id, // 用户id
        disbursementAccount: this.selected === "1" ? "ST" : "USDT", //  划出账户
        depositAccount: this.selected === "2" ? "ST" : "USDT" // 划入账户
      };
      let data = await api.transfer(opt);
      if (data.status === 0) {
        Toast(data.msg)
        this.$router.push('/user')
        Toast(data.msg);
        this.$router.push("/user");
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getUserInfo() {
      // 获取用户信息
      let data = await api.getUserInfo()
      let data = await api.getUserInfo();
      if (data.status === 0) {
        this.$store.state.userInfo = data.data
        this.$store.state.userInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getMoney() {
      let data = await api.getMoney();
      if (data.status === 0) {
        this.myMoney = data.data;
      } else {
        Toast(data.msg);
      }
    }
  }
}
};
</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: 95%;
    color: #ffffff;
    background-color: #1989fa;
    border-radius: 8px;
    height: 66px;
    font-size: 22px;
    margin-left: 2.5%;
  }
.is-selected .mint-tab-item-label:hover {
  text-decoration: none;
}
@@ -182,6 +266,18 @@
  margin-bottom: 0;
}
.order-list {
  /deep/ .mint-cell {
    background: initial !important;
  }
  /deep/ .mint-cell .mint-cell-text {
    color: #000 !important;
  }
  /deep/ .mint-cell-wrapper {
    line-height: 1 !important;
  }
}
.prompt {
  padding: 0.3rem 0 0.2rem 0.7rem;
}