|
@@ -8,7 +8,25 @@
|
|
|
{{ isPhone ? $t('login.smsOrPassword') : $t('login.scanWeChatCode') }}
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="loginType" class="loginType">{{ $t('login.enterpriseLogin') }}</div>
|
|
|
+ <div v-if="loginType" class="loginType">
|
|
|
+ <span>{{ $t('login.enterpriseLogin') }}</span>
|
|
|
+ <v-tooltip :text="$t('login.switchToPersonalLogin')" location="start">
|
|
|
+ <template v-slot:activator="{ props }">
|
|
|
+ <v-btn
|
|
|
+ class="ml-0"
|
|
|
+ color="#fffff"
|
|
|
+ size="x-small"
|
|
|
+ icon="mdi-swap-vertical"
|
|
|
+ variant="plain"
|
|
|
+ v-bind="props"
|
|
|
+ to="/login"
|
|
|
+ @click="switchToPersonalLogin"
|
|
|
+ >
|
|
|
+ </v-btn>
|
|
|
+ </template>
|
|
|
+ </v-tooltip>
|
|
|
+ <!-- <span class="mdi mdi-swap-vertical ml-4"></span> -->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="right mr-2 mt-3" v-if="showClose">
|
|
|
<v-icon color="grey" size="30">mdi-close</v-icon>
|
|
@@ -85,13 +103,24 @@ const handleLogin = async () => {
|
|
|
loginLoading.value = true
|
|
|
try {
|
|
|
const type = loginType.value
|
|
|
- if (tab.value === 1) {
|
|
|
- await userStore.handleSmsLogin({ ...phoneRef.value.loginData, type })
|
|
|
- } else {
|
|
|
- await userStore.handlePasswordLogin({ ...passRef.value.loginData, type })
|
|
|
+ let params, api = {}
|
|
|
+ if (tab.value === 1) { params = { ...phoneRef.value.loginData }; api = 'handleSmsLogin'}
|
|
|
+ else { params = { ...passRef.value.loginData }; api = 'handlePasswordLogin'}
|
|
|
+ // 企业登录
|
|
|
+ if (type === 330) {
|
|
|
+ const companyList = JSON.parse(localStorage.getItem('companyInfo'))
|
|
|
+ if (companyList?.length) {
|
|
|
+ params.loginType = type // 前端判断是否是企业登录标识 330 为企业否者为个人
|
|
|
+ const companyInfo = companyList[0]
|
|
|
+ params.enterpriseId = companyInfo.enterpriseId
|
|
|
+ }
|
|
|
}
|
|
|
+ // await userStore.handlePasswordLogin({ ...passRef.value.loginData, type }) //tab.value === 1
|
|
|
+ // await userStore.handleSmsLogin({ ...phoneRef.value.loginData, type })
|
|
|
+ await userStore[api](params)
|
|
|
Snackbar.success(t('login.loginSuccess'))
|
|
|
- router.push({ path: '/home' })
|
|
|
+ const path = type === 330 ? '/enterprise' : '/home'
|
|
|
+ router.push({ path })
|
|
|
}
|
|
|
finally {
|
|
|
loginLoading.value = false
|
|
@@ -105,6 +134,11 @@ const handleToUserAgreement = () => {
|
|
|
const handlePrivacyPolicy = () => {
|
|
|
router.push({ path: '/privacyPolicy' })
|
|
|
}
|
|
|
+
|
|
|
+const switchToPersonalLogin = () => {
|
|
|
+ loginType.value = 0
|
|
|
+ Snackbar.success(t('common.switchSuccessful'))
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@@ -114,7 +148,7 @@ const handlePrivacyPolicy = () => {
|
|
|
right: 0;
|
|
|
// width: 100%;
|
|
|
color: #fff;
|
|
|
- padding: 10px 30px;
|
|
|
+ padding: 4px 15px 4px 30px;
|
|
|
border-radius: 8px 0 0 8px;
|
|
|
background-color: #ffba5d;
|
|
|
font-size: 16px;
|