Files
mes-ui-d2/src/pages/login/page.vue
liyang 9d77e6da94 account
Former-commit-id: 1f42a274955daf53cf70bd00781efa8c9a30aecd [formerly 1f42a274955daf53cf70bd00781efa8c9a30aecd [formerly 1f42a274955daf53cf70bd00781efa8c9a30aecd [formerly 1f42a274955daf53cf70bd00781efa8c9a30aecd [formerly 91e8a0baee40147d462bc980d9bebf36d6bceb44 [formerly af707f999d1a6d9844532a7e39998fd582ef66a1]]]]]
Former-commit-id: 8b155f33da09f8a27b1b1e2fa7cbf05e63464ce9
Former-commit-id: 8407ff43bd64f93bdb42d23bdaa3a1ce5463b28a
Former-commit-id: 37877392735a64d5923e5b792086bff14ff8073e [formerly 57fa25c15aa9de84e0f8d8ae3b70aae6fc3f1789]
Former-commit-id: 620a5ea3e8fa2745b505b844dbacf9674f01e4dc
Former-commit-id: ea6030ce9cba3cc0ab705466f3f0fd5c20d6e02e
Former-commit-id: 82a7fbcc85c93771fd881d19ea333ce1c39a5238
Former-commit-id: 4f84af65b78b05ca8a6129947daee72f75721f0c
Former-commit-id: d0cb9cc7318f6fb69595e188825e26bc8eb2d3bc
2018-08-09 14:12:34 +08:00

148 lines
4.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="login-page">
<div class="layer bg" id="login"></div>
<div class="layer flex-center">
<!-- logo部分 -->
<div class="logo-group">
<img src="./image/logo.png" alt="logo">
</div>
<!-- 表单部分 -->
<div class="form-group">
<el-card>
<el-form ref="loginForm" label-position="top" :rules="rules" :model="formLogin">
<el-form-item prop="username">
<el-input type="text" v-model="formLogin.username" placeholder="用户名">
<i slot="prepend" class="fa fa-user-circle-o"></i>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="formLogin.password" placeholder="密码">
<i slot="prepend" class="fa fa-keyboard-o"></i>
</el-input>
</el-form-item>
<el-form-item prop="code">
<el-input type="text" v-model="formLogin.code" placeholder="- - - -">
<template slot="prepend">验证码</template>
<template slot="append">
<img class="login-code" src="./image/login-code.png">
</template>
</el-input>
</el-form-item>
<el-button @click="submit" type="primary" class="button-login">登录</el-button>
</el-form>
</el-card>
</div>
<!-- 快速登陆按钮 -->
<el-button type="info" class="button-help" @click="dialogVisible = true">
快速选择用户测试功能
</el-button>
</div>
<el-dialog
title="快速选择用户"
:visible.sync="dialogVisible"
width="400px">
<el-row :gutter="10" style="margin: -20px 0px -10px 0px;">
<el-col v-for="(user, index) in users" :key="index" :span="8">
<div class="user-btn" @click="handleUserBtnClick(user)">
<d2-icon name="user-circle-o"/>
<span>{{user.name}}</span>
</div>
</el-col>
</el-row>
</el-dialog>
</div>
</template>
<script>
/* eslint-disable */
require('particles.js')
import config from './config/default'
import { mapActions } from 'vuex'
export default {
data () {
return {
// 快速选择用户
dialogVisible: false,
users: [
{
name: '管理员',
username: 'admin',
password: 'admin'
},
{
name: '编辑',
username: 'editor',
password: 'editor'
},
{
name: '用户1',
username: 'user1',
password: 'user1'
}
],
// 表单
formLogin: {
username: 'admin',
password: 'admin',
code: 'v9am'
},
// 校验
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
],
code: [
{ required: true, message: '请输入验证码', trigger: 'blur' }
]
}
}
},
mounted () {
// 初始化例子插件
particlesJS('login', config)
},
methods: {
...mapActions('d2admin/account', [
'login'
]),
/**
* @description 接收选择一个用户快速登陆的事件
* @param {Object} user 用户信息
*/
handleUserBtnClick (user) {
this.formLogin.username = user.username
this.formLogin.password = user.password
this.submit()
},
/**
* @description 提交表单
*/
// 提交登陆信息
submit () {
this.$refs.loginForm.validate((valid) => {
if (valid) {
// 登陆
// 注意 这里的演示没有传验证码
// 具体需要传递的数据请自行修改代码
this.login({
vm: this,
username: this.formLogin.username,
password: this.formLogin.password
})
} else {
// 登陆表单校验失败
this.$message.error('表单校验失败')
}
})
}
}
}
</script>
<style lang="scss">
@import './style.scss';
</style>