|
@@ -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; /* 允许换行 */
|