You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
278 lines
8.2 KiB
278 lines
8.2 KiB
<template>
|
|
<div class="bg">
|
|
<div style="display: flex;justify-content: space-between;padding-top: 5px;">
|
|
<div></div>
|
|
<div style="display: flex;">
|
|
<i class="el-icon-setting" @click="toggleDevTools" style="padding-right: 5px;font-size: 22px;cursor:pointer;"></i>
|
|
<i class="el-icon-minus" @click="btnMin" style="padding-right: 5px;font-size: 22px;cursor:pointer;"></i>
|
|
<i class="el-icon-copy-document" @click="btnMax" style="padding-right: 5px;font-size: 22px;cursor:pointer;"></i>
|
|
<i class="el-icon-close" @click="btnClose" style="padding-right: 5px;font-size: 22px;cursor:pointer;"></i>
|
|
</div>
|
|
</div>
|
|
<div class="box">
|
|
<div class="mainbody">
|
|
<div class="title">
|
|
<img src="@/assets/images/logo1.png" />
|
|
<div>神豚体检管理系统</div>
|
|
</div>
|
|
<div class="userform">
|
|
<div style="color: #232748;font-size: 24px;font-weight: 700;margin-bottom: 20px;font-family: NotoSansSC-Bold;">
|
|
登录账号</div>
|
|
<el-form :model="form" :rules="rules" ref="form" class="demo-ruleForm">
|
|
<el-form-item label="" prop="Username" style="margin-bottom: 20px">
|
|
<div
|
|
style="font-size:16px;font-weight: 400;color: #232748; line-height: 22px;margin-bottom: 10px;font-family: NotoSansSC-Regular;">
|
|
用户名</div>
|
|
<el-input class="inputcolor" v-model="form.Username" placeholder="请输入用户名" prefix-icon="el-icon-s-custom"
|
|
style="color: #fff" @keyup.native.enter="nextFocus('Username')"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="Password" style="margin-bottom: 5px">
|
|
<div
|
|
style="font-size:16px;font-weight: 400;color: #232748;line-height: 22px;margin-bottom: 10px;font-family: NotoSansSC-Regular;">
|
|
密码</div>
|
|
<el-input v-model="form.Password" placeholder="请输入密码" type="password" prefix-icon="el-icon-unlock"
|
|
@keyup.native.enter="nextFocus('Password')" ref="password"></el-input>
|
|
</el-form-item>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item>
|
|
<el-checkbox></el-checkbox>
|
|
<span
|
|
style=" font-family: NotoSansSC-Regular;color: #232748;font-weight: 400;font-size: 14px;margin-left: 5px;">记住密码</span>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item>
|
|
<div style="text-align: right;color:#396FFA;font-family: NotoSansSC-Regular;">忘记密码?</div>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-button type="primary" class="btn" @click="onSubmit(form)" style="margin-bottom: 20px;">
|
|
用户登录
|
|
</el-button>
|
|
<div style="color:#396FFA;font-size:14px;text-align: center;font-family: NotoSansSC-Regular;">注册新账号</div>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
|
|
import { writetoken } from "@/utlis/istoken";
|
|
import axios from "axios";
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
sysConfig: {}, // 配置信息
|
|
form: {
|
|
Username: "",
|
|
Password: "",
|
|
},
|
|
rules: {
|
|
Username: [
|
|
{ required: true, message: "请输入用户名", trigger: "blur" },
|
|
//{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
|
|
],
|
|
Password: [
|
|
{ required: true, message: "请输入密码", trigger: "blur" },
|
|
//{ min: 3, max: 8, message: "长度在 3 到 8 个字符", trigger: "blur" },
|
|
],
|
|
},
|
|
};
|
|
},
|
|
async mounted() {
|
|
await this.getSysConfig()
|
|
// 壳程序懒加载通讯组件
|
|
if (this.$peisAPI) {
|
|
this.$peisAPI.lazyLoad(); // 加载报表 dll
|
|
this.$peisAPI.lazyLoadReportTemplate(); //加载报表 模版
|
|
}
|
|
},
|
|
methods: {
|
|
|
|
async getSysConfig() {
|
|
try {
|
|
let res = await axios.get('/sysConfig.html') // , { timeout: 50000 }
|
|
console.log('axios.get /sysConfig.html',res)
|
|
if(!res.data.apiurl) this.$message.error({ showClose: true, message: `获取配置参数错误,请重新刷新本页面!` })
|
|
this.sysConfig = res.data
|
|
window.sessionStorage.setItem('sysConfig', JSON.stringify(res.data))
|
|
} catch (error) {
|
|
this.$message.error({ showClose: true, message: `获取配置参数错误 ${error}` })
|
|
}
|
|
},
|
|
|
|
//打开客户端调试工具
|
|
toggleDevTools() {
|
|
if (!this.$peisAPI) {
|
|
this.$message.info("此功能,需要在壳客户端才可运行!")
|
|
return
|
|
}
|
|
this.$peisAPI.toggleDevTools();
|
|
},
|
|
btnMin() {
|
|
if (!this.$peisAPI) {
|
|
this.$message.info("此功能,需要在壳客户端才可运行!")
|
|
return
|
|
}
|
|
this.$peisAPI.windowMin();
|
|
},
|
|
btnMax() {
|
|
if (!this.$peisAPI) {
|
|
this.$message.info("此功能,需要在壳客户端才可运行!")
|
|
return
|
|
}
|
|
this.$peisAPI.windowMax();
|
|
},
|
|
btnClose() {
|
|
if (!this.$peisAPI) {
|
|
this.$message.info("此功能,需要在壳客户端才可运行!")
|
|
return
|
|
}
|
|
this.$peisAPI.windowClose();
|
|
},
|
|
nextFocus(e) {
|
|
if (e == 'Username') {
|
|
this.$refs['password'].focus()
|
|
} else (
|
|
this.onSubmit()
|
|
)
|
|
},
|
|
onSubmit() {
|
|
|
|
this.$refs.form.validate((valid) => {
|
|
if (valid) {
|
|
axios.post(`${this.sysConfig.apiurl}/api/identity/users/login`, {
|
|
userName: this.form.Username,
|
|
passWord: this.form.Password,
|
|
}).then(ret => {
|
|
let res = ret.data
|
|
if (res.code != -1) {
|
|
|
|
window.sessionStorage.setItem("peisid", res.data.peisid); //设置当前人员所属体检中心
|
|
writetoken(res.data.expires_in);
|
|
window.sessionStorage.setItem("token", res.data.access_token);
|
|
window.sessionStorage.setItem("refresh_token", res.data.refresh_token);
|
|
window.sessionStorage.setItem("tokentype", res.data.token_type);
|
|
window.sessionStorage.setItem("user", this.form.Username);
|
|
|
|
this.$router.push({ path: "/home" });
|
|
this.$store.state.changepassword = this.form.Password;
|
|
} else {
|
|
this.$message.warning(res.message);
|
|
}
|
|
}).catch(err => {
|
|
this.$message.error(err);
|
|
})
|
|
}
|
|
});
|
|
},
|
|
},
|
|
created() { },
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
::v-deep .el-input {
|
|
color: #232748;
|
|
}
|
|
|
|
|
|
|
|
// ::v-deep .el-form-item {
|
|
// border: 1px solid rgb(0, 183, 92);
|
|
// }
|
|
.bg {
|
|
background-color: black;
|
|
// background: url("https://img.zcool.cn/community/013c8b5b62d108a801206a35bea1eb.jpg@2o.jpg");1
|
|
// background: url("https://img1.baidu.com/it/u=1097534320,1746985227&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500");
|
|
background: url("@/assets/images/BG.png");
|
|
background-size: cover;
|
|
|
|
height: 100%;
|
|
width: 100%;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.el-form-item.is-error .el-input__inner {
|
|
color: none;
|
|
}
|
|
|
|
.inputcolor {
|
|
border: none;
|
|
}
|
|
|
|
.box {
|
|
position: absolute;
|
|
right: 140px;
|
|
top: 119px;
|
|
}
|
|
|
|
.mainbody {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
|
|
.title {
|
|
width: 443px;
|
|
height: 107px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
margin-bottom: 10px;
|
|
|
|
img {
|
|
width: 45.86px;
|
|
height: 45.86px;
|
|
}
|
|
|
|
div {
|
|
font-size: 38px;
|
|
margin-left: 15px;
|
|
color: #232748;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
}
|
|
|
|
.userform {
|
|
width: 356px;
|
|
height: 366px;
|
|
background-color: #fff;
|
|
border-radius: 12px;
|
|
padding: 40px 32px;
|
|
}
|
|
|
|
// .btn :hover {
|
|
// // background-color: rgb(0, 183, 92);
|
|
// }
|
|
::v-deep .el-input__icon {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.btn {
|
|
background-color: #396FFA;
|
|
;
|
|
font-size: 16px;
|
|
// background-color: #ccc;
|
|
border: none;
|
|
color: #fff;
|
|
font-weight: 700;
|
|
height: 40px;
|
|
width: 100%;
|
|
}
|
|
|
|
:deep .el-input--prefix .el-input__inner {
|
|
padding-left: 30px;
|
|
}
|
|
|
|
:deep .el-form-item {
|
|
margin-bottom: 22px;
|
|
}
|
|
|
|
:deep .el-button {
|
|
color: #fff;
|
|
}
|
|
</style>
|