This commit is contained in:
wangjinlei
2021-06-24 15:48:23 +08:00
parent a3100f3c73
commit f0e4bdbd5e
2 changed files with 165 additions and 154 deletions

View File

@@ -1,167 +1,178 @@
<template> <template>
<div class="login-wrap"> <div class="login-wrap">
<div class="ms-login"> <div class="ms-login">
<div class="ms-title">{{ $t('system.title') }}</div> <div class="ms-title">{{ $t('system.title') }}</div>
<el-form :model="param" :rules="rules" ref="login" label-width="0px" class="ms-content"> <el-form :model="param" :rules="rules" ref="login" label-width="0px" class="ms-content">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input v-model="param.username" auto-complete="off" placeholder="username"> <el-input v-model="param.username" auto-complete="off" placeholder="username">
<i slot="prefix" class="el-icon-lx-people" /> <i slot="prefix" class="el-icon-lx-people" />
<!-- <el-button slot="prepend" icon="el-icon-lx-people"></el-button> --> <!-- <el-button slot="prepend" icon="el-icon-lx-people"></el-button> -->
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
<el-input type="password" auto-complete="off" placeholder="password" v-model="param.password"> <el-input type="password" auto-complete="off" placeholder="password" v-model="param.password">
<i slot="prefix" class="el-icon-lx-lock" /> <i slot="prefix" class="el-icon-lx-lock" />
<!-- <el-button slot="prepend" icon="el-icon-lx-lock"></el-button> --> <!-- <el-button slot="prepend" icon="el-icon-lx-lock"></el-button> -->
</el-input> </el-input>
</el-form-item> </el-form-item>
<div class="login-btn"> <div class="login-btn">
<el-button type="primary" @click="submitForm()">{{ $t('system.login') }}</el-button> <el-button type="primary" @click="submitForm()">{{ $t('system.login') }}</el-button>
</div> </div>
<el-row style="text-align: left"> <el-row style="text-align: left">
<el-col :span="12"> <el-col :span="12">
<el-link :underline="false" type="primary" @click="doRetrieve()">{{ $t('system.repassword') }}</el-link> <el-link :underline="false" type="primary" @click="doRetrieve()">{{ $t('system.repassword') }}</el-link>
</el-col> </el-col>
<el-col :span="12" style="text-align: right"> <el-col :span="12" style="text-align: right">
<el-link :underline="false" type="primary" @click="doRegister()">{{ $t('system.register') }}</el-link> <el-link :underline="false" type="primary" @click="doRegister()">{{ $t('system.register') }}</el-link>
</el-col> </el-col>
<el-col :span="24" style="margin-top: 5px;"> <el-col :span="24" style="margin-top: 5px">
<el-link :underline="false" type="primary" @click="doRetrieve()"> <el-link :underline="false" type="primary" @click="skip_check()">
<img class="orcid" src="../../assets/img/orcid.png" style="float: left;margin: -1px 5px 0 0;"/>Login with your orcid <img class="orcid" src="../../assets/img/orcid.png" style="float: left; margin: -1px 5px 0 0" />Login with your
</el-link> orcid
</el-col> </el-link>
</el-row> </el-col>
</el-form> </el-row>
</div> </el-form>
</div> </div>
</div>
</template> </template>
<script> <script>
export default { export default {
data: function() { data: function () {
return { return {
aa: localStorage.getItem('ms_journal'), aa: localStorage.getItem('ms_journal'),
param: { orcidLink:
username: '', 'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidLink',
password: '' param: {
}, username: '',
rules: { password: ''
username: [{ },
required: true, rules: {
message: 'enter one user name', username: [
trigger: 'blur' {
}], required: true,
password: [{ message: 'enter one user name',
required: true, trigger: 'blur'
message: 'Please input a password', }
trigger: 'blur' ],
}] password: [
} {
}; required: true,
}, message: 'Please input a password',
methods: { trigger: 'blur'
submitForm() { }
//登录操作 ]
this.$refs.login.validate((valid) => { }
if (valid) { };
this.$api },
.post('api/user/checkLogin', this.param) methods: {
.then((res) => { submitForm() {
console.log(res); //登录操作
if (res.code == 1) { this.$refs.login.validate((valid) => {
this.$message.error('Login failed, user name or password error!'); if (valid) {
return false; this.$api
} else { .post('api/user/checkLogin', this.param)
this.$message.success('login success'); .then((res) => {
localStorage.setItem('ms_username', res.userinfo.account); console.log(res);
if (this.param.username == 'superadmin' || this.param.username == 'wuxiongzhi2') { if (res.code == 1) {
localStorage.setItem('ms_userrole', 'admin'); this.$message.error('Login failed, user name or password error!');
} else if (res.userinfo.type == 1 && res.userinfo.is_reviewer) { return false;
localStorage.setItem('ms_userrole', 'reviewer'); } else {
} else { this.$message.success('login success');
localStorage.setItem('ms_userrole', res.userinfo.type); localStorage.setItem('ms_username', res.userinfo.account);
} if (this.param.username == 'superadmin' || this.param.username == 'wuxiongzhi2') {
this.$router.push('/'); localStorage.setItem('ms_userrole', 'admin');
} } else if (res.userinfo.type == 1 && res.userinfo.is_reviewer) {
}) localStorage.setItem('ms_userrole', 'reviewer');
.catch((err) => { } else {
console.log(err); localStorage.setItem('ms_userrole', res.userinfo.type);
}); }
} else { this.$router.push('/');
this.$message.error('Please enter the correct account and password'); }
console.log('error submit!!'); })
return false; .catch((err) => {
} console.log(err);
}); });
}, } else {
doRegister() { this.$message.error('Please enter the correct account and password');
//注册页面 console.log('error submit!!');
this.$router.push({ return false;
path: '/register' }
}); });
}, },
doRetrieve() { doRegister() {
//找回密码 //注册页面
this.$router.push({ this.$router.push({
path: '/retrieve' path: '/register'
}); });
} },
} doRetrieve() {
}; //找回密码
this.$router.push({
path: '/retrieve'
});
},
skip_check() {
location.href = this.orcidLink;
}
}
};
</script> </script>
<style scoped> <style scoped>
.login-wrap { .login-wrap {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100%;
background-image: url(../../assets/img/login-bg.jpg); background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%; background-size: 100%;
} }
.ms-title { .ms-title {
width: 100%; width: 100%;
line-height: 50px; line-height: 50px;
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
color: #fff; color: #fff;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
.ms-login { .ms-login {
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 50%; top: 50%;
width: 350px; width: 350px;
margin: -190px 0 0 -175px; margin: -190px 0 0 -175px;
border-radius: 5px; border-radius: 5px;
background: rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.3);
overflow: hidden; overflow: hidden;
} }
.ms-content { .ms-content {
padding: 30px 30px; padding: 30px 30px;
} }
.login-btn { .login-btn {
text-align: center; text-align: center;
} }
.login-btn button { .login-btn button {
width: 100%; width: 100%;
height: 36px; height: 36px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.login-tips { .login-tips {
font-size: 12px; font-size: 12px;
line-height: 30px; line-height: 30px;
color: #fff; color: #fff;
} }
.orcid { .orcid {
display: block; display: block;
width: 15px; width: 15px;
height: 15px; height: 15px;
} }
</style> </style>

View File

@@ -99,12 +99,12 @@
registerRules: { registerRules: {
username: [{ username: [{
required: true, required: true,
message: '请输入用户名', message: 'Please enter your username.',
trigger: 'blur' trigger: 'blur'
}], }],
password: [{ password: [{
required: true, required: true,
message: '请输入密码', message: 'Please enter your password.',
trigger: 'blur' trigger: 'blur'
}], }],
name: [{ name: [{