123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <template>
- <div class="login-wrap">
- <div class="ms-login">
- <div class="ms-title">后台管理系统</div>
- <el-form :model="form" :rules="rules" ref="login" label-width="0px" class="ms-content">
- <el-form-item prop="username">
- <el-input v-model="form.tel" placeholder="请输入手机号">
- <el-button slot="prepend" icon="el-icon-user"></el-button>
- </el-input>
- </el-form-item>
- <el-form-item prop="password">
- <el-input type="password" placeholder="请输入密码" v-model="form.pwd">
- <el-button slot="prepend" icon="el-icon-lock"></el-button>
- </el-input>
- </el-form-item>
- <div class="login-btn">
- <el-button type="primary" @click="submitForm()">登录</el-button>
- </div>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- import { mapState, createNamespacedHelpers } from 'vuex';
- const { mapActions: login } = createNamespacedHelpers('login');
- export default {
- metaInfo: { title: '登录' },
- name: 'login',
- props: {},
- components: {},
- data: function() {
- return {
- form: {},
- rules: {
- tel: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
- pwd: [{ required: true, message: '请输入密码', trigger: 'blur' }],
- },
- };
- },
- created() {},
- methods: {
- ...login(['login']),
- submitForm() {
- this.$refs.login.validate(async valid => {
- if (valid) {
- let res = await this.login({ user: this.form });
- if (this.$checkRes(res)) {
- this.$message.success('登录成功');
- // localStorage.setItem('user', JSON.stringify(res.data));
- this.$router.push('/dashboard');
- }
- } else {
- this.$message.error('请输入账号和密码');
- console.log('error submit!!');
- return false;
- }
- });
- },
- },
- };
- </script>
- <style lang="less" scoped>
- .login-wrap {
- position: relative;
- width: 100%;
- height: 100%;
- background-image: url(../../assets/img/login-bg.jpg);
- background-size: 100%;
- }
- .ms-title {
- width: 100%;
- line-height: 50px;
- text-align: center;
- font-size: 20px;
- color: #fff;
- border-bottom: 1px solid #ddd;
- }
- .ms-login {
- position: absolute;
- left: 50%;
- top: 50%;
- width: 350px;
- margin: -190px 0 0 -175px;
- border-radius: 5px;
- background: rgba(255, 255, 255, 0.3);
- overflow: hidden;
- }
- .ms-content {
- padding: 30px 30px;
- }
- .login-btn {
- text-align: center;
- }
- .login-btn button {
- width: 100%;
- height: 36px;
- margin-bottom: 10px;
- }
- .login-tips {
- font-size: 12px;
- line-height: 30px;
- color: #fff;
- }
- /deep/.js .el-form-item__content {
- padding: 0 25px;
- .el-radio {
- color: #fff;
- }
- }
- </style>
|