memberLogin.vue 4.05 KB
<template>
  <div class="login_container">
    <img src="@/assets/icon/bg_login_2.png" />
    <div class="login_box">
      <NafmHeader navClass="nafmii-head-bg1" title=" " />
    </div>
    <main class="login_content">
      <van-form class="login_form">
        <van-field v-model="code" :left-icon="shtyxydmIcon" :placeholder="$t('mlogin.code')">
        </van-field>
        <van-field v-model="password" :left-icon="passwordIcon" type="password" :placeholder="$t('mlogin.password')">
        </van-field>
        <van-field v-model="checkCode" :left-icon="verificationIcon" :placeholder="$t('mlogin.verificationCode')">
          <template #button>
            <span class="verfication_code">111111</span>
          </template>
        </van-field>
        <p class="wraning_tip">
          <span v-show="isLogin">{{$t('mlogin.warningTip')}}</span>
        </p>
        <div>
          <van-button :class="isLogin ? 'login_btn' : 'act_btn login_btn'" block type="info" native-type="submit" @click="loginSubmit">登录</van-button>
        </div>
      </van-form>
    </main>
    <div class="membership_about">
      <van-cell :title="$t('mlogin.membershipGuide')" is-link to="/member/memberGuide" />
      <van-cell :title="$t('mlogin.FAQ')" is-link to="/member/membershipGuide" />
      <van-cell :title="$t('mlogin.memberRules')" is-link to="/member/membershipGuide" />
    </div>
  </div>
</template>
<script>
export default {
  name: "MemberLogin",
  data() {
    return {
      code: '',
      password: '',
      checkCode: '',
      passwordIcon: require('@/assets/icon/password.png'),
      verificationIcon: require('@/assets/icon/verification.png'),
      shtyxydmIcon: require('@/assets/icon/shtyxydm.png'),
    }
  },
  computed: {
    isLogin() {
      return !this.code || this.code === '' || !this.password || this.password === '' || !this.checkCode || this.checkCode === ''
    }
  },
  methods: {
    loginSubmit() {
      if (!this.code || this.code === '') {
        return Toast(this.$t('mlogin.code'))
      }
      if (!this.password || this.password === '') {
        return Toast(this.$t('mlogin.password'))
      }
      if (!this.checkCode || this.checkCode === '') {
        return Toast(this.$t('mlogin.verificationCode'))
      }
      this.$router.push({
        name: 'LoginResult'
      })
    }
  }
}
</script>
<style lang="less" scoped>
.login_container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  .login_box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
  }
  .login_content {
    display: flex;
    align-items: center;
    justify-content: center;
    .login_form {
      width: 330px;
      padding: 20px 0;
      background-color: #ffffff;
      ::v-deep .van-cell:not(:last-child)::after {
        border-bottom: 1px solid #efefef;
      }
      ::v-deep .van-cell {
        padding-right: 0 !important;
        padding-left: 0 !important;
        border-bottom: 1px solid #ebedf0;
      }
      ::v-deep .van-cell:not(:last-child)::after {
        border: none;
      }
      ::v-deep .van-field__control {
        font-size: 14px;
        color: #333333;
      }
      input::-webkit-input-placeholder {
        color: #8f9196;
      }
      input::-moz-input-placeholder {
        color: #8f9196;
      }
      input::-ms-input-placeholder {
        color: #8f9196;
      }
      .wraning_tip {
        min-height: 17px;
        color: #ea5c6d;
        font-size: 12px;
        margin-top: 16px;
      }
      .login_btn {
        width: 100%;
        border-radius: 5px;
        text-align: center;
        height: 45px;
        line-height: 45px;
        color: #fff;
        font-size: 16px;
        margin-top: 20px;
        background-image: linear-gradient(to right, #25a3df, #106abc);
        // background: linear-gradient(to right, #25a3df, #106abc);
        border: none;
        opacity: 0.3;
      }
      .act_btn {
        opacity: 1;
      }
    }
  }
  .membership_about {
    flex: 1;
    background-color: #f6f6f6;
    .van-cell {
      background-color: #f6f6f6;
      font-size: 14px;
    }
  }
}
</style>