|  | @@ -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>
 |