浏览代码

修改注册

zs 1 年之前
父节点
当前提交
93eb061c41

+ 96 - 0
src/components/custom/custom-upload.vue

@@ -0,0 +1,96 @@
+<template>
+  <div id="c-upload">
+    <el-upload
+      v-if="url"
+      ref="upload"
+      :action="url"
+      :limit="limit"
+      :accept="accept"
+      :file-list="list"
+      :list-type="listType"
+      :on-exceed="outLimit"
+      :on-preview="filePreview"
+      :on-success="onSuccess"
+      :before-remove="onRemove">
+      <el-button type="primary">选择文件</el-button>
+      <template #tip v-if="tip">
+        <p style="color: #ff0000">{{ tip }}</p>
+      </template>
+    </el-upload>
+    <el-dialog v-model="dialog.show" append-to-body>
+      <img width="100%" :src="dialog.url" alt="" />
+    </el-dialog>
+  </div>
+</template>
+
+<script setup>
+import { ElMessage } from 'element-plus'
+import { omit, cloneDeep, isArray } from 'lodash-es'
+
+let dialog = ref({ show: false, url: '' })
+const props = defineProps({
+  url: { type: String, default: () => '' },
+  limit: { type: Number, default: () => 6 },
+  accept: { type: String, default: () => 'image/png, image/jpeg' },
+  listType: { type: String, default: () => 'text' }, //'text' | 'picture' | 'picture-card'
+  tip: { type: String, default: () => undefined },
+  list: { type: Array, default: () => [] },
+  model: { type: String, default: () => '' }
+})
+// 图片上传地址
+const { url } = toRefs(props)
+// 可上传文件数目
+const { limit } = toRefs(props)
+// 接收上传的文件类型
+const { accept } = toRefs(props)
+// 文件列表的类型--picture-card---picture
+const { listType } = toRefs(props)
+// 文件提醒
+const { tip } = toRefs(props)
+// 已有数据,赋值,预览
+const { list } = toRefs(props)
+const { model } = toRefs(props)
+// const list = ref<UploadUserFile[]>([]);
+
+const emit = defineEmits(['change'])
+// 图片预览
+const filePreview = (file) => {
+  // this.dialog = { show: true, url: file.url };
+  window.open(file.url)
+};
+// 只允许上传多少个文件
+const outLimit = () => {
+  ElMessage.error(`只允许上传${limit.value}个文件`)
+};
+// 上传成功,response:成功信息,file:图片信息,fileList:图片列表
+const onSuccess = (response, file) => {
+  if (response.errcode !== 0) {
+    ElMessage({ type: 'error', message: '删除成功' })
+    return
+  }
+  let ponse = omit(response, ['errcode', 'errmsg'])
+  let arr = cloneDeep(list)
+  if (isArray(list.value)) {
+    arr.value.push({ ...ponse, name: file.name, url: `${import.meta.env.VITE_APP_HOST}${response.uri}` })
+  } else {
+    arr.value = [{ ...ponse, name: file.name, url: `${import.meta.env.VITE_APP_HOST}${response.uri}` }]
+  }
+  emit('change', { model: model.value, value: arr.value })
+}
+// 删除图片
+// file: { id: any; uri: string }, fileList: any
+const onRemove = () => {
+  // let arr: Ref<ListItem[]> = _.cloneDeep(list);
+  // let info = arr.value.filter((f) => f.id != file.id);
+  // emit('change', info);
+  return true
+};
+
+// #endregion
+</script>
+
+<style lang="scss" scoped>
+#c-upload {
+  width: 100%;
+}
+</style>

+ 26 - 1
src/views/register/index.vue

@@ -80,6 +80,11 @@ const fieldList = ref([])
 const educationList = ref([])
 const cityList = ref([])
 const isUseList = ref([])
+const patternList = ref([])
+const scaleList = ref([])
+const IndustryList = ref([])
+const cardTypeList = ref([])
+const contributionList = ref([])
 // 用户类型
 const type = ref('0')
 // 用户协议
@@ -99,11 +104,26 @@ const searchOther = async () => {
   result = await dictDataStore.query({ code: 'userType', is_use: '0' })
   if ($checkRes(result)) typeList.value = result.data
   // 专家领域
-  result = await dictDataStore.query({ code: 'userType', is_use: '0' })
+  result = await dictDataStore.query({ code: 'field', is_use: '0' })
   if ($checkRes(result)) fieldList.value = result.data
+  // 企业类型
+  result = await dictDataStore.query({ code: 'companyType', is_use: '0' })
+  if ($checkRes(result)) patternList.value = result.data
+  // 企业规模
+  result = await dictDataStore.query({ code: 'companyScale', is_use: '0' })
+  if ($checkRes(result)) scaleList.value = result.data
+  // 企业所属行业
+  result = await dictDataStore.query({ code: 'companyIndustry', is_use: '0' })
+  if ($checkRes(result)) IndustryList.value = result.data
   // 学历
   result = await dictDataStore.query({ code: 'education', is_use: '0' })
   if ($checkRes(result)) educationList.value = result.data
+  // 证件类型
+  result = await dictDataStore.query({ code: 'cardType', is_use: '0' })
+  if ($checkRes(result)) cardTypeList.value = result.data
+  // 出资方式
+  result = await dictDataStore.query({ code: 'contribution', is_use: '0' })
+  if ($checkRes(result)) contributionList.value = result.data
   // 是否使用
   result = await dictDataStore.query({ code: 'isUse', is_use: '0' })
   if ($checkRes(result)) isUseList.value = result.data
@@ -139,6 +159,11 @@ provide('fieldList', fieldList)
 provide('educationList', educationList)
 provide('cityList', cityList)
 provide('isUseList', isUseList)
+provide('patternList', patternList)
+provide('scaleList', scaleList)
+provide('IndustryList', IndustryList)
+provide('cardTypeList', cardTypeList)
+provide('contributionList', contributionList)
 // 方法
 provide('toLogin', toLogin)
 provide('toBack', toBack)

+ 21 - 57
src/views/register/parts/Incubator.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="90px"
       class="form"
       label-position="left"
     >
@@ -92,76 +92,43 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">孵化器信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="孵化器名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入孵化器名称" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="负责人姓名" prop="person">
+            <el-input v-model="form.person" placeholder="请输入负责人姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
-              <el-option
-                v-for="(item, index) in educationList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
+          <el-form-item label="负责人电话" prop="person_phone">
+            <el-input v-model="form.person_phone" placeholder="请输入负责人电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,9 +171,6 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
 const toLogin = inject('toLogin')

+ 28 - 36
src/views/register/parts/Investment.vue

@@ -92,32 +92,25 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">投资人信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="姓名" prop="name">
+            <el-input v-model="form.name" placeholder="请输入姓名" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="出资额" prop="money">
+            <el-input v-model="form.money" placeholder="请输入出资额(万元)" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
+          <el-form-item label="证件类型" prop="cardType">
+            <el-select clearable v-model="form.cardType" placeholder="请选择证件类型">
               <el-option
-                v-for="(item, index) in fieldList"
+                v-for="(item, index) in cardTypeList"
                 :key="index"
                 :label="item.label"
                 :value="item.value"
@@ -126,17 +119,17 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
+          <el-form-item label="证件号码" prop="card">
+            <el-input v-model="form.card" placeholder="请输入证件号码" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
+          <el-form-item label="出资方式" prop="type">
+            <el-select clearable v-model="form.type" placeholder="请选择出资方式">
               <el-option
-                v-for="(item, index) in educationList"
+                v-for="(item, index) in contributionList"
                 :key="index"
                 :label="item.label"
                 :value="item.value"
@@ -145,23 +138,23 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,10 +197,9 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
+const cardTypeList = inject('cardTypeList')
 const isUseList = inject('isUseList')
+const contributionList = inject('contributionList')
 // 方法
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')

+ 21 - 57
src/views/register/parts/association.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="90px"
       class="form"
       label-position="left"
     >
@@ -92,76 +92,43 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">商协会信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="商协会名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入商协会名称" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="负责人姓名" prop="person">
+            <el-input v-model="form.person" placeholder="请输入负责人姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
-              <el-option
-                v-for="(item, index) in educationList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
+          <el-form-item label="负责人电话" prop="person_phone">
+            <el-input v-model="form.person_phone" placeholder="请输入负责人电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,9 +171,6 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
 const toLogin = inject('toLogin')

+ 85 - 24
src/views/register/parts/company.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="100px"
       class="form"
       label-position="left"
     >
@@ -92,33 +92,45 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">企业信息</el-col>
+      <el-row>
+        <el-form-item label="企业Logo" prop="logo">
+          <custom-upload
+            model="logo"
+            :list="form.logo"
+            :limit="1"
+            url="/files/web/template/company/upload"
+            @change="onFUpload"
+            listType="picture-card"
+          ></custom-upload>
+        </el-form-item>
+      </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="企业名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入企业名称" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="企业类型" prop="pattern">
+            <el-select clearable v-model="form.pattern" placeholder="请选择企业类型">
+              <el-option
+                v-for="(item, index) in patternList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+              />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
+          <el-form-item label="企业规模" prop="scale">
+            <el-select clearable v-model="form.scale" placeholder="请选择企业规模">
               <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
+                v-for="item in scaleList"
+                :key="item.value"
                 :label="item.label"
                 :value="item.value"
               />
@@ -126,17 +138,17 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
+          <el-form-item label="统一信用代码" prop="code">
+            <el-input v-model="form.code" placeholder="请输入统一信用代码" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
+          <el-form-item label="所属行业" prop="type">
+            <el-select clearable v-model="form.type" placeholder="请选择所属行业">
               <el-option
-                v-for="(item, index) in educationList"
+                v-for="(item, index) in IndustryList"
                 :key="index"
                 :label="item.label"
                 :value="item.value"
@@ -157,6 +169,49 @@
           </el-form-item>
         </el-col>
       </el-row>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="法定代表人" prop="representative">
+            <el-input v-model="form.representative" placeholder="请输入法定代表人名称" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="电子邮箱" prop="email">
+            <el-input v-model="form.email" type="email" placeholder="请输入电子邮箱" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="员工人数" prop="person">
+            <el-input v-model="form.person" placeholder="请输入员工人数" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="注册资本" prop="register">
+            <el-input v-model="form.register" placeholder="请输入注册资本(万元)" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="成立时间" prop="create_time">
+            <el-date-picker
+              format="YYYY-MM-DD"
+              value-format="YYYY-MM-DD"
+              v-model="form.create_time"
+              type="date"
+              placeholder="请选择成立时间"
+              style="width: 100%"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="企业地址" prop="address">
+            <el-input v-model="form.address" placeholder="请输入企业地址" />
+          </el-form-item>
+        </el-col>
+      </el-row>
       <el-col :span="24">
         <el-form-item label="是否公开" prop="is_show">
           <el-radio-group v-model="form.is_show">
@@ -204,8 +259,9 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
+const patternList = inject('patternList')
+const scaleList = inject('scaleList')
+const IndustryList = inject('IndustryList')
 const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
@@ -243,6 +299,11 @@ const rules = reactive({
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }]
 })
+// 上传图片
+const onFUpload = (e) => {
+  const { model, value } = e
+  form.value.footInfo[model] = value
+}
 // 注册
 const submitForm = async (formEl) => {
   if (!isAgree.value) {

+ 21 - 57
src/views/register/parts/competition.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="90px"
       class="form"
       label-position="left"
     >
@@ -92,76 +92,43 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">创业大赛信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="名" prop="name">
+            <el-input v-model="form.name" placeholder="请输入名" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="负责人姓名" prop="person">
+            <el-input v-model="form.person" placeholder="请输入负责人姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
-              <el-option
-                v-for="(item, index) in educationList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
+          <el-form-item label="负责人电话" prop="person_phone">
+            <el-input v-model="form.person_phone" placeholder="请输入负责人电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,9 +171,6 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
 const toLogin = inject('toLogin')

+ 25 - 5
src/views/register/parts/expert.vue

@@ -114,8 +114,27 @@
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
+          <el-form-item label="证件类型" prop="cardType">
+            <el-select clearable v-model="form.cardType" placeholder="请选择证件类型">
+              <el-option
+                v-for="(item, index) in cardTypeList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="证件号码" prop="card">
+            <el-input v-model="form.card" placeholder="请输入证件号码" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="擅长领域" prop="field">
+            <el-select clearable v-model="form.field" placeholder="请选择擅长领域">
               <el-option
                 v-for="(item, index) in fieldList"
                 :key="index"
@@ -127,14 +146,14 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
+            <el-input v-model="form.direction" placeholder="请输入研究方向" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
+          <el-form-item label="最高学历" prop="education">
+            <el-select clearable v-model="form.education" placeholder="请选择最高学历">
               <el-option
                 v-for="(item, index) in educationList"
                 :key="index"
@@ -208,6 +227,7 @@ const fieldList = inject('fieldList')
 const educationList = inject('educationList')
 const cityList = inject('cityList')
 const isUseList = inject('isUseList')
+const cardTypeList = inject('cardTypeList')
 // 方法
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')

+ 26 - 48
src/views/register/parts/state.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="90px"
       class="form"
       label-position="left"
     >
@@ -92,51 +92,30 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">政府部门信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="名" prop="name">
+            <el-input v-model="form.name" placeholder="请输入名" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="负责人姓名" prop="person">
+            <el-input v-model="form.person" placeholder="请输入负责人姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
+          <el-form-item label="负责人电话" prop="person_phone">
+            <el-input v-model="form.person_phone" placeholder="请输入负责人电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
+          <el-form-item label="部门类型" prop="type">
+            <el-select clearable v-model="form.type" placeholder="请选择部门类型">
               <el-option
-                v-for="(item, index) in educationList"
+                v-for="(item, index) in typeList"
                 :key="index"
                 :label="item.label"
                 :value="item.value"
@@ -144,24 +123,26 @@
             </el-select>
           </el-form-item>
         </el-col>
+      </el-row>
+      <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,9 +185,6 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
 const toLogin = inject('toLogin')

+ 21 - 57
src/views/register/parts/unit.vue

@@ -4,7 +4,7 @@
       ref="ruleFormRef"
       :model="form"
       :rules="rules"
-      label-width="80px"
+      label-width="90px"
       class="form"
       label-position="left"
     >
@@ -92,76 +92,43 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-col :span="24" class="text">专家信息</el-col>
+      <el-col :span="24" class="text">科研机构信息</el-col>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="专家姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入专家姓名" />
+          <el-form-item label="名" prop="name">
+            <el-input v-model="form.name" placeholder="请输入名" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+          <el-form-item label="负责人姓名" prop="person">
+            <el-input v-model="form.person" placeholder="请输入负责人姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="所属领域" prop="field">
-            <el-select clearable v-model="form.field" placeholder="请选择所属领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研究方向" prop="direction">
-            <el-input v-model="form.direction" type="direction" placeholder="请输入研究方向" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="学历" prop="education">
-            <el-select clearable v-model="form.education" placeholder="请选择学历">
-              <el-option
-                v-for="(item, index) in educationList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
+          <el-form-item label="负责人电话" prop="person_phone">
+            <el-input v-model="form.person_phone" placeholder="请输入负责人电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+          <el-form-item label="是否公开" prop="is_show">
+            <el-radio-group v-model="form.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-form-item label="是否公开" prop="is_show">
-          <el-radio-group v-model="form.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 label="地址" prop="address">
+          <el-input
+            v-model="form.address"
+            :autosize="{ minRows: 2, maxRows: 4 }"
+            type="textarea"
+            placeholder="请输入地址"
+          />
         </el-form-item>
       </el-col>
       <el-col :span="24">
@@ -204,9 +171,6 @@ const isAgree = inject('isAgree')
 const ruleFormRef = inject('ruleFormRef')
 // 字典表
 const genderList = inject('genderList')
-const fieldList = inject('fieldList')
-const educationList = inject('educationList')
-const cityList = inject('cityList')
 const isUseList = inject('isUseList')
 // 方法
 const toLogin = inject('toLogin')