Explorar el Código

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

Xiao_123 hace 10 meses
padre
commit
f955f9c571

+ 1 - 1
src/layout/personal/navBar.vue

@@ -28,7 +28,7 @@
         
         <div class="d-flex user-nav">
           <div class="btns d-flex align-center" v-if="!getToken()">
-            <v-btn class="half-button" border color="primary" size="small" @click="handleLogin">{{ $t('login.register') }}</v-btn>
+            <v-btn class="half-button" border color="primary" size="small" @click="handleLogin">{{ $t('login.loginOrRegister') }}</v-btn>
           </div>
           
           <!-- 头像用户名 -->

+ 2 - 1
src/locales/en.js

@@ -87,7 +87,8 @@ export default {
     password: 'Password',
     login: 'Sign in',
     reLogin: 'Sign in again',
-    register: 'Sign in or Register',
+    loginOrRegister: 'Sign in or Register',
+    register: 'Register',
     checkPassword: 'Confirm password',
     mobileNumber: 'Mobile Number',
     mobileNumberPlaceholder: 'Please Enter Mobile Number',

+ 2 - 1
src/locales/zh-CN.js

@@ -87,7 +87,8 @@ export default {
     password: '密码',
     login: '登录',
     reLogin: '重新登录',
-    register: '登录/注册',
+    loginOrRegister: '登录/注册',
+    register: '注册',
     checkPassword: '确认密码',
     mobileNumber: '手机号码',
     mobileNumberPlaceholder: '请输入手机号码',

+ 28 - 0
src/router/modules/common.js

@@ -51,6 +51,34 @@ const common = [
     },
     component: () => import('@/views/recruit/enterprise/systemManagement/groupAccount/inviteConfirmEnt.vue')
   },
+  {
+    path: '/recruit/enterprise/register',
+    // component: Layout,
+    name: 'enterpriseRegister',
+    children: [
+      {
+        path: '/recruit/enterprise/register',
+        component: () => import('@/views/recruit/enterprise/register/register.vue'),
+        meta: {
+          title: '注册新企业'
+        },
+      },
+      {
+        path: '/recruit/enterprise/register/joiningEnterprise',
+        component: () => import('@/views/recruit/enterprise/register/joiningEnterprise'),
+        meta: {
+          title: '加入企业'
+        }
+      },
+      {
+        path: '/recruit/enterprise/register/inReview',
+        component: () => import('@/views/recruit/enterprise/register/inReview.vue'),
+        meta: {
+          title: '申请信息'
+        }
+      }
+    ]
+  },
 ]
 
 export default common

+ 0 - 28
src/router/modules/components/recruit/personal.js

@@ -74,34 +74,6 @@ const personal = [
       }
     ]
   },
-  {
-    path: '/recruit/enterprise/register',
-    component: Layout,
-    name: 'enterpriseRegister',
-    children: [
-      {
-        path: '/recruit/enterprise/register',
-        component: () => import('@/views/recruit/enterprise/register/register.vue'),
-        meta: {
-          title: '注册新企业'
-        },
-      },
-      {
-        path: '/recruit/enterprise/register/joiningEnterprise',
-        component: () => import('@/views/recruit/enterprise/register/joiningEnterprise'),
-        meta: {
-          title: '加入企业'
-        }
-      },
-      {
-        path: '/recruit/enterprise/register/inReview',
-        component: () => import('@/views/recruit/enterprise/register/inReview.vue'),
-        meta: {
-          title: '申请信息'
-        }
-      }
-    ]
-  },
   {
     path: '/publicRecruitment',
     component: Layout,

+ 1 - 1
src/views/login/index.vue

@@ -61,7 +61,7 @@
           <qr-code></qr-code>
         </div>
         <v-btn v-if="!isPhone" :loading="loginLoading" color="primary" class="white--text mt-5" min-width="350" @click="handleLogin">
-          {{ tab === 1 ? $t('login.register') : $t('login.login') }}
+          {{ tab === 1 ? $t('login.loginOrRegister') : $t('login.login') }}
         </v-btn>
         <div class="login-tips mt-3">
           {{ $t('login.agreeLogin') }}

+ 18 - 5
src/views/recruit/enterprise/register/inReview.vue

@@ -1,8 +1,9 @@
 <!-- 注册企业进度 -->
 <template>
   <div class="pt-5">
-    <v-card class="default-width pa-5">
-      <div style="width: 600px;margin: 80px auto;">
+    <v-card class="pa-5" :class="isMobile? 'mobileBox' : 'default-width'" :elevation="isMobile? '0' : '3'">
+
+      <div style="margin: 80px auto;" :style="{width: isMobile ? '' : '600px'}">
 
         <!-- 提交企业注册以后跳转显示页面 -->
         <div v-if="!applyInfo || !(Object.keys(applyInfo).length)">
@@ -34,8 +35,7 @@
         <div v-else-if="applyInfo.status === '1'">
           <span>审核通过</span>
         </div>
-        
-        <div class="text-center">
+        <div class="text-center" v-if="!isMobile">
           <v-btn class="mt-16" color="warning" to="/recruitHome">{{ $t('common.toHome') }}</v-btn>
           <v-btn v-if="applyInfo.status === '2'" class="mt-16 ml-12" color="primary" to="/recruit/enterprise/register">{{ $t('common.resubmit') }}</v-btn>
         </div>
@@ -47,11 +47,18 @@
 <script setup>
 import { timesTampChange } from '@/utils/date'
 import { getUserRegisterEnterpriseApply } from '@/api/personal/user'
-import { ref } from 'vue';
+import { onMounted, ref } from 'vue';
 defineOptions({name: 'enterprise-enterpriseRegister-inReview'})
 
 const applyInfo = ref({})
 
+// 组件挂载后添加事件监听器  
+const isMobile = ref(false)
+onMounted(() => {
+  const userAgent = navigator.userAgent
+  isMobile.value = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(userAgent)
+})
+
 // 查看用户是否有在申请中的数据
 const getApplyInfo = async () => {
   const data = await getUserRegisterEnterpriseApply() // 已经有数据说明已经申请过了
@@ -69,4 +76,10 @@ getApplyInfo()
 
 </script>
 <style lang="scss" scoped>
+.mobileBox {
+  width: 100vw;
+  .resume-header {
+    margin-bottom: 12px;
+  }
+}
 </style>

+ 16 - 3
src/views/recruit/enterprise/register/register.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="pt-5">
-    <v-card class="default-width pa-5">
+    <v-card class="pa-5" :class="isMobile? 'mobileBox' : 'default-width'" :elevation="isMobile? '0' : '3'">
       <!-- 标题 -->
       <div class="resume-header">
         <div class="resume-title">{{ $t('enterprise.registeringNewEnterprise') }}</div>
       </div>
       <!-- 表单 -->
-      <div class="CtFormClass" style="width: 600px;">
+      <div class="CtFormClass" :style="{width: isMobile ? '' : '600px'}">
         <CtForm ref="CtFormRef" :items="formItems" style="width: 100%;"></CtForm>
         <!-- 上传照片 -->
         <div style="color: var(--color-999);">
@@ -68,7 +68,7 @@ import { uploadFile } from '@/api/common'
 import { useI18n } from '@/hooks/web/useI18n'
 import { useRouter } from 'vue-router'
 import { enterpriseRegisterApply } from '@/api/personal/user'
-import { ref } from 'vue';
+import { onMounted, ref } from 'vue';
 defineOptions({name: 'enterprise-enterpriseRegister-register'})
 const { t } = useI18n()
 const CtFormRef = ref()
@@ -76,6 +76,13 @@ const router = useRouter()
 const fileVerify = ref(false)
 const loginLoading = ref(false)
 
+// 组件挂载后添加事件监听器  
+const isMobile = ref(false)
+onMounted(() => {
+  const userAgent = navigator.userAgent
+  isMobile.value = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(userAgent)
+})
+
 const formItems = ref({
   options: [
     {
@@ -194,4 +201,10 @@ if (info && Object.keys(info).length) {
     .icon { color: var(--v-error-base); }
   }
 }
+.mobileBox {
+  width: 100vw;
+  .resume-header {
+    margin-bottom: 12px;
+  }
+}
 </style>

+ 40 - 5
src/views/recruit/enterprise/systemManagement/groupAccount/inviteConfirmEnt.vue

@@ -25,10 +25,24 @@
           <div v-show="!showCompanySelect">
             <phoneFrom ref="phoneRef" @handleEnter="handleClick()" :style="{'width': isMobile ? '100%' : '350px' }"></phoneFrom>
             <v-btn :loading="loginLoading" color="warning" class="white--text mt-3" min-width="350" @click="handleConfirmJoin" :style="{'width': isMobile ? '100%' : '350px' }">
-              {{ $t('common.confirmJoin') }}
+              {{ quickRegister ? $t('login.register') : $t('common.confirmJoin') }}
             </v-btn>
             <div class="mt-3" style="font-size: 13px;text-align: center;">
               <div>注:请使用已经申请好的企业账户加入集团</div>
+              <div style="color: red; cursor: pointer;">
+                <span
+                  v-if="quickRegister"
+                  @click="quickRegister = false"
+                >
+                  已有企业账号,去登录
+                </span>
+                <span
+                  v-else
+                  @click="handleRegister"
+                >
+                  没有企业账号?去注册
+                </span>
+              </div>
             </div>
           </div>
         </template>
@@ -39,11 +53,12 @@
 
 <script setup>
 defineOptions({ name: 'inviteConfirmEnt'})
+import { useRouter } from 'vue-router'; const router = useRouter()
 import { ref, onMounted, reactive } from 'vue'
 import { useRoute } from 'vue-router'; const route = useRoute()
 import { enterpriseInviteRecordConsent, getEnterpriseInfoByCode } from '@/api/recruit/enterprise/enterpriseInvite.js'
 import Snackbar from '@/plugins/snackbar'
-import { getUserBindEnterpriseList } from '@/api/personal/user'
+import { getUserBindEnterpriseList, getUserRegisterEnterpriseApply } from '@/api/personal/user'
 import companySelect from '@/views/login/components/companySelect.vue'
 import phoneFrom from '@/components/VerificationCode'
 import { getToken, setToken, setRefreshToken } from '@/utils/auth'
@@ -74,8 +89,10 @@ const handleConfirmJoin = async () => {
     const res = await smsLogin(phoneParams)
     setToken(res.accessToken)
     setRefreshToken(res.refreshToken)
-    localStorage.setItem('loginType', 'enterprise') // 不存在时刷新会出现重定向,值没有影响
-    getEnterpriseList()
+    localStorage.setItem('loginType', 'personal') // 不存在时刷新会出现重定向
+    quickRegister.value ? getApplyInfo() : getEnterpriseList()
+    // if (quickRegister.value) getApplyInfo()
+    // else getEnterpriseList()
   } catch (error) {
     Snackbar.error('查询用户数据失败')
   } finally {
@@ -90,7 +107,11 @@ const getEnterpriseList = async() => {
     loginLoading.value = true
     enterpriseList.value = []
     const data = await getUserBindEnterpriseList() // 申请通过才有数据,否则空数组
-    if (!data?.length) return Snackbar.warning('未查询到该用户下存在企业')
+    if (!data?.length) {
+      // Snackbar.warning('未查询到该用户下存在企业')
+      getApplyInfo()
+      return
+    }
     if (data.length > 1) {
       showCompanySelect.value = true
       enterpriseList.value = data
@@ -105,6 +126,15 @@ const getEnterpriseList = async() => {
   }
 }
 
+// 查看用户是否有在申请中的数据
+const getApplyInfo = async () => {
+  const data = await getUserRegisterEnterpriseApply()
+  const bool = data && Object.keys(data).length // 已经有数据说明已经申请过了
+  const path = bool ? '/recruit/enterprise/register/inReview' : '/recruit/enterprise/register'
+  router.push({ path })
+  if (!bool) Snackbar.warning('未查询到该用户下存在企业,请优先提交企业申请')
+}
+
 // 执行加入操作
 const join = async (enterpriseId) => {
   if (!enterpriseId) return Snackbar.warning('请选择要加入的企业')
@@ -126,6 +156,11 @@ const join = async (enterpriseId) => {
   }
 }
 
+const quickRegister = ref(false)
+const handleRegister = () => {
+  quickRegister.value = true
+}
+
 const logoutFun = async () => {
   if (!getToken()) {
     localStorage.clear()

+ 1 - 1
src/views/recruit/personal/shareJob/components/login.vue

@@ -11,7 +11,7 @@
     <div class="my-5">
       <phoneFrom ref="phoneRef" @handleEnter="handleLogin"></phoneFrom>
       <v-btn :loading="loginLoading" color="primary" class="white--text mt-5" min-width="350" @click="handleLogin">
-        {{ $t('login.register') }}
+        {{ $t('login.loginOrRegister') }}
       </v-btn>
     </div>
   </CtDialog>