|
|
|
@ -1,55 +1,21 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<div class="login-container" |
|
|
|
<div class="login-container" ref="login" @keyup.enter.native="handleLogin"> |
|
|
|
ref="login" |
|
|
|
|
|
|
|
@keyup.enter.native="handleLogin"> |
|
|
|
|
|
|
|
<top-color v-show="false"></top-color> |
|
|
|
<top-color v-show="false"></top-color> |
|
|
|
<div class="login-weaper animated bounceInDown"> |
|
|
|
<div class="login-weaper animated bounceInDown"> |
|
|
|
<div class="login-left"> |
|
|
|
<!-- 左侧 --> |
|
|
|
<div class="login-time"> |
|
|
|
|
|
|
|
{{time}} |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p class="title">{{ $t('login.info') }}</p> |
|
|
|
|
|
|
|
<div style="font-size: 15px"> |
|
|
|
|
|
|
|
<span>----------------------------------------------</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>管理租户编号:000000</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>超级管理员账号: admin / admin</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>人事账号: hr / hr</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>经理账号: manager / manager</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>老板账号: boss / boss</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>----------------------------------------------</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>普通租户编号:详见租户管理模块</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>租户管理员账号: admin / admin</span> |
|
|
|
|
|
|
|
<br> |
|
|
|
|
|
|
|
<span>----------------------------------------------</span> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<!--<img class="img" src="/img/logo.png" alt="">--> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="login-border"> |
|
|
|
<div class="login-border"> |
|
|
|
<div class="login-main"> |
|
|
|
<div class="login-main"> |
|
|
|
<h4 class="login-title"> |
|
|
|
<div class="login-logo"></div> |
|
|
|
{{ $t('login.title') }}{{website.title}} |
|
|
|
<div class="login-title">运维管理系统,欢迎您!</div> |
|
|
|
<top-lang></top-lang> |
|
|
|
<div class="login-subTitle"> |
|
|
|
</h4> |
|
|
|
WELCOME TO THE OPERATION AND MAINTENANCE<br /> |
|
|
|
<userLogin v-if="activeName==='user'"></userLogin> |
|
|
|
MANAGEMENT SYSTEM |
|
|
|
<codeLogin v-else-if="activeName==='code'"></codeLogin> |
|
|
|
|
|
|
|
<thirdLogin v-else-if="activeName==='third'"></thirdLogin> |
|
|
|
|
|
|
|
<div class="login-menu"> |
|
|
|
|
|
|
|
<a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a> |
|
|
|
|
|
|
|
<!--<a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>--> |
|
|
|
|
|
|
|
<a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a> |
|
|
|
|
|
|
|
<a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<userLogin></userLogin> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 右侧 --> |
|
|
|
|
|
|
|
<div class="login-right"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
@ -71,33 +37,31 @@ |
|
|
|
codeLogin, |
|
|
|
codeLogin, |
|
|
|
thirdLogin, |
|
|
|
thirdLogin, |
|
|
|
topLang, |
|
|
|
topLang, |
|
|
|
topColor |
|
|
|
topColor, |
|
|
|
}, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
|
time: "", |
|
|
|
time: "", |
|
|
|
activeName: "user", |
|
|
|
|
|
|
|
socialForm: { |
|
|
|
socialForm: { |
|
|
|
tenantId: "000000", |
|
|
|
tenantId: "000000", |
|
|
|
source: "", |
|
|
|
source: "", |
|
|
|
code: "", |
|
|
|
code: "", |
|
|
|
state: "", |
|
|
|
state: "", |
|
|
|
} |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
watch: { |
|
|
|
$route() { |
|
|
|
$route() { |
|
|
|
this.handleLogin(); |
|
|
|
this.handleLogin(); |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created() { |
|
|
|
this.handleLogin(); |
|
|
|
this.handleLogin(); |
|
|
|
this.getTime(); |
|
|
|
this.getTime(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
mounted() {}, |
|
|
|
}, |
|
|
|
|
|
|
|
computed: { |
|
|
|
computed: { |
|
|
|
...mapGetters(["website", "tagWel"]) |
|
|
|
...mapGetters(["website", "tagWel"]), |
|
|
|
}, |
|
|
|
}, |
|
|
|
props: [], |
|
|
|
props: [], |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
@ -113,43 +77,61 @@ |
|
|
|
this.socialForm.source = getQueryString("source"); |
|
|
|
this.socialForm.source = getQueryString("source"); |
|
|
|
this.socialForm.code = getQueryString("code"); |
|
|
|
this.socialForm.code = getQueryString("code"); |
|
|
|
this.socialForm.state = getQueryString("state"); |
|
|
|
this.socialForm.state = getQueryString("state"); |
|
|
|
if (validatenull(this.socialForm.source) && topUrl.includes(redirectUrl)) { |
|
|
|
if ( |
|
|
|
|
|
|
|
validatenull(this.socialForm.source) && |
|
|
|
|
|
|
|
topUrl.includes(redirectUrl) |
|
|
|
|
|
|
|
) { |
|
|
|
let source = topUrl.split("?")[0]; |
|
|
|
let source = topUrl.split("?")[0]; |
|
|
|
source = source.split(redirectUrl)[1]; |
|
|
|
source = source.split(redirectUrl)[1]; |
|
|
|
this.socialForm.source = source; |
|
|
|
this.socialForm.source = source; |
|
|
|
} |
|
|
|
} |
|
|
|
if (topUrl.includes(redirectUrl) && !validatenull(this.socialForm.source) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state)) { |
|
|
|
if ( |
|
|
|
|
|
|
|
topUrl.includes(redirectUrl) && |
|
|
|
|
|
|
|
!validatenull(this.socialForm.source) && |
|
|
|
|
|
|
|
!validatenull(this.socialForm.code) && |
|
|
|
|
|
|
|
!validatenull(this.socialForm.state) |
|
|
|
|
|
|
|
) { |
|
|
|
const loading = this.$loading({ |
|
|
|
const loading = this.$loading({ |
|
|
|
lock: true, |
|
|
|
lock: true, |
|
|
|
text: '第三方系统登录中,请稍后。。。', |
|
|
|
text: "第三方系统登录中,请稍后。。。", |
|
|
|
spinner: "el-icon-loading" |
|
|
|
spinner: "el-icon-loading", |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.$store.dispatch("LoginBySocial", this.socialForm).then(() => { |
|
|
|
this.$store |
|
|
|
|
|
|
|
.dispatch("LoginBySocial", this.socialForm) |
|
|
|
|
|
|
|
.then(() => { |
|
|
|
window.location.href = topUrl.split(redirectUrl)[0]; |
|
|
|
window.location.href = topUrl.split(redirectUrl)[0]; |
|
|
|
this.$router.push({ path: this.tagWel.value }); |
|
|
|
this.$router.push({ path: this.tagWel.value }); |
|
|
|
loading.close(); |
|
|
|
loading.close(); |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
|
|
|
|
.catch(() => { |
|
|
|
loading.close(); |
|
|
|
loading.close(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else if (!topUrl.includes(redirectUrl) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state)) { |
|
|
|
} else if ( |
|
|
|
|
|
|
|
!topUrl.includes(redirectUrl) && |
|
|
|
|
|
|
|
!validatenull(this.socialForm.code) && |
|
|
|
|
|
|
|
!validatenull(this.socialForm.state) |
|
|
|
|
|
|
|
) { |
|
|
|
const loading = this.$loading({ |
|
|
|
const loading = this.$loading({ |
|
|
|
lock: true, |
|
|
|
lock: true, |
|
|
|
text: '单点系统登录中,请稍后。。。', |
|
|
|
text: "单点系统登录中,请稍后。。。", |
|
|
|
spinner: "el-icon-loading" |
|
|
|
spinner: "el-icon-loading", |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.$store.dispatch("LoginBySso", this.socialForm).then(() => { |
|
|
|
this.$store |
|
|
|
|
|
|
|
.dispatch("LoginBySso", this.socialForm) |
|
|
|
|
|
|
|
.then(() => { |
|
|
|
window.location.href = topUrl.split(ssoCode)[0]; |
|
|
|
window.location.href = topUrl.split(ssoCode)[0]; |
|
|
|
this.$router.push({ path: this.tagWel.value }); |
|
|
|
this.$router.push({ path: this.tagWel.value }); |
|
|
|
loading.close(); |
|
|
|
loading.close(); |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
|
|
|
|
.catch(() => { |
|
|
|
loading.close(); |
|
|
|
loading.close(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|
<style lang="scss" scoped> |
|
|
|
@import "@/styles/login.scss"; |
|
|
|
@import "@/styles/login.scss"; |
|
|
|
</style> |
|
|
|
</style> |
|
|
|
|