|
@@ -1,59 +1,70 @@
|
|
<template>
|
|
<template>
|
|
- <div class="login-box">
|
|
|
|
- <navBar :showLoginBtn="false" class="navBar"></navBar>
|
|
|
|
- <div class="login-content">
|
|
|
|
- <!-- <div class="text-end pr-5 pt-5">
|
|
|
|
- <span class="color-error cursor-pointer text-decoration-underline" @click="router.push('/register/selected')">还没有登录账户?去注册</span>
|
|
|
|
- </div> -->
|
|
|
|
- <div class="login-change" @click="handleChangeLogin">{{ isEnterpriseLogin ? '切换个人登录' : '切换企业登录' }}</div>
|
|
|
|
- <div class="login-content-box my-10">
|
|
|
|
- <!-- 企业邮箱登录 -->
|
|
|
|
- <div v-show="isEnterpriseLogin" class="login-tab">
|
|
|
|
- <v-tabs v-model="tab1" align-tabs="center" color="primary" class="mb-10">
|
|
|
|
- <v-tab :value="1">企业邮箱登录</v-tab>
|
|
|
|
- </v-tabs>
|
|
|
|
- <passwordFrom ref="passRef" placeholder="请输入企业邮箱" :validEmail="true" @handleEnter="handleLogin"></passwordFrom>
|
|
|
|
- </div>
|
|
|
|
- <!-- 个人登录 -->
|
|
|
|
- <div v-show="!isEnterpriseLogin" class="login-tab">
|
|
|
|
- <v-tabs v-model="tab" align-tabs="center" color="primary" class="mb-10" @update:modelValue="tabChange">
|
|
|
|
- <v-tab :value="1">验证码</v-tab>
|
|
|
|
- <v-tab :value="2">账号</v-tab>
|
|
|
|
- <!-- <v-tab :value="3">微信</v-tab> -->
|
|
|
|
- </v-tabs>
|
|
|
|
- <v-window v-model="tab">
|
|
|
|
- <!-- 验证码登录 -->
|
|
|
|
- <v-window-item :value="1">
|
|
|
|
- <phoneFrom ref="phoneRef" @handleEnter="handleLogin"></phoneFrom>
|
|
|
|
- </v-window-item>
|
|
|
|
- <!-- 账号密码登录 -->
|
|
|
|
- <v-window-item :value="2">
|
|
|
|
- <passwordFrom ref="passRef" @handleEnter="handleLogin"></passwordFrom>
|
|
|
|
- </v-window-item>
|
|
|
|
- <!-- <v-window-item :value="3">
|
|
|
|
- <div v-if="showQrCode" class="d-flex align-center flex-column">
|
|
|
|
- <span class="text-decoration-underline">微信扫描二维码进行登录</span>
|
|
|
|
- <v-img src="https://minio.citupro.com/dev/menduner/login-qrCode.png" width="150" height="150"></v-img>
|
|
|
|
- </div>
|
|
|
|
- <div v-else style="height: 150px; line-height: 150px; text-align: center;">
|
|
|
|
- 加载中 . . .
|
|
|
|
|
|
+ <div class="box">
|
|
|
|
+ <div class="content">
|
|
|
|
+ <div class="login-content">
|
|
|
|
+ <v-card v-if="props.showCarousel" height="392px" class="mr-3" style="width: 792px; border-radius: 0px;">
|
|
|
|
+ <v-carousel show-arrows="hover" cycle>
|
|
|
|
+ <v-carousel-item v-for="(item, i) in carouselList" :key="i">
|
|
|
|
+ <div style="height: 392px; overflow: hidden;">
|
|
|
|
+ <v-img :src="item.src" cover style="height: 100%; overflow: hidden;"></v-img>
|
|
</div>
|
|
</div>
|
|
- </v-window-item> -->
|
|
|
|
- </v-window>
|
|
|
|
- </div>
|
|
|
|
- <div class="font-size-14 tips">
|
|
|
|
- <span class="float-left color-666 cursor-pointer" v-if="tab === 2 && !isEnterpriseLogin" @click="router.push('/forgotPassword')">忘记密码</span>
|
|
|
|
- <span class="float-right color-error cursor-pointer text-decoration-underline" @click="router.push('/register/selected')">还没有登录账户?去注册</span>
|
|
|
|
- </div>
|
|
|
|
- <v-btn :loading="loginLoading" color="primary" class="white--text mt-5" min-width="350" @click="handleLogin">
|
|
|
|
- {{ $t('login.login') }}
|
|
|
|
- </v-btn>
|
|
|
|
- <div class="login-tips mt-3">
|
|
|
|
- {{ $t('login.agreeLogin') }}
|
|
|
|
- <span class="color" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
|
|
|
|
- <span class="color" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
|
|
|
|
|
|
+ </v-carousel-item>
|
|
|
|
+ </v-carousel>
|
|
|
|
+ </v-card>
|
|
|
|
+ <div class="login-card">
|
|
|
|
+ <div class="login-change" @click="handleChangeLogin">{{ isEnterpriseLogin ? '切换个人登录' : '切换企业登录' }}</div>
|
|
|
|
+ <!-- 企业邮箱登录 -->
|
|
|
|
+ <div v-show="isEnterpriseLogin" class="login-tab">
|
|
|
|
+ <v-tabs v-model="tab1" align-tabs="center" color="primary" class="mb-10">
|
|
|
|
+ <v-tab :value="1">企业邮箱登录</v-tab>
|
|
|
|
+ </v-tabs>
|
|
|
|
+ <passwordFrom ref="passRef" placeholder="请输入企业邮箱" :validEmail="true" @handleEnter="handleLogin"></passwordFrom>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 个人登录 -->
|
|
|
|
+ <div v-show="!isEnterpriseLogin" class="login-tab">
|
|
|
|
+ <v-tabs v-model="tab" align-tabs="center" color="primary" class="mb-10" @update:modelValue="tabChange">
|
|
|
|
+ <v-tab :value="1">验证码</v-tab>
|
|
|
|
+ <v-tab :value="2">账号</v-tab>
|
|
|
|
+ <!-- <v-tab :value="3">微信</v-tab> -->
|
|
|
|
+ </v-tabs>
|
|
|
|
+ <v-window v-model="tab">
|
|
|
|
+ <!-- 验证码登录 -->
|
|
|
|
+ <v-window-item :value="1">
|
|
|
|
+ <phoneFrom ref="phoneRef" @handleEnter="handleLogin"></phoneFrom>
|
|
|
|
+ </v-window-item>
|
|
|
|
+ <!-- 账号密码登录 -->
|
|
|
|
+ <v-window-item :value="2">
|
|
|
|
+ <passwordFrom ref="passRef" @handleEnter="handleLogin"></passwordFrom>
|
|
|
|
+ </v-window-item>
|
|
|
|
+ <!-- <v-window-item :value="3">
|
|
|
|
+ <div v-if="showQrCode" class="d-flex align-center flex-column">
|
|
|
|
+ <span class="text-decoration-underline">微信扫描二维码进行登录</span>
|
|
|
|
+ <v-img src="https://minio.citupro.com/dev/menduner/login-qrCode.png" width="150" height="150"></v-img>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else style="height: 150px; line-height: 150px; text-align: center;">
|
|
|
|
+ 加载中 . . .
|
|
|
|
+ </div>
|
|
|
|
+ </v-window-item> -->
|
|
|
|
+ </v-window>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="font-size-14 tips">
|
|
|
|
+ <span class="float-left color-666 cursor-pointer" v-if="tab === 2 && !isEnterpriseLogin" @click="router.push('/forgotPassword')">忘记密码</span>
|
|
|
|
+ <span class="float-right color-error cursor-pointer text-decoration-underline" @click="router.push('/register/selected')">还没有登录账户?去注册</span>
|
|
|
|
+ </div>
|
|
|
|
+ <v-btn :loading="loginLoading" color="primary" class="white--text mt-5" min-width="350" @click="handleLogin">
|
|
|
|
+ {{ $t('login.login') }}
|
|
|
|
+ </v-btn>
|
|
|
|
+ <div class="login-tips mt-3">
|
|
|
|
+ {{ $t('login.agreeLogin') }}
|
|
|
|
+ <span class="color" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
|
|
|
|
+ <span class="color" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="aboutBox">
|
|
|
|
+ <about></about>
|
|
|
|
+ </div>
|
|
|
|
+ <navBar :showLoginBtn="false" class="navBar"></navBar>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -73,6 +84,14 @@ import {
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Confirm from '@/plugins/confirm'
|
|
import Confirm from '@/plugins/confirm'
|
|
import navBar from '@/layout/personal/navBar.vue'
|
|
import navBar from '@/layout/personal/navBar.vue'
|
|
|
|
+import about from '@/views/about/index.vue'
|
|
|
|
+
|
|
|
|
+const props = defineProps({
|
|
|
|
+ showCarousel: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: true
|
|
|
|
+ }
|
|
|
|
+})
|
|
|
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
@@ -164,19 +183,40 @@ const tabChange = (val) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// 轮播广告 // 轮播图片
|
|
|
|
+const carouselList = ref([
|
|
|
|
+ { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/IHG-banner-new.gif' },
|
|
|
|
+ { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/Hilton.jpg'},
|
|
|
|
+ { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/SWISS-HOTEL-MANAGEMENT-SCHOOL-MBA.jpg'},
|
|
|
|
+ { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/Hong-Kong-Polytechnic-University-banner.jpg' }
|
|
|
|
+])
|
|
|
|
+
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
-.login-box {
|
|
|
|
|
|
+.box {
|
|
position: relative;
|
|
position: relative;
|
|
width: 100%;
|
|
width: 100%;
|
|
- height: 100%;
|
|
|
|
|
|
+ height: 100vh;
|
|
background-image: url('https://www.mendunerhr.com/images/userfiles/92d7e4a755e2428b94aab3636d5047f3/images/recruitment/adImages/2018/11/1920x940.jpg');
|
|
background-image: url('https://www.mendunerhr.com/images/userfiles/92d7e4a755e2428b94aab3636d5047f3/images/recruitment/adImages/2018/11/1920x940.jpg');
|
|
background-size: cover;
|
|
background-size: cover;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ .navBar {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-.navBar {
|
|
|
|
- position: absolute;
|
|
|
|
- top: 0;
|
|
|
|
|
|
+.content {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+}
|
|
|
|
+.login-content {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 86vh;
|
|
}
|
|
}
|
|
.login-change {
|
|
.login-change {
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -191,21 +231,13 @@ const tabChange = (val) => {
|
|
text-decoration: underline;
|
|
text-decoration: underline;
|
|
color: #fbb93e;
|
|
color: #fbb93e;
|
|
}
|
|
}
|
|
- // width: 450px;
|
|
|
|
- // background-color: #fff;
|
|
|
|
- // border-radius: 10px;
|
|
|
|
}
|
|
}
|
|
-.login-content {
|
|
|
|
- position: absolute;
|
|
|
|
- top: 50%;
|
|
|
|
- left: 50%;
|
|
|
|
- translate: -50% -50%;
|
|
|
|
|
|
+.login-card {
|
|
|
|
+ position: relative;
|
|
width: 450px;
|
|
width: 450px;
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
- border-radius: 10px;
|
|
|
|
-}
|
|
|
|
-.login-content-box {
|
|
|
|
- padding: 0 50px;
|
|
|
|
|
|
+ border-radius: 0px;
|
|
|
|
+ padding: 36px 50px;
|
|
}
|
|
}
|
|
.left {
|
|
.left {
|
|
display: flex;
|
|
display: flex;
|
|
@@ -223,4 +255,9 @@ const tabChange = (val) => {
|
|
.color {
|
|
.color {
|
|
color: var(--v-primary-base);
|
|
color: var(--v-primary-base);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+.aboutBox {
|
|
|
|
+ width: 100%;
|
|
|
|
+ // overflow-x: auto;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|