¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="login-container" |
| | | ref="login" |
| | | @keyup.enter.native="handleLogin"> |
| | | <top-color v-show="false"></top-color> |
| | | <div class="login-weaper animated bounceInDown"> |
| | | <div class="login-left"> |
| | | <div class="login-time"> |
| | | {{time}} |
| | | </div> |
| | | <p class="title">UBCS ç»ä¸ä¸å¡ååå¹³å°</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-main"> |
| | | <h4 class="login-title"> |
| | | {{ $t('login.title') }}{{website.title}} |
| | | <top-lang></top-lang> |
| | | </h4> |
| | | <userLogin v-if="activeName==='user'"></userLogin> |
| | | <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> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import userLogin from "./userlogin"; |
| | | import thirdLogin from "./thirdlogin"; |
| | | import {mapGetters} from "vuex"; |
| | | import {dateFormat} from "@/util/date"; |
| | | import {validatenull} from "@/util/validate"; |
| | | import topLang from "@/page/index/top/top-lang"; |
| | | import topColor from "@/page/index/top/top-color"; |
| | | import {getQueryString, getTopUrl} from "@/util/util"; |
| | | import "@/styles/login.scss"; |
| | | export default { |
| | | name: "login", |
| | | components: { |
| | | userLogin, |
| | | |
| | | thirdLogin, |
| | | topLang, |
| | | topColor |
| | | }, |
| | | data() { |
| | | return { |
| | | time: "", |
| | | activeName: "user", |
| | | socialForm: { |
| | | tenantId: "000000", |
| | | source: "", |
| | | |
| | | state: "", |
| | | } |
| | | }; |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | this.handleLogin(); |
| | | } |
| | | }, |
| | | created() { |
| | | this.handleLogin(); |
| | | this.getTime(); |
| | | }, |
| | | mounted() { |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["website", "tagWel"]) |
| | | }, |
| | | props: [], |
| | | methods: { |
| | | getTime() { |
| | | setInterval(() => { |
| | | this.time = dateFormat(new Date()); |
| | | }, 1000); |
| | | }, |
| | | handleLogin() { |
| | | const topUrl = getTopUrl(); |
| | | const redirectUrl = "/oauth/redirect/"; |
| | | this.socialForm.source = getQueryString("source"); |
| | | this.socialForm.state = getQueryString("state"); |
| | | if (validatenull(this.socialForm.source) && topUrl.includes(redirectUrl)) { |
| | | let source = topUrl.split("?")[0]; |
| | | source = source.split(redirectUrl)[1]; |
| | | this.socialForm.source = source; |
| | | } |
| | | if (topUrl.includes(redirectUrl) && !validatenull(this.socialForm.source) && !validatenull(this.socialForm.state)) { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'ç¬¬ä¸æ¹ç³»ç»ç»å½ä¸,请ç¨åããã', |
| | | spinner: "el-icon-loading" |
| | | }); |
| | | this.$store.dispatch("LoginBySocial", this.socialForm).then(() => { |
| | | window.location.href = topUrl.split(redirectUrl)[0]; |
| | | this.$router.push({path: this.tagWel.value}); |
| | | loading.close(); |
| | | }).catch(() => { |
| | | loading.close(); |
| | | }); |
| | | } else if (!topUrl.includes(redirectUrl) && !validatenull(this.socialForm.state)) { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'åç¹ç³»ç»ç»å½ä¸,请ç¨åããã', |
| | | spinner: "el-icon-loading" |
| | | }); |
| | | this.$store.dispatch("LoginBySso", this.socialForm).then(() => { |
| | | |
| | | this.$router.push({path: this.tagWel.value}); |
| | | loading.close(); |
| | | }).catch(() => { |
| | | loading.close(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | </style> |