浏览代码

修改验证

zs 1 年之前
父节点
当前提交
d8f84ae8d9
共有 2 个文件被更改,包括 63 次插入44 次删除
  1. 27 27
      src/views/register/parts/company.vue
  2. 36 17
      src/views/register/parts/expert.vue

+ 27 - 27
src/views/register/parts/company.vue

@@ -94,7 +94,7 @@
       </el-row>
       </el-row>
       <el-col :span="24" class="text">企业信息</el-col>
       <el-col :span="24" class="text">企业信息</el-col>
       <el-row>
       <el-row>
-        <el-form-item label="企业Logo" prop="logo">
+        <el-form-item label="企业Logo" prop="info.logo">
           <custom-upload
           <custom-upload
             model="logo"
             model="logo"
             :list="form.info.logo"
             :list="form.info.logo"
@@ -107,12 +107,12 @@
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="企业名称" prop="name">
+          <el-form-item label="企业名称" prop="info.name">
             <el-input v-model="form.info.name" placeholder="请输入企业名称" />
             <el-input v-model="form.info.name" placeholder="请输入企业名称" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="企业类型" prop="pattern">
+          <el-form-item label="企业类型" prop="info.pattern">
             <el-select clearable v-model="form.info.pattern" placeholder="请选择企业类型">
             <el-select clearable v-model="form.info.pattern" placeholder="请选择企业类型">
               <el-option
               <el-option
                 v-for="(item, index) in patternList"
                 v-for="(item, index) in patternList"
@@ -126,7 +126,7 @@
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="企业规模" prop="scale">
+          <el-form-item label="企业规模" prop="info.scale">
             <el-select clearable v-model="form.info.scale" placeholder="请选择企业规模">
             <el-select clearable v-model="form.info.scale" placeholder="请选择企业规模">
               <el-option
               <el-option
                 v-for="item in scaleList"
                 v-for="item in scaleList"
@@ -138,14 +138,14 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="统一信用代码" prop="code">
+          <el-form-item label="统一信用代码" prop="info.code">
             <el-input v-model="form.info.code" placeholder="请输入统一信用代码" />
             <el-input v-model="form.info.code" placeholder="请输入统一信用代码" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="所属行业" prop="type">
+          <el-form-item label="所属行业" prop="info.type">
             <el-select clearable v-model="form.info.type" placeholder="请选择所属行业">
             <el-select clearable v-model="form.info.type" placeholder="请选择所属行业">
               <el-option
               <el-option
                 v-for="(item, index) in IndustryList"
                 v-for="(item, index) in IndustryList"
@@ -157,7 +157,7 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
+          <el-form-item label="所在地区" prop="info.region">
             <el-cascader
             <el-cascader
               v-model="form.info.area"
               v-model="form.info.area"
               :props="{ value: 'label', label: 'label' }"
               :props="{ value: 'label', label: 'label' }"
@@ -171,31 +171,31 @@
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="法定代表人" prop="representative">
+          <el-form-item label="法定代表人" prop="info.representative">
             <el-input v-model="form.info.representative" placeholder="请输入法定代表人名称" />
             <el-input v-model="form.info.representative" placeholder="请输入法定代表人名称" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="电子邮箱" prop="email">
+          <el-form-item label="电子邮箱" prop="info.email">
             <el-input v-model="form.info.email" type="email" placeholder="请输入电子邮箱" />
             <el-input v-model="form.info.email" type="email" placeholder="请输入电子邮箱" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="员工人数" prop="person">
+          <el-form-item label="员工人数" prop="info.person">
             <el-input v-model="form.info.person" placeholder="请输入员工人数" />
             <el-input v-model="form.info.person" placeholder="请输入员工人数" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="注册资本" prop="register">
+          <el-form-item label="注册资本" prop="info.register">
             <el-input v-model="form.info.register" placeholder="请输入注册资本(万元)" />
             <el-input v-model="form.info.register" placeholder="请输入注册资本(万元)" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="成立时间" prop="create_time">
+          <el-form-item label="成立时间" prop="info.create_time">
             <el-date-picker
             <el-date-picker
               format="YYYY-MM-DD"
               format="YYYY-MM-DD"
               value-format="YYYY-MM-DD"
               value-format="YYYY-MM-DD"
@@ -207,14 +207,14 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="企业地址" prop="address">
+          <el-form-item label="企业地址" prop="info.address">
             <el-input v-model="form.info.address" placeholder="请输入企业地址" />
             <el-input v-model="form.info.address" placeholder="请输入企业地址" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="公司状态" prop="companyStatus">
+          <el-form-item label="公司状态" prop="info.companyStatus">
             <el-select clearable v-model="form.info.companyStatus" placeholder="请选择公司状态">
             <el-select clearable v-model="form.info.companyStatus" placeholder="请选择公司状态">
               <el-option
               <el-option
                 v-for="(item, index) in companyList"
                 v-for="(item, index) in companyList"
@@ -226,7 +226,7 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="是否公开" prop="is_show">
+          <el-form-item label="是否公开" prop="info.is_show">
             <el-radio-group v-model="form.info.is_show">
             <el-radio-group v-model="form.info.is_show">
               <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
               <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
                 i.label
                 i.label
@@ -236,7 +236,7 @@
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-col :span="24">
       <el-col :span="24">
-        <el-form-item label="简介" prop="brief">
+        <el-form-item label="简介" prop="info.brief">
           <el-input
           <el-input
             v-model="form.info.brief"
             v-model="form.info.brief"
             :autosize="{ minRows: 2, maxRows: 4 }"
             :autosize="{ minRows: 2, maxRows: 4 }"
@@ -317,17 +317,17 @@ const rules = reactive({
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }],
   refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }],
-  logo: [{ required: true, message: '请输入企业Logo', trigger: 'blur' }],
-  name: [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
-  pattern: [{ required: true, message: '请输入企业类型', trigger: 'blur' }],
-  scale: [{ required: true, message: '请输入企业规模', trigger: 'blur' }],
-  type: [{ required: true, message: '请输入所属行业', trigger: 'blur' }],
-  representative: [{ required: true, message: '请输入法定代表人', trigger: 'blur' }],
-  companyStatus: [{ required: true, message: '请输入公司状态', trigger: 'blur' }],
-  create_time: [{ required: true, message: '请输入成立时间', trigger: 'blur' }],
-  code: [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
-  email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
-  address: [{ required: true, message: '请输入地址', trigger: 'blur' }]
+  'info.logo': [{ required: true, message: '请输入企业Logo', trigger: 'blur' }],
+  'info.name': [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
+  'info.pattern': [{ required: true, message: '请输入企业类型', trigger: 'blur' }],
+  'info.scale': [{ required: true, message: '请输入企业规模', trigger: 'blur' }],
+  'info.type': [{ required: true, message: '请输入所属行业', trigger: 'blur' }],
+  'info.representative': [{ required: true, message: '请输入法定代表人', trigger: 'blur' }],
+  'info.companyStatus': [{ required: true, message: '请输入公司状态', trigger: 'blur' }],
+  'info.create_time': [{ required: true, message: '请输入成立时间', trigger: 'blur' }],
+  'info.code': [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
+  'info.email': [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
+  'info.address': [{ required: true, message: '请输入地址', trigger: 'blur' }]
 })
 })
 // 上传图片
 // 上传图片
 const onFUpload = (e) => {
 const onFUpload = (e) => {

+ 36 - 17
src/views/register/parts/expert.vue

@@ -95,12 +95,12 @@
       <el-col :span="24" class="text">专家信息</el-col>
       <el-col :span="24" class="text">专家信息</el-col>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
+          <el-form-item label="专家姓名" prop="info.name">
             <el-input v-model="form.info.name" placeholder="请输入专家姓名" />
             <el-input v-model="form.info.name" placeholder="请输入专家姓名" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
+          <el-form-item label="出生年月" prop="info.birth">
             <el-date-picker
             <el-date-picker
               format="YYYY-MM-DD"
               format="YYYY-MM-DD"
               value-format="YYYY-MM-DD"
               value-format="YYYY-MM-DD"
@@ -114,7 +114,7 @@
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="证件类型" prop="cardType">
+          <el-form-item label="证件类型" prop="info.cardType">
             <el-select clearable v-model="form.info.cardType" placeholder="请选择证件类型">
             <el-select clearable v-model="form.info.cardType" placeholder="请选择证件类型">
               <el-option
               <el-option
                 v-for="(item, index) in cardTypeList"
                 v-for="(item, index) in cardTypeList"
@@ -126,14 +126,14 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="证件号码" prop="card">
+          <el-form-item label="证件号码" prop="info.card">
             <el-input v-model="form.info.card" placeholder="请输入证件号码" />
             <el-input v-model="form.info.card" placeholder="请输入证件号码" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="擅长领域" prop="field">
+          <el-form-item label="擅长领域" prop="info.field">
             <el-select clearable v-model="form.info.field" placeholder="请选择擅长领域">
             <el-select clearable v-model="form.info.field" placeholder="请选择擅长领域">
               <el-option
               <el-option
                 v-for="(item, index) in fieldList"
                 v-for="(item, index) in fieldList"
@@ -145,14 +145,14 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
+          <el-form-item label="研究方向" prop="info.direction">
             <el-input v-model="form.info.direction" placeholder="请输入研究方向" />
             <el-input v-model="form.info.direction" placeholder="请输入研究方向" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row :gutter="20">
       <el-row :gutter="20">
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="最高学历" prop="education">
+          <el-form-item label="最高学历" prop="info.education">
             <el-select clearable v-model="form.info.education" placeholder="请选择最高学历">
             <el-select clearable v-model="form.info.education" placeholder="请选择最高学历">
               <el-option
               <el-option
                 v-for="(item, index) in educationList"
                 v-for="(item, index) in educationList"
@@ -164,7 +164,7 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
+          <el-form-item label="所在地区" prop="info.region">
             <el-cascader
             <el-cascader
               v-model="form.info.area"
               v-model="form.info.area"
               :props="{ value: 'label', label: 'label' }"
               :props="{ value: 'label', label: 'label' }"
@@ -176,13 +176,22 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-      <el-col :span="24">
-        <el-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.info.is_show">
-            <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-      </el-col>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="工作单位" prop="info.work">
+            <el-input v-model="form.info.work" placeholder="请输入工作单位" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否公开" prop="info.is_show">
+            <el-radio-group v-model="form.info.is_show">
+              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
+                i.label
+              }}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+      </el-row>
       <el-col :span="24">
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
         <el-form-item label="简介" prop="brief">
           <el-input
           <el-input
@@ -263,7 +272,14 @@ const rules = reactive({
   phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
   phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
-  refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }]
+  refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }],
+  'info.name': [{ required: true, message: '请输入专家姓名', trigger: 'blur' }],
+  'info.cardType': [{ required: true, message: '请输入证件类型', trigger: 'blur' }],
+  'info.card': [{ required: true, message: '请输入证件号码', trigger: 'blur' }],
+  'info.direction': [{ required: true, message: '请输入研究方向', trigger: 'blur' }],
+  'info.work': [{ required: true, message: '请输入工作单位', trigger: 'work' }],
+  'info.education': [{ required: true, message: '请输入学历', trigger: 'blur' }],
+  'info.field': [{ required: true, message: '请输入擅长领域', trigger: 'blur' }]
 })
 })
 // 注册
 // 注册
 const submitForm = async (formEl) => {
 const submitForm = async (formEl) => {
@@ -288,7 +304,10 @@ const submitForm = async (formEl) => {
       }
       }
       const res = await store.create(info)
       const res = await store.create(info)
       if (res.errcode === 0) {
       if (res.errcode === 0) {
-        const form = { ...{ user: get(res.data, '_id'), ...get(data, 'info') } }
+        const form = {
+          ...{ user: get(res.data, '_id'), phone: get(data, 'phone') },
+          ...get(data, 'info')
+        }
         const arr = await expertStore.create(form)
         const arr = await expertStore.create(form)
         if (arr.errcode === 0) {
         if (arr.errcode === 0) {
           ElMessage({
           ElMessage({