소스 검색

企业注册

lifanagju_citu 8 달 전
부모
커밋
642654fc77
5개의 변경된 파일18개의 추가작업 그리고 163개의 파일을 삭제
  1. 0 10
      src/views/login/index.vue
  2. 10 20
      src/views/recruit/enterprise/register/register.vue
  3. 4 129
      src/views/register/company.vue
  4. 2 2
      src/views/register/person.vue
  5. 2 2
      src/views/register/select.vue

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

@@ -101,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%;

+ 10 - 20
src/views/recruit/enterprise/register/register.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login-box pb-5">
     <div :class="isMobile? 'mobileBox' : 'default-width'">
-      <v-btn v-if="btnType === 1" class="my-2" color="black" variant="text" size="large" @click="router.go(-1)">{{ `<< 返回` }}</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'">
@@ -82,7 +82,7 @@ onMounted(() => {
 
 
 import { useRoute } from 'vue-router'; const route = useRoute()
-const btnType = route?.query?.type === 'login' ? 1 : 0
+const pageType = route?.query?.type || '' // type: noLoginToRegister:->登录页注册企业
 
 // 是否筹建中
 const isPrepare = ref(false)
@@ -176,6 +176,10 @@ 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()
@@ -189,24 +193,10 @@ const handleCommit = async () => {
   }
   formItems.value.options.forEach(e => { params[e.key] = e.value })
   // 邮箱登录密码校验
-  if (params.password && !params.passwordConfirm) return Snackbar.warning('请输入确认邮箱登录密码')
-  // if (params.password && !params.passwordConfirm) {
-  //   const item = formItems.value.options.find(e => e.key == 'password')
-  //   if (item) item.rules = [v => !!v || '请输入确认邮箱登录密码']
-  //   Snackbar.warning('请输入确认邮箱登录密码')
-  //   return
-  // }
-  if (params.passwordConfirm && !params.password) return Snackbar.warning('请输入邮箱登录密码')
-  if (params.passwordConfirm !== params.password) return Snackbar.warning('两次输入的邮箱登录密码不一致,请确认输入内容')
-  
-  if (params.passwordConfirm !== params.password) {
-    const password = formItems.value.options.find(e => e.key == 'password')
-    if (password) password.rules = [true]
-    // const passwordConfirm = formItems.value.options.find(e => e.key == 'password')
-    // if (passwordConfirm) passwordConfirm.rules = [v => !!v || '请输入确认邮箱登录密码']
-    Snackbar.warning('请输入确认邮箱登录密码')
-    return
-  }
+  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'))

+ 4 - 129
src/views/register/company.vue

@@ -2,51 +2,6 @@
   <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>
 
@@ -57,95 +12,15 @@ 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: 'text',
-      key: 'passwordConfirm',
-      value: '',
-      label: '确认邮箱登录密码',
-      placeholder: '请输入与上面邮箱登录相同的密码'
-    },
-    {
-      type: 'textarea',
-      key: 'description',
-      value: '',
-      clearable: true,
-      resize: true,
-      counter: 500,
-      rows: 2,
-      label: '备注/说明',
-    },
-  ]
-})
-
-const valid = ref(true)
+const valid = ref(false)
 const handleValidate = () => {
+  // 已短信登录
   valid.value = true
+  const path = '/recruit/enterprise/register'
+  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">
         点击注册即代表您同意

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

@@ -3,7 +3,7 @@
     <div class="register-content">
       <h2 style="color: #666; font-weight: 400;">请选择您当前注册的身份</h2>
       <div class="d-flex mt-16">
-        <div style="width: 50%;" class="cursor-pointer item pa-3" @click="handleToRegister('/recruit/enterprise/register')">
+        <div style="width: 50%;" class="cursor-pointer item pa-3" @click="handleToRegister('/register/company')">
           <v-icon color="primary" size="100">mdi-home-city-outline</v-icon>
           <div class="color-primary" style="font-size: 24px">企业用户</div>
         </div>
@@ -23,7 +23,7 @@ import { useRouter } from 'vue-router'
 const router = useRouter()
 
 const handleToRegister = (path) => {
-  router.push({ path, query: { type: 'login' } })
+  router.push({ path, query: { type: 'noLoginToRegister' } })
 }
 </script>