185 lines
4.7 KiB
Vue
185 lines
4.7 KiB
Vue
<template>
|
|
<div class="login">
|
|
<div
|
|
class="login-main"
|
|
:element-loading-text="loadingMsg"
|
|
v-loading="loading"
|
|
>
|
|
<!-- <h3 class="login-title">登录</h3> -->
|
|
<el-form
|
|
:model="dataForm"
|
|
:rules="dataRule"
|
|
ref="dataForm"
|
|
@keyup.enter.native="dataFormSubmit()"
|
|
status-icon
|
|
>
|
|
<el-form-item prop="userName">
|
|
<el-input v-model="dataForm.userName" placeholder="帐号"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="password">
|
|
<el-input
|
|
v-model="dataForm.password"
|
|
type="password"
|
|
placeholder="密码"
|
|
></el-input>
|
|
</el-form-item>
|
|
<!-- <el-form-item prop="verCode">
|
|
<el-input style="width:60%!important;float:left" v-model="dataForm.verCode" placeholder="验证码"></el-input>
|
|
<img @click="getVerCode()" :src="codeImg" width="100" height="40" class="head_pic" style="float:right" />
|
|
</el-form-item> -->
|
|
<el-form-item>
|
|
<el-button
|
|
class="login-btn-submit"
|
|
type="primary"
|
|
@click="dataFormSubmit()"
|
|
>登录</el-button
|
|
>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import AES from "@/plugins/cryptoJs/aes";
|
|
import { userLogin } from "@/api/account";
|
|
import Mqtt from "../../components/mqtt.vue";
|
|
export default {
|
|
name: "login",
|
|
components: {
|
|
Mqtt,
|
|
},
|
|
data() {
|
|
return {
|
|
dataForm: {
|
|
userName: "",
|
|
password: "",
|
|
uuid: "",
|
|
captcha: "",
|
|
verCode: "",
|
|
codeId: "",
|
|
},
|
|
dataRule: {
|
|
userName: [
|
|
{ required: true, message: "帐号不能为空", trigger: "blur" },
|
|
],
|
|
password: [
|
|
{ required: true, message: "密码不能为空", trigger: "blur" },
|
|
],
|
|
// verCode: [
|
|
// { required: true, message: '验证码不能为空', trigger: 'blur' }
|
|
// ]
|
|
},
|
|
captchaPath: "",
|
|
loading: false, //初始化loading
|
|
loadingMsg: "",
|
|
codeImg: "",
|
|
codeId: "",
|
|
};
|
|
},
|
|
mounted() {},
|
|
methods: {
|
|
createLoad() {
|
|
this.loading = true;
|
|
this.loadingMsg = "登录中...";
|
|
},
|
|
clearLoad() {
|
|
this.loading = false;
|
|
this.loadingMsg = "";
|
|
},
|
|
// 提交表单
|
|
dataFormSubmit() {
|
|
this.$refs["dataForm"].validate((valid) => {
|
|
if (valid) {
|
|
sessionStorage.removeItem("token");
|
|
this.createLoad();
|
|
var userPossword = AES.encrypt(this.dataForm.password);
|
|
var username = AES.encrypt(this.dataForm.userName);
|
|
// let param = new URLSearchParams()
|
|
// param.append('userName', this.dataForm.password)
|
|
// param.append('password', this.dataForm.password)
|
|
let Content = {
|
|
// 'username': this.dataForm.userName,
|
|
username,
|
|
// 'password': this.dataForm.password,
|
|
password: userPossword,
|
|
// 'verCode' :this.dataForm.verCode,
|
|
// 'codeId' :this.dataForm.codeId
|
|
};
|
|
|
|
// console.log(Content)
|
|
userLogin(Content)
|
|
.then((res) => {
|
|
if (res.code == "200") {
|
|
console.log("success");
|
|
this.clearLoad();
|
|
sessionStorage.setItem("token", res.token);
|
|
this.$router.replace({ name: "fullScreen" });
|
|
|
|
// setToken(res.returnData.token);
|
|
// this.$router.replace({ name: 'home' })
|
|
} else {
|
|
// this.getVerCode();
|
|
this.$message({
|
|
message: res.message,
|
|
type: "warning",
|
|
});
|
|
setTimeout(() => {
|
|
this.clearLoad();
|
|
}, 300);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
setTimeout(() => {
|
|
this.clearLoad();
|
|
}, 300);
|
|
});
|
|
}
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.login {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
background-image: url("../../assets/images/loginBg.png");
|
|
background-repeat: no-repeat;
|
|
background-size: 100% 100%;
|
|
|
|
.login-main {
|
|
margin-left: 35%;
|
|
position: absolute;
|
|
top: 20%;
|
|
left: 30%;
|
|
padding: 1.875rem 0.75rem 2.25rem;
|
|
width: 18%;
|
|
min-height: 15%;
|
|
background-color: #fff;
|
|
}
|
|
.login-title {
|
|
font-size: 0.6rem;
|
|
}
|
|
.login-captcha {
|
|
overflow: hidden;
|
|
> img {
|
|
width: 100%;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
.login-btn-submit {
|
|
width: 100%;
|
|
margin-top: 0.5rem;
|
|
}
|
|
.el-input {
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
</style>
|