|
|
@@ -5,57 +5,108 @@
|
|
|
</div>
|
|
|
<BsForm :form-fields="formOptions.formFields" :form-data="formOptions.formData"
|
|
|
:form-extra-props="formOptions.formExtraProps" :footer-render="() => null" :form-id="formOptions.formId"
|
|
|
- :form-groups="formOptions.formGroups" ref="bsFormRef" class="personnel-entry-form" >
|
|
|
-
|
|
|
+ :form-groups="formOptions.formGroups" ref="bsFormRef" class="personnel-entry-form">
|
|
|
+
|
|
|
</BsForm>
|
|
|
<div class="personnel-entry-footer">
|
|
|
- <a-button>重置</a-button>
|
|
|
- <a-button>保存</a-button>
|
|
|
+ <a-button type="primary" ghost @click="reset">重置</a-button>
|
|
|
+ <a-button type="primary" @click="save">保存</a-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup lang="jsx">
|
|
|
-import { ref, reactive, defineComponent } from "vue"
|
|
|
+import { ref, reactive, provide, onMounted } from "vue"
|
|
|
import BsForm, { useBsForm } from '/@/components/BsUi/Form/index.js';
|
|
|
import FileUpload from '/@/components/support/file-upload/index.vue'
|
|
|
import ProjectDeatil from "./components/project-deatil.vue";
|
|
|
import interviewEvaluation from "./components/interview-evaluation.vue";
|
|
|
-import AreaCascader from '/@/components/framework/area-cascader/index.vue'
|
|
|
+import AreaCascader from '/@/components/framework/area-cascader/index.vue';
|
|
|
+import useBsDict from '/@/utils/dict.js';
|
|
|
+import { addPersonnel, updatePersonnel, getPersonnelInfo, getInterviewEvaluation } from "/@/api/personnel-entry";
|
|
|
+import { useRoute } from "vue-router";
|
|
|
+import { isEmpty } from "lodash";
|
|
|
+import { message } from "ant-design-vue";
|
|
|
+const route = useRoute()
|
|
|
+const { id, employeeCode } = route.query
|
|
|
+const children = ref([])
|
|
|
+
|
|
|
+provide('interview', {
|
|
|
+ registerChild: (child) => children.value.push(child)
|
|
|
+})
|
|
|
+
|
|
|
const bsFormRef = ref(null);
|
|
|
-const createInterviewEvaluation =ref(false)
|
|
|
+const formDataInit = {
|
|
|
+ name: undefined,
|
|
|
+ sex: 0,
|
|
|
+ idCard: undefined,
|
|
|
+ tel: undefined,
|
|
|
+ post: undefined,
|
|
|
+ type: undefined,
|
|
|
+ workYear: 0,
|
|
|
+ degree: undefined,
|
|
|
+ graduateSchool: undefined,
|
|
|
+ specialized: undefined,
|
|
|
+ provinceCityDistrict: undefined,
|
|
|
+ province: undefined,
|
|
|
+ provinceName: undefined,
|
|
|
+ city: undefined,
|
|
|
+ cityName: undefined,
|
|
|
+ district: undefined,
|
|
|
+ districtName: undefined,
|
|
|
+ address: undefined,
|
|
|
+ emergencyContact: undefined,
|
|
|
+ contactRelationship: undefined,
|
|
|
+ contactTel: undefined,
|
|
|
+ personalExpertise: undefined,
|
|
|
+ idCardFront: undefined,
|
|
|
+ idCardBack: undefined,
|
|
|
+ noCriminalRecord: undefined,
|
|
|
+ dismissingCert: undefined,
|
|
|
+ graduationCert: undefined,
|
|
|
+ degreeCert: undefined,
|
|
|
+ otherCert: undefined,
|
|
|
+ onboardingExamine: undefined,
|
|
|
+ academicInformationNetwork: undefined,
|
|
|
+ attachmentInformation: undefined,
|
|
|
+ evaluationDTOList: [
|
|
|
|
|
|
-const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
+ ],
|
|
|
+ chargeProjectDTOList: [
|
|
|
+
|
|
|
+ ]
|
|
|
+}
|
|
|
+const { formOptions, setFormPropsValue: setFVal, getFormPropsValue: getFValue } = useBsForm({
|
|
|
formOptions: {
|
|
|
formGroups: [
|
|
|
{
|
|
|
id: "1",
|
|
|
name: '基本信息',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
{
|
|
|
id: "2",
|
|
|
name: '项目信息',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
{
|
|
|
id: "3",
|
|
|
name: '证件信息',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
{
|
|
|
id: "4",
|
|
|
name: '入职体检报告',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
{
|
|
|
id: "5",
|
|
|
name: '面试评价',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
{
|
|
|
id: "6",
|
|
|
name: '附件信息',
|
|
|
- type:'dot'
|
|
|
+ type: 'dot'
|
|
|
},
|
|
|
],
|
|
|
formFields: [
|
|
|
@@ -66,7 +117,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-input',
|
|
|
componentProps: {
|
|
|
placeholder: '请输入姓名',
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
field: 'name',
|
|
|
sort: '1',
|
|
|
@@ -74,14 +125,6 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
required: '1',
|
|
|
span: 6,
|
|
|
formItemExtraProps: {
|
|
|
- rules: [
|
|
|
- {
|
|
|
- validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
- return Promise.resolve();
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
@@ -91,8 +134,18 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-select',
|
|
|
componentProps: {
|
|
|
placeholder: '请选择性别',
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ label: '男士',
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '女士',
|
|
|
+ value: 0
|
|
|
+ },
|
|
|
+ ]
|
|
|
},
|
|
|
- field: '',
|
|
|
+ field: 'sex',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -115,8 +168,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-input',
|
|
|
componentProps: {
|
|
|
placeholder: '请输入身份证号码',
|
|
|
+ type: 'number'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'idCard',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -124,11 +178,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
- validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
- return Promise.resolve();
|
|
|
- },
|
|
|
- },
|
|
|
+ pattern: /(^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$)|(^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$)/,
|
|
|
+ message: "请输入正确的身份证号"
|
|
|
+ }
|
|
|
],
|
|
|
},
|
|
|
},
|
|
|
@@ -139,8 +191,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-input',
|
|
|
componentProps: {
|
|
|
placeholder: '请输入手机号',
|
|
|
+ type: 'number'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'tel',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -148,10 +201,8 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
- validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
- return Promise.resolve();
|
|
|
- },
|
|
|
+ pattern: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
|
|
|
+ message: '请输入正确的手机号'
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -163,8 +214,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-select',
|
|
|
componentProps: {
|
|
|
placeholder: '请选择岗位',
|
|
|
+ options: useBsDict.getDictList('BLINK_ENTRY_POST')
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'post',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -184,11 +236,12 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
groupId: "1",
|
|
|
id: '6',
|
|
|
label: '类型 ',
|
|
|
- component: 'a-input',
|
|
|
+ component: 'a-select',
|
|
|
componentProps: {
|
|
|
placeholder: '请选择类型',
|
|
|
+ options: useBsDict.getDictList('BLINK_ENTRY_TYPE')
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'type',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -213,16 +266,17 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
placeholder: '请输入工作年限',
|
|
|
slots: [
|
|
|
{
|
|
|
- slotName:'suffix',
|
|
|
- customRender:()=>{
|
|
|
+ slotName: 'suffix',
|
|
|
+ customRender: () => {
|
|
|
return (
|
|
|
- <div>人</div>
|
|
|
+ <div>年</div>
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ type: 'number'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'workYear',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -231,9 +285,12 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
rules: [
|
|
|
{
|
|
|
validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
+ transformData('workYear', value)
|
|
|
+ if (Number(value) < 0) {
|
|
|
+ return Promise.reject('工作年限不能小于0');
|
|
|
+ }
|
|
|
return Promise.resolve();
|
|
|
- },
|
|
|
+ }
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -245,8 +302,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-select',
|
|
|
componentProps: {
|
|
|
placeholder: '请选择学历',
|
|
|
+ options: useBsDict.getDictList('BLINK_ENTRY_DEGREE')
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'degree',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -270,7 +328,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入毕业院校',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'graduateSchool',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -294,7 +352,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入专业',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'specialized',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -317,10 +375,35 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: AreaCascader,
|
|
|
componentProps: {
|
|
|
placeholder: '请选择联系地址',
|
|
|
- type:'province_city_district',
|
|
|
- width:'100%'
|
|
|
+ type: 'province_city_district',
|
|
|
+ width: '100%',
|
|
|
+ onChange: (value, selectedOptions) => {
|
|
|
+ let formData = getFValue('formData')
|
|
|
+ formData = Object.assign(formData, {
|
|
|
+ province: '',
|
|
|
+ provinceName: '',
|
|
|
+ city: '',
|
|
|
+ cityName: '',
|
|
|
+ district: '',
|
|
|
+ districtName: '',
|
|
|
+ });
|
|
|
+ // console.log(value, selectedOptions);
|
|
|
+ if (!isEmpty(selectedOptions)) {
|
|
|
+ // 地区信息
|
|
|
+
|
|
|
+ formData.province = selectedOptions[0].value;
|
|
|
+ formData.provinceName = selectedOptions[0].label;
|
|
|
+
|
|
|
+ formData.city = selectedOptions[1].value;
|
|
|
+ formData.cityName = selectedOptions[1].label;
|
|
|
+ if (selectedOptions[2]) {
|
|
|
+ formData.district = selectedOptions[2].value;
|
|
|
+ formData.districtName = selectedOptions[2].label;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'provinceCityDistrict',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -344,7 +427,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入详细地址',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'address',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -368,7 +451,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入紧急联系人',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'emergencyContact',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -392,7 +475,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入与紧急联系人关系',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'contactRelationship',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -415,8 +498,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: 'a-input',
|
|
|
componentProps: {
|
|
|
placeholder: '请输入紧急联系人电话',
|
|
|
+ type: 'number'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'contactTel',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -424,10 +508,8 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
- validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
- return Promise.resolve();
|
|
|
- },
|
|
|
+ pattern: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
|
|
|
+ message: '请输入正确的手机号'
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -440,7 +522,7 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
componentProps: {
|
|
|
placeholder: '请输入个人专长',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'personalExpertise',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -463,8 +545,9 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
component: ProjectDeatil,
|
|
|
componentProps: {
|
|
|
placeholder: '请输入负责项目情况',
|
|
|
+ employeeCode: employeeCode
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'chargeProjectDTOList',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -486,13 +569,15 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '身份证人像面',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'人像面上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
- },
|
|
|
- field: 'name',
|
|
|
+ buttonText: '人像面上传',
|
|
|
+ showUploadList: false,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg',
|
|
|
+ onChange: (value) => {
|
|
|
+ bsFormRef.value.ValidatorSingalField('idCardFront')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ field: 'idCardFront',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -500,10 +585,15 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
- validator: (_, value) => {
|
|
|
- // return Promise.reject(new Error('报错'));
|
|
|
+ transform: (value) => {
|
|
|
+ console.log(value);
|
|
|
+ },
|
|
|
+ asyncValidator: (rule, value) => {
|
|
|
+ console.log(rule, value);
|
|
|
return Promise.resolve();
|
|
|
},
|
|
|
+ type: 'array',
|
|
|
+ trigger: 'change'
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -514,13 +604,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '身份证国徽面',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'国徽面上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '国徽面上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'idCardBack',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -542,13 +632,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '无犯罪记录证明',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'证明上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '证明上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'noCriminalRecord',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -570,13 +660,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '解聘证书',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'证明上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '证明上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'dismissingCert',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '0',
|
|
|
@@ -598,13 +688,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '毕业证书',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'证书上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '证书上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'graduationCert',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -626,13 +716,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '学位证书',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'证书上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '证书上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'degreeCert',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
@@ -654,13 +744,13 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
label: '其他证书',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'证书上传',
|
|
|
- showUploadList:false,
|
|
|
- uploadAterClear:true,
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg'
|
|
|
+ buttonText: '证书上传',
|
|
|
+ showUploadList: false,
|
|
|
+ uploadAterClear: true,
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'otherCert',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '0',
|
|
|
@@ -676,24 +766,23 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
],
|
|
|
},
|
|
|
},
|
|
|
- {
|
|
|
+ {
|
|
|
groupId: "4",
|
|
|
id: '26',
|
|
|
label: '体检报告',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- // placeholder: '请输入',
|
|
|
- buttonText:'证书上传',
|
|
|
- listType:'text',
|
|
|
- maxUploadSize:1,
|
|
|
- accept:'.png,.jpg,jpeg,.pdf'
|
|
|
+ buttonText: '证书上传',
|
|
|
+ listType: 'text',
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,jpeg,.pdf'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'onboardingExamine',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
required: '1',
|
|
|
span: 2,
|
|
|
- tooltip:"支持png、jpg、pdf等常见报告格式",
|
|
|
+ tooltip: "支持png、jpg、pdf等常见报告格式",
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
@@ -709,16 +798,10 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
groupId: "5",
|
|
|
id: '26',
|
|
|
label: '',
|
|
|
- component: 'a-button',
|
|
|
+ component: interviewEvaluation,
|
|
|
componentProps: {
|
|
|
- // placeholder: '请输入',
|
|
|
- onClick:()=>{
|
|
|
- console.log('1111');
|
|
|
- createInterviewEvaluation.value = true
|
|
|
- },
|
|
|
- buttonText:'创建评价',
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'evaluationDTOList',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
span: 24,
|
|
|
@@ -736,19 +819,20 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
{
|
|
|
groupId: "5",
|
|
|
id: '27',
|
|
|
- label: '',
|
|
|
- component: interviewEvaluation,
|
|
|
+ label: '学信网核验',
|
|
|
+ component: FileUpload,
|
|
|
componentProps: {
|
|
|
- // setValue("a.b.0.sort", 1)
|
|
|
- create:createInterviewEvaluation,
|
|
|
- onClick:()=>{
|
|
|
- console.log('1111');
|
|
|
- },
|
|
|
+ buttonText: '点击上传',
|
|
|
+ listType: 'text',
|
|
|
+ maxUploadSize: 1,
|
|
|
+ accept: '.png,.jpg,.pdf'
|
|
|
},
|
|
|
- field: 'name',
|
|
|
+ field: 'academicInformationNetwork',
|
|
|
sort: '1',
|
|
|
- visible: '1',
|
|
|
- span: 24,
|
|
|
+ visible: '1',
|
|
|
+ required: '1',
|
|
|
+ tooltip: '支持png、jpg、pdf等常见报告格式',
|
|
|
+ span: 6,
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
@@ -763,19 +847,22 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
{
|
|
|
groupId: "6",
|
|
|
id: '26',
|
|
|
- label: '',
|
|
|
+ label: '附件上传',
|
|
|
component: FileUpload,
|
|
|
componentProps: {
|
|
|
- buttonText:'点击上传',
|
|
|
- listType:'text',
|
|
|
- maxUploadSize:3,
|
|
|
- accept:'.png,.jpg,jpeg,.pdf,.doc,.ppt,.mp4,.avi'
|
|
|
- },
|
|
|
- field: 'name',
|
|
|
+ buttonText: '点击上传',
|
|
|
+ listType: 'text',
|
|
|
+ maxUploadSize: 3,
|
|
|
+ accept: '.png,.jpg,jpeg,.pdf,.doc,.ppt,.mp4,.avi',
|
|
|
+ onChange: (value) => {
|
|
|
+ console.log(value);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ field: 'attachmentInformation',
|
|
|
sort: '1',
|
|
|
visible: '1',
|
|
|
span: 24,
|
|
|
- tooltip:"附件上传 支持png、jpg、doc、ppt、pdf、mp4、avi等常见报告格式",
|
|
|
+ tooltip: "附件上传 支持png、jpg、doc、ppt、pdf、mp4、avi等常见报告格式",
|
|
|
formItemExtraProps: {
|
|
|
rules: [
|
|
|
{
|
|
|
@@ -788,13 +875,69 @@ const { formOptions, setFormPropsValue: setFVal } = useBsForm({
|
|
|
},
|
|
|
},
|
|
|
],
|
|
|
- // formData: {
|
|
|
- // name: '韩晓辉',
|
|
|
- // },
|
|
|
+ formData: {
|
|
|
+ ...formDataInit
|
|
|
+ },
|
|
|
formId: 'formId',
|
|
|
formExtraProps: {},
|
|
|
},
|
|
|
});
|
|
|
+function transformData(field, val) {
|
|
|
+ const formData = getFValue('formData')
|
|
|
+ if (val === null || val === undefined) return;
|
|
|
+ formData[field] = String(Number(val)); // "001" → "1"
|
|
|
+}
|
|
|
+async function save() {
|
|
|
+ if (isEmpty(id)) {
|
|
|
+ /* 新增 */
|
|
|
+ const params = { ...getFValue('formData') }
|
|
|
+ console.log(params);
|
|
|
+ params.tel = parseInt(params.tel)
|
|
|
+ params.contactTel = parseInt(params.contactTel)
|
|
|
+ params.idCard = parseInt(params.idCard)
|
|
|
+ params.salaries = parseInt(params.salaries)
|
|
|
+ params.salaryNumber = parseInt(params.salaryNumber)
|
|
|
+ params.provinceCityDistrict = undefined
|
|
|
+
|
|
|
+ await bsFormRef.value.handlerFormValidator()
|
|
|
+ await children.value[0].childMethod()
|
|
|
+ await addPersonnel(params).then((res) => {
|
|
|
+ if (!res.ok) {
|
|
|
+ message.error(res.msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ message.success('新增成功')
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ /* 编辑 */
|
|
|
+ updatePersonnel()
|
|
|
+ }
|
|
|
+}
|
|
|
+function reset() {
|
|
|
+ if (isEmpty(id)) {
|
|
|
+ /* 新增 */
|
|
|
+ setFVal('formData', formDataInit)
|
|
|
+ } else {
|
|
|
+ /* 编辑 */
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+onMounted(async () => {
|
|
|
+ if (!isEmpty(id)) {
|
|
|
+ await getPersonnelInfo(id).then((res) => {
|
|
|
+ setFVal('formData', res.data)
|
|
|
+ setFVal('formData.provinceCityDistrict', [parseInt(res.data.province) , parseInt(res.data.city), parseInt(res.data.district)])
|
|
|
+ setFVal('formData.post',res.data.post[0].valueCode)
|
|
|
+ setFVal('formData.type',res.data.type[0].valueCode)
|
|
|
+ setFVal('formData.degree',res.data.degree[0].valueCode)
|
|
|
+ })
|
|
|
+ await getInterviewEvaluation(id).then((res) => {
|
|
|
+ setFVal('formData.evaluationDTOList', [res.data])
|
|
|
+ console.log(getFValue('formData'));
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+})
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.personnel-entry {
|