DESKTOP-NC155IP\vm
2022-11-15 83c81464327e274acb9d0694536a88d9aa74be30
意思意思
16 files modified
1 files deleted
1211 ■■■■■ changed files
src/axios/index.js 1 ●●●● patch | view | raw | blame | history
src/components/foot.vue 242 ●●●● patch | view | raw | blame | history
src/components/loginDialog.vue 6 ●●●● patch | view | raw | blame | history
src/locales/index.js 6 ●●●● patch | view | raw | blame | history
src/locales/zh-CN.js 4 ●●●● patch | view | raw | blame | history
src/locales/zh.js 92 ●●●●● patch | view | raw | blame | history
src/page/authentication/index.vue 54 ●●●●● patch | view | raw | blame | history
src/page/bankCard/index.vue 47 ●●●●● patch | view | raw | blame | history
src/page/home/home.vue 9 ●●●●● patch | view | raw | blame | history
src/page/newUser/index.vue 2 ●●● patch | view | raw | blame | history
src/page/transfer/index.vue 311 ●●●● patch | view | raw | blame | history
src/page/transferRecord/compontents/recharge-list.vue 257 ●●●● patch | view | raw | blame | history
src/page/transferRecord/index.vue 2 ●●● patch | view | raw | blame | history
src/page/user/transfer.vue 62 ●●●● patch | view | raw | blame | history
src/page/wallet/index.vue 50 ●●●● patch | view | raw | blame | history
src/router/index.js 44 ●●●● patch | view | raw | blame | history
src/utils/utils.js 22 ●●●●● patch | view | raw | blame | history
src/axios/index.js
@@ -21,6 +21,7 @@
// 在ajax发送之前拦截 比如对所有请求统一添加header token
axios.interceptors.request.use(
  config => {
    config.headers["lang"] = localStorage.getItem("language") ? localStorage.getItem("language") : "zh-CN";
    if (window.localStorage.getItem("USERTOKEN")) {
        // config.headers.Authorization = `USER_TOKEN = ${store.state.token}`;
        config.headers["USERTOKEN"] = window.localStorage.getItem("USERTOKEN");
src/components/foot.vue
@@ -1,6 +1,6 @@
<template>
  <div class="footCss">
    <div :class="touch==1?'footDemos':'footDemo'" @click="goRouter('/home',1)">
    <div :class="touch == 1 ? 'footDemos' : 'footDemo'" @click="goRouter('/home', 1)">
      <div class="homeImgOut" v-show="$store.state.select == '/home'">
        <div class="homeImg">
          <img src="~@/assets/foot/ic_home_tab_def.png" />
@@ -9,166 +9,166 @@
      <div v-show="$store.state.select != '/home'" class="footImgDeft">
        <img src="~@/assets/foot/tab_main_home_default.png" />
      </div>
      <div v-show="$store.state.select != '/home'">首页</div>
      <div v-show="$store.state.select != '/home'">{{ $t('hj224') }}</div>
    </div>
    <div :class="touch==2?'footDemos':'footDemo'" @click="goRouter('/trading-list',2)">
    <div :class="touch == 2 ? 'footDemos' : 'footDemo'" @click="goRouter('/trading-list', 2)">
      <div class="footImgDeft">
        <img v-show="$store.state.select == '/trading-list'" src="~@/assets/foot/trade_selected.png" />
        <img v-show="$store.state.select != '/trading-list'" src="~@/assets/foot/tab_main_trade_default.png" />
      </div>
      <div :class="$store.state.select == '/trading-list'?'blueFont':''">交易</div>
      <div :class="$store.state.select == '/trading-list' ? 'blueFont' : ''">{{ $t('hj225') }}</div>
    </div>
    <div :class="touch==3?'footDemos':'footDemo'" @click="goRouter('/warehouse',3)">
    <div :class="touch == 3 ? 'footDemos' : 'footDemo'" @click="goRouter('/warehouse', 3)">
      <div class="footImgDeft">
        <img v-show="$store.state.select == '/warehouse'" src="~@/assets/foot/positions_selected.png" />
        <img v-show="$store.state.select != '/warehouse'" src="~@/assets/foot/tab_main_positions_default.png" />
      </div>
      <div :class="$store.state.select == '/warehouse'?'blueFont':''">仓位</div>
      <div :class="$store.state.select == '/warehouse' ? 'blueFont' : ''">{{ $t('hj226') }}</div>
    </div>
    <div :class="touch==4?'footDemos':'footDemo'" @click="goRouter('/user',4)">
    <div :class="touch == 4 ? 'footDemos' : 'footDemo'" @click="goRouter('/user', 4)">
      <div class="footImgDeft">
        <img v-show="$store.state.select == '/user'" src="~@/assets/foot/mine_selected.png" />
        <img v-show="$store.state.select != '/user'" src="~@/assets/foot/tab_main_mine_default.png" />
      </div>
      <div :class="$store.state.select == '/user'?'blueFont':''">我的</div>
      <div :class="$store.state.select == '/user' ? 'blueFont' : ''">{{ $t('hj227') }}</div>
    </div>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        touch: 0,
      }
    },
    mounted() {
export default {
  data() {
    return {
      touch: 0,
    }
  },
  mounted() {
    },
    methods: {
      goRouter(url, index) {
        if(index==3||index==4){
          if(window.localStorage.getItem('USERTOKEN')==""||window.localStorage.getItem('USERTOKEN')==null||window.localStorage.getItem('USERTOKEN')==undefined){
            this.$emit('close')
            return;
          }
        }
        this.touch = index
        setTimeout(() => {
          this.touch = 0
        }, 500)
        this.$router.push(url)
        if (navigator.vibrate) {
          // 支持
          navigator.vibrate([55]);
  },
  methods: {
    goRouter(url, index) {
      if (index == 3 || index == 4) {
        if (window.localStorage.getItem('USERTOKEN') == "" || window.localStorage.getItem('USERTOKEN') == null || window.localStorage.getItem('USERTOKEN') == undefined) {
          this.$emit('close')
          return;
        }
      }
    },
      this.touch = index
      setTimeout(() => {
        this.touch = 0
      }, 500)
      this.$router.push(url)
      if (navigator.vibrate) {
        // 支持
        navigator.vibrate([55]);
      }
    }
  },
  }
}
</script>
<style>
  .footCss {
    border-top: 0.01rem solid rgba(192, 192, 192, 0.1);
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 1.3rem;
    display: flex;
    justify-content: space-around;
.footCss {
  border-top: 0.01rem solid rgba(192, 192, 192, 0.1);
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 1.3rem;
  display: flex;
  justify-content: space-around;
}
.footDemo {
  width: 0.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.24rem;
}
.footDemos {
  width: 0.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.24rem;
}
.footDemos::before {
  content: '';
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 100%;
  position: absolute;
  background-color: rgba(25, 122, 246, 0.14);
  -webkit-animation: footBlueBg 0.5s linear infinite;
  animation: footBlueBg 0.5s linear infinite;
  transition: all 0.5s;
}
@-webkit-keyframes footBlueBg {
  0% {
    -webkit-transform: scale(1.6);
    transform: scale(1.6);
  }
  .footDemo {
    width: 0.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.24rem;
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  .footDemos {
    width: 0.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.24rem;
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .footDemos::before {
    content: '';
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 100%;
    position: absolute;
    background-color: rgba(25, 122, 246, 0.14);
    -webkit-animation: footBlueBg 0.5s linear infinite;
    animation: footBlueBg 0.5s linear infinite;
    transition: all 0.5s;
  }
  @-webkit-keyframes footBlueBg {
    0% {
      -webkit-transform: scale(1.6);
      transform: scale(1.6);
    }
    25% {
      -webkit-transform: scale(1.3);
      transform: scale(1.3);
    }
    50% {
      -webkit-transform: scale(1);
      transform: scale(1);
    }
    75% {
      background-color: rgba(25, 122, 246, 0.1);
    }
    100% {
      background-color: rgba(25, 122, 246, 0);
    }
  }
  .footImgDeft {
    width: 0.56rem;
    height: 0.56rem;
    margin-bottom: 0.08rem;
  75% {
    background-color: rgba(25, 122, 246, 0.1);
  }
  .footImgDeft img {
    width: 100%;
    height: 100%;
  100% {
    background-color: rgba(25, 122, 246, 0);
  }
}
  .homeImgOut {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 100%;
    background-color: rgb(25, 122, 246);
  }
.footImgDeft {
  width: 0.56rem;
  height: 0.56rem;
  margin-bottom: 0.08rem;
  .homeImg {
    width: 0.9rem;
    height: 0.9rem;
  }
}
  .homeImg img {
    width: 100%;
    height: 100%;
  }
.footImgDeft img {
  width: 100%;
  height: 100%;
}
  .blueFont {
    color: rgb(25, 122, 246);
  }
.homeImgOut {
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 100%;
  background-color: rgb(25, 122, 246);
}
.homeImg {
  width: 0.9rem;
  height: 0.9rem;
}
.homeImg img {
  width: 100%;
  height: 100%;
}
.blueFont {
  color: rgb(25, 122, 246);
}
</style>
src/components/loginDialog.vue
@@ -8,7 +8,7 @@
          </div>
        </div>
        <div class="welcome_dialog">
          <span>{{ '欢迎回来' }}</span>
          <span>{{ $t('hj221') }}</span>
        </div>
        <div class="portrait">
          <div>
@@ -19,10 +19,10 @@
          <span>{{ 'Mitrade' }}</span>
        </div>
        <div class="go_login_btn background" @click="goToLogin()">
          <span class="title1">{{ '使用手机号登录' }}</span>
          <span class="title1">{{ $t('hj222') }}</span>
        </div>
        <div class="go_login_btn">
          <span class="title2" @click="goToReg()">{{ '还没有账号?去注册!' }}</span>
          <span class="title2" @click="goToReg()">{{ $t('hj223') }}</span>
        </div>
      </div>
    </van-popup>
src/locales/index.js
@@ -5,11 +5,11 @@
Vue.use(VueI18n);
const DEFAULT_LANG = "zh";
const DEFAULT_LANG = "zh-CN";
const LOCALE_KEY = "language";
const locales = {
  zh: {
  'zh-CN': {
    ...zh
  },
  en: {
@@ -23,7 +23,7 @@
}
let langLocale = window.localStorage.getItem(LOCALE_KEY)
  ? window.localStorage.getItem(LOCALE_KEY)
  : "zh";
  : "zh-CN";
const i18n = new VueI18n({
  locale: langLocale,
  messages: locales,
src/locales/zh-CN.js
File was deleted
src/locales/zh.js
@@ -166,10 +166,90 @@
    "hj163":"收款名称",
    "hj164":"复制",
    "hj165":"提示",
    "hj166":"全部",
    "hj167":"全部",
    "hj168":"全部",
    "hj169":"全部",
    "hj170":"全部",
    "hj171":"全部",
    "hj166":"收款银行",
    "hj167":"收款账号",
    "hj168":"充值记录",
    "hj169":"查看",
    "hj170":"充值金额",
    "hj171":"请输入充值金额",
    "hj172":"充值",
    "hj173":"操作流程",
    "hj174":"点击'复制', 复制信息",
    "hj175":"完成复制, 打开手机银行进行转账",
    "hj176":"为确保入金及时到账, 请确认您输入的金额和提交的充值金额一致",
    "hj177":"提现",
    "hj178":"请先实名认证",
    "hj179":"请先绑定银行卡",
    "hj180":"请输入正确的提现金额",
    "hj181":"提现金额不得小于",
    "hj182":"申请成功,请等待审核!",
    "hj183":"提现失败,请重新提现或者联系管理员",
    "hj184":"小于最少充值金额",
    "hj185":"复制成功",
    "hj186":"复制失败请重试",
    "hj187":"资金划转",
    "hj188":"融资转指数",
    "hj189":"指数转融资",
    "hj190":"可转金额",
    "hj191":"转账金额",
    "hj192":"请输入转账金额",
    "hj193":"确认转入指数账户",
    "hj194":"确认转入融资账户",
    "hj195":"真实姓名",
    "hj196":"身份证号",
    "hj197":"身份证正面",
    "hj198":"正在上传中...",
    "hj199":"身份证背面",
    "hj200":"认证失败,请重新认证",
    "hj201":"失败原因",
    "hj202":"审核中",
    "hj203":"通过",
    "hj204":"未通过",
    "hj205":"上传图片大小不能超过10M!",
    "hj206":"您上传的照片过大,请选择20M以下的图片",
    "hj207":"请输入您的真实姓名",
    "hj208":"请输入您的正确的身份证号码",
    "hj209":"请上传您的身份证照片",
    "hj210":"提交成功!",
    "hj211":"绑定银行卡",
    "hj212":"银行卡信息",
    "hj213":"银行名称",
    "hj214":"开户支行",
    "hj215":"银行卡号",
    "hj216":"确认绑定",
    "hj217":"请输入银行卡号",
    "hj218":"请输入银行名称",
    "hj219":"请输入开户支行",
    "hj220":"添加成功!",
    "hj221":"欢迎回来",
    "hj222":"使用手机号登录",
    "hj223":"还没有账号?去注册!",
    "hj224":"首页",
    "hj225":"交易",
    "hj226":"仓位",
    "hj227":"我的",
    "hj228":"暂无充值信息!",
    "hj229":"支付宝",
    "hj230":"对公转账",
    "hj231":"充值成功",
    "hj232":"充值失败",
    "hj233":"取消充值",
    "hj234":"订单号",
    "hj235":"加载中...",
    "hj236":"已全部加载",
    "hj237":"购买",
    "hj238":"详情",
    "hj239":"公告详情",
    "hj240":"忘记密码",
    "hj241":"开户",
    "hj242":"行情",
    "hj243":"个人中心",
    "hj244":"钱包",
    "hj245":"划转",
    "hj246":"认证",
    "hj247":"银行卡",
    "hj248":"用户登录",
    "hj249":"用户注册",
    "hj250":"已全部加载",
    "hj251":"已全部加载",
  }
src/page/authentication/index.vue
@@ -7,11 +7,11 @@
        </div>
      </div>
      <div class="titles">
        <span>{{ '实名认证' }}</span>
        <span>{{ $t('hj146') }}</span>
      </div>
      <div class="bank_name">
        <div class="lefts">
          <span>{{ '真实姓名:' }}</span>
          <span>{{ $t('hj195') + ':' }}</span>
        </div>
        <div class="rights">
          <input v-if="showBtn" type="text" v-model="form.name" />
@@ -21,7 +21,7 @@
      </div>
      <div class="bank_name">
        <div class="lefts">
          <span>{{ '身份证号:' }}</span>
          <span>{{ $t('hj196') + ':' }}</span>
        </div>
        <div class="rights">
          <input v-if="showBtn" type="text" v-model="form.idCard" />
@@ -35,8 +35,8 @@
            :on-error="handleError" :before-upload="beforeAvatarUpload" :disabled="!showBtn">
            <img v-if="form.img1key" :src="form.img1key" class="id-img avatar" />
            <i v-else class="iconfont icon-zhaopian"></i>
            <span v-if="!form.img1key && !imgStatus" class="btn-title">身份证正面</span>
            <span v-if="imgStatus" class="btn-title">正在上传中...</span>
            <span v-if="!form.img1key && !imgStatus" class="btn-title">{{$t('hj197')}}</span>
            <span v-if="imgStatus" class="btn-title">{{$t('hj198')}}</span>
          </el-upload>
        </div>
        <div class="rights">
@@ -45,30 +45,30 @@
            :on-error="handleError2" :before-upload="beforeAvatarUpload2" :disabled="!showBtn">
            <img v-if="form.img2key" :src="form.img2key" class="id-img avatar" />
            <i v-else class="iconfont icon-zhaopian"></i>
            <span v-if="!form.img2key && !imgStatus2" class="btn-title">身份证背面</span>
            <span v-if="imgStatus2" class="btn-title">正在上传中...</span>
            <span v-if="!form.img2key && !imgStatus2" class="btn-title">{{$t('hj199')}}</span>
            <span v-if="imgStatus2" class="btn-title">{{$t('hj198')}}</span>
          </el-upload>
        </div>
      </div>
      <div class="bank_name bind" @click="toSure" v-if="showBtn">
        <span>{{ '确定' }}</span>
        <span>{{ $t('hj161') }}</span>
      </div>
      <van-notify v-model="messFlag" type="primary">
        <div>
          <div class="eft">
            <span>{{ '认证失败,请重新认证' }}</span>
            <span>{{ $t('hj200') }}</span>
          </div>
          <div class="bft">
            <span>失败原因:{{ this.$store.state.userInfo.authMsg }}</span>
            <span>{{ $t('hj201') }}:{{ this.$store.state.userInfo.authMsg }}</span>
          </div>
        </div>
      </van-notify>
    </div>
    <div class="pass">
      <div class="top_t">
        <span v-if="this.$store.state.userInfo.isActive == 1" class="ise_pass">{{ '审核中' }}</span>
        <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{ '通过' }}</span>
        <span v-if="showBtn" class="ise_pass">{{ '未通过' }}</span>
        <span v-if="this.$store.state.userInfo.isActive == 1" class="ise_pass">{{ $t('hj202') }}</span>
        <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{ $t('hj203') }}</span>
        <span v-if="showBtn" class="ise_pass">{{ $t('hj204') }}</span>
      </div>
    </div>
  </div>
@@ -104,17 +104,6 @@
  },
  created() {
    this.getUserInfo();
    if (
        this.$store.state.userInfo.isActive === 1 ||
        this.$store.state.userInfo.isActive === 2
      ) {
        this.form.idCard = this.$store.state.userInfo.idCard;
        this.form.name = this.$store.state.userInfo.realName;
        this.form.img1key = this.$store.state.userInfo.img1Key;
        this.form.img2key = this.$store.state.userInfo.img2Key;
        //   this.form.img3key = this.$store.state.userInfo.img3Key
        this.showBtn = false;
      }
  },
 
  beforeDestroy() {
@@ -129,8 +118,9 @@
      document.body.classList.add("red-bg");
    }
    this.admin = process.env.API_HOST;
    if (this.admin === undefined) {
      this.admin = "";
    console.log(this.admin)
    if (this.admin == undefined) {
      this.admin = "https://api.mitrade.cc";
    }
  },
  methods: {
@@ -153,7 +143,7 @@
      // const _that = this
      const isLt10M = file.size / 1024 / 1024 < 10;
      if (!isLt10M) {
        this.$message.error("上传图片大小不能超过 10M!");
        this.$message.error(this.$t('hj205'));
        return false;
      } else {
        this.form.img2key = URL.createObjectURL(file);
@@ -201,7 +191,7 @@
      console.log(file, "file");
      let i = false;
      if (i) {
        Toast("您上传的照片过大,请选择20M以下的图片");
        Toast(this.$t('hj206'));
      } else {
        // Indicator.open('Loading...')
        this.img1Key = file;
@@ -222,11 +212,11 @@
    toSure() {
      // 实名认证弹框
      if (isNull(this.form.name) || !isName(this.form.name)) {
        Toast("请输入您的真实姓���");
        Toast(this.$t('hj207'));
      } else if (isNull(this.form.idCard) || !idCardReg(this.form.idCard)) {
        Toast("请输入您的正确的身份证号码");
        Toast(this.$t('hj208'));
      } else if (isNull(this.form.img1key) || isNull(this.form.img2key)) {
        Toast("请上传您的身份证照片");
        Toast(this.$t('hj209'));
      } else {
        // 显示确认弹窗
        this.toAuthentication();
@@ -242,7 +232,7 @@
      };
      let data = await api.userAuth(opts);
      if (data.status === 0) {
        Toast("提交成功!");
        Toast(this.$t('hj210'));
        this.goBack();
      } else {
        Toast(data.msg);
src/page/bankCard/index.vue
@@ -7,11 +7,11 @@
        </div>
      </div>
      <div class="titles">
        <span>{{ addBank ? '绑定银行卡' : '银行卡信息' }}</span>
        <span>{{ addBank ? $t('hj211') : $t('hj212') }}</span>
      </div>
      <div class="bank_name">
        <div class="lefts">
          <span>{{ '银行名称:' }}</span>
          <span>{{ $t('hj213') }}</span>
        </div>
        <div class="rights">
          <input type="text" v-model="bankName" :disabled="!addBank" />
@@ -19,7 +19,7 @@
      </div>
      <div class="bank_name">
        <div class="lefts">
          <span>{{ '开户支行:' }}</span>
          <span>{{ $t('hj214') }}</span>
        </div>
        <div class="rights">
          <input type="text" v-model="bankAddress" :disabled="!addBank" />
@@ -27,14 +27,14 @@
      </div>
      <div class="bank_name">
        <div class="lefts">
          <span>{{ '银行卡号:' }}</span>
          <span>{{ $t('hj215') }}</span>
        </div>
        <div class="rights">
          <input type="text" v-model="bankNo" :disabled="!addBank" />
        </div>
      </div>
      <div class="bank_name bind" @click="toSure" v-if="addBank">
        <span>{{ '确认绑定' }}</span>
        <span>{{ $t('hj216') }}</span>
      </div>
      <div class="bank_hck"></div>
      <div class="bank_code"></div>
@@ -64,11 +64,11 @@
    async toSure() {
      // 添加银行卡
      if (isNull(this.bankNo) || !bankNoReg(this.bankNo)) {
        Toast("请输入银行卡号");
        Toast(this.$t("hj217"));
      } else if (isNull(this.bankName) || !isName(this.bankName)) {
        Toast("请输入银行名称");
        Toast(this.$t("hj218"));
      } else if (isNull(this.bankAddress) || !isName(this.bankAddress)) {
        Toast("请输入开户支行");
        Toast(this.$t("hj219"));
      } else {
        let opts = {
          bankName: this.bankName,
@@ -76,19 +76,19 @@
          bankAddress: this.bankAddress
        };
        let data = await api.addBankCard(opts);
          if (data.status === 0) {
            Toast("添加成功!");
            this.$router.push("/newUser");
          } else {
            Toast(data.msg);
          }
        if (data.status === 0) {
          Toast(this.$t("hj220"));
          this.$router.push("/newUser");
        } else {
          Toast(data.msg);
        }
      }
    },
    async getCardDetail () {
    async getCardDetail() {
      // 获取银行卡信息
      let data = await api.getBankCard()
      if (data.status === 0) {
        const {bankAddress, bankName, bankNo} = data.data;
        const { bankAddress, bankName, bankNo } = data.data;
        this.bankAddress = bankAddress;
        this.bankName = bankName;
        this.bankNo = bankNo;
@@ -106,34 +106,41 @@
  width: 100%;
  height: 100%;
  background: #fff;
  .content {
    width: 100%;
    height: 100%;
    padding: 0 0.6rem;
    .top_back {
      width: 100%;
      height: 2rem;
      > div {
      >div {
        width: 10%;
        height: 100%;
        display: flex;
        align-items: center;
      }
      img {
        width: 0.6rem;
        height: 0.6rem;
      }
    }
    .titles {
      width: 100%;
      height: 1.5rem;
      font-size: 0.641rem;
      margin-top: 1rem;
      span {
        font-weight: 600;
      }
    }
  }
  .bank_name {
    width: 100%;
    height: 1.5rem;
@@ -142,22 +149,26 @@
    background: rgb(247, 247, 247);
    border-radius: 0.2rem;
    margin-top: 0.3rem;
    .lefts {
      width: 25%;
      height: 100%;
      display: flex;
      align-items: center;
      font-size: 0.3846rem;
      span {
        font-weight: 600;
      }
    }
    .rights {
      width: 75%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      input {
        width: 100%;
        height: 100%;
@@ -165,6 +176,7 @@
    }
  }
}
.bank_name.bind {
  display: flex;
  align-items: center;
@@ -172,6 +184,7 @@
  background: #2d6ae9;
  font-size: 0.4103rem;
  color: #fff;
  span {
    font-weight: 600;
  }
src/page/home/home.vue
@@ -127,14 +127,15 @@
                    <div class="bottom_fo">
                      <div class="title">
                        <span class="numberid" style="margin-right: 0.12rem;">{{ item2.symbol }}</span>
                        <div v-for="(items, indexs) in Number(item2.pnum.slice(0, 1))"
                        <!-- <div v-for="(items, indexs) in Number(item2.pnum.slice(0, 1))"
                          style="width: 0.4rem;height: 0.4rem;display: flex;">
                          <img v-if="indexs < 3" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />
                        </div>
                        </div> -->
                      </div>
                      <div class="numbers" :class="item2.floatPoint > 0 ? 'gree' : 'redd'">
                        <span class="point">{{ item2.pnum
                        <img :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />
                        <span class="point" style="height: 0.4rem;">{{ item2.pnum
                        }}</span>
                      </div>
                      <div class="percentage">
@@ -159,7 +160,7 @@
            <span class="tab-name">{{ $t('hj6') }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_1">
            <span class="tab-name">{{ $t('hj67') }}</span>
            <span class="tab-name">{{ $t('hj7') }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_2">
            <span class="tab-name">7×24</span>
src/page/newUser/index.vue
@@ -339,7 +339,7 @@
    },
    async toRegister() {
      // 注销登陆
      window.localStorage.clear("USERTOKEN"); // 清空本地存储 USERTOKEN字段
      window.localStorage.removeItem("USERTOKEN"); // 清空本地存储 USERTOKEN字段
      this.clearCookie();
      let data = await api.logout();
      if (data.status === 0) {
src/page/transfer/index.vue
@@ -9,24 +9,25 @@
    </div>
    <div class="bars">
      <div>
        <span>{{ '资金划转' }}</span>
        <span>{{ $t('hj187') }}</span>
      </div>
    </div>
    <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 v-if="this.$store.state.settingForm.indexDisplay" id="1">{{ $t('hj188') }}</mt-tab-item>
      <mt-tab-item v-if="this.$store.state.settingForm.indexDisplay" id="2">{{ $t('hj189') }}</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>
          <mt-field :label="$t('hj190')" :placeholder="$t('hj190')" type="text" disabled
            v-model="this.$store.state.userInfo.enableAmt">
          </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('hj191')" name="amt" v-model="form.account1" :placeholder="$t('hj192')" type="text">
            <span @click="selectAll1">{{ $t('hj160') }}</span>
          </mt-field>
        </div>
        <!-- <div class="form-block">
@@ -34,27 +35,27 @@
        </div>
        <p class="prompt">资金密码默认为登录密码</p> -->
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入指数账户</span>
          <span class="text-center btnok loginout" @click="tosubmit">{{ $t('hj193') }}</span>
        </div>
      </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('hj190')" :placeholder="$t('hj190')" type="text" disabled
            v-model="this.$store.state.userInfo.enableIndexAmt"></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('hj191')" v-model="form.account2" :placeholder="$t('hj192')" type="text">
            <span @click="selectAll2">{{ $t('hj160') }}</span>
          </mt-field>
        </div>
        <div class="btnbox">
          <span class="text-center btnok loginout" @click="tosubmit">确认转入融资账户</span>
          <span class="text-center btnok loginout" @click="tosubmit">{{ $t('hj194') }}</span>
        </div>
      </mt-tab-container-item>
      <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>
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled v-model="this.$store.state.userInfo.enableAmt">
          </mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account3" placeholder="请输入转账金额" type="text">
@@ -68,7 +69,7 @@
      <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>
            v-model="this.$store.state.userInfo.enableFuturesAmt"></mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account4" placeholder="请输入转账金额" type="text">
@@ -91,7 +92,7 @@
export default {
  components: {
  },
  data () {
  data() {
    return {
      selected: '1', // 选中
      form: {
@@ -108,18 +109,19 @@
  },
  watch: {},
  computed: {},
  created () {
  created() {
    this.getProductSetting()
  },
  mounted () {
  mounted() {
    if (this.$route.query.type) {
      this.selected = this.$route.query.type + ''
    }
    this.getUserInfo()
  },
  methods: {
    async getProductSetting () {
    async getProductSetting() {
      let data = await api.getProductSetting()
      console.log(data)
      if (data.status === 0) {
        this.$store.state.settingForm = data.data
        if (!this.$store.state.settingForm.indexDisplay) {
@@ -132,23 +134,23 @@
    handleBackClick() {
      this.$router.go(-1);
    },
    selectAll1 () {
    selectAll1() {
      // 选择全部
      this.form.account1 = this.$store.state.userInfo.enableAmt
    },
    selectAll2 () {
    selectAll2() {
      // 选择全部
      this.form.account2 = this.$store.state.userInfo.enableIndexAmt
    },
    selectAll3 () {
    selectAll3() {
      // 选择全部
      this.form.account3 = this.$store.state.userInfo.enableAmt
    },
    selectAll4 () {
    selectAll4() {
      // 选择全部
      this.form.account4 = this.$store.state.userInfo.enableFuturesAmt
    },
    async tosubmit () {
    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,
@@ -162,7 +164,7 @@
        Toast(data.msg)
      }
    },
    async getUserInfo () {
    async getUserInfo() {
      // 获取用户信息
      let data = await api.getUserInfo()
      if (data.status === 0) {
@@ -175,129 +177,154 @@
}
</script>
<style lang="less" scoped>
  .header {
    width: 100%;
    height: 1.5rem;
    background: #fff;
    position: fixed;
    z-index: 999;
    border-radius: 0 0 .15rem .15rem;
    .left_back {
      width: 1rem;
      height: 100%;
      left: 0;
      position: absolute;
      display: flex;
      justify-content: center;
      align-items: center;
      img {
        width: .6rem;
        height: .6rem;
      }
    }
    .header_titles {
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: .4615rem;
      line-height: 1.5rem;
      span {
        font-weight: 600;
      }
    }
  }
  .form-block {
    width: 100%;
    height: 1.5rem;
    margin-top: .3rem;
  }
  /deep/ .mint-field-other {
    padding-right: .3rem;
  }
  /deep/ .mint-cell-wrapper {
.header {
  width: 100%;
  height: 1.5rem;
  background: #fff;
  position: fixed;
  z-index: 999;
  border-radius: 0 0 .15rem .15rem;
  .left_back {
    width: 1rem;
    height: 100%;
    border: none;
    background: rgb(245, 245, 245);
    border-radius: .15rem;
  }
  .is-selected {
    background: rgb(235, 235, 235) !important;
    border-radius: .15rem;
  }
  .mint-navbar {
    padding: 0 .3rem;
  }
  .btnbox {
    width: 94%;
    margin-top: .1rem;
  }
  .loginout {
    height: 1.2rem !important;
    line-height: 1.2rem !important;
  }
  .int-cell {
    width: 100%;
    height: 100%;
  }
  a {
    width: 100%;
    height: 100%;
    .mint-cell-wrapper {
      width: 100%;
      height: 100%;
    }
  }
  .bars {
    width: 100%;
    height: 6rem;
    left: 0;
    position: absolute;
    display: flex;
    padding: 0 .3rem;
    align-items: flex-end;
    >div {
      margin-bottom: 1.2rem;
      font-size: .65rem;
      span {
        font-weight: 600;
      }
    justify-content: center;
    align-items: center;
    img {
      width: .6rem;
      height: .6rem;
    }
  }
  .mint-cell.mint-field{
    background: #fff !important;
    color: #000 !important;
  }
  /deep/ .mint-cell-text {
    color: #000 !important;
  }
  .text-center.btnok {
    display: inline-block;
    height: 1rem;
    line-height: 1rem;
    background: #2d6ae9;
    border: none;
    border-radius: .1rem;
  }
  .wrapper {
  .header_titles {
    width: 100%;
    height: 100%;
    background: #fff;
  }
  /deep/.mint-cell-wrapper{
    span{
      font-size: 0.35rem!important;
    }
    /deep/input{
      font-size: 0.35rem!important;
    text-align: center;
    font-size: .4615rem;
    line-height: 1.5rem;
    span {
      font-weight: 600;
    }
  }
  /deep/.mint-cell-value{
    font-size: 0.35rem!important;
}
.form-block {
  width: 100%;
  height: 1.5rem;
  margin-top: .3rem;
}
/deep/ .mint-field-other {
  padding-right: .3rem;
}
/deep/ .mint-cell-wrapper {
  height: 100%;
  border: none;
  background: rgb(245, 245, 245);
  border-radius: .15rem;
}
.is-selected {
  background: rgb(235, 235, 235) !important;
  border-radius: .15rem;
}
.mint-navbar {
  padding: 0 .3rem;
}
.btnbox {
  width: 94%;
  margin-top: .1rem;
}
.loginout {
  height: 1.2rem !important;
  line-height: 1.2rem !important;
}
.int-cell {
  width: 100%;
  height: 100%;
}
a {
  width: 100%;
  height: 100%;
  .mint-cell-wrapper {
    width: 100%;
    height: 100%;
  }
  /deep/.mint-tab-item-label{
    font-size: 0.35rem!important;
}
.bars {
  width: 100%;
  height: 6rem;
  display: flex;
  padding: 0 .3rem;
  align-items: flex-end;
  >div {
    margin-bottom: 1.2rem;
    font-size: .65rem;
    span {
      font-weight: 600;
    }
  }
  /deep/.loginout{
    font-size: 0.35rem!important;
}
.mint-cell.mint-field {
  background: #fff !important;
  color: #000 !important;
}
/deep/ .mint-cell-text {
  color: #000 !important;
}
.text-center.btnok {
  display: inline-block;
  height: 1rem;
  line-height: 1rem;
  background: #2d6ae9;
  border: none;
  border-radius: .1rem;
}
.wrapper {
  width: 100%;
  height: 100%;
  background: #fff;
}
/deep/.mint-cell-wrapper {
  span {
    font-size: 0.35rem !important;
  }
  /deep/input {
    font-size: 0.35rem !important;
  }
}
/deep/.mint-cell-value {
  font-size: 0.35rem !important;
}
/deep/.mint-tab-item-label {
  font-size: 0.35rem !important;
}
/deep/.loginout {
  font-size: 0.35rem !important;
}
</style>
src/page/transferRecord/compontents/recharge-list.vue
@@ -1,37 +1,37 @@
<template>
  <div>
    <div v-if="list.length<=0" class="empty text-center">
      暂无充值信息!
    <div v-if="list.length <= 0" class="empty text-center">
      {{ $t('hj228') }}
    </div>
    <div v-else>
      <ul
        class="table-list"
        v-infinite-scroll="loadMore"
        infinite-scroll-disabled="loading"
      <ul class="table-list" v-infinite-scroll="loadMore" infinite-scroll-disabled="loading"
        infinite-scroll-distance="10">
        <li class="list-body" v-for="(item) in list" :key="item.key">
          <div class="order-info-box">
            <div class="order-title">
                    <span :class="['main',item.payChannel == 0?'ali':item.payChannel == 1?'cart':'wechat']">
                        <!-- <i v-if="item.payChannel == 0 || item.payChannel == '支付宝'" style="color:#1296db;"
              <span :class="['main', item.payChannel == 0 ? 'ali' : item.payChannel == 1 ? 'cart' : 'wechat']">
                <!-- <i v-if="item.payChannel == 0 || item.payChannel == '支付宝'" style="color:#1296db;"
                           class="iconfont icon-zhifubao"></i>
                        <i v-if="item.payChannel == '微信' " style="color:#1296db;" class="iconfont icon-weixin"></i>
                        <i v-if="item.payChannel == 1 || item.payChannel == '对公转账'" style="color:#1296db;"
                           class="iconfont icon-yinlian"></i> -->
                        {{item.payChannel == 0?'支付宝':item.payChannel == 1?'对公转账':item.payChannel}}
                    </span>
              <span class="payNumber">充值:<span :style="{color:$state.theme =='red'?'#BB1815':''}">¥{{item.payAmt}}</span></span>
                {{ item.payChannel == 0 ? $t('hj229') : item.payChannel == 1 ? $t('hj230') : item.payChannel }}
              </span>
              <span class="payNumber">{{$t('hj172')}}:<span :style="{ color: $state.theme == 'red' ? '#BB1815' : '' }">¥{{
                  item.payAmt
              }}</span></span>
              <span
                :class="item.orderStatus == 1?'green pull-right':item.orderStatus == 2?'red pull-right':'red pull-right'">
                        <i v-if="item.orderStatus == 1" class="iconfont icon-tongguo4 animated bounceIn"></i>
                        <i v-if="item.orderStatus==0" class="iconfont icon-dengdai animated bounceInDown"></i>
                        <i v-if="item.orderStatus == 2" class="iconfont icon-failure animated bounceInDown"></i>
                        <i v-if="item.orderStatus == 3"
                           class="iconfont icon-iconfontweitongguo animated bounceInDown"></i>
                        <!-- 1 => 成功 2 失败 3取消 4 等待 -->
                        {{item.orderStatus == 1?'充值成功':item.orderStatus == 2?'充值失败':item.orderStatus == 3?'取消充值':'审核中'}}
                    </span>
                :class="item.orderStatus == 1 ? 'green pull-right' : item.orderStatus == 2 ? 'red pull-right' : 'red pull-right'">
                <i v-if="item.orderStatus == 1" class="iconfont icon-tongguo4 animated bounceIn"></i>
                <i v-if="item.orderStatus == 0" class="iconfont icon-dengdai animated bounceInDown"></i>
                <i v-if="item.orderStatus == 2" class="iconfont icon-failure animated bounceInDown"></i>
                <i v-if="item.orderStatus == 3" class="iconfont icon-iconfontweitongguo animated bounceInDown"></i>
                <!-- 1 => 成功 2 失败 3取消 4 等待 -->
                {{ item.orderStatus == 1 ? $t('hj231') : item.orderStatus == 2 ? $t('hj232') : item.orderStatus == 3 ? $t('hj233') :
                    $t('hj202')
                }}
              </span>
              <!-- <span class="secondary ">123456789</span> -->
            </div>
            <div class="order-info">
@@ -48,10 +48,10 @@
                        </span>
              </p> -->
              <div class="info-mix ">
                <span class="info-item">订单号:<b>{{item.orderSn}}</b></span>
                <span class="info-item">时间:
                    <b v-if="item.addTime">{{new Date(item.addTime) | timeFormat}}</b>
                    <b v-else></b>
                <span class="info-item">{{$t('hj234')}}:<b>{{ item.orderSn }}</b></span>
                <span class="info-item">{{$t('hj80')}}:
                  <b v-if="item.addTime">{{ new Date(item.addTime) | timeFormat }}</b>
                  <b v-else></b>
                </span>
              </div>
            </div>
@@ -74,10 +74,10 @@
      </ul>
      <div v-show="loading" class="load-all text-center">
        <mt-spinner type="fading-circle"></mt-spinner>
        加载中...
        {{$t('hj235') }}
      </div>
      <div v-show="!loading" class="load-all text-center">
        已全部加载
        {{$t('hj236') }}
      </div>
    </div>
  </div>
@@ -90,7 +90,7 @@
export default {
  components: {},
  props: {},
  data () {
  data() {
    return {
      loading: false,
      list: [],
@@ -101,12 +101,12 @@
  },
  watch: {},
  computed: {},
  created () {},
  mounted () {
  created() { },
  mounted() {
    this.getListDetail()
  },
  methods: {
    async getListDetail () {
    async getListDetail() {
      let opt = {
        payChannel: '', // 支付方式
        orderStatus: '', // 订单状态
@@ -123,7 +123,7 @@
        Toast(data.msg)
      }
    },
    async loadMore () {
    async loadMore() {
      if (this.list.length < 10 || this.total <= this.pageNum * this.pageNum) {
        return
      }
@@ -137,106 +137,123 @@
}
</script>
<style lang="less" scoped>
  .wrapper {
    padding-top: 0.9rem;
  }
.wrapper {
  padding-top: 0.9rem;
}
  .table-list {
    padding: 0.2rem 0;
.table-list {
  padding: 0.2rem 0;
    .list-body {
      padding: 0.1rem 0.3rem;
  .list-body {
    padding: 0.1rem 0.3rem;
      .capital:nth-child(1) {
        border-top: 0.01rem solid #3f444a;
    .capital:nth-child(1) {
      border-top: 0.01rem solid #3f444a;
    }
    .capital {
      padding: 0.2rem;
      // border-radius: 0.2rem;
      border-bottom: 0.01rem solid #3f444a;
      div {
        line-height: 0.4rem;
      }
      .capital {
        padding: 0.2rem;
        // border-radius: 0.2rem;
        border-bottom: 0.01rem solid #3f444a;
      .col-xs-4 {
        padding-left: 0;
        padding-right: 0;
      }
        div {
          line-height: 0.4rem;
        }
        .col-xs-4 {
          padding-left: 0;
          padding-right: 0;
        }
        .pro {
          color: #999;
        }
      .pro {
        color: #999;
      }
    }
  }
}
.payNumber {
  font-size: 0.24rem;
  font-weight: bold;
  span {
    font-family: lightnumber;
  }
}
/deep/.order-info-box {
  background-color: #16171d;
  padding: 0;
  .main {
    padding: 0.05rem .15rem;
    letter-spacing: 0;
    text-align: center;
    margin-right: .16rem;
    font-size: 0.24rem;
    border-radius: 3px;
    &.ali {
      background-color: #138EB4;
    }
    &.cart {
      background-color: #7266BA;
    }
    &.wechat {
      background-color: #009C46;
    }
  }
  .order-info {
    border-bottom: 1px solid #2e3237;
    padding-bottom: .3rem;
  }
  .order-title {
    border-bottom: none;
  }
  .info-mix {
    display: flex;
    font-size: .2rem;
    width: 100%;
    .info-item {
      margin-right: .2rem;
      color: #fff8;
    }
  }
}
.red-theme {
  .list-body {
    background-color: #fff;
  }
  .order-info-box {
    background-color: #fff;
    .order-info {
      border-bottom-color: #e9e9e9;
    }
  }
  .order-info-box .main.cart {
    color: #fff;
  }
  .payNumber {
    font-size: 0.24rem;
    font-weight: bold;
    span {
      font-family: lightnumber;
    }
    color: #000;
  }
  /deep/.order-info-box {
    background-color: #16171d;
    padding: 0;
    .main{
      padding: 0.05rem .15rem;
      letter-spacing:0;
      text-align: center;
      margin-right: .16rem;
      font-size: 0.24rem;
      border-radius: 3px;
      &.ali {
        background-color: #138EB4;
      }
      &.cart {
        background-color: #7266BA;
      }
      &.wechat {
        background-color: #009C46;
      }
    }
    .order-info {
      border-bottom: 1px solid #2e3237;
      padding-bottom: .3rem;
    }
    .order-title{
      border-bottom: none;
    }
    .info-mix{
      display: flex;
      font-size: .2rem;
      width: 100%;
      .info-item {
        margin-right: .2rem;
        color: #fff8;
      }
    }
  .order-info-box .info-mix .info-item {
    color: #666666;
  }
  .red-theme {
    .list-body {
      background-color: #fff;
    }
    .order-info-box {
      background-color: #fff;
      .order-info {
        border-bottom-color: #e9e9e9;
      }
    }
    .order-info-box .main.cart {
      color: #fff;
    }
    .payNumber {
      color: #000;
    }
    .order-info-box .info-mix .info-item{
      color: #666666;
    }
    .load-all{
      background-color: #fff;
    }
  .load-all {
    background-color: #fff;
  }
}
</style>
src/page/transferRecord/index.vue
@@ -5,7 +5,7 @@
        <img src="../../assets/img/zuojiantou.png" alt="">
      </div>
      <div class="header_titles">
        <span>{{ '充值记录' }}</span>
        <span>{{ $t('hj168') }}</span>
      </div>
    </div>
    <!-- <div class="text-center">
src/page/user/transfer.vue
@@ -16,8 +16,8 @@
    <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>
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled v-model="this.$store.state.userInfo.enableAmt">
          </mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" name="amt" v-model="form.account1" placeholder="请输入转账金额" type="text">
@@ -35,7 +35,7 @@
      <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>
            v-model="this.$store.state.userInfo.enableIndexAmt"></mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account2" placeholder="请输入转账金额" type="text">
@@ -48,8 +48,8 @@
      </mt-tab-container-item>
      <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>
          <mt-field label="可转金额" placeholder="可转金额" type="text" disabled v-model="this.$store.state.userInfo.enableAmt">
          </mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account3" placeholder="请输入转账金额" type="text">
@@ -63,7 +63,7 @@
      <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>
            v-model="this.$store.state.userInfo.enableFuturesAmt"></mt-field>
        </div>
        <div class="form-block">
          <mt-field label="转账金额" v-model="form.account4" placeholder="请输入转账金额" type="text">
@@ -86,7 +86,7 @@
export default {
  components: {
  },
  data () {
  data() {
    return {
      selected: '1', // 选中
      form: {
@@ -103,17 +103,17 @@
  },
  watch: {},
  computed: {},
  created () {
  created() {
    this.getProductSetting()
  },
  mounted () {
  mounted() {
    if (this.$route.query.type) {
      this.selected = this.$route.query.type + ''
    }
    this.getUserInfo()
  },
  methods: {
    async getProductSetting () {
    async getProductSetting() {
      let data = await api.getProductSetting()
      if (data.status === 0) {
        this.$store.state.settingForm = data.data
@@ -124,23 +124,23 @@
        this.$message.error(data.msg)
      }
    },
    selectAll1 () {
    selectAll1() {
      // 选择全部
      this.form.account1 = this.$store.state.userInfo.enableAmt
    },
    selectAll2 () {
    selectAll2() {
      // 选择全部
      this.form.account2 = this.$store.state.userInfo.enableIndexAmt
    },
    selectAll3 () {
    selectAll3() {
      // 选择全部
      this.form.account3 = this.$store.state.userInfo.enableAmt
    },
    selectAll4 () {
    selectAll4() {
      // 选择全部
      this.form.account4 = this.$store.state.userInfo.enableFuturesAmt
    },
    async tosubmit () {
    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,
@@ -154,7 +154,7 @@
        Toast(data.msg)
      }
    },
    async getUserInfo () {
    async getUserInfo() {
      // 获取用户信息
      let data = await api.getUserInfo()
      if (data.status === 0) {
@@ -167,22 +167,22 @@
}
</script>
<style lang="less" scoped>
  .is-selected .mint-tab-item-label:hover {
    text-decoration: none;
  }
.is-selected .mint-tab-item-label:hover {
  text-decoration: none;
}
  .wrapper /deep/ .mint-tab-item-label {
    font-size: 0.264rem;
  }
.wrapper /deep/ .mint-tab-item-label {
  font-size: 0.264rem;
}
  .mint-navbar .mint-tab-item.is-selected {
    // color: #d50000;
    // border-bottom: 2px solid #d50000;
    text-decoration: none;
    margin-bottom: 0;
  }
.mint-navbar .mint-tab-item.is-selected {
  // color: #d50000;
  // border-bottom: 2px solid #d50000;
  text-decoration: none;
  margin-bottom: 0;
}
  .prompt {
    padding: 0.3rem 0 0.2rem 0.7rem;
  }
.prompt {
  padding: 0.3rem 0 0.2rem 0.7rem;
}
</style>
src/page/wallet/index.vue
@@ -108,45 +108,45 @@
        </div>
        <div class="bank_1">
          <div class="left_name">
            <span>{{ '收款银行' }}</span>
            <span>{{ $t('hj166') }}</span>
          </div>
          <div class="center_input">
            <input type="text" v-model="skBankName" readonly />
          </div>
          <div class="right_copy">
            <span v-clipboard:copy="skBankName" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ '复制'
            <span v-clipboard:copy="skBankName" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ $t('hj164')
            }}</span>
          </div>
        </div>
        <div class="bank_1">
          <div class="left_name">
            <span>{{ '收款账号' }}</span>
            <span>{{ $t('hj167') }}</span>
          </div>
          <div class="center_input">
            <input type="text" v-model="skUser" readonly />
          </div>
          <div class="right_copy">
            <span v-clipboard:copy="skUser" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ '复制' }}</span>
            <span v-clipboard:copy="skUser" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ $t('hj164') }}</span>
          </div>
        </div>
        <div class="bank_1" @click="handleGoToTransferRecord()">
          <div class="left_name">
            <span>{{ '充值记录' }}</span>
            <span>{{ $t('hj168') }}</span>
          </div>
          <div class="center_input"></div>
          <div class="right_copy">
            <span>{{ '查看' }}</span>
            <span>{{ $t('hj169') }}</span>
          </div>
        </div>
        <div class="bank_1">
          <div class="left_name">
            <span>{{ '充值金额' }}</span>
            <span>{{ $t('hj170') }}</span>
          </div>
          <div class="center_input">
            <input type="text" v-model="walletNum" placeholder="请输入充值金额" />
            <input type="text" v-model="walletNum" :placeholder="$t('hj171')" />
          </div>
          <div class="right_copy" @click="handleGoCz()">
            <span style="background: #2d6ae9;color: #fff;padding: 0.2rem 0.4rem;border-radius: 0.2rem;">{{ '充值'
            <span style="background: #2d6ae9;color: #fff;padding: 0.2rem 0.4rem;border-radius: 0.2rem;">{{ $t('hj172')
            }}</span>
          </div>
        </div>
@@ -163,16 +163,16 @@
              <img src="../../assets/img/liucheng.png" alt />
            </div>
            <div class="right_title">
              <span>{{ '操作流程:' }}</span>
              <span>{{ $t('hj173') + ':' }}</span>
            </div>
          </div>
          <div class="_on">
            <span>{{ '①' }}</span>
            <span>{{ '点击"复制", 复制信息' }}</span>
            <span>{{ $t('hj174') }}</span>
          </div>
          <div class="_on">
            <span>{{ '②' }}</span>
            <span>{{ '完成复制, 打开手机银行进行转账' }}</span>
            <span>{{ $t('hj175') }}</span>
          </div>
        </div>
        <div class="top_title" style="color: red;">
@@ -181,12 +181,12 @@
              <img src="../../assets/img/jinggao.png" alt />
            </div>
            <div class="right_title">
              <span>{{ '操作流程:' }}</span>
              <span>{{ $t('hj173') + ':' }}</span>
            </div>
          </div>
          <div class="_on">
            <span>{{ '①' }}</span>
            <span class="hgg">{{ '为确保入金及时到账, 请确认您输入的金额和提交的充值金额一致' }}</span>
            <span class="hgg">{{ $t('hj176') }}</span>
          </div>
        </div>
      </div>
@@ -205,7 +205,7 @@
    return {
      name: "大狗子",
      selectUserFlag: true,
      tabsArr: ["充值", "提现"],
      tabsArr: [this.$t('hj172'), this.$t('hj177')],
      tabsCurrentIndex: 0,
      walletNum: "",
      skName: "",
@@ -288,18 +288,18 @@
    async handleToSure() {
      // 点击确定提现
      if (!this.userInfo.idCard) {
        Toast("请先实名认证");
        Toast(this.$t('hj178'));
        return;
      }
      if (!this.bankInfo.bankNo) {
        Toast("请先绑定银行卡");
        Toast(this.$t('hj179'));
        return;
      } else {
      }
      if (!this.withdrawalValue || this.withdrawalValue <= 0) {
        Toast("请输入正确的提现金额");
        Toast(this.$t('hj180'));
      } else if (this.withdrawalValue - this.settingInfo.withMinAmt < 0) {
        Toast("提现金额不得小于" + this.settingInfo.withMinAmt);
        Toast(this.$t('hj181') + this.settingInfo.withMinAmt);
      } else {
        let opts = {
          amt: this.withdrawalValue
@@ -307,10 +307,10 @@
        let data = await api.outMoney(opts);
        if (data.status === 0) {
          // 成功
          Toast("申请成功,请等待审核!");
          Toast(this.$t('hj182'));
          this.$router.push("/cashlist");
        } else {
          Toast(data.msg ? data.msg : "提现失败,请重新提现或者联系管理员");
          Toast(data.msg ? data.msg : this.$t('hj183'));
        }
      }
      if (navigator.vibrate) {
@@ -364,13 +364,13 @@
      }
      if (this.walletNum === "") {
        this.messShow = true;
        this.mess = "请输入充值金额";
        this.mess = this.$t('hj171');
        setTimeout(() => {
          this.messShow = false;
        }, 1500);
      } else if (this.walletNum < 200) {
        this.messShow = true;
        this.mess = "小于最少充值金额";
        this.mess = this.$t('hj184');
        setTimeout(() => {
          this.messShow = false;
        }, 1500);
@@ -380,14 +380,14 @@
      }
    },
    onCopy() {
      Toast("复制成功");
      Toast(this.$t('hj185'));
      if (navigator.vibrate) {
        // 支持
        navigator.vibrate([55]);
      }
    },
    onError() {
      Toast("复制失败请重试");
      Toast(this.$t('hj186'));
    },
    async getPayInfo() {
      // 获取支付渠道 详细信息
src/router/index.js
@@ -1,5 +1,6 @@
import Vue from 'vue'
import Router from 'vue-router'
import i18n from '@/locales/index.js'
import Home from '@/page/home/home'
import Buy from '@/page/home/buy'
import Alertdetail from '@/page/home/components/alert' // 公告详情
@@ -62,7 +63,6 @@
Router.prototype.push = function push(location) {
  return routerPush.call(this, location).catch(error => error)
}
export default new Router({
  routes: [
    {
@@ -72,7 +72,7 @@
      path: '/home',
      name: 'home',
      meta: {
        title: '首页',
        title: i18n.t('hj224'),
        requireAuth: true,
        index: 0
      },
@@ -81,7 +81,7 @@
      path: '/buy',
      name: 'buy',
      meta: {
        title: '购买',
        title: i18n.t('hj237'),
        requireAuth: true,
        hasHeader: true,
        index: 1
@@ -91,7 +91,7 @@
      path: '/newPage',
      name: 'newPage',
      meta: {
        title: '详情',
        title: i18n.t('hj238'),
        hasHeader: true,
        is_Show: true,
        index: 2
@@ -102,7 +102,7 @@
      path: '/newGg',
      name: 'newGg',
      meta: {
        title: '公告详情',
        title: i18n.t('hj239'),
        hasHeader: true,
        is_Show: true,
        index: 49
@@ -122,7 +122,7 @@
      path: '/forget',
      name: 'forget',
      meta: {
        title: '忘记密码',
        title: i18n.t('hj240'),
        index: 4
      },
      component: Forget
@@ -141,7 +141,7 @@
      path: '/openaccount',
      name: 'openaccount',
      meta: {
        title: '开户',
        title: i18n.t('hj241'),
        hasHeader: true,
        index: 6
      },
@@ -151,7 +151,7 @@
      path: '/trading-list',
      name: 'TradingList',
      meta: {
        title: '行情',
        title: i18n.t('hj242'),
        requireAuth: false,
        hasHeader: false,
        index: 7
@@ -218,7 +218,7 @@
      path: '/listdetail',
      name: 'listdetail',
      meta: {
        title: '详情',
        title: i18n.t('hj238'),
        requireAuth: false,
        hasHeader: false,
        index: 13
@@ -228,7 +228,7 @@
      path: '/listdetail2',
      name: 'listdetail2',
      meta: {
        title: '详情',
        title: i18n.t('hj238'),
        requireAuth: false,
        hasHeader: true,
        index: 14
@@ -326,7 +326,7 @@
      path: '/warehouse',
      name: 'Warehouse',
      meta: {
        title: '持仓',
        title: i18n.t('hj2'),
        requireAuth: false,
        hasHeader: false,
        index: 22
@@ -586,7 +586,7 @@
      path: '/login',
      name: 'newLogin',
      meta: {
        title: '用户登录',
        title: i18n.t('hj248'),
        requireAuth: false,
        hasHeader: true,
        index: 47,
@@ -598,7 +598,7 @@
      path: '/register',
      name: 'newRegister',
      meta: {
        title: '用户注册',
        title: i18n.t('hj249'),
        requireAuth: false,
        hasHeader: false,
        index: 48,
@@ -610,7 +610,7 @@
      path: '/kline',
      name: 'kline',
      meta: {
        title: '详情',
        title: i18n.t('hj238'),
        requireAuth: false,
        hasHeader: false,
        index: 49,
@@ -622,7 +622,7 @@
      path: '/TradingBuy',
      name: 'TradingBuy',
      meta: {
        title: '购买',
        title: i18n.t('hj237'),
        requireAuth: false,
        hasHeader: false,
        index: 50,
@@ -634,7 +634,7 @@
      path: '/User',
      name: 'NewUser',
      meta: {
        title: '个人中心',
        title: i18n.t('hj243'),
        requireAuth: false,
        hasHeader: false,
        index: 51,
@@ -645,7 +645,7 @@
      path: '/wallet',
      name: 'Wallet',
      meta: {
        title: '钱包',
        title: i18n.t('hj244'),
        requireAuth: false,
        hasHeader: false,
        index: 52,
@@ -656,7 +656,7 @@
      path: '/transferRecord',
      name: 'transferRecord',
      meta: {
        title: '充值记录',
        title: i18n.t('hj168'),
        requireAuth: false,
        hasHeader: false,
        index: 53,
@@ -668,7 +668,7 @@
      path: '/cashWithdrawalRecord',
      name: 'cashWithdrawalRecord',
      meta: {
        title: '提现记录',
        title: i18n.t('hj162'),
        requireAuth: false,
        hasHeader: false,
        index: 54,
@@ -680,7 +680,7 @@
      path: '/transfers',
      name: 'transfers',
      meta: {
        title: '划转',
        title: i18n.t('hj245'),
        requireAuth: false,
        hasHeader: false,
        index: 55,
@@ -692,7 +692,7 @@
      path: '/authentications',
      name: 'authentications',
      meta: {
        title: '认证',
        title: i18n.t('hj246'),
        requireAuth: false,
        hasHeader: false,
        index: 56,
@@ -704,7 +704,7 @@
      path: '/bankCard',
      name: 'bankCard',
      meta: {
        title: '银行卡',
        title: i18n.t('hj247'),
        requireAuth: false,
        hasHeader: false,
        index: 57,
src/utils/utils.js
@@ -15,7 +15,27 @@
    return false
  }
}
export function debounce (fn, delay) {
  // 时间期限
  var delay = delay || 200;
  var timer;
  // 闭包
  return function () {
    // 考虑作用域,上下文环境,apply需要用到this对象
    var th = this;
    // 接收的参数用 ES6 中的 rest 参数统一存储到变量 args 中。arguments就是传入的参数数组,而且个数可以不确定的传回给fn(不确定函数到底有多少个参数,用arguments来接收)
    var args = arguments;
    // 判断还在定时,说明当前正在一个计时过程中,并且又触发了相同事件。所以要取消当前的计时,重新开始计时
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(function () {
      timer = null;
      // 执行方法
      fn.apply(th, args);
    }, delay);
  };
}
// 判断是不是邮箱 是--true
export function isEmail (str) {
  let myreg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/