调整个人中介中介子类型与关联关系展示
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
<!-- 个人类型专属字段 -->
|
||||
<template v-if="detailData.intermediaryType === '1'">
|
||||
<el-descriptions-item label="人员类型">{{ detailData.personType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="人员子类型">{{ detailData.personSubType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="中介子类型">{{ detailData.personSubType || detailData.relationType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="性别">
|
||||
<span v-if="detailData.gender === 'M'">男</span>
|
||||
<span v-else-if="detailData.gender === 'F'">女</span>
|
||||
@@ -30,7 +30,6 @@
|
||||
<el-descriptions-item label="所在公司">{{ detailData.company || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="职位">{{ detailData.position || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="企业统一信用码">{{ detailData.socialCreditCode || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="关系类型">{{ detailData.relationType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="关联人员ID">{{ detailData.relatedNumId || '-' }}</el-descriptions-item>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -62,8 +62,21 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="人员子类型">
|
||||
<el-input v-model="form.personSubType" placeholder="请输入人员子类型" maxlength="100" clearable/>
|
||||
<el-form-item label="中介子类型">
|
||||
<el-select
|
||||
v-model="form.personSubType"
|
||||
placeholder="请选择中介子类型"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
@change="handlePersonSubTypeChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in personSubTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -132,20 +145,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="关联关系">
|
||||
<el-select v-model="form.relationType" placeholder="请选择关联关系" clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in relationTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
v-model="form.remark"
|
||||
@@ -409,6 +408,21 @@ export default {
|
||||
return '机构信息';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
personSubTypeOptions() {
|
||||
const options = [{ label: '个人', value: '个人' }, ...this.relationTypeOptions];
|
||||
const dedupedOptions = [];
|
||||
const existedValues = new Set();
|
||||
|
||||
options.forEach(item => {
|
||||
if (!item || !item.value || existedValues.has(item.value)) {
|
||||
return;
|
||||
}
|
||||
existedValues.add(item.value);
|
||||
dedupedOptions.push(item);
|
||||
});
|
||||
|
||||
return dedupedOptions;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -446,6 +460,8 @@ export default {
|
||||
}
|
||||
this.shouldAnimate = false;
|
||||
}
|
||||
|
||||
this.syncPersonSubTypeRelation();
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -454,6 +470,9 @@ export default {
|
||||
handleTypeSelect(type) {
|
||||
this.tempSelectedType = type;
|
||||
this.form.intermediaryType = type;
|
||||
if (type === '1') {
|
||||
this.syncPersonSubTypeRelation();
|
||||
}
|
||||
// 延迟设置 selectedType,使表单显示带动画效果
|
||||
setTimeout(() => {
|
||||
this.selectedType = type;
|
||||
@@ -478,6 +497,10 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.form.intermediaryType === '1') {
|
||||
this.syncPersonSubTypeRelation();
|
||||
}
|
||||
|
||||
// 根据类型验证不同的表单
|
||||
const formRef = this.form.intermediaryType === '1' ? 'indivForm' : 'corpForm';
|
||||
|
||||
@@ -491,6 +514,19 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
handlePersonSubTypeChange(value) {
|
||||
this.form.relationType = value || null;
|
||||
},
|
||||
|
||||
syncPersonSubTypeRelation() {
|
||||
if (!this.form || this.form.intermediaryType !== '1') {
|
||||
return;
|
||||
}
|
||||
const currentValue = this.form.personSubType || this.form.relationType || null;
|
||||
this.form.personSubType = currentValue;
|
||||
this.form.relationType = currentValue;
|
||||
},
|
||||
|
||||
/**
|
||||
* 滚动到第一个错误字段
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user