2 changed files with 0 additions and 268 deletions
@ -1,36 +0,0 @@ |
|||
import request from '@/utils/request' |
|||
import qs from 'qs' |
|||
|
|||
class user { |
|||
login(data) { // 登录
|
|||
return request({ |
|||
url: '/system/user/login', |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
logout(data) { // 退出
|
|||
return request({ |
|||
url: '/portal/v1/sysuser/signOut', |
|||
method: 'post', |
|||
data: qs.stringify(data) |
|||
}) |
|||
} |
|||
updatePassword(data) { // 退出修改密码
|
|||
return request({ |
|||
url: '/portal/v1/sysuser/updatePassword', |
|||
method: 'post', |
|||
data: qs.stringify(data) |
|||
}) |
|||
} |
|||
reGetPwd(data){ |
|||
return request({ |
|||
url: `/system/user/reGetPwd/${data.userName}/${data.userPhone}`, |
|||
method: 'post', |
|||
data: qs.stringify(data) |
|||
}) |
|||
} |
|||
|
|||
} |
|||
|
|||
export default new user() |
@ -1,232 +0,0 @@ |
|||
<template> |
|||
<div class="login"> |
|||
<div class="logoTitle"> |
|||
<img src="../../assets/loginImg/logo.png" /><span>安瑞集团</span> |
|||
<p class="title">安瑞集团信息化平台</p> |
|||
</div> |
|||
<div class="main"> |
|||
<div class="content"> |
|||
<el-form ref="loginForm" :model="loginForm" class="login-form"> |
|||
<h3 class="title1">用户登录</h3> |
|||
<el-form-item> |
|||
<el-input v-model="loginForm.userName" autocomplete="off" placeholder="请输入账号" prefix-icon="el-icon-user"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-input v-model="loginForm.password" autocomplete="off" placeholder="请输入密码" prefix-icon="el-icon-lock" show-password> |
|||
</el-input> |
|||
<span class="nopsw register" @click="forgetPwd = true">忘记密码 ?</span> |
|||
</el-form-item> |
|||
<el-form-item v-show="showMsg" style="margin-bottom:0;"> |
|||
<span class="text-danger">提示:用户名或密码错误,请重试!</span> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-popover placement="top" width="400" trigger="click" v-model="loginCode" @show="codeShow"> |
|||
<imgCodeRole @login="login" ref="imgCodeRole"></imgCodeRole> |
|||
<el-button slot="reference" type="primary" class="login-btn" v-loading="loading">登 录</el-button> |
|||
</el-popover> |
|||
<!--<router-link :to="{name: 'registUser'}" target="_blank" tag="a" class="register fl">个人注册</router-link> |
|||
<router-link :to="{name: 'registOrg'}" target="_blank" tag="a" class="register fr">单位注册</router-link>--> |
|||
</el-form-item> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
|
|||
<el-dialog title="忘记密码" :visible.sync="forgetPwd"> |
|||
<el-form :model="nopassword"> |
|||
<el-form-item label="手机号"> |
|||
<el-input v-model="nopassword.userPhone" autocomplete="off"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="用户名"> |
|||
<el-input v-model="nopassword.userName" autocomplete="off"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="forgetPwd = false">取 消</el-button> |
|||
<el-button type="primary" @click="reGetPwd()">确 定</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { login, imgCode } from '@/api/user.js' |
|||
import user from '@/api/User/login.js' |
|||
import { setToken, getToken, setSession } from '@/utils/auth' |
|||
import imgCodeRole from '@/components/imgCodeRole/index.vue' |
|||
import qs from 'qs' |
|||
export default { |
|||
components: { imgCodeRole }, |
|||
data() { |
|||
return { |
|||
loginForm: { |
|||
userName: '', |
|||
password: '', |
|||
verifyCode: '', |
|||
uuid: '', |
|||
}, |
|||
imgCode: '', |
|||
loading: false, |
|||
loginCode: false, |
|||
showMsg: false, |
|||
forgetPwd: false, |
|||
nopassword: { |
|||
userPhone: '', |
|||
userName: '', |
|||
}, |
|||
} |
|||
}, |
|||
methods: { |
|||
login(data) { |
|||
this.loading = true |
|||
this.loginForm.verifyCode = data.verifyCode |
|||
this.loginForm.uuid = data.uuid |
|||
this.$store |
|||
.dispatch('user/login', this.loginForm) |
|||
.then((res) => { |
|||
// this.$setStorage.dispatch('user/getInfo') |
|||
this.$router.push({ path: '/home' }) |
|||
this.loading = false |
|||
}) |
|||
.catch(() => { |
|||
this.loading = false |
|||
this.$refs.imgCodeRole.getCodeImage() |
|||
}) |
|||
}, |
|||
codeShow() { |
|||
if (this.loginForm.password == '' || this.loginForm.userName == '') { |
|||
this.loginCode = false |
|||
this.showMsg = true |
|||
return |
|||
} |
|||
this.$refs.imgCodeRole.getCodeImage() |
|||
}, |
|||
reGetPwd() { |
|||
user.reGetPwd(this.nopassword).then((res) => {}) |
|||
}, |
|||
}, |
|||
} |
|||
</script> |
|||
|
|||
|
|||
<style lang="scss"> |
|||
.login { |
|||
position: relative; |
|||
width: 100%; |
|||
height: 100%; |
|||
background-size: 100% 100%; |
|||
background-image: url(../../assets/loginImg/bgImg.png); |
|||
background-position: center; |
|||
overflow: hidden; |
|||
.logoTitle { |
|||
margin: 30px; |
|||
img { |
|||
width: 70px; |
|||
} |
|||
span { |
|||
font-size: 40px; |
|||
color: #191919; |
|||
} |
|||
.title { |
|||
font-size: 25px; |
|||
font-family: Source Han Sans CN; |
|||
font-weight: 500; |
|||
color: #191919; |
|||
margin: 0; |
|||
} |
|||
} |
|||
.main { |
|||
width: 30%; |
|||
/*height: 640px;*/ |
|||
background: #ffffff; |
|||
box-shadow: 0px 13px 12px 0px rgba(0, 0, 0, 0.15); |
|||
opacity: 0.9; |
|||
border-radius: 20px; |
|||
position: absolute; |
|||
right: 10%; |
|||
|
|||
.content { |
|||
position: relative; |
|||
/*.title-h3{ |
|||
width: 100%; |
|||
text-align: center; |
|||
color: #FFFFFF; |
|||
font-size: 30px; |
|||
margin: 0; |
|||
position: absolute; |
|||
top: -65px; |
|||
|
|||
}*/ |
|||
} |
|||
} |
|||
} |
|||
.login-form { |
|||
padding: 30px 50px; |
|||
.title1 { |
|||
margin: 0px auto 30px auto; |
|||
text-align: center; |
|||
font-size: 20px; |
|||
color: #191919; |
|||
font-size: 23px; |
|||
font-weight: 500; |
|||
} |
|||
.el-input { |
|||
border: none; |
|||
background-color: transparent; |
|||
} |
|||
.code { |
|||
position: absolute; |
|||
top: 3px; |
|||
right: 5px; |
|||
width: 35%; |
|||
height: 35px; |
|||
cursor: pointer; |
|||
z-index: 9; |
|||
} |
|||
.nopsw { |
|||
position: absolute; |
|||
bottom: -30px; |
|||
right: 5px; |
|||
color: #018ad2; |
|||
font-size: 15px; |
|||
line-height: 30px; |
|||
} |
|||
.register { |
|||
color: #018ad2; |
|||
} |
|||
.register:hover, |
|||
.nopsw:hover { |
|||
cursor: pointer; |
|||
} |
|||
.btn-eye { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.text-danger { |
|||
color: #f56c6c; |
|||
} |
|||
|
|||
.login-btn { |
|||
margin: 10px 0 10px 0; |
|||
width: 100%; |
|||
background-color: #007fff; |
|||
border: 0; |
|||
} |
|||
.login-btn:hover { |
|||
background-color: #007fdd; |
|||
border: 0; |
|||
} |
|||
.el-input--prefix .el-input__inner { |
|||
border: 1px solid #018ad2; |
|||
background: transparent; |
|||
color: #333 !important; |
|||
} |
|||
.el-form-item { |
|||
margin-bottom: 40px; |
|||
} |
|||
.el-loading-mask { |
|||
background-color: rgba(255, 255, 255, 0.6); |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue