<template>
|
<div
|
class="product"
|
>
|
<div class="borrower" v-for="(item,index) in borrowerArr" :key="index">
|
<p class="title">
|
<span></span>
|
个人基本信息
|
</p>
|
<el-form
|
:model="borrowerForm[index]"
|
:rules="rules"
|
ref="borrowerForm"
|
size="small"
|
inline
|
label-width="165px"
|
>
|
<div class="form">
|
<el-form-item label="客户编号" v-if="borrowerArr[index].customerid.visible" prop="customerid">
|
<el-input v-model="borrowerForm[index].customerid" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="客户名称"
|
v-if="borrowerArr[index].customername.visible"
|
prop="customername"
|
>
|
<el-input
|
v-model="borrowerForm[index].customername"
|
:disabled="!borrowerArr[index].customername.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="手机号码" v-if="borrowerArr[index].phone.visible" prop="phone">
|
<el-input
|
v-model="borrowerForm[index].phone"
|
:disabled="!borrowerArr[index].phone.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="证件类型" v-if="borrowerArr[index].certtype.visible" prop="certtype">
|
<el-select
|
v-model="borrowerForm[index].certtype"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].certtype.writeAble"
|
>
|
<el-option
|
v-for="item in certtypeList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="证件号码" v-if="borrowerArr[index].certid.visible" prop="certid">
|
<el-input
|
v-model="borrowerForm[index].certid"
|
:disabled="!borrowerArr[index].certid.writeAble"
|
@change="borrowerForm[index].certid=borrowerForm[index].certid.toUpperCase()"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="婚姻状况" v-if="borrowerArr[index].marriage.visible" prop="marriage">
|
<el-select
|
v-model="borrowerForm[index].marriage"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].marriage.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in marriageList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="最高学历" v-if="borrowerArr[index].education.visible" prop="education">
|
<el-select
|
v-model="borrowerForm[index].education"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].education.writeAble"
|
>
|
<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="工作/经营城市" v-if="borrowerArr[index].workcity.visible" prop="workcity">
|
<el-select
|
v-model="borrowerForm[index].workcity"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].workcity.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in workCityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="职业类型" v-if="borrowerArr[index].headship.visible" prop="headship">
|
<el-select
|
v-model="borrowerForm[index].headship"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="handleHeadship"
|
:disabled="!borrowerArr[index].headship.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in headshiplist"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="是否企业主/个体户"
|
v-if="borrowerArr[index].isindividualhousehold.visible"
|
prop="isindividualhousehold"
|
>
|
<el-input v-show="false" v-model="borrowerForm[index].isindividualhousehold"></el-input>
|
<el-input
|
v-model="borrowerForm[index].isindividualhouseholdDesc"
|
:disabled="!borrowerArr[index].isindividualhousehold.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="单位性质"
|
v-if="borrowerArr[index].unitproperties.visible"
|
prop="unitproperties"
|
:rules="borrowerForm[index].headship == '02'||borrowerForm[index].headship == '03'?[{required: true,message:'请输入单位性质'}]:[{ required: false }]"
|
>
|
<el-select
|
v-model="borrowerForm[index].unitproperties"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].unitproperties.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in unitproperties"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="企业主营"
|
v-if="borrowerArr[index].enterprisemain.visible"
|
prop="enterprisemain"
|
:rules="borrowerForm[index].headship == '01'?[{required: true,message:'请输入企业主营'}]:[{ required: false }]"
|
>
|
<el-input
|
v-model="borrowerForm[index].enterprisemain"
|
:disabled="!borrowerArr[index].enterprisemain.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="职位/职务"
|
v-if="borrowerArr[index].position.visible"
|
prop="position"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入职位/职务'}]:[{ required: false }]"
|
>
|
<el-input
|
v-model="borrowerForm[index].position"
|
:disabled="!borrowerArr[index].position.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="单位名称/注册号"
|
v-if="borrowerArr[index].companyname.visible"
|
prop="companyname"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位名称/注册号'}]:[{ required: false }]"
|
>
|
<el-input
|
v-model="borrowerForm[index].companyname"
|
:disabled="!borrowerArr[index].companyname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="单位电话"
|
v-if="borrowerArr[index].companyphone.visible"
|
prop="companyphone"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位电话'},{pattern: /^[0-9]([-0-9]+)$/,message: `格式不正确`}]:[{ pattern: /^[0-9]([-0-9]+)$/,message: `格式不正确`}]"
|
>
|
<el-input
|
v-model="borrowerForm[index].companyphone"
|
:disabled="!borrowerArr[index].companyphone.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(省)"
|
v-if="borrowerArr[index].companyprovince.visible"
|
prop="companyprovince"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位地址(省)'}]:[{ required: false }]"
|
>
|
<el-select
|
v-model="borrowerForm[index].companyprovince"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].companyprovince.writeAble"
|
@change="getprovince(borrowerForm[index].companyprovince,'companycityList',borrowerForm[index],function(arr){companycityList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in provinceList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(市)"
|
v-if="borrowerArr[index].companycity.visible"
|
prop="companycity"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位地址(市)'}]:[{ required: false }]"
|
>
|
<el-select
|
v-model="borrowerForm[index].companycity"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].companycity.writeAble"
|
@change="getcity(borrowerForm[index].companycity,'companycountyList',borrowerForm[index],function(arr){companycountyList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in companycityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(区)"
|
v-if="borrowerArr[index].companycounty.visible"
|
prop="companycounty"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位地址(区)'}]:[{ required: false }]"
|
>
|
<el-select
|
v-model="borrowerForm[index].companycounty"
|
clearable
|
filterable
|
:disabled="!borrowerArr[index].companycounty.writeAble"
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in companycountyList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="单位地址(街道/小区名/单元/房号)"
|
v-if="borrowerArr[index].companyaddress.visible"
|
prop="companyaddress"
|
:rules="borrowerForm[index].headship != '04'?[{required: true,message:'请输入单位地址(街道/小区名/单元/房号)'}]:[{ required: false }]"
|
>
|
<el-input
|
v-model="borrowerForm[index].companyaddress"
|
:disabled="!borrowerArr[index].companyaddress.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="家庭电话" v-if="borrowerArr[index].hometel.visible" prop="hometel">
|
<el-input
|
v-model="borrowerForm[index].hometel"
|
:disabled="!borrowerArr[index].hometel.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="是否有房" v-if="borrowerArr[index].hashome.visible" prop="hashome">
|
<el-select
|
v-model="borrowerForm[index].hashome"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].hashome.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in hashomes"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="房产所在城市"
|
v-if="borrowerArr[index].homecity.visible"
|
prop="homecity"
|
:rules="borrowerForm[index].hashome == '1'?rules.homecity:[{ required: false }]"
|
>
|
<el-select
|
v-model="borrowerForm[index].homecity"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].homecity.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in workCityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="家庭地址(省)"
|
v-if="borrowerArr[index].familyprovince.visible"
|
prop="familyprovince"
|
>
|
<el-select
|
v-model="borrowerForm[index].familyprovince"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].familyprovince.writeAble"
|
@change="getprovince(borrowerForm[index].familyprovince,'familycityList',borrowerForm[index],function(arr){familycityList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in provinceList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="家庭地址(市)"
|
v-if="borrowerArr[index].familycity.visible"
|
prop="familycity"
|
>
|
<el-select
|
v-model="borrowerForm[index].familycity"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!borrowerArr[index].familycity.writeAble"
|
@change="getcity(borrowerForm[index].familycity,'familycountyList',borrowerForm[index],function(arr){familycountyList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in familycityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="家庭地址(区)"
|
v-if="borrowerArr[index].familycounty.visible"
|
prop="familycounty"
|
>
|
<el-select
|
v-model="borrowerForm[index].familycounty"
|
clearable
|
filterable
|
:disabled="!borrowerArr[index].familycounty.writeAble"
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in familycountyList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="家庭地址(街道/小区名/单元/房号)"
|
v-if="borrowerArr[index].familyaddress.visible"
|
prop="familyaddress"
|
>
|
<el-input
|
v-model="borrowerForm[index].familyaddress"
|
:disabled="!borrowerArr[index].familyaddress.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="户籍地址(省)"
|
v-if="borrowerArr[index].kosekiprovince.visible"
|
prop="kosekiprovince"
|
>
|
<el-select
|
v-model="borrowerForm[index].kosekiprovince"
|
clearable
|
filterable
|
:disabled="!borrowerArr[index].kosekiprovince.writeAble"
|
placeholder="支持输入搜索选择"
|
@change="getprovince(borrowerForm[index].kosekiprovince,'kosekicityList',borrowerForm[index],function(arr){kosekicityList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in provinceList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="户籍地址(市)"
|
v-if="borrowerArr[index].kosekicity.visible"
|
prop="kosekicity"
|
>
|
<el-select
|
v-model="borrowerForm[index].kosekicity"
|
clearable
|
filterable
|
:disabled="!borrowerArr[index].kosekicity.writeAble"
|
placeholder="支持输入搜索选择"
|
@change="getcity(borrowerForm[index].kosekicity,'kosekicountyList',borrowerForm[index],function(arr){kosekicountyList=arr})"
|
>
|
<el-option
|
v-for="(item,index) in kosekicityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="户籍地址(区)"
|
v-if="borrowerArr[index].kosekicounty.visible"
|
prop="kosekicounty"
|
>
|
<el-select
|
v-model="borrowerForm[index].kosekicounty"
|
clearable
|
filterable
|
:disabled="!borrowerArr[index].kosekicounty.writeAble"
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in kosekicountyList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="户籍地址(街道/小区名/单元/房号)"
|
v-if="borrowerArr[index].kosekifulladd.visible"
|
prop="kosekifulladd"
|
>
|
<el-input
|
v-model="borrowerForm[index].kosekifulladd"
|
:disabled="!borrowerArr[index].kosekifulladd.writeAble"
|
></el-input>
|
</el-form-item>
|
</div>
|
<div class="form">
|
<el-form-item label=" " class="is_btn" v-if="applyInfo.phaseNo=='0100'">
|
<el-button
|
plain
|
size="small"
|
class="is_background"
|
@click="getVirtualAccount(borrowerForm[index])"
|
>获取虚拟号</el-button>
|
</el-form-item>
|
<el-form-item
|
label="绿信收款对公户开户行"
|
v-if="borrowerArr[index].bankName.visible"
|
prop="bankName"
|
>
|
<el-input
|
v-model="borrowerForm[index].bankName"
|
disabled
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="绿信收款对公户账号"
|
v-if="borrowerArr[index].balanceaccount.visible"
|
prop="balanceaccount"
|
>
|
<el-input
|
v-model="borrowerForm[index].balanceaccount"
|
disabled
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="客户还款虚拟账号"
|
v-if="borrowerArr[index].balancefictitiousaccount.visible"
|
prop="balancefictitiousaccount"
|
>
|
<el-input
|
v-model="borrowerForm[index].balancefictitiousaccount"
|
:disabled="!borrowerArr[index].balancefictitiousaccount.writeAble"
|
></el-input>
|
</el-form-item>
|
</div>
|
<p class="title" v-if="borrowerArr[index].positionrank.visible">
|
<span></span>
|
产品个性化信息
|
</p>
|
<div class="form">
|
<el-form-item label="职位/职级" v-if="borrowerArr[index].positionrank.visible" prop="positionrank">
|
<el-select
|
v-model="borrowerForm[index].positionrank"
|
:disabled="!borrowerArr[index].positionrank.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in positionranks"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="当前单位工作年限"
|
v-if="borrowerArr[index].currentworkingyears.visible"
|
prop="currentworkingyears"
|
>
|
<el-input
|
v-model="borrowerForm[index].currentworkingyears"
|
:disabled="!borrowerArr[index].currentworkingyears.writeAble"
|
></el-input>
|
</el-form-item>
|
</div>
|
</el-form>
|
<Contacts v-if="applyInfo.phaseNo>='0040'" :show="writeAble"></Contacts>
|
</div>
|
<div :class="[applyInfo.phaseNo >= '0040' ? 'fixedBtn':'btn']">
|
<el-button
|
size="medium"
|
plain
|
@click="saveDraft"
|
v-if="applyInfo.phaseNo=='0040'||applyInfo.phaseNo=='0010'"
|
>保存草稿</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="submit()"
|
v-if="applyInfo.phaseNo=='0040'||applyInfo.phaseNo=='0010'"
|
>下一步</el-button>
|
<el-button size="medium" plain @click="save" v-if="applyInfo.phaseNo>'0040'&&(applyInfo.phaseNo=='0100'||writeAble)">保存</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="nextPage()"
|
v-if="applyInfo.phaseNo!='0040'&&applyInfo.phaseNo!='0010'"
|
>下一页</el-button>
|
</div>
|
</div>
|
</template>
|
<script>
|
import {
|
qryCustomerBasicInfo,
|
getDictionaryList,
|
getAllCityAreaList,
|
submitCustomerBasicInfo,
|
saveCustomerBasicInfo,
|
getProvinceCodeList,
|
getCityCodeList,
|
getAreaCodeList,
|
qryContactList,
|
qryVirtualSettleAcct
|
} from "@/api/product";
|
import { setStorage, getStorage, removeStorage } from "@/utils/storage";
|
import common from "@/utils/common";
|
import Contacts from "@views/product/components/Contacts";
|
export default {
|
data() {
|
return {
|
applyInfo:this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
initialArr: [], //初始化数据
|
borrowerForm: [],
|
borrowerArr: [],
|
certtypeList: [],
|
workCityList: [],
|
marriageList: [],
|
educationList: [],
|
headshiplist: [],
|
positionranks: [],
|
provinceList: [],
|
companycityList: [],
|
companycountyList: [],
|
familycityList: [],
|
familycountyList: [],
|
kosekicityList: [],
|
kosekicountyList: [],
|
unitproperties: [],
|
hashomes: [],
|
arr: [],
|
rules: {},
|
writeAble:''
|
};
|
},
|
components: {
|
Contacts
|
},
|
async created() {
|
this.$parent._data.loading = true;
|
// 查询借款人信息
|
const result = await this.getCustomerBasicInfo();
|
this.borrowerArr.push(result);
|
// 取数组第一个作为校验规则
|
this.borrowerArr.forEach((val, index) => {
|
if (index == 0) {
|
for (const key in val) {
|
this.rules[key] = [];
|
// 自定义规则校验
|
switch (key) {
|
case "customername":
|
this.rules[key].push(common.validate("name"));
|
break;
|
case "currentworkingyears":
|
this.rules[key].push(common.validate("number"));
|
break;
|
case "phone":
|
this.rules[key].push(common.validate("phone"));
|
break;
|
case "certid":
|
const checkCertid = (rule, value, callback) => common.checkCertid(this.borrowerForm[index].certtype,value,callback)
|
this.rules[key].push({ validator: checkCertid, trigger: 'change' });
|
break;
|
case "companyname":
|
this.rules[key].push(common.validate("companyname"));
|
break;
|
case "hometel":
|
this.rules[key].push(common.validate("telephone"));
|
break;
|
default:
|
break;
|
}
|
// 必填校验
|
if (val[key].required) {
|
this.rules[key].push({
|
required: true,
|
message: `请输入${val[key].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
}
|
const obj = {};
|
for (const key in val) {
|
obj[key] = val[key].value;
|
}
|
this.borrowerForm.push(obj);
|
});
|
// 判断如果是贷款就要添加下面的逻辑
|
if (this.applyInfo.phaseNo >= "0040") {
|
// 获取省枚举值
|
getProvinceCodeList({}).then(res => {
|
this.provinceList = res.result;
|
});
|
// 获取单位性质下拉
|
this.unitproperties = await this.qryDictionaryList("UnitProperTies");
|
//是否企业主/个体户
|
if (this.borrowerForm[0].headship == "01") {
|
this.borrowerForm[0].isindividualhousehold = "1";
|
this.borrowerForm[0].isindividualhouseholdDesc = "是";
|
} else {
|
this.borrowerForm[0].isindividualhousehold = "0";
|
this.borrowerForm[0].isindividualhouseholdDesc = "否";
|
}
|
// 根据省获取市
|
this.borrowerForm[0].companyprovince
|
? (this.companycityList = await common.qryCityCodeList(
|
this.borrowerForm[0].companyprovince
|
))
|
: "";
|
this.borrowerForm[0].familyprovince
|
? (this.familycityList = await common.qryCityCodeList(
|
this.borrowerForm[0].familyprovince
|
))
|
: "";
|
this.borrowerForm[0].kosekiprovince
|
? (this.kosekicityList = await common.qryCityCodeList(
|
this.borrowerForm[0].kosekiprovince
|
))
|
: "";
|
// 根据市获取区
|
this.borrowerForm[0].companycity
|
? (this.companycountyList = await common.qryAreaCodeList(
|
this.borrowerForm[0].companycity
|
))
|
: "";
|
this.borrowerForm[0].familycity
|
? (this.familycountyList = await common.qryAreaCodeList(
|
this.borrowerForm[0].familycity
|
))
|
: "";
|
this.borrowerForm[0].kosekicity
|
? (this.kosekicountyList = await common.qryAreaCodeList(
|
this.borrowerForm[0].kosekicity
|
))
|
: "";
|
}
|
// 将数组进行浅克隆,作为数据比较
|
this.borrowerForm.forEach(element => {
|
this.initialArr.push(Object.assign({}, element));
|
});
|
// 判断页面是否都是只读
|
this.writeAble = this.borrowerArr[0].phone.writeAble;
|
//获取证件类型列表
|
this.certtypeList = await this.qryDictionaryList("CertType");
|
//获取工作经营城市
|
getAllCityAreaList({ queryFlag: "02" }).then(res => {
|
this.workCityList = res.result;
|
});
|
// 职位/职级
|
this.positionranks = await this.qryDictionaryList("PositionRank");
|
// 是否有房
|
this.hashomes = await this.qryDictionaryList("YesNo");
|
// 获取婚姻状况下拉
|
this.marriageList = await this.qryDictionaryList("MarRiage");
|
// 最高学历下拉
|
this.educationList = await this.qryDictionaryList("EducationCode");
|
// 职业类型
|
this.headshiplist = await this.qryDictionaryList("HeadShip");
|
this.$parent._data.loading = false;
|
},
|
methods: {
|
// 获取虚拟号
|
getVirtualAccount(form){
|
qryVirtualSettleAcct({applySerialNo: this.applyInfo.serialNo}).then(res=>{
|
if(res.code=='00'){
|
form.bankName = res.result.bankName
|
form.balanceaccount = res.result.settleAcct
|
form.balancefictitiousaccount = res.result.acctNo
|
}
|
})
|
},
|
// 处理数据,将数据重新排列
|
getBorrowerData(result) {
|
this.borrowerForm = [];
|
this.initialArr = [];
|
this.borrowerArr = [];
|
this.borrowerArr.push(result);
|
this.borrowerArr.forEach((val, index) => {
|
// 将数据重新排列
|
const obj = {};
|
for (const key in val) {
|
obj[key] = val[key].value;
|
}
|
this.borrowerForm.push(obj);
|
this.initialArr.push(Object.assign({}, obj));
|
});
|
// 判断如果是贷款就要添加下面的逻辑
|
if (this.applyInfo.phaseNo >= "0040") {
|
//是否企业主/个体户
|
if (this.borrowerForm[0].headship == "01") {
|
this.borrowerForm[0].isindividualhousehold = "1";
|
this.borrowerForm[0].isindividualhouseholdDesc = "是";
|
} else {
|
this.borrowerForm[0].isindividualhousehold = "0";
|
this.borrowerForm[0].isindividualhouseholdDesc = "否";
|
}
|
}
|
},
|
// 查询借款人
|
getCustomerBasicInfo() {
|
return new Promise(resolve => {
|
qryCustomerBasicInfo({
|
applySerialNo: this.applyInfo.serialNo,
|
customerId: this.applyInfo.customerid
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 保存借款人接口
|
getSaveCustomerBasicInfo(form) {
|
return new Promise(resolve => {
|
saveCustomerBasicInfo(form).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
// 提交借款人接口
|
getSubmitCustomerBasicInfo(form) {
|
return new Promise(resolve => {
|
submitCustomerBasicInfo(this.borrowerForm[0]).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
//根据职业类型自动填充是否企业主
|
handleHeadship(val) {
|
// 判断是否是贷款申请编辑
|
if (this.applyInfo.phaseNo >= "0040") {
|
if (val == "01") {
|
this.borrowerForm[0].isindividualhousehold = "1";
|
this.borrowerForm[0].isindividualhouseholdDesc = "是";
|
} else {
|
this.borrowerForm[0].isindividualhousehold = "0";
|
this.borrowerForm[0].isindividualhouseholdDesc = "否";
|
}
|
}
|
},
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 查询联系人
|
getContactList() {
|
return new Promise(resolve => {
|
qryContactList({
|
applySerialNo: this.applyInfo.serialNo,
|
customerId: this.applyInfo.customerid,
|
relationtype: "03"
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 下一页
|
nextPage() {
|
// 调用父组件的查询左侧tab的方法
|
this.$parent.updateApplyTabTree('借款人信息');
|
},
|
// 提交
|
async submit() {
|
if(!common.validateForm(this.$refs.borrowerForm).flag)return;
|
const contacts = await this.getContactList();
|
if (this.applyInfo.phaseNo >= "0040") {
|
if (!contacts.length) {
|
this.$message.warning("至少填写一个联系人信息");
|
return;
|
}
|
}
|
this.$parent._data.loading = true;
|
const res = await this.getSubmitCustomerBasicInfo(
|
this.borrowerForm[0]
|
);
|
if (res.code == "00") {
|
const result = await this.getCustomerBasicInfo();
|
this.getBorrowerData(result);
|
this.nextPage()
|
}
|
this.$parent._data.loading = false;
|
},
|
// 保存需要校验数据完整性
|
async save() {
|
if(!common.validateForm(this.$refs.borrowerForm).flag)return;
|
const contacts = await this.getContactList();
|
if (this.applyInfo.phaseNo >= "0040") {
|
if (!contacts.length) {
|
this.$message.warning("至少填写一个联系人信息");
|
return;
|
}
|
}
|
this.$parent._data.loading = true;
|
// 保存
|
const res = await this.getSaveCustomerBasicInfo(this.borrowerForm[0]);
|
// 保存成功查询列表数据
|
if (res.code == "00") {
|
const result = await this.getCustomerBasicInfo();
|
// 将数据重新排列
|
this.getBorrowerData(result);
|
this.$message.success("保存成功");
|
}
|
this.$parent._data.loading = false;
|
},
|
// 保存草稿
|
async saveDraft() {
|
this.$parent._data.loading = true;
|
// 保存
|
const res = await this.getSaveCustomerBasicInfo(this.borrowerForm[0]);
|
// 保存成功查询列表数据
|
if (res.code == "00") {
|
const result = await this.getCustomerBasicInfo();
|
// 将数据重新排列
|
this.getBorrowerData(result);
|
this.$message.success("保存成功");
|
// 保存草稿需要调用父组件的查询左侧tab的方法
|
this.$parent.getApplyTabTree();
|
}
|
this.$parent._data.loading = false;
|
}
|
},
|
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>
|