瀏覽代碼

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

Xiao_123 8 月之前
父節點
當前提交
639e56c5a1

+ 1 - 0
src/api/common/index.js

@@ -213,6 +213,7 @@ export const userRefreshToken = async (refreshToken) => {
 export const getEnterpriseUserAccount = async () => {
   return await request.get({
     // url: '/app-api/menduner/system/recruit/user/get/account'
+    tokenIndex: 1, // 使用招聘token
     url: '/app-api/pay/currency/get' // 获取货币账户
   })
 }

+ 1 - 1
src/api/enterprise.js

@@ -156,7 +156,7 @@ export const updateEnterpriseTag = async (data) => {
   })
 }
 
-// 根据类型获取标签信息
+// 招聘端-根据类型获取标签信息
 export const getTagTreeDataApi = async (params) => {
   return await request.get({
     url: '/admin-api/menduner/system/tag/get/by/type',

+ 12 - 5
src/config/axios/service.js

@@ -20,6 +20,8 @@ import { useI18n } from '@/hooks/web/useI18n'
 
 const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE
 const { result_code, base_url, request_timeout } = config
+// const entUrlStr = '/recruit' // 包含这个就是企业接口,特殊的在api function中设置tokenIndex(优先)
+// let isEnterprise = config.url.includes(entUrlStr)
 
 // 需要忽略的提示。忽略后,自动 Promise.reject('error')
 const ignoreMsgs = [
@@ -58,6 +60,8 @@ service.interceptors.request.use(
     config.headers['Accept-Language'] = getCurrentLocaleLang() ?? 'zh_CN'
     // 是否需要设置 token
     let isToken = (config.headers || {}).isToken === false
+    // token类型
+    const tokenIndex = config.tokenIndex ? config.tokenIndex : getIsEnterprise() ? 1 : 2
     whiteList.some((v) => {
       if (config.url) {
         config.url.indexOf(v) > -1
@@ -65,8 +69,8 @@ service.interceptors.request.use(
       }
     })
     
-    if (getToken(config.tokenIndex) && !isToken) {
-      (config).headers.Authorization = 'Bearer ' + getToken(config.tokenIndex) // 让每个请求携带自定义token
+    if (getToken(tokenIndex) && !isToken) {
+      (config).headers.Authorization = 'Bearer ' + getToken(tokenIndex) // 让每个请求携带自定义token
     }
     // 设置租户
     if (tenantEnable && tenantEnable === 'true') {
@@ -146,6 +150,9 @@ service.interceptors.response.use(
       return Promise.reject(msg)
     } else if (code === 401) {
       // 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了
+      // token类型
+      const tokenIndex = config.tokenIndex ? config.tokenIndex : getIsEnterprise() ? 1 : 2
+
       if (!isRefreshToken) {
         isRefreshToken = true
         // 1. 如果获取不到刷新令牌,则只能执行登出操作
@@ -155,11 +162,11 @@ service.interceptors.response.use(
         // 2. 进行刷新访问令牌
         try {
           // 2.1 刷新成功,则回放队列的请求 + 当前请求
-          const data = getIsEnterprise() ? await enterpriseRefreshToken(getRefreshToken()) : await userRefreshToken(getRefreshToken())
+          const data = tokenIndex === 1 ? await enterpriseRefreshToken(getRefreshToken()) : await userRefreshToken(getRefreshToken())
           setToken(data.accessToken)
           setRefreshToken(data.refreshToken)
 
-          config.headers.Authorization = 'Bearer ' + getToken(config.tokenIndex)
+          config.headers.Authorization = 'Bearer ' + getToken(tokenIndex)
           requestList.forEach((cb) => {
             cb()
           })
@@ -181,7 +188,7 @@ service.interceptors.response.use(
         // 添加到队列,等待刷新获取到新的令牌
         return new Promise((resolve) => {
           requestList.push(() => {
-            config.headers.Authorization = 'Bearer ' + getToken(config.tokenIndex) // 让每个请求携带自定义token 请根据实际情况自行修改
+            config.headers.Authorization = 'Bearer ' + getToken(tokenIndex) // 让每个请求携带自定义token 请根据实际情况自行修改
             resolve(service(config))
           })
         })

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

@@ -199,7 +199,7 @@ const handleSwitch = async () => {
     radios.value = data[0].enterpriseId
     show.value = true
   } else {
-    // router.push('recruit/enterprise/register')
+    // router.push('recruit/enterpriseRegister')
     newRegistering() // 既没有存在的企业 又没有申请数据 》 进入注册页面
   }
 }
@@ -232,7 +232,7 @@ const getApplyInfo = async () => {
 const loading1 = ref(false)
 const newRegistering = () => {
   loading1.value = true
-  const path = btnType.value ? '/recruit/enterprise/register' : '/recruit/enterprise/register/inReview'
+  const path = btnType.value ? '/recruit/entRegister' : '/recruit/entRegister/inReview'
   router.replace({ path })
 }
 

+ 1 - 1
src/locales/en.js

@@ -176,7 +176,7 @@ export default {
     companyInfo: 'Company Information',
     moreBtn: 'View More Enterprises',
     joiningEnterprise: 'Joining Enterprise',
-    registeringNewEnterprise: 'Registering A New Enterprise',
+    registeringNewEnterprise: 'Registering A Enterprise',
     infoSetting: { // 企业信息设置
       basicInfo: 'Basic Information',
       enterpriseLogo: 'Enterprise LOGO',

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

@@ -176,7 +176,7 @@ export default {
     companyInfo: '公司信息',
     moreBtn: '查看更多企业',
     joiningEnterprise: '加入已有企业',
-    registeringNewEnterprise: '注册企业',
+    registeringNewEnterprise: '注册企业',
     infoSetting: { // 企业信息设置
       basicInfo: '基本信息',
       enterpriseLogo: '企业LOGO',

+ 3 - 2
src/permission.js

@@ -1,7 +1,7 @@
 import router from './router'
 import { useNProgress } from '@/hooks/web/useNProgress'
 import { useTitle } from '@/hooks/web/useTitle'
-import { getToken } from '@/utils/auth'
+import { getToken, getIsEnterprise } from '@/utils/auth'
 import { useDictStore } from '@/store/dict'
 import { useUserStore } from '@/store/user'
 import Confirm from '@/plugins/confirm'
@@ -14,12 +14,13 @@ const { start, done } = useNProgress()
 // 路由守卫
 router.beforeEach(async (to, from, next) => {
   localStorage.setItem('routerTest', to.path) // 本地环境保存代码热更新会导致路径缺失问题
+  const tokenIndex = getIsEnterprise() ? 1: 2
   start()
   // loadStart()
   if (to.path === '/enterpriseVerification') {
     useUserStore().changeRole()
     next()
-  } else if (getToken()) {
+  } else if (getToken(tokenIndex)) {
     // 企业信息完成度提示
     if (localStorage.getItem('checkEnterpriseBaseInfoFalseHref')) {
       const href = localStorage.getItem('checkEnterpriseBaseInfoFalseHref')

+ 7 - 7
src/router/modules/common.js

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

+ 23 - 14
src/store/user.js

@@ -55,13 +55,17 @@ export const useUserStore = defineStore('user',
         return new Promise((resolve, reject) => {
           data.account = data.phone
           passwordLogin(data).then(res => {
-            setToken(res.accessToken)
-            setRefreshToken(res.refreshToken)
-            this.accountInfo = res
-            localStorage.setItem('accountInfo', JSON.stringify(res))
-            localStorage.setItem('expiresTime', res.expiresTime) // token过期时间
-            this.getUserInfos()
-            this.getUserBaseInfos()
+            if (data.isEnterprise) { // 企业邮箱登录
+              this.changeRole('emailLogin', res)
+            } else {
+              setToken(res.accessToken)
+              setRefreshToken(res.refreshToken)
+              this.accountInfo = res
+              localStorage.setItem('accountInfo', JSON.stringify(res))
+              localStorage.setItem('expiresTime', res.expiresTime) // token过期时间
+              this.getUserInfos()
+              this.getUserBaseInfos()
+            }
             resolve()
           }).catch(err => { reject(err) })
         })
@@ -118,13 +122,17 @@ export const useUserStore = defineStore('user',
         localStorage.clear()
       },
       // 切换为招聘者
-      async changeRole () {
-        // 先退出个人登录
-        // await logout()
-        const enterpriseId = localStorage.getItem('enterpriseId') || ''
-        if (!enterpriseId) return Snackbar.error('切换失败,请重新登录!')
-
-        const data = await switchLoginOfEnterprise({ enterpriseId })
+      async changeRole (type, res) {
+        let data
+        if (type === 'emailLogin') {
+          data = res
+        } else {
+          // 先退出个人登录
+          // await logout()
+          const enterpriseId = localStorage.getItem('enterpriseId') || ''
+          if (!enterpriseId) return Snackbar.error('切换失败,请重新登录!')
+          data = await switchLoginOfEnterprise({ enterpriseId })
+        }
         setToken(data.accessToken, 1) // 个人切换企业->存放企业token
         setRefreshToken(data.refreshToken, 1) // 个人切换企业->存放企业refreshToken
         localStorage.setItem('accountInfo', JSON.stringify(data))
@@ -134,6 +142,7 @@ export const useUserStore = defineStore('user',
         updateEventList(false)
         Snackbar.success('切换成功')
         await this.checkEnterpriseBaseInfo() // 校验企业必填信息
+        console.log('1', 11111)
         window.location.href = '/enterprise'
       },
       // 获取当前登录的企业用户信息

+ 9 - 11
src/utils/auth.js

@@ -12,23 +12,21 @@ const isEnterprise = () => {
   const testUsePath = localStorage.getItem('routerTest')
   if (currentRoute?.path === '/' && (testUsePath?.includes(substr) || testUsePath?.includes('/enterpriseVerification'))) bool = true
   // console.log('currentRoute', currentRoute.path)
-  // console.log('isEnterprise-bool', bool)
+  // console.log('isEnterpriseBool', bool)
   return bool
 }
 
 export const getIsEnterprise = () => { return isEnterprise() }
 
 // 获取token
-export const getToken = (index) => { // index=1: 使用招聘token; index=2: 使用求职token
+export const getToken = (index = 2) => { // index=1: 使用招聘token; index=2: 使用求职token
   const arr = ['ENT_ACCESS_TOKEN', 'PER_ACCESS_TOKEN']
-  let type = index ? arr[index-1] : isEnterprise() ? arr[0] : arr[1]
-  //
-  return localStorage.getItem(type)
+  return localStorage.getItem(arr[index-1])
 }
 
 // 设置token
-export const setToken = (token, switchToEnt = 0) => { // 个人切换企业switchToEnt = 1
-  return localStorage.setItem((switchToEnt || isEnterprise() ? 'ENT_ACCESS_TOKEN' : 'PER_ACCESS_TOKEN'), token)
+export const setToken = (token, index = 2) => { // index=1: 招聘token; index=2: 求职token
+  return localStorage.setItem((index === 1 ? 'ENT_ACCESS_TOKEN' : 'PER_ACCESS_TOKEN'), token)
 }
 
 // 清除token
@@ -39,13 +37,13 @@ export const removeToken = () => {
   localStorage.removeItem('PER_REFRESH_TOKEN')
 }
 // 获取刷新token
-export const getRefreshToken = () => {
-  return localStorage.getItem(isEnterprise() ? 'ENT_REFRESH_TOKEN' : 'PER_REFRESH_TOKEN')
+export const getRefreshToken = (index) => {
+  return localStorage.getItem(index === 1 ? 'ENT_REFRESH_TOKEN' : 'PER_REFRESH_TOKEN')
 }
 
 // 设置刷新token
-export const setRefreshToken = (refreshToken, switchToEnt = 0) => { // 个人切换企业switchToEnt = 1
-  return localStorage.setItem((switchToEnt || isEnterprise() ? 'ENT_REFRESH_TOKEN' : 'PER_REFRESH_TOKEN'), refreshToken)
+export const setRefreshToken = (refreshToken, index = 2) => { // index=1: 招聘token; index=2: 求职token
+  return localStorage.setItem((index === 1 ? 'ENT_REFRESH_TOKEN' : 'PER_REFRESH_TOKEN'), refreshToken)
 }
 
 // 租户ID

+ 1 - 1
src/views/login/components/passwordPage.vue

@@ -1,6 +1,6 @@
 <template>
   <v-form ref="passwordForm" @submit.prevent>
-    <v-text-field v-model="loginData.phone" counter="11" :disabled="props.phoneDisabled" placeholder="请输入手机号码或邮箱" color="primary" 
+    <v-text-field v-model="loginData.phone" :disabled="props.phoneDisabled" placeholder="请输入手机号码(企业请输入邮箱登录)" color="primary" 
     variant="outlined" density="compact" :rules="phoneRules" validate-on="input" prepend-inner-icon="mdi-cellphone" >
       <!-- <template v-slot:prepend-inner>
         <span class="d-flex">

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

@@ -72,7 +72,17 @@ const handleLogin = async () => {
     let params, api = {}
     if (tab.value === 1) { params = { ...phoneRef.value.loginData }; api = 'handleSmsLogin'}
     else { params = { ...passRef.value.loginData }; api = 'handlePasswordLogin'}
+    
+    // 邮箱为企业招聘, 手机号为个人求职
+    if (tab.value === 2) {
+      const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
+      const isEnterprise = pattern.test(params.phone)
+      params.isEnterprise = isEnterprise
+    }
+    if (params.isEnterprise) router.push({ path: '/enterpriseVerification' }) // 先跳转到会使用企业token的路由
     await userStore[api](params)
+    // 跳转
+    if (params.isEnterprise) return // 企业邮箱登录
     Snackbar.success(t('login.loginSuccess'))
     router.push({ path: '/recruitHome' })
   }
@@ -91,16 +101,6 @@ const handlePrivacyPolicy = () => {
 </script>
 
 <style lang="scss" scoped>
-.loginType {
-  position: absolute;
-  top: 16px;
-  right: 0;
-  color: #fff;
-  padding: 4px 15px 4px 32px;
-  border-radius: 8px 0 0 8px;
-  background-color: #fa9c3e;
-  font-size: 16px;
-}
 .login-box {
   position: relative;
   width: 100%;

+ 1 - 1
src/views/recruit/enterprise/register/inReview.vue → src/views/recruit/entRegister/inReview.vue

@@ -46,7 +46,7 @@
         </div>
         <div class="text-center" v-if="!isMobile">
           <v-btn class="mt-16 buttons" color="primary" to="/recruitHome">{{ $t('common.toHome') }}</v-btn>
-          <v-btn v-if="applyInfo.status === '2'" class="mt-16 ml-12 buttons" color="primary" to="/recruit/enterprise/register">{{ $t('common.resubmit') }}</v-btn>
+          <v-btn v-if="applyInfo.status === '2'" class="mt-16 ml-12 buttons" color="primary" to="/recruit/entRegister">{{ $t('common.resubmit') }}</v-btn>
         </div>
       </div>
     </v-card>

+ 1 - 1
src/views/recruit/enterprise/register/joiningEnterprise.vue → src/views/recruit/entRegister/joiningEnterprise.vue

@@ -21,7 +21,7 @@
       </div>
       <!-- 底部 -->
       <div class="text-center mt-5">
-        <v-btn color="primary" variant="text" @click="router.push({ path: '/recruit/enterprise/register' })">{{ $t('enterprise.registeringNewEnterprise') }}</v-btn>
+        <v-btn color="primary" variant="text" @click="router.push({ path: '/recruit/entRegister' })">{{ $t('enterprise.registeringNewEnterprise') }}</v-btn>
       </div>
     </v-card>
   </div>

+ 54 - 5
src/views/recruit/enterprise/register/register.vue → src/views/recruit/entRegister/register.vue

@@ -1,7 +1,8 @@
 <template>
-  <div class="my-5">
+  <div class="login-box pb-5">
     <div :class="isMobile? 'mobileBox' : 'default-width'">
-      <v-btn class="my-2" color="primary" variant="text" size="large" @click="router.push('/recruitHome')">{{ `<< 回到首页` }}</v-btn>
+      <v-btn v-if="pageType === 1" class="my-2" color="black" variant="text" size="large" @click="router.go(-1)">{{ `<< 返回` }}</v-btn>
+      <v-btn v-else class="my-2" color="primary" variant="text" size="large" @click="router.push('/recruitHome')">{{ `<< 回到首页` }}</v-btn>
     </div>
     <v-card class="pa-5" :class="isMobile? 'mobileBox' : 'default-width'" :elevation="isMobile? '0' : '3'">
       <!-- 标题 -->
@@ -79,6 +80,10 @@ onMounted(() => {
   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)
 })
 
+
+import { useRoute } from 'vue-router'; const route = useRoute()
+const pageType = route?.query?.type || '' // type: noLoginToRegister:->登录页注册企业
+
 // 是否筹建中
 const isPrepare = ref(false)
 const isPrepareChange = () => {
@@ -113,6 +118,8 @@ const formItems = ref({
       key: 'contactName',
       value: '',
       label: '联系人姓名 *',
+      // col: 6,
+      // flexStyle: 'mr-3',
       rules: [v => !!v || '请输入联系人姓名']
     },
     {
@@ -126,8 +133,32 @@ const formItems = ref({
       type: 'text',
       key: 'email',
       value: '',
-      label: '联系邮箱 *',
-      rules: [v => !!v || '请输入联系邮箱']
+      label: '联系邮箱(可用于企业登录) *',
+      rules: [
+        value => {
+          if (value) return true
+          return '请输入联系邮箱'
+        },
+        value => {
+          const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
+          if (pattern.test(value)) return true
+          return '请输入邮箱'
+        }
+      ]
+    },
+    {
+      type: 'text',
+      key: 'password',
+      value: '',
+      label: '设置邮箱登录密码',
+      placeholder: '若想使用邮箱登录,请设置密码'
+    },
+    {
+      type: 'text',
+      key: 'passwordConfirm',
+      value: '',
+      label: '确认邮箱登录密码',
+      placeholder: '请输入与上面邮箱登录相同的密码'
     },
     {
       type: 'textarea',
@@ -145,10 +176,15 @@ const formItems = ref({
 // 上传
 let licenseUrl = ref('')
 
+const isOnlySpaces = (str) => {
+  return /^[\s]+$/.test(str) ? null : str // 判断是否只有空格
+}
+
 // 提交 企业注册
 const handleCommit = async () => {
   const { valid } = await CtFormRef.value.formRef.validate()
   if (!valid) return
+
   const businessLicenseUrl = licenseUrl.value;
   if (!isPrepare.value && !businessLicenseUrl) return Snackbar.warning('请上传营业执照图片')
   const params = {
@@ -156,9 +192,15 @@ const handleCommit = async () => {
     prepare: isPrepare.value,
   }
   formItems.value.options.forEach(e => { params[e.key] = e.value })
+  // 邮箱登录密码校验
+  const pa1 = isOnlySpaces(params.password); const pa2 = isOnlySpaces(params.passwordConfirm);
+  if (pa1 && !pa2) return Snackbar.warning('请输入确认邮箱登录密码')
+  if (!pa1 && pa2) return Snackbar.warning('请输入邮箱登录密码')
+  if (pa1 !== pa2) return Snackbar.warning('两次输入的邮箱登录密码不一致,请确认输入内容')
+
   await enterpriseRegisterApply(params)
   Snackbar.success(t('common.submittedSuccessfully'))
-  router.push({ path: '/recruit/enterprise/register/inReview' })
+  router.push({ path: '/recruit/entRegister/inReview' })
 }
 
 // 不通过的企业注册申请 重新发起
@@ -183,6 +225,13 @@ if (info && Object.keys(info).length && info.status === '2') {
   font-size: 14px;
   line-height: 32px;
 }
+.login-box {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  background-image: url('https://www.mendunerhr.com/images/userfiles/92d7e4a755e2428b94aab3636d5047f3/images/recruitment/adImages/2018/11/1920x940.jpg');
+  background-size: cover;
+}
 .file-box {
   display: flex;
   flex-wrap: wrap; /* 允许换行 */

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

@@ -129,7 +129,7 @@ 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'
+  const path = bool ? '/recruit/entRegister/inReview' : '/recruit/entRegister'
   router.push({ path })
   if (!bool) Snackbar.warning('未查询到该用户下存在企业,请优先提交企业申请')
 }

+ 9 - 122
src/views/register/company.vue

@@ -1,142 +1,29 @@
 <template>
   <div class="box">
-    <!-- 手机号注册 -->
     <PhonePage v-if="!valid" :isCompany="true" @success="handleValidate"></PhonePage>
-    <div v-else class="content pa-10">
-      <div class="resume-header mb-5">
-        <div class="resume-title">企业注册</div>
-      </div>
-      <CtForm ref="CtFormRef" :items="formItems" style="width: 100%;">
-        <template #prepare>
-          <v-checkbox
-            v-model="isPrepare"
-            label="筹建中"
-            color="primary"
-            class="ml-1"
-            style="width: 150px; max-height: 38px;"
-            @change="isPrepareChange"
-          ></v-checkbox>
-        </template>
-      </CtForm>
-      <!-- 上传照片 -->
-      <div style="color: var(--color-999);">
-        <span v-if="!isPrepare" class="mr-1" style="color: var(--v-error-base);">*</span>
-        <span>上传营业执照</span>
-        <span>支持jpg、jpeg、png格式,图片大小不得超过10M</span>
-      </div>
-      <div class="file-box">
-        <Img class="mt-3" :value="licenseUrl" tips="上传图片" @imgClick="showPreview = !showPreview" :showCursor="true" @success="val => licenseUrl = val" @delete="licenseUrl = ''"></Img>
-      </div>
-      <div class="note mt-10">
-        <h4>注意事项:</h4>
-        <span>企业名称为对外展示的企业名称,建议填写公司营业执照上的名称,请区分总公司和分公司</span>
-      </div>
-      <div class="text-center">
-        <!-- 提交 -->
-        <v-btn
-          :loading="loginLoading"
-          color="primary" class="white--text mt-8" min-width="350"
-          @click="handleCommit"
-        >
-        注册
-        </v-btn>
-      </div>
-      <div class="login-tips mt-3">
-        点击注册即代表您同意
-        <span class="color-primary" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
-        <span class="color-primary" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
-      </div>
-    </div>
   </div>
 </template>
 
 <script setup>
 defineOptions({ name: 'registerCompany'})
+import { getUserRegisterEnterpriseApply } from '@/api/personal/user'
 import { ref } from 'vue'
 import PhonePage from './person.vue'
 import { useRouter } from 'vue-router'
 
 const router = useRouter()
-let licenseUrl = ref('')
-const showPreview = ref(false)
-const loginLoading = ref(false)
 
-// 是否筹建中
-const isPrepare = ref(false)
-const isPrepareChange = () => {
-  const code = formItems.value.options.find(e => e.key === 'code')
-  if (code) {
-    code.label = isPrepare.value ? '企业统一社会信用代码' : '企业统一社会信用代码 *'
-    code.rules = isPrepare.value ? [] : [v => !!v || '请输入企业统一社会信用代码']
-  }
-}
-
-const formItems = ref({
-  options: [
-    {
-      type: 'text',
-      key: 'name',
-      value: '',
-      label: '企业名称(需要与营业执照完全一致)*',
-      counter: 50,
-      rules: [v => !!v || '请输入企业名称']
-    },
-    {
-      slotName: 'prepare',
-      type: 'text',
-      key: 'code',
-      value: '',
-      counter: 18,
-      label: '企业统一社会信用代码 *',
-      rules: [v => !!v || '请输入企业统一社会信用代码']
-    },
-    {
-      type: 'text',
-      key: 'contactName',
-      value: '',
-      label: '联系人姓名 *',
-      rules: [v => !!v || '请输入联系人姓名']
-    },
-    {
-      type: 'phoneNumber',
-      key: 'phone',
-      value: '',
-      label: '联系电话 *',
-      rules: [v => !!v || '请输入联系电话']
-    },
-    {
-      type: 'text',
-      key: 'email',
-      value: '',
-      label: '联系邮箱 *',
-      rules: [v => !!v || '请输入联系邮箱']
-    },
-    {
-      type: 'text',
-      key: 'password',
-      value: '',
-      label: '邮箱登录密码',
-      placeholder: '若想使用邮箱登录,请设置密码'
-    },
-    {
-      type: 'textarea',
-      key: 'description',
-      value: '',
-      clearable: true,
-      resize: true,
-      counter: 500,
-      rows: 2,
-      label: '备注/说明',
-    },
-  ]
-})
-
-const valid = ref(true)
-const handleValidate = () => {
+const valid = ref(false)
+const handleValidate = async () => {
+  // 已短信登录
   valid.value = true
+  // 查看用户是否有在申请中的数据
+  const data = await getUserRegisterEnterpriseApply()
+  const bool = data && Object.keys(data).length // 已经有数据说明已经申请过了
+  const path = bool ? '/recruit/entRegister/inReview' : '/recruit/entRegister'
+  router.push({ path, query: { type: 'noLoginToRegister' } })
 }
 
-const handleCommit = async () => {}
 </script>
 
 <style scoped lang="scss">

+ 2 - 2
src/views/register/person.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="box">
     <div class="content pa-10">
-      <div class="content-title text-center">请输入手机号码进行注册认证</div>
+      <div class="content-title text-center mt-4">请输入手机号码进行注册认证</div>
       <phoneFrom class="mt-10" ref="phoneRef" @handleEnter="handleRegister"></phoneFrom>
-      <div class="font-size-14 tips color-primary cursor-pointer text-end" @click="router.push('/login')">已有账号?去登录</div>
+      <div v-if="!isCompany" class="font-size-14 tips color-primary cursor-pointer text-end" @click="router.push('/login')">已有账号?去登录</div>
       <v-btn :loading="loading" color="primary" class="white--text mt-5" min-width="370" @click="handleRegister">{{ isCompany ? '下一步' : '注册' }}</v-btn>
       <div class="login-tips mt-3" v-if="!isCompany">
         点击注册即代表您同意

+ 1 - 1
src/views/register/select.vue

@@ -23,7 +23,7 @@ import { useRouter } from 'vue-router'
 const router = useRouter()
 
 const handleToRegister = (path) => {
-  router.push({ path })
+  router.push({ path, query: { type: 'noLoginToRegister' } })
 }
 </script>