login.vue 4.13 KB
<template>
  <v-layout id="Login" column justify-center align-center>
    <v-flex>
      <v-card id="LoginBlock" height="18rem">
        <div class="phoneBlock">
          <div class="iconBlock">
            <i aria-hidden="true" class="material-icons icon iconfont icon-shouji"></i>            
          </div>
          <v-text-field
            v-model="form.phone"
            
            color="light-gold"
            class="LoginInput "
            name="PhoneInput"
            placeholder="请输入手机号"
            id='PhoneInput'
            single-line
          ></v-text-field>
        </div>
        <div class="VerificationCodeBlock">
          <div class="iconBlock">
            <i aria-hidden="true" class="material-icons icon iconfont icon-yanzhengma"></i>
          </div>
          <v-text-field
            class="LoginInput"
            color="light-gold"
            name="VerificationCodeInput"
            id="VerificationCodeInput"            
            placeholder="请输入验证码"
            single-line
          ></v-text-field>
          <div class="getCodeBlock">
            <v-btn depressed id="getCodeBtn">发送验证码</v-btn>
          </div>
        </div>
        <div class="Agreement">
          <div 
            @click="agreement = !agreement" 
            class="AgreementCheckBox"
            :class="agreement ?  'AgreementChecked' : ''">
            <v-icon id="CheckBoxCheck" v-if="agreement">check</v-icon>
          </div>
          已阅读并同意<span class="gold--text">《XX协议》</span>
        </div>
        <div class="ConfirmButtonBlock">
            <v-btn depressed id="ConfirmButton">激  活</v-btn>
          </div>
      </v-card>
    </v-flex>
  </v-layout>
</template>

<script>
export default {
  data:() => ({
    form: {
      phone: '',
      verificationCode: '',
    },
    agreement: false,
  }),
}
</script>

<style lang="scss" >
  #Login {
    background-image: url('/loginBG.png');
    background-size: cover;
    background-repeat:no-repeat;

   

    #LoginBlock {
      width: 87vw;
      margin-top: 8.5rem;
      background: $menu-grey;
      border-radius: 10px;
      padding: 1rem 0.9rem;

      .iconBlock {
        position: absolute;
        margin-top: 18px;
        margin-left: 1rem;

        .icon {
          color: $light-gold;
        }
      }
      
      #PhoneInput {
        margin-left: 2.7rem;
        color: $light-gold;
      }
      #VerificationCodeInput {
        margin-left: 2.7rem;
        margin-right: 6rem;
        color: $light-gold;
      }

      ::-moz-placeholder { color: #9D9D9D; }
      ::-webkit-input-placeholder { color:#9D9D9D; }
      :-ms-input-placeholder { color:#9D9D9D; }
    }
    .VerificationCodeBlock {
      position: relative;

      .getCodeBlock {
        position: absolute;
        right: 0;
        top: 0;
        #getCodeBtn {
          background-image: linear-gradient(-229deg, #DAB269 37%, #E7C78C 87%);
          border-radius: 4px;
          color: #484646;
          height: 2rem;
          width: 5.9rem;
          margin-right: 0;
        }
      }
    }
    .Agreement {
      text-align: center;
      font-size: 12px;
      color: #9D9D9D;
      font-weight: bold;
      height: 1.5rem;
      line-height: 1.5rem;
      .AgreementCheckBox {
        border: 2px solid #fff;
        color: #fff;
        width: 1.2rem;
        height: 1.2rem;
        border-radius: 1.2rem;
        transition: all 0.3s ease-in-out;
        display: inline-block;
        margin-right: 0.8rem;
        position: relative;
        top: 3px;
        &.AgreementChecked {
          background-image: linear-gradient(-229deg, #DAB269 37%, #E7C78C 87%);
          border-color: #E7C78C;
        }
        #CheckBoxCheck {
          position: absolute;
          left: 0;
          font-size: 15px;
          font-weight: bold;
        }
      }
    }
    .ConfirmButtonBlock {
      width: 100%;
      margin-top: 1.1rem;

      #ConfirmButton {
        color: #484646;
        background-image: linear-gradient(-213deg, #DAB269 0%, #E7C78C 92%);
        border-radius: 2px;
        width: 18rem;
        height: 2.8rem;
        margin: auto;
      }
    }
  }
</style>