Forráskód Böngészése

集团分支邀请,快速注册企业

lifanagju_citu 10 hónapja
szülő
commit
1f6bf5bd34

+ 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,

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

+ 23 - 3
src/views/recruit/enterprise/systemManagement/groupAccount/inviteConfirmEnt.vue

@@ -29,6 +29,12 @@
             </v-btn>
             <div class="mt-3" style="font-size: 13px;text-align: center;">
               <div>注:请使用已经申请好的企业账户加入集团</div>
+              <!-- <div
+                style="color: red; cursor: pointer;"
+                @click="handleRegister"
+              >
+                没有企业账号?去注册
+              </div> -->
             </div>
           </div>
         </template>
@@ -39,11 +45,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,7 +81,7 @@ const handleConfirmJoin = async () => {
     const res = await smsLogin(phoneParams)
     setToken(res.accessToken)
     setRefreshToken(res.refreshToken)
-    localStorage.setItem('loginType', 'enterprise') // 不存在时刷新会出现重定向,值没有影响
+    localStorage.setItem('loginType', 'personal') // 不存在时刷新会出现重定向
     getEnterpriseList()
   } catch (error) {
     Snackbar.error('查询用户数据失败')
@@ -90,7 +97,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 +116,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('请选择要加入的企业')