|
|
|
<template>
|
|
|
|
<div class="login-wrap">
|
|
|
|
<p class="blurBox"></p>
|
|
|
|
<div class="loginFilter">
|
|
|
|
<div class="ms-login">
|
|
|
|
<div class="ms-title">
|
|
|
|
<img src="../assets/img/logo.png" alt="欣影" />
|
|
|
|
<h3>可视化智能管控系统</h3>
|
|
|
|
</div>
|
|
|
|
<el-form
|
|
|
|
:model="userInfo"
|
|
|
|
:rules="rules"
|
|
|
|
ref="loginForm"
|
|
|
|
label-width="0px"
|
|
|
|
class="ms-content"
|
|
|
|
size="medium"
|
|
|
|
>
|
|
|
|
<el-form-item prop="username">
|
|
|
|
<el-input v-model="userInfo.username" 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="密码"
|
|
|
|
show-password
|
|
|
|
v-model="userInfo.password"
|
|
|
|
@keyup.enter.native="submitForm()"
|
|
|
|
>
|
|
|
|
<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>
|
|
|
|
<!-- <p class="login-tips">Tips : 用户名和密码随便填。</p> -->
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p class="webInfo">© 2023 可视化智能管控系统.All right reserved.</p>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { mapMutations } from "vuex";
|
|
|
|
import { login } from "@/utils/api/index";
|
|
|
|
export default {
|
|
|
|
data: function () {
|
|
|
|
return {
|
|
|
|
userInfo: {
|
|
|
|
username: "xytest",
|
|
|
|
password: "123456",
|
|
|
|
},
|
|
|
|
rules: {
|
|
|
|
username: [
|
|
|
|
{ required: true, message: "请输入用户名", trigger: "blur" },
|
|
|
|
],
|
|
|
|
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
|
|
|
|
},
|
|
|
|
token: "",
|
|
|
|
};
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
...mapMutations(["setColorTheme"]),
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
submitForm() {
|
|
|
|
this.$refs.loginForm.validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
console.log(valid);
|
|
|
|
//this.userInfo.password = this.$md5(this.userInfo.password); //密码加密
|
|
|
|
this.token = this.$md5(this.userInfo.password); //获取token
|
|
|
|
this.$store.commit("SET_TOKEN", this.token); //将token保存在vuex中
|
|
|
|
this.$store.commit("SET_USERINFO", this.userInfo.username); //将用户信息保存在vuex中
|
|
|
|
this.$router.push("/");
|
|
|
|
this.$message.success("登录成功");
|
|
|
|
} else {
|
|
|
|
this.$message.error("请输入账号和密码");
|
|
|
|
console.log("error submit!!");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
getLogin() {},
|
|
|
|
},
|
|
|
|
created() {},
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="less">
|
|
|
|
.login-wrap {
|
|
|
|
position: relative;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
background: url(../assets/img/logo.jpg) no-repeat center center;
|
|
|
|
background-size: cover;
|
|
|
|
overflow: hidden;
|
|
|
|
.blurBox {
|
|
|
|
position: absolute;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
//background: #86b7ff;
|
|
|
|
-webkit-backdrop-filter: blur(30px);
|
|
|
|
backdrop-filter: blur(30px);
|
|
|
|
}
|
|
|
|
.loginFilter {
|
|
|
|
width: 420px;
|
|
|
|
height: 454px;
|
|
|
|
background: transparent;
|
|
|
|
box-shadow: 0px 4px 12px 0px rgba(51, 51, 51, 0.15);
|
|
|
|
border-radius: 4px;
|
|
|
|
left: 50%;
|
|
|
|
top: 50%;
|
|
|
|
transform: translate(-50%;-50%);
|
|
|
|
position: absolute;
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
.ms-login {
|
|
|
|
width: 420px;
|
|
|
|
height: 454px;
|
|
|
|
border-radius: 5px;
|
|
|
|
overflow: hidden;
|
|
|
|
background-size: 100%;
|
|
|
|
//background: @color-white;
|
|
|
|
.ms-title {
|
|
|
|
text-align: center;
|
|
|
|
border-bottom: 1px solid #dcdfe6;
|
|
|
|
padding: 40px 16px;
|
|
|
|
img {
|
|
|
|
margin-bottom: 8px;
|
|
|
|
//width: 160px;
|
|
|
|
}
|
|
|
|
h3 {
|
|
|
|
font-size: 30px;
|
|
|
|
//background: linear-gradient(0deg, #86b7ff, #4293fd 99.46289%);
|
|
|
|
// background-clip: text;
|
|
|
|
color: @color-text-primary;
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.ms-content {
|
|
|
|
padding: 40px 40px;
|
|
|
|
.el-form-item {
|
|
|
|
margin-bottom: 30px;
|
|
|
|
}
|
|
|
|
.login-btn {
|
|
|
|
text-align: center;
|
|
|
|
button {
|
|
|
|
width: 100%;
|
|
|
|
height: 36px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// .login-tips {
|
|
|
|
// font-size: 12px;
|
|
|
|
// line-height: 30px;
|
|
|
|
// color: @color-white;
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.webInfo {
|
|
|
|
bottom: 5%;
|
|
|
|
left: 50%;
|
|
|
|
transform: translate(-50%;-50%);
|
|
|
|
position: absolute;
|
|
|
|
font-size: 12px;
|
|
|
|
font-weight: 400;
|
|
|
|
color: @color-white;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|