<template>
  <div class="login">
    <div class="logoTitle">
      <img src="../../assets/loginImg/logo.png"><span>贷后监管</span>
      <p class="title">贷后监管体系</p>
    </div>
    <div class="main">
      <div class="content">
        <el-form ref="loginForm" :model="loginForm" class="login-form">
          <h3 class="title1">用户登录</h3>
          <el-form-item>
            <el-input v-model="loginForm.userName" autocomplete="off" placeholder="请输入账号" prefix-icon="el-icon-user" />
          </el-form-item>
          <el-form-item>
            <el-input v-model="loginForm.password" autocomplete="off" placeholder="请输入密码" prefix-icon="el-icon-lock" show-password />
            <span class="nopsw register" @click="handleforgetPwd">忘记密码 ？</span>
          </el-form-item>
          <el-form-item v-show="showMsg" style="margin-bottom:0;">
            <span class="text-danger">提示：用户名或密码错误，请重试！</span>
          </el-form-item>
          <el-form-item>
            <el-popover
              placement="top"
              width="400"
              trigger="click"
            >
              <!--              <imgCodeRole @login="login" ref="imgCodeRole"></imgCodeRole>-->
              <!--              <el-button slot="reference" type="primary" class="login-btn" v-loading="loading">登 录</el-button>-->
              <el-button slot="reference" v-loading="loading" type="primary" class="login-btn" @click="login">登 录</el-button>
            </el-popover>
            <!--<router-link :to="{name: 'registUser'}"  target="_blank"  tag="a" class="register fl">个人注册</router-link>
						<router-link :to="{name: 'registOrg'}"  target="_blank"  tag="a" class="register fr">单位注册</router-link>-->
          </el-form-item>
        </el-form>
      </div>
    </div>

    <el-dialog title="忘记密码" :visible.sync="forgetPwd" :close-on-click-modal="false">
      <el-form :model="nopassword">
        <el-form-item label="手机号">
          <el-input v-model="nopassword.userPhone" autocomplete="off" />
        </el-form-item>
        <el-form-item label="姓名">
          <el-input v-model="nopassword.userName" autocomplete="off" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="forgetPwd = false">取 消</el-button>
        <el-button type="primary" @click="reGetPwd()">确 定</el-button>
      </div>
    </el-dialog>

  </div>
</template>

<script>
import {
  login,
  imgCode
} from '@/api/user.js'
import user from '@/api/User/login.js'
import { setToken, getToken, setSession } from '@/utils/auth'
import imgCodeRole from '@/components/imgCodeRole/index.vue'

export default {
  components: { imgCodeRole },
  data() {
    return {
      loginForm: {
        userName: '',
        password: '',
        verifyCode: '',
        uuid: ''
      },
      imgCode: '',
      loading: false,
      loginCode: false,
      showMsg: false,
      forgetPwd: false,
      nopassword: {
        userPhone: '',
        userName: ''
      }
    }
  },
  mounted() {
    // window.loginIt = this.loginIt;
  },
  methods: {
    // loginIt(data) {
    //   alert(data);
    // },
    login(data) {
      this.loading = true
      this.loginForm.verifyCode = data.verifyCode
      this.loginForm.uuid = data.uuid
      this.$store.dispatch('user/login', this.loginForm).then((res) => {
        // this.$store.dispatch('user/getInfo')
        this.$router.push({ path: '/home' })
        this.loading = false
      }).catch(e => {
        console.log('11111', e)
        this.loading = false
        // this.$refs.imgCodeRole.getCodeImage()
      })
    },
    codeShow() {
      if (this.loginForm.password == '' || this.loginForm.userName == '') {
        this.loginCode = false
        this.showMsg = true
        return
      }
      this.$refs.imgCodeRole.getCodeImage()
    },
    handleforgetPwd() {
      this.forgetPwd = true
      this.nopassword = {
        userPhone: '',
        userName: ''
      }
    },
    reGetPwd() {
      if (this.nopassword.userPhone === '') {
        this.$message({ showClose: true, type: 'error', message: '手机号不能为空' })
        return
      }
      if (this.nopassword.userName === '') {
        this.$message({ showClose: true, type: 'error', message: '姓名不能为空' })
        return
      }
      user.reGetPwd(this.nopassword).then((res) => {
        if (res.success) {
          this.$message({ showClose: true, type: 'success', message: '新密码已发送至手机，请查看短信' })
          this.forgetPwd = false
        } else {
          this.$message({ showClose: true, type: 'error', message: res.msg })
        }
      })
    }
  }
}
</script>

<style lang="scss">
.login {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-image: url(../../assets/loginImg/bgImg.png);
  background-position: center;
  overflow: hidden;

  .logoTitle {
    margin: 30px;

    img {
      width: 70px;
    }

    span {
      font-size: 40px;
      color: #191919;
    }

    .title {
      font-size: 25px;
      font-family: Source Han Sans CN;
      font-weight: 500;
      color: #191919;
      margin: 0;
    }
  }

  .main {
    width: 30%;
    /*height: 640px;*/
    background: #FFFFFF;
    box-shadow: 0px 13px 12px 0px rgba(0, 0, 0, 0.15);
    opacity: 0.9;
    border-radius: 20px;
    position: absolute;
    right: 10%;

    .content {
      position: relative;
      /*.title-h3{
        width: 100%;
        text-align: center;
        color: #FFFFFF;
        font-size: 30px;
        margin: 0;
        position: absolute;
        top: -65px;

      }*/
    }
  }
}

.login-form {
  padding: 30px 50px;

  .title1 {
    margin: 0px auto 30px auto;
    text-align: center;
    font-size: 20px;
    color: #191919;
    font-size: 23px;
    font-weight: 500;
  }

  .el-input {
    border: none;
    background-color: transparent;
  }

  .code {
    position: absolute;
    top: 3px;
    right: 5px;
    width: 35%;
    height: 35px;
    cursor: pointer;
    z-index: 9;
  }

  .nopsw {
    position: absolute;
    bottom: -30px;
    right: 5px;
    color: #018ad2;
    font-size: 15px;
    line-height: 30px;
  }

  .register {
    color: #018ad2;
  }

  .register:hover,
  .nopsw:hover {
    cursor: pointer;
  }

  .btn-eye {
    cursor: pointer;
  }

  .text-danger {
    color: #F56C6C;
  }

  .login-btn {
    margin: 10px 0 10px 0;
    width: 100%;
    background-color: #007fff;
    border: 0;
  }

  .login-btn:hover {
    background-color: #007fdd;
    border: 0;
  }

  .el-input--prefix .el-input__inner {
    border: 1px solid #018ad2;
    background: transparent;
    color: #333 !important;
  }

  .el-form-item {
    margin-bottom: 40px;
  }

  .el-loading-mask {
    background-color: rgba(255, 255, 255, .6);
  }
}
</style>
