This commit is contained in:
2023-06-19 17:25:50 +08:00
parent ef579def81
commit eb19778bd0
41 changed files with 2788 additions and 186 deletions

View File

@ -33,17 +33,17 @@
<el-row>
<el-col :span="24">
<el-form-item label="工作所在地:" prop="workPlace">
<el-input v-model="modelValue.workPlace" />
<el-form-item label="工作所在地:" prop="wordAddress">
<el-input v-model="modelValue.wordAddress" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="工作经历:" prop="workExperience">
<el-form-item label="工作经历:" prop="experience">
<el-input
v-model="modelValue.workExperience"
v-model="modelValue.experience"
:autosize="{ minRows: 2, maxRows: 10 }"
type="textarea"
/>
@ -51,14 +51,7 @@
</el-col>
</el-row>
<InputBoxAdd
ref="researchsFormRef"
v-model="modelValue"
:labelWidth="labelWidth"
fieldKey="researchs"
placeholder="请输入擅长领域"
title="擅长领域"
/>
<field-options ref="researchsFormRef" v-model="modelValue" />
<InputBoxAdd
ref="keywordsFormRef"
@ -74,9 +67,9 @@
<el-form-item label="身份证:" required>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item prop="idImage.front">
<el-form-item prop="idImage.0">
<ImageUpload
v-model="modelValue.idImage.front"
v-model="modelValue.idImage[0]"
:isShowTip="false"
:limit="1"
/>
@ -84,9 +77,9 @@
<div style="text-align: center">身份证人像面</div>
</el-col>
<el-col :span="8">
<el-form-item prop="idImage.behind">
<el-form-item prop="idImage.1">
<ImageUpload
v-model="modelValue.idImage.behind"
v-model="modelValue.idImage[1]"
:isShowTip="false"
:limit="1"
/>
@ -94,9 +87,9 @@
<div style="text-align: center">身份证国徽面</div>
</el-col>
<el-col :span="8">
<el-form-item prop="idImage.hold">
<el-form-item prop="idImage.2">
<ImageUpload
v-model="modelValue.idImage.hold"
v-model="modelValue.idImage[2]"
:isShowTip="false"
:limit="1"
/>
@ -110,13 +103,12 @@
<el-row v-if="isAdd">
<el-col :span="24">
<el-form-item label="成果经纪资格证书:" prop="credentialImage">
<el-form-item label="成果经纪资格证书:" prop="certificatePics">
<el-row :gutter="20">
<el-col :span="8">
<image-upload
v-model="modelValue.credentialImage"
v-model="modelValue.certificatePics"
:isShowTip="false"
:limit="1"
/>
</el-col>
</el-row>
@ -127,6 +119,7 @@
</template>
<script setup>
import InputBoxAdd from "../InputBoxAdd";
import FieldOptions from "../FieldOptions";
import { ref } from "vue";
const formRef = ref();
@ -161,23 +154,30 @@ const rules = {
},
],
idCard: [{ required: true, message: "请输入", trigger: "blur" }],
workPlace: [{ required: true, message: "请输入", trigger: "blur" }],
workExperience: [{ required: true, message: "请输入", trigger: "blur" }],
"idImage.front": [
wordAddress: [{ required: true, message: "请输入", trigger: "blur" }],
experience: [{ required: true, message: "请输入", trigger: "blur" }],
"idImage.0": [
{
required: true,
message: "请上传",
trigger: ["blur", "change"],
},
],
"idImage.behind": [
"idImage.1": [
{
required: true,
message: "请上传",
trigger: ["blur", "change"],
},
],
"idImage.hold": [
"idImage.2": [
{
required: true,
message: "请上传",
trigger: ["blur", "change"],
},
],
certificatePics: [
{
required: true,
message: "请上传",

View File

@ -1,20 +1,20 @@
<template>
<el-form
ref="form"
ref="formRef"
:label-width="labelWidth + 'px'"
:model="modelValue"
:rules="rules"
:label-width="labelWidth + 'px'"
>
<el-row>
<el-col :span="24">
<el-form-item label="所属领域:">
<el-row type="flex" justify="space-between">
<el-row justify="space-between" type="flex">
<el-col :span="7">
<el-form-item prop="industrys">
<el-form-item prop="industrys.2">
<el-select
v-model="modelValue.industrys[0]"
value-key="id"
placeholder="请选择"
value-key="id"
@change="levelIChange"
>
<el-option
@ -30,8 +30,8 @@
<el-col :span="7">
<el-select
v-model="modelValue.industrys[1]"
value-key="id"
placeholder="请选择"
value-key="id"
@change="levelIIChange"
>
<el-option
@ -46,8 +46,8 @@
<el-col :span="7">
<el-select
v-model="modelValue.industrys[2]"
value-key="id"
placeholder="请选择"
value-key="id"
>
<el-option
v-for="item in levelIII"
@ -69,6 +69,7 @@
import { listSysIndustry } from "@/api/config";
// import { watch } from "fs";
import { reactive, ref, toRefs, watch } from "vue";
const props = defineProps({
modelValue: Object,
labelWidth: {
@ -79,9 +80,9 @@ const props = defineProps({
const { modelValue, labelWidth } = toRefs(props);
const data = reactive({
rules: {
industrys: [
"industrys.2": [
{
type: "array",
// type: "array",
required: true,
message: "请选择",
trigger: "change",
@ -94,7 +95,7 @@ const { rules } = toRefs(data);
const levelI = ref([]);
const levelII = ref([]);
const levelIII = ref([]);
const formRef = ref();
// 获取领域树形列表
const getIndustryTreeData = async () => {
const { data } = await listSysIndustry();
@ -155,6 +156,17 @@ getIndustryTreeData().then(() => {
{ immediate: true }
);
});
const validateForm = async () => {
try {
return await formRef.value.validate();
} catch (error) {
console.error(error);
return false;
}
};
defineExpose({
validateForm,
});
</script>
<!-- <script>
// import { industry } from "@/api/config";