feat信贷客户家庭关系

This commit is contained in:
wkc
2026-02-12 09:27:04 +08:00
parent 12e384ab19
commit 1595605817
41 changed files with 2439 additions and 229 deletions

View File

@@ -13,10 +13,10 @@
<el-form-item label="关系类型" prop="relationType">
<el-select v-model="queryParams.relationType" placeholder="请选择关系类型" clearable style="width: 240px">
<el-option
v-for="dict in dict.type.ccdi_relation_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in relationTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
@@ -94,7 +94,7 @@
<el-table-column label="信贷客户身份证号" align="center" prop="personId" width="180"/>
<el-table-column label="关系类型" align="center" prop="relationType" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.ccdi_relation_type" :value="scope.row.relationType"/>
<enum-tag type="relationType" :value="scope.row.relationType"/>
</template>
</el-table-column>
<el-table-column label="关系人姓名" align="center" prop="relationName" :show-overflow-tooltip="true"/>
@@ -170,10 +170,10 @@
<el-form-item label="关系类型" prop="relationType">
<el-select v-model="form.relationType" placeholder="请选择关系类型" style="width: 100%">
<el-option
v-for="dict in dict.type.ccdi_relation_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in relationTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
@@ -203,10 +203,10 @@
<el-form-item label="关系人证件类型" prop="relationCertType">
<el-select v-model="form.relationCertType" placeholder="请选择证件类型" style="width: 100%">
<el-option
v-for="dict in dict.type.ccdi_certificate_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in certTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
@@ -319,13 +319,15 @@
<el-descriptions :column="2" border>
<el-descriptions-item label="信贷客户身份证号">{{ relationDetail.personId || '-' }}</el-descriptions-item>
<el-descriptions-item label="关系类型">
<dict-tag :options="dict.type.ccdi_relation_type" :value="relationDetail.relationType"/>
<enum-tag type="relationType" :value="relationDetail.relationType"/>
</el-descriptions-item>
<el-descriptions-item label="关系人姓名">{{ relationDetail.relationName || '-' }}</el-descriptions-item>
<el-descriptions-item label="性别">
<dict-tag :options="dict.type.ccdi_indiv_gender" :value="relationDetail.gender"/>
</el-descriptions-item>
<el-descriptions-item label="关系人证件类型">{{ relationDetail.relationCertType || '-' }}</el-descriptions-item>
<el-descriptions-item label="关系人证件类型">
<enum-tag type="certType" :value="relationDetail.relationCertType"/>
</el-descriptions-item>
<el-descriptions-item label="关系人证件号码" :span="2">{{ relationDetail.relationCertNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="出生日期">{{ relationDetail.birthDate || '-' }}</el-descriptions-item>
<el-descriptions-item label="手机号码1">{{ relationDetail.mobilePhone1 || '-' }}</el-descriptions-item>
@@ -438,26 +440,30 @@
<script>
import {
listRelation,
getRelation,
addRelation,
updateRelation,
delRelation,
exportRelation,
importTemplate,
importData,
getImportFailures,
getImportStatus,
getImportFailures
getRelation,
listRelation,
updateRelation
} from "@/api/ccdiCustFmyRelation";
import { getToken } from "@/utils/auth";
import {getToken} from "@/utils/auth";
import EnumTag from '@/components/EnumTag'
const STORAGE_KEY = 'cust_fmy_relation_import_last_task';
export default {
name: "CustFmyRelation",
dicts: ['ccdi_relation_type', 'ccdi_indiv_gender', 'ccdi_certificate_type'],
dicts: ['ccdi_indiv_gender'],
components: {
EnumTag
},
data() {
return {
// 枚举选项
relationTypeOptions: [],
certTypeOptions: [],
// 遮罩层
loading: true,
// 选中数组
@@ -593,6 +599,7 @@ export default {
created() {
this.getList();
this.restoreImportState();
this.loadEnumOptions();
},
beforeDestroy() {
if (this.importPollingTimer) {
@@ -601,6 +608,17 @@ export default {
}
},
methods: {
/**
* 加载枚举选项
*/
async loadEnumOptions() {
try {
this.relationTypeOptions = await this.$store.dispatch('ccdiEnum/getRelationTypeOptions')
this.certTypeOptions = await this.$store.dispatch('ccdiEnum/getCertTypeOptions')
} catch (error) {
console.error('加载枚举选项失败:', error)
}
},
/**
* 校验证件号码
* 根据证件类型进行不同的校验