信用报告查询完成

This commit is contained in:
aixianling
2022-07-05 15:09:53 +08:00
parent 5219ca9a3f
commit a75c2d254f
8 changed files with 418 additions and 326 deletions

View File

@@ -1,129 +1,127 @@
<template>
<section class="personCreditReport">
<el-link v-if="hasIdNumber" type="primary" @click.stop="handleShow">个人产权</el-link>
<el-dialog :visible.sync="dialog" title="个人产权信息" width="1200px" customFooter>
<div class="top">
<div class="top-left">
<el-image v-if="info.avatar"/>
<div v-else v-html="txtLogo"/>
</div>
<div class="top-right">
<div class="top-right__top">
<h2 v-text="person.name"/>
</div>
<div class="top-right__bottom">
<ai-wrapper
label-width="130px">
<ai-info-item label="手机号码:" :value="person.phone"/>
<ai-info-item label="身份证号:" :value="person.idNumber"/>
</ai-wrapper>
</div>
</div>
<div class="topPanel">
<div class="top-left">
<el-image v-if="info.avatar"/>
<div v-else v-html="txtLogo"/>
</div>
<el-tabs type="border-card" stretch>
<el-tab-pane label="企业信息">
<ai-table :dict="dict" :tableData="info.enterpriseList" :col-configs="colConfigs1"
:isShowPagination="false" border tableSize="small"/>
</el-tab-pane>
<el-tab-pane label="宅基地信息" lazy>
<ai-table :dict="dict" :tableData="info.homesteadInfoList" :col-configs="colConfigs2"
:isShowPagination="false" border tableSize="small"/>
</el-tab-pane>
<el-tab-pane label="集体经济组织股权" lazy>
<ai-table :dict="dict" :tableData="info.shareholderList" :col-configs="colConfigs3"
:isShowPagination="false" border tableSize="small"/>
</el-tab-pane>
<el-tab-pane label="土地流转经营" lazy>
<ai-table :dict="dict" :tableData="info.landCirculateInfoList" :col-configs="colConfigs4"
:isShowPagination="false" border tableSize="small"/>
</el-tab-pane>
</el-tabs>
<template #footer>
<el-button @click.stop="dialog=false">关闭</el-button>
</template>
</el-dialog>
<ai-wrapper class="fill" label-width="130px">
<ai-info-item label="手机号码:" :value="info.phone"/>
<ai-info-item label="性别:" :value="info.sex"/>
<ai-info-item label="身份证号:" :value="info.idNumber"/>
<ai-info-item label="年龄:" :value="info.age"/>
<ai-info-item label="本地户籍:" :value="info.localRegistered"/>
<ai-info-item label="结婚状态:" :value="info.maritalStatus"/>
<ai-info-item label="所在地区:" :value="info.address" isLine/>
</ai-wrapper>
<el-button type="primary">下载报告</el-button>
</div>
<el-tabs type="border-card" stretch>
<el-tab-pane label="基本信息">
<el-descriptions :column="2" border size="small" :labelStyle="{width:'200px'}">
<el-descriptions-item v-for="des in desConfigs" :key="des.prop" v-bind="des">{{ info[des.prop] }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane v-for="(tab,i) in tabs" :label="tab.label" :key="i" lazy>
<ai-table :dict="dict" :tableData="info[tab.prop]" :col-configs="tab.colConfigs" :isShowPagination="false" border tableSize="small">
<div slot="empty">截止{{ $moment().format('YYYY-MM-DD') }},尚未公开信息</div>
</ai-table>
</el-tab-pane>
</el-tabs>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "personCreditReport",
computed: {
...mapState(['user']),
isFinanceUser() {
return !!this.user.financeUser?.id
},
txtLogo() {
return this.person.name?.substring(0, 1) || ""
return this.info.name?.substring(0, 1) || ""
},
hasIdNumber() {
return !!this.person.idNumber
return !!this.info.idNumber
}
},
data() {
return {
dialog: false,
info: {},
currIndex: 0,
colConfigs1: [
{prop: 'enterpriseName', label: '企业名称'},
{prop: 'enterpriseType', label: '企业类型', dict: "enterpriseType", align: 'center'},
{prop: 'areaName', label: '所属区域', align: 'center'},
{prop: 'businessScope', label: '经营范围', align: 'center'},
{prop: 'operationPeriod', label: '营业期限', align: 'center'},
],
colConfigs2: [
{prop: 'usePerson', label: '使用人'},
{prop: 'houseNumber', label: '家庭人口', align: 'center'},
{prop: 'areaName', label: '所在地区', align: 'center'},
{prop: 'landArea', label: '土地面积/㎡', align: 'center'},
{prop: 'landOwnership', label: '土地所有权', align: 'center'},
],
colConfigs3: [
{prop: 'organizationName', label: '集体经济组织名称'},
{prop: 'areaName', align: 'center', label: '所在地区'},
{prop: 'name', align: 'center', label: '持股人'},
{prop: 'shareholdingNumber', align: 'center', label: '股权总数'},
{prop: 'shareholdingAmount', align: 'center', label: '股金总额'}
],
colConfigs4: [
{prop: 'landOutflowName', label: '土地流出方'},
{prop: 'landArea', align: 'center', label: '土地面积/㎡'},
{prop: 'landUndertakeName', align: 'center', label: '土地承接方'},
{prop: 'circulateType', align: 'center', label: '流转形式', dict: "landCirculateType"},
{prop: 'startDate', align: 'center', label: '开始日期'},
tabs: [
{
label: "企业信息", prop: "unitList", colConfigs: [
{prop: 'enterpriseName', label: '企业名称'},
{prop: 'enterpriseType', label: '企业类型', dict: "enterpriseType", align: 'center'},
{prop: 'areaName', label: '所属区域', align: 'center'},
{prop: 'businessScope', label: '经营范围', align: 'center'},
{prop: 'operationPeriod', label: '营业期限', align: 'center'},
]
},
{
label: "失信信息", prop: "discreditList", colConfigs: [
{prop: "input00", label: "姓名/名称"},
{prop: "radio01", label: "类型"},
{prop: "textarea04", label: "失信行为情形"},
{prop: "input03", label: "执行法院"},
{prop: "create_time", label: "数据更新时间"},
]
},
{
label: "缴费信息", prop: "arrearageList", colConfigs: [
{prop: "input00", label: "缴费年月"},
{prop: "radio04", label: "缴费类型"},
{prop: "radio05", label: "缴费情况"},
{prop: "input06", label: "收款单位"},
{prop: "create_time", label: "数据更新时间"},
]
},
{
label: "婚姻登记", prop: "marriageList", colConfigs: [
{prop: "input05", label: "登记年度"},
{prop: "input00", label: "姓名"},
{prop: "input01", label: "证件号码"},
{prop: "input02", label: "姓名"},
{prop: "input03", label: "证件号码"},
{prop: "radio04", label: "类别"},
{prop: "create_time", label: "数据更新时间"},
]
},
],
desConfigs: [
{prop: "creditRating", label: "信用评级"},
{prop: "creditRatingScore", label: "信用评分"},
{prop: "creditRatingDesc", label: "评级释义", span: 2},
{prop: "perCapitaIncome", label: "家庭人均收入"},
{prop: "medicalInsurance", label: "全员参加医保"},
{prop: "ridOfPoverty", label: "脱贫户"},
{prop: "discredit", label: "失信被执行人"},
{prop: "arrearage", label: "欠缴水电燃气费"},
{prop: "administrativeSanction", label: "行政处罚信息"},
{prop: "sourceOfIncome", label: "家庭收入来源", span: 2},
{prop: "familyDevelopmentStatus", label: "家庭发展现状", span: 2},
]
}
},
created() {
this.dict.load("enterpriseType", "landCirculateType")
this.getPCR()
},
methods: {
getPCR() {
let {idNumber, createUserId: id} = this.person
return this.instance.post(`/appportaluser/queryPersonPropertyRight`, null, {
params: {idNumber, id}
let {personId: id} = this
return this.instance.post(`/appcreditreport/info`, null, {
params: {id, type: 0}
}).then(res => {
if (res?.data) {
let {avatar} = res.data
if (avatar) {
avatar = JSON.parse(avatar)?.[0]
}
return this.info = {...res.data, avatar}
this.info = res.data
}
})
},
handleShow() {
this.getPCR().then(() => this.dialog = true).catch(() => this.dialog = true)
}
},
props: {
instance: Function,
dict: Object,
permissions: Function,
person: {required: true, default: () => ({})}
personId: {required: true, default: ""}
}
}
</script>
@@ -141,12 +139,14 @@ export default {
}
}
.top {
.topPanel {
display: flex;
margin-bottom: 20px;
padding: 34px 30px 16px;
border: 1px solid #EEEEEE;
border-radius: 4px;
background: #fff;
box-shadow: 0 4px 6px -2px rgba(15, 15, 21, 0.15);
.top-left {
margin-right: 16px;
@@ -159,44 +159,6 @@ export default {
height: fit-content;
}
.top-right {
flex: 1;
.top-right__top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
h2 {
color: #333333;
font-size: 22px;
}
.right {
display: flex;
align-items: center;
justify-content: center;
width: 97px;
height: 32px;
background: #E8F4FF;
border: 1px solid #A3D3FF;
border-radius: 3px;
color: #1890FF;
font-size: 13px;
cursor: pointer;
&:hover {
opacity: 0.6;
}
}
}
.top-right__bottom {
padding: 16px 10px 10px 0;
background: #F6FBFF;
}
}
}
::v-deep.el-tabs {