<template>
|
<div class="product">
|
<el-tabs v-model="tabIndex" type="card">
|
<el-tab-pane
|
v-for="(item, index) in borrowerForm"
|
:key="index"
|
:label="item.customerName?item.customerName:'共借人'"
|
:name="index+''"
|
>
|
<p class="btn">
|
<el-button type="text" @click='inputCredit(item,index)' v-if="applyInfo.phaseNo=='0046'">征信白户快捷录入</el-button>
|
<el-button type="text" @click='importCredit(item)' v-if="applyInfo.phaseNo=='0046'">导入征信信息</el-button>
|
</p>
|
<el-form
|
:model="item"
|
:rules="rules"
|
ref="borrowerForm"
|
label-width="165px"
|
inline
|
size="small"
|
>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
基础信息
|
</p>
|
<div class="form">
|
<el-form-item label="性别" prop="sex">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.sex" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in sexList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="婚姻状况" prop="mariStatus">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.mariStatus" clearable filterable placeholder="支持输入搜索选择" @change="value => getMariStatus(value, index)">
|
<el-option v-for="(item,index) in marriageList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<template v-if="item.isSpouseFlag">
|
<el-form-item label="配偶姓名" prop="pedestrianCreditCustomerQryInfo.spoName">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.spoName" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="配偶证件类型" prop="pedestrianCreditCustomerQryInfo.spoIdType">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.spoIdType" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in IDTypeList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="配偶证件号码" prop="pedestrianCreditCustomerQryInfo.spoIdNum">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.spoIdNum" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="配偶联系电话" prop="pedestrianCreditCustomerQryInfo.spoTel">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.spoTel" maxlength="11" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="配偶工作单位" prop="pedestrianCreditCustomerQryInfo.spsCmpyNm">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.spsCmpyNm" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</template>
|
<el-form-item label="学历" prop="eduLevel">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.eduLevel" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in educationList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="学位" prop="acaDegree">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.acaDegree" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in acaDegreeList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="就业状况" prop="empStatus">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.empStatus" clearable filterable placeholder="支持输入搜索选择" @change="value => getEmpStatus(value, index)">
|
<el-option v-for="(item,index) in empStatusList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<template v-if="item.isEmpStatusFlag">
|
<el-form-item label="单位名称" prop="cpnname">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.cpnname" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="单位性质" prop="cpnType">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.cpnType" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in cpnTypeList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="单位所属行业" prop="industry">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.industry" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in industryList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="单位详细地址" prop="cpnAddr">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.cpnAddr" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="单位所在地邮编" prop="cpnPc">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.cpnPc" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(省)"
|
prop="cpnProvince"
|
>
|
<el-select
|
v-model="item.pedestrianCreditCustomerQryInfo.cpnProvince"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="getprovince(item.pedestrianCreditCustomerQryInfo.cpnProvince,'cpncityList',item.pedestrianCreditCustomerQryInfo,function(arr){borrowerArr[index].cpncityList = arr,$set(borrowerArr,index,borrowerArr[index])})"
|
>
|
<el-option
|
v-for="(i,idx) in provinceList"
|
:key="idx"
|
:label="i.itemname"
|
:value="i.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(市)"
|
prop="cpnCity"
|
>
|
<el-select
|
v-model="item.pedestrianCreditCustomerQryInfo.cpnCity"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="getcity(item.pedestrianCreditCustomerQryInfo.cpnCity,'cpncountyList',item.pedestrianCreditCustomerQryInfo,function(arr){borrowerArr[index].cpncountyList = arr,$set(borrowerArr,index,borrowerArr[index])})"
|
>
|
<el-option
|
v-for="(i,idx) in borrowerArr[index].cpncityList"
|
:key="idx"
|
:label="i.itemname"
|
:value="i.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(区/县)"
|
prop="cpnDist"
|
>
|
<el-select
|
v-model="item.pedestrianCreditCustomerQryInfo.cpnDist"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(i,idx) in borrowerArr[index].cpncountyList"
|
:key="idx"
|
:label="i.itemname"
|
:value="i.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="单位电话" prop="cpnTel">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.cpnTel" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="职业" prop="occupation">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.eduLevel" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in occupationList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="职务" prop="title">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.title" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in titleList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="职称" prop="techTitle">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.techTitle" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in techTitleList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="本单位工作起始年份" prop="workStartDate">
|
<el-input v-model="item.pedestrianCreditCustomerQryInfo.workStartDate" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</template>
|
<el-form-item label="居住状况" prop="resiStatus">
|
<el-select v-model="item.pedestrianCreditCustomerQryInfo.resiStatus" clearable filterable placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in resiStatusList" :key="index" :label="item.itemname" :value="item.itemno"></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
整体情况
|
</p>
|
<div class="form">
|
<el-form-item v-show="false">
|
<el-input v-model="applyInfo.serialNo"></el-input>
|
</el-form-item>
|
<el-form-item label="全部负债总额" prop="rb1">
|
<el-input v-model="item.rb1" @blur="item.rb1 = formatMoney(item.rb1)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="信用类负债总额" prop="rb2">
|
<el-input v-model="item.rb2" @blur="item.rb2 = formatMoney(item.rb2)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="从未逾期信用卡和贷款账户距今最长账龄" prop="rv27">
|
<el-input v-model="item.rv27" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="过去6个月信用卡和贷款逾期总次数" prop="rv22">
|
<el-input v-model="item.rv22" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="过去24个月信用卡和贷款逾期的月份数(月)" prop="rv17">
|
<el-input v-model="item.rv17" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="坏账出现次数" prop="rb7">
|
<el-input v-model="item.rb7" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
查询次数
|
</p>
|
<div class="form">
|
<el-form-item label="人行近2个月查询次数" prop="rt32">
|
<el-input v-model="item.rt32" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="近2个月贷款审批查询次数" prop="rt33">
|
<el-input v-model="item.rt33" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="人行近6个月查询次数" prop="rt36">
|
<el-input v-model="item.rt36" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="近3个月审批查询次数" prop="rv45">
|
<el-input v-model="item.rv45" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="近6个月审批查询次数" prop="rv35">
|
<el-input v-model="item.rv35" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
信用白户信息
|
</p>
|
<div class="form">
|
<el-form-item label="信用白户是否曾持有贷款" prop="rv15">
|
<el-select v-model="item.rv15" clearable placeholder="请选择" :disabled="applyInfo.phaseNo!='0046'">
|
<el-option
|
v-for="(item,index) in YesNo"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="是否为案场信用空白户" prop="rv7">
|
<el-select v-model="item.rv7" clearable placeholder="请选择" :disabled="applyInfo.phaseNo!='0046'">
|
<el-option
|
v-for="(item,index) in YesNo"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="信用白户是否曾持有信用卡及贷款" prop="rv16">
|
<el-select v-model="item.rv16" clearable placeholder="请选择" :disabled="applyInfo.phaseNo!='0046'">
|
<el-option
|
v-for="(item,index) in YesNo"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="信用白户是否曾持有信用卡" prop="rv14">
|
<el-select v-model="item.rv14" clearable placeholder="请选择" :disabled="applyInfo.phaseNo!='0046'">
|
<el-option
|
v-for="(item,index) in YesNo"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
贷记卡信息
|
</p>
|
<div class="form">
|
<el-form-item label="首张贷记卡距今月数(月)" prop="rj3">
|
<el-input v-model="item.rj3" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="所有未结清贷记卡授信总额" prop="n4">
|
<el-input v-model="item.n4" @blur="item.n4 = formatMoney(item.n4)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="所有未结清信用卡授信总额" prop="rb10">
|
<el-input v-model="item.rb10" @blur="item.rb10 = formatMoney(item.rb10)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="所有未结清贷记卡已使用额度" prop="rb13">
|
<el-input v-model="item.rb13" @blur="item.rb13 = formatMoney(item.rb13)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="所有未结清信用卡总已用额度" prop="rb9">
|
<el-input v-model="item.rb9" @blur="item.rb9 = formatMoney(item.rb9)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡最近6个月平均使用额度" prop="rb11">
|
<el-input v-model="item.rb11" @blur="item.rb11 = formatMoney(item.rb11)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="所有未结清信用卡本月实还款总额" prop="rb12">
|
<el-input v-model="item.rb12" @blur="item.rb12 = formatMoney(item.rb12)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡当前逾期汇总金额" prop="rb6">
|
<el-input v-model="item.rb6" @blur="item.rb6 = formatMoney(item.rb6)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡近6个月出现逾期2及以上的次数" prop="rk9">
|
<el-input v-model="item.rk9" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡近6个月内出现逾期1的次数" prop="rk1">
|
<el-input v-model="item.rk1" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡近12个月内出现逾期2的次数" prop="rl2">
|
<el-input v-model="item.rl2" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡近12个月出现逾期3及以上的次数" prop="rl10">
|
<el-input v-model="item.rl10" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷记卡近12个月内出现逾期1的次数" prop="rl1">
|
<el-input v-model="item.rl1" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="准贷记卡最近6个月平均透支余额" prop="retain1">
|
<el-input v-model="item.retain1" @blur="item.retain1 = formatMoney(item.retain1)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
贷款信息
|
</p>
|
<div class="form">
|
<el-form-item label="未结清、信用类贷款总金额" prop="rc7">
|
<el-input v-model="item.rc7" @blur="item.rc7 = formatMoney(item.rc7)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清、信用类贷款总余额" prop="rc8">
|
<el-input v-model="item.rc8" @blur="item.rc8 = formatMoney(item.rc8)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清、未销户、非抵押质押总授信额度" prop="rc42">
|
<el-input v-model="item.rc42" @blur="item.rc42 = formatMoney(item.rc42)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清、非抵押质押贷款类授信额度" prop="rc41">
|
<el-input v-model="item.rc41" @blur="item.rc41 = formatMoney(item.rc41)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清贷款总余额" prop="rc43">
|
<el-input v-model="item.rc43" @blur="item.rc43 = formatMoney(item.rc43)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清贷款总金额" prop="rc44">
|
<el-input v-model="item.rc44" @blur="item.rc44 = formatMoney(item.rc44)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清、信用类贷款笔数" prop="rc6">
|
<el-input v-model="item.rc6" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="未结清、信用类贷款总月供" prop="rc9">
|
<el-input v-model="item.rc9" @blur="item.rc9 = formatMoney(item.rc9)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款当前逾期汇总金额" prop="rb5">
|
<el-input v-model="item.rb5" @blur="item.rb5 = formatMoney(item.rb5)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近6个月内出现逾期1的次数" prop="rd1">
|
<el-input v-model="item.rd1" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近6个月内断供(大于30天)次数" prop="rd9">
|
<el-input v-model="item.rd9" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近12个月内出现逾期2的次数" prop="re2">
|
<el-input v-model="item.re2" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近12个月内恶意断供次数" prop="re10">
|
<el-input v-model="item.re10" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近12个月内出现逾期1的次数" prop="re1">
|
<el-input v-model="item.re1" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款近24个月内有大于90天逾期的次数" prop="rf11">
|
<el-input v-model="item.rf11" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款信息五级分类不良的次数" prop="rh11">
|
<el-input v-model="item.rh11" maxlength="8" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
<el-form-item label="贷款最近6个月平均应还款额" prop="retain2">
|
<el-input v-model="item.retain2" @blur="item.retain2 = formatMoney(item.retain2)" :disabled="applyInfo.phaseNo!='0046'"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</el-form>
|
</el-tab-pane>
|
</el-tabs>
|
<div class="fixedBtn">
|
<el-button size="medium" plain @click="refuse" v-if="applyInfo.phaseNo=='0046'">驳回/拒绝</el-button>
|
<el-button size="medium" plain @click="saveDraft(borrowerForm)" v-if="applyInfo.phaseNo=='0046'">保存草稿</el-button>
|
<el-button size="medium" plain @click="prevStep">上一页</el-button>
|
<el-button size="medium" type="primary" @click="submit(borrowerForm)" v-if="applyInfo.phaseNo=='0046'">下一步</el-button>
|
<el-button size="medium" type="primary" @click="nextPage" v-else>下一页</el-button>
|
</div>
|
<Credit :visible="visible" :creditInfo="creditInfo" @close="close" @sendCredit='sendCredit'></Credit>
|
</div>
|
</template>
|
<script>
|
import {
|
qryCreditReportList,
|
getDictionaryList,
|
batchSaveCreditReport,
|
batchSubmitCreditReport,
|
qryPersonCreditReport,
|
getProvinceCodeList,
|
getCityCodeList,
|
getAreaCodeList
|
} from "@/api/product";
|
import { setStorage, getStorage, removeStorage } from "@/utils/storage";
|
import common from "@/utils/common";
|
import Credit from './components/Credit';
|
export default {
|
data() {
|
return {
|
applyInfo: this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
initialArr: [],
|
borrowerForm: [],
|
borrowerArr: [],
|
creditInfo: [],
|
YesNo: [],
|
sexList: [],
|
marriageList: [],
|
educationList: [],
|
IDTypeList: [],
|
acaDegreeList: [],
|
empStatusList: [],
|
cpnTypeList: [],
|
industryList: [],
|
occupationList: [],
|
techTitleList: [],
|
resiStatusList: [],
|
titleList: [],
|
provinceList: [],
|
rules: {},
|
tabIndex:'0',
|
visible: false,
|
// 省市区
|
registerprovinceOptions: [],
|
registercitysOptions: [],
|
registercountyOptions: [],
|
}
|
},
|
components: {
|
Credit
|
},
|
async created() {
|
this.$parent._data.loading = true;
|
const result = await this.getCreditReportList();
|
this.initDictionaryItem()
|
this.getBorrowerData(result);
|
this.$parent._data.loading = false;
|
},
|
methods: {
|
// 初始化各选择枚举值
|
async initDictionaryItem() {
|
// 获取省枚举值
|
const provinceResult = await getProvinceCodeList({})
|
this.provinceList = provinceResult.result;
|
// 是否枚举
|
this.YesNo = await this.qryDictionaryList("YesNo");
|
// 性别
|
this.sexList = await this.qryDictionaryList("Rh_SEX");
|
// 婚姻状况
|
this.marriageList = await this.qryDictionaryList("Rh_MARI_STATUS");
|
// 学历
|
this.educationList = await this.qryDictionaryList("Rh_EDU_LEVEL");
|
// 证件类型
|
this.IDTypeList = await this.qryDictionaryList("Rh_ID_TYPE");
|
// 学位
|
this.acaDegreeList = await this.qryDictionaryList("Rh_ACA_DEGREE");
|
// 就业状况
|
this.empStatusList = await this.qryDictionaryList("Rh_EMP_STATUS");
|
// 单位性质
|
this.cpnTypeList = await this.qryDictionaryList("Rh_CPN_TYPE");
|
// 单位所属行业
|
this.industryList = await this.qryDictionaryList("Rh_INDUSTRY");
|
// 单位所在地行政区划
|
// this.empStatusList = await this.qryDictionaryList("Rh_CPN_TYPE");
|
// 职业
|
this.occupationList = await this.qryDictionaryList("Rh_OCCUPATION");
|
// 职称
|
this.techTitleList = await this.qryDictionaryList("Rh_TECH_TITLE");
|
// 居住状况
|
this.resiStatusList = await this.qryDictionaryList("Rh_RESI_STATUS");
|
// 职务
|
this.titleList = await this.qryDictionaryList("Rh_TITLE");
|
},
|
// 接收子组件传回的数据覆盖页面数据
|
sendCredit(row){
|
this.visible = false;
|
for (let i = 0; i < this.borrowerForm.length; i++) {
|
if(this.borrowerForm[i].customerid == row.customerid){
|
for (const key in row) {
|
if (
|
key == "rv15" ||
|
key == "rv14" ||
|
key == "rv16" ||
|
key == "rv7" ||
|
key == "rb7" ||
|
key == "rv17" ||
|
key == "rv22" ||
|
key == "rv27" ||
|
key == "rt32" ||
|
key == "rt33" ||
|
key == "rj3" ||
|
key == "rk1" ||
|
key == "rk9" ||
|
key == "rl2" ||
|
key == "rl1" ||
|
key == "rl10" ||
|
key == "rc6" ||
|
key == "rd1" ||
|
key == "rd9" ||
|
key == "re1" ||
|
key == "re2" ||
|
key == "re10" ||
|
key == "rf11" ||
|
key == "rh11" ||
|
key == "rv35" ||
|
key == "rv45" ||
|
key == "rt36" ||
|
key == "rb1" ||
|
key == "rb2" ||
|
key == "rb10" ||
|
key == "rb13" ||
|
key == "rb5" ||
|
key == "rb9" ||
|
key == "rb11" ||
|
key == "rb12" ||
|
key == "rb6" ||
|
key == "rc7" ||
|
key == "rc8" ||
|
key == "rc9" ||
|
key == "rc41" ||
|
key == "rc42" ||
|
key == "rc43" ||
|
key == "rc44" ||
|
key == "n4" ||
|
key == "retain1" ||
|
key == "retain2"
|
) {
|
this.borrowerForm[i][key] = row[key]
|
}
|
}
|
break;
|
}
|
}
|
},
|
close(){
|
this.visible = false
|
},
|
// 导入征信信息
|
importCredit(row){
|
this.$parent._data.loading = true;
|
qryPersonCreditReport({
|
businessNo: row.businessno,
|
customerId: row.customerid
|
}).then(res=>{
|
this.$parent._data.loading = false;
|
this.creditInfo = res.result;
|
this.visible = true;
|
})
|
},
|
// 征信白户快捷录入
|
inputCredit(row,index){
|
common.comfirm("提示",`该操作会将${row.customerName}征信信息设置为征信白户数据,请确定是否继续?`, ()=> {
|
for (const key in row) {
|
if(key == 'rv14' || key == 'rv15' || key == 'rv16'){
|
row[key] = '0'
|
}
|
if(key == 'rv7'){
|
row[key] = '1'
|
}
|
if (
|
key == "rb7" ||
|
key == "rv17" ||
|
key == "rv22" ||
|
key == "rv27" ||
|
key == "rt32" ||
|
key == "rt33" ||
|
key == "rj3" ||
|
key == "rk1" ||
|
key == "rk9" ||
|
key == "rl2" ||
|
key == "rl1" ||
|
key == "rl10" ||
|
key == "rc6" ||
|
key == "rd1" ||
|
key == "rd9" ||
|
key == "re1" ||
|
key == "re2" ||
|
key == "re10" ||
|
key == "rf11" ||
|
key == "rh11" ||
|
key == "rv35" ||
|
key == "rv45" ||
|
key == "rt36" ||
|
key == "rb1" ||
|
key == "rb2" ||
|
key == "rb10" ||
|
key == "rb13" ||
|
key == "rb5" ||
|
key == "rb9" ||
|
key == "rb11" ||
|
key == "rb12" ||
|
key == "rb6" ||
|
key == "rc7" ||
|
key == "rc8" ||
|
key == "rc9" ||
|
key == "rc41" ||
|
key == "rc42" ||
|
key == "rc43" ||
|
key == "rc44" ||
|
key == "n4" ||
|
key == "retain1" ||
|
key == "retain2"
|
) {
|
// 将页面征信数据置为 征信白户的默认值,征信白户的默认值除“信用白户信息”外,其他内容为 0
|
row[key] = '0'
|
}
|
this.$set(this.borrowerForm,index,row)
|
}
|
})
|
},
|
// 金额格式化
|
formatMoney(value) {
|
if (value || value === 0) {
|
value =
|
parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(2) + "";
|
if (value == "NaN") return;
|
let l = value
|
.split(".")[0]
|
.split("")
|
.reverse();
|
let r = value.split(".")[1];
|
let t = "";
|
for (let i = 0; i < l.length; i++) {
|
t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? "," : "");
|
}
|
return (
|
t
|
.split("")
|
.reverse()
|
.join("") +
|
"." +
|
r
|
);
|
}
|
},
|
// 查询征信录入信息
|
getCreditReportList() {
|
return new Promise(resolve => {
|
qryCreditReportList({ businessNo: this.applyInfo.serialNo }).then(
|
res => {
|
resolve(res.result);
|
}
|
);
|
});
|
},
|
// 处理数据重新排列
|
getBorrowerData(result) {
|
// 初始化数据
|
this.borrowerForm = result;
|
this.initialArr = [];
|
this.borrowerForm.forEach(async(val, index) => {
|
// 取数组第一个作为校验规则
|
if (index == 0) {
|
for (const key in val) {
|
if(key !== 'pedestrianCreditCustomerQryInfo') this.rules[key] = []
|
// 自定义规则校验
|
if (
|
key == "rb7" ||
|
key == "rv17" ||
|
key == "rv22" ||
|
key == "rv27" ||
|
key == "rt32" ||
|
key == "rt33" ||
|
key == "rj3" ||
|
key == "rk1" ||
|
key == "rk9" ||
|
key == "rl2" ||
|
key == "rl1" ||
|
key == "rl10" ||
|
key == "rc6" ||
|
key == "rd1" ||
|
key == "rd9" ||
|
key == "re1" ||
|
key == "re2" ||
|
key == "re10" ||
|
key == "rf11" ||
|
key == "rh11" ||
|
key == "rv35" ||
|
key == "rv45" ||
|
key == "rt36"
|
) {
|
this.rules[key].push(common.validate("number"));
|
}
|
if(key === 'pedestrianCreditCustomerQryInfo') {
|
const customerQryInfoKeys = Object.keys(val.pedestrianCreditCustomerQryInfo)
|
// const filters = ['spoName', 'spoIdType', 'spoIdNum', 'spoTel', 'spsCmpyNm']
|
for(const k of customerQryInfoKeys) {
|
switch (k) {
|
case 'spoTel':
|
this.rules["pedestrianCreditCustomerQryInfo." + k] = [];
|
this.rules["pedestrianCreditCustomerQryInfo." + k].push(
|
{ required: true, message: '请输入正确的手机号码', trigger: 'blur' },
|
{
|
pattern: /^[1][3,4,5,7,8,9][0-9]{9}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
);
|
break;
|
case 'spoName':
|
case 'spoIdNum':
|
case 'spsCmpyNm':
|
this.rules["pedestrianCreditCustomerQryInfo." + k] = [];
|
this.rules["pedestrianCreditCustomerQryInfo." + k].push(
|
{ required: true, message: '请输入', trigger: 'blur' }
|
);
|
break;
|
case 'spoIdType':
|
this.rules["pedestrianCreditCustomerQryInfo." + k] = [];
|
this.rules["pedestrianCreditCustomerQryInfo." + k].push(
|
{ required: true, message: '请选择', trigger: 'change' }
|
);
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
if(key !== 'pedestrianCreditCustomerQryInfo') {
|
// 必填
|
this.rules[key].push({
|
required: true,
|
message: `必填项不能为空`,
|
trigger: "change"
|
});
|
}
|
}
|
}
|
for (const key in val) {
|
if (
|
key == "rb1" ||
|
key == "rb2" ||
|
key == "rb10" ||
|
key == "rb13" ||
|
key == "rb5" ||
|
key == "rb9" ||
|
key == "rb11" ||
|
key == "rb12" ||
|
key == "rb6" ||
|
key == "rc7" ||
|
key == "rc8" ||
|
key == "rc9" ||
|
key == "rc41" ||
|
key == "rc42" ||
|
key == "rc43" ||
|
key == "rc44" ||
|
key == "n4" ||
|
key == "retain1" ||
|
key == "retain2"
|
) {
|
val[key] = this.formatMoney(val[key]);
|
}
|
if(key === 'pedestrianCreditCustomerQryInfo') {
|
// 根据婚姻状况显示配偶信息
|
const customerQryInfoKeys = Object.keys(val.pedestrianCreditCustomerQryInfo)
|
for(const k of customerQryInfoKeys) {
|
if(k === 'mariStatus') {
|
this.getMariStatus(val.pedestrianCreditCustomerQryInfo[k], index)
|
}
|
if(k === 'empStatus') {
|
this.getEmpStatus(val.pedestrianCreditCustomerQryInfo[k], index)
|
}
|
}
|
}
|
}
|
this.initialArr.push(Object.assign({}, val));
|
this.borrowerArr[index] = {}
|
// 根据省获取市
|
val.pedestrianCreditCustomerQryInfo.cpnProvince
|
? (this.borrowerArr[
|
index
|
].cpncityList = await common.qryCityCodeList(
|
val.pedestrianCreditCustomerQryInfo.cpnProvince
|
))
|
: "";
|
// 根据市获取区
|
val.pedestrianCreditCustomerQryInfo.cpnCity
|
? (this.borrowerArr[
|
index
|
].cpncountyList = await common.qryAreaCodeList(
|
val.pedestrianCreditCustomerQryInfo.cpnCity
|
))
|
: "";
|
});
|
},
|
getMariStatus(value, index) {
|
// 当“婚姻状况”为“20-已婚”、“21-初婚”、“22-再婚”、“23-复婚”时,
|
// “配偶姓名”、“配偶证件类型”、“配偶证件号码”、“配偶联系电话”、“配偶工作单位”必须出现
|
const mariStatus = [20, 21, 22, 23]
|
if(mariStatus.includes(parseInt(value))) {
|
this.borrowerForm[index].isSpouseFlag = true
|
} else {
|
this.borrowerForm[index].isSpouseFlag = false
|
}
|
},
|
getEmpStatus(value, index) {
|
// 当“就业状况”为“11-国家公务员”、“13-专业技术人员”、“17-职员”、“21-企 业管理人员”、“24-工人”或“91-在职”时
|
// “配偶姓名”、“配偶证件类型”、“配偶证件号码”、“配偶联系电话”、“配偶工作单位”必须出现
|
const empStatus = [11, 13, 17, 21, 24, 91]
|
if(empStatus.includes(parseInt(value))) {
|
this.borrowerForm[index].isEmpStatusFlag = true
|
} else {
|
this.borrowerForm[index].isEmpStatusFlag = false
|
}
|
},
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 驳回/拒绝
|
refuse() {
|
this.$parent._data.showCredit = true;
|
this.applyMenu.forEach((val, index) => {
|
if (val.tabname == "主/共借人征信信息") {
|
common.tabInfo(
|
this.applyMenu[index + 1].tabname,
|
this.applyInfo.flowno,
|
this
|
);
|
}
|
});
|
},
|
// 保存草稿
|
saveDraft(arr) {
|
this.$parent._data.loading = true;
|
this.$parent._data.showCredit = false;
|
batchSaveCreditReport(arr).then(async res => {
|
this.$parent._data.loading = false;
|
if (res.code == "00") {
|
this.$message.success("保存成功");
|
const result = await this.getCreditReportList();
|
this.getBorrowerData(result);
|
}
|
});
|
},
|
// 提交
|
submit(arr) {const validateForm = common.validateForm(this.$refs.borrowerForm)
|
this.tabIndex = validateForm.index === undefined ? this.tabIndex : '' + validateForm.index
|
if(!validateForm.flag)return;
|
this.$parent._data.loading = true;
|
this.$parent._data.showCredit = false;
|
batchSubmitCreditReport(arr).then(async res => {
|
this.$parent._data.loading = false;
|
if (res.code == "00") {
|
const result = await this.getCreditReportList();
|
this.getBorrowerData(result);
|
// 调用父组件的查询左侧tab的方法
|
this.$parent.updateApplyTabTree('主/共借人征信信息');
|
}
|
});
|
},
|
// 上一页
|
prevStep() {
|
this.applyMenu.forEach((val, index) => {
|
if (val.tabname == "主/共借人征信信息") {
|
common.tabInfo(
|
this.applyMenu[index - 1].tabname,
|
this.applyInfo.flowno,
|
this
|
);
|
}
|
});
|
},
|
// 下一页
|
nextPage() {
|
// 调用父组件的查询左侧tab的方法
|
this.$parent.updateApplyTabTree('主/共借人征信信息');
|
}
|
},
|
beforeRouteLeave(to, from, next) {
|
for (let i = 0; i < this.borrowerForm.length; i++) {
|
for (const key in this.borrowerForm[i]) {
|
if (this.initialArr[i].hasOwnProperty(key)) {
|
if (this.borrowerForm[i][key] != this.initialArr[i][key]) {
|
// 页面有数据未保存
|
common.comfirm("提示","当前页面有数据未保存,是否放弃保存?", ()=> {
|
next();
|
})
|
return;
|
}
|
}
|
}
|
}
|
next();
|
}
|
};
|
</script>
|