loginPhone.vue 2.39 KB
<template>
  <div class="login_container">

    <img src="@/assets/icon/bg_login_2.png" />
    <div class="login_box">
      <NafmHeader navClass="nafmii-head-bg1" bgColor="transparent" />
    </div>

    <div class="login_content">
      <LoginTabs :type="1" />
      <div class="login_form_box">
        <div class="login_form">
          <van-field v-model.trim="phone" clearable type="tel" maxlength="11" :left-icon="phoneIcon" placeholder="请输入手机号" />
          <van-field v-model.trim="password" clearable label="" type="tel" maxlength="6" :left-icon="VerificationIcon" placeholder="请输入验证码">
            <template #button>
              <SendVerificationCode :phone="phone" :data="objParams" />
            </template>
          </van-field>
          <div class="login_btn" :class="{loginActive:isBothValue}" @click="handleLogin">登 录</div>
          <div class="register_btn" @click="jumpRigster">立即注册</div>
        </div>
      </div>
    </div>
    <OtherLogin />
  </div>
</template>
<script>
import LoginTabs from './components/LoginTabs'
import OtherLogin from './components/OtherLogin'
import SendVerificationCode from '@/components/SendVerificationCode'

import utils from "@/utils/";

export default {
  name: 'Login',
  components: {
    LoginTabs,
    OtherLogin,
    SendVerificationCode
  },
  data() {
    return {
      phone: null,
      password: "",
      objParams: {
        type: 'phone'
      },
      type: 'phone',
      phoneIcon: require('@/assets/icon/user.png'),
      VerificationIcon: require('@/assets/icon/verification.png'),
    }
  },
  computed: {
    isBothValue() {
      if (this.phone && this.password) {
        return true
      } else {
        return false
      }
    },
  },
  methods: {
    // 登录操作
    handleLogin() {
      if (!this.phone) {
        Toast('请输入手机号')
        return
      }
      if (!utils.phoneRegCheck(this.phone)) {
        Toast("请输入正确的手机号码!");
        return
      }
      if (!this.password) {
        Toast('请输入验证码')
        return
      }

      // todo 请求接口
      console.log(1)
    },
    // 跳转注册页面
    jumpRigster() {
      this.$router.push({
        path: '/user/register'
      })
    },
  }
}
</script>
<style lang="less" scoped>
@import "./less/login.less";
// /deep/ .van-field__body input::-webkit-input-placeholder {
//   color: #8F9196;
// }
</style>