<template>
|
<div class="product">
|
<div v-for="(item,index) in loanArr" :key="index">
|
<el-form
|
:model="loanForm[index]"
|
:rules="rules"
|
ref="loanForm"
|
label-width="165px"
|
inline
|
size="small"
|
>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
基本信息
|
</p>
|
<div class="form">
|
<el-form-item label="申请编号">
|
<el-input v-model="loanForm[index].serialno" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="合同编号" v-if="loanArr[index].contractartificialno.visible">
|
<el-input v-model="loanForm[index].contractartificialno" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="产品名称" v-if="loanArr[index].productid.visible" prop="productid">
|
<el-input v-model="loanForm[index].productname" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="产品维度名称"
|
v-if="loanArr[index].productdimension.visible"
|
prop="productdimension"
|
>
|
<el-input v-show="false" v-model="loanForm[index].productdimension"></el-input>
|
<el-input v-model="loanForm[index].productdimensionname" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="业务类型" v-if="loanArr[index].occurtype.visible" prop="occurtype">
|
<el-select
|
v-model="loanForm[index].occurtype"
|
:disabled="!loanArr[index].occurtype.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in buildingbusinesstypeList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="产品种类"
|
v-if="loanArr[index].buildingbusinesstype.visible"
|
prop="buildingbusinesstype"
|
>
|
<el-select
|
v-model="loanForm[index].buildingbusinesstype"
|
:disabled="!loanArr[index].buildingbusinesstype.writeAble"
|
@change="selBuildingbusinesstype"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in businessTypeList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="产品客群名称"
|
v-if="loanArr[index].productcustomerscode.visible"
|
prop="productcustomerscode"
|
>
|
<el-input
|
v-model="loanForm[index].customerbasename"
|
:disabled="!loanArr[index].productcustomerscode.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="业务城市" v-if="loanArr[index].businesscity.visible" prop="businesscity">
|
<el-select
|
v-model="loanForm[index].businesscity"
|
:disabled="!loanArr[index].businesscity.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in allCityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="贷款申请金额"
|
v-if="loanArr[index].businesssum.visible"
|
prop="businesssum"
|
>
|
<el-input
|
v-model="loanForm[index].businesssum"
|
:disabled="!loanArr[index].businesssum.writeAble"
|
maxlength="15"
|
@blur="loanForm[index].businesssum = formatMoney(loanForm[index].businesssum);qryTrial(loanForm[index])"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="贷款申请期限(天)"
|
v-if="loanArr[index].businesstermday.visible"
|
prop="businesstermday"
|
>
|
<el-input
|
v-model="loanForm[index].businesstermday"
|
:disabled="!loanArr[index].businesstermday.writeAble"
|
@blur="qryTrial(loanForm[index])"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="还款方式"
|
v-if="loanArr[index].repaymenttype.visible"
|
prop="repaymenttype"
|
>
|
<el-select
|
v-model="loanForm[index].repaymenttype"
|
:disabled="!loanArr[index].repaymenttype.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="qryHopebusinesstermmonth(loanForm[index]);qryTrial(loanForm[index])"
|
>
|
<el-option
|
v-for="(item,index) in repayTypeList"
|
:key="index"
|
:label="item.paymentName"
|
:value="item.paymentType"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="授信金额" v-if="loanArr[index].productcreditamtlimit.visible" prop="productcreditamtlimit">
|
<el-input
|
v-model="loanForm[index].productcreditamtlimit"
|
:disabled="!loanArr[index].productcreditamtlimit.writeAble"
|
maxlength="15"
|
@blur="loanForm[index].productcreditamtlimit = formatMoney(loanForm[index].productcreditamtlimit);qryTrial(loanForm[index])"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="贷款金额" v-if="loanArr[index].actualputoutsum.visible" prop="actualputoutsum">
|
<el-input
|
v-model="loanForm[index].actualputoutsum"
|
:disabled="!loanArr[index].actualputoutsum.writeAble"
|
maxlength="15"
|
@blur="loanForm[index].actualputoutsum = formatMoney(loanForm[index].actualputoutsum);qryTrial(loanForm[index])"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="贷款期限(天)"
|
v-if="loanArr[index].actualputoutday.visible"
|
prop="actualputoutday"
|
>
|
<el-input
|
v-model="loanForm[index].actualputoutday"
|
@blur="qryTrial(loanForm[index])"
|
:disabled="!loanArr[index].actualputoutday.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
class="remark"
|
label="备注"
|
v-if="loanArr[index].remark.visible"
|
prop="remark"
|
>
|
<el-input
|
type="textarea"
|
maxlength="100"
|
:autosize="{ minRows: 2, maxRows: 2}"
|
v-model="loanForm[index].remark"
|
:disabled="!loanArr[index].remark.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="放款资金单元" v-if="loanArr[index].fundunitno.visible" prop="fundunitno">
|
<el-select
|
v-model="loanForm[index].fundunitno"
|
:disabled="!loanArr[index].fundunitno.writeAble"
|
@change="selfundunitno"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="item in fundUnitList"
|
:key="item.fundunitno"
|
:label="item.fundunitname"
|
:value="item.fundunitno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="贷款机构清单"
|
v-if="loanArr[index].loanOrgList.visible"
|
prop="loanOrgList"
|
>
|
<el-input v-model="loanForm[index].loanOrgList" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="渠道剩余额度" v-if="loanArr[index].surplusamt.visible">
|
<el-input v-model="loanForm[index].surplusamt" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="资金单元剩余可用额度"
|
v-if="loanArr[index].fundunitremanentamt.visible"
|
prop="fundunitremanentamt"
|
>
|
<el-input v-model="loanForm[index].fundunitremanentamt" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="报单人编号"
|
v-if="loanArr[index].operateuserid.visible"
|
prop="operateuserid"
|
>
|
<el-input v-model="loanForm[index].operateuserid" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="报单人名称"
|
v-if="loanArr[index].operateuserName.visible"
|
prop="operateuserName"
|
>
|
<el-input v-model="loanForm[index].operateuserName" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="报单人直属机构"
|
v-if="loanArr[index].operateorgName.visible"
|
prop="operateorgName"
|
>
|
<el-input v-model="loanForm[index].operateorgName" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="报单人所属一级内部机构"
|
v-if="loanArr[index].operatefirstinternallevel.visible"
|
prop="operatefirstinternallevel"
|
>
|
<el-input v-model="loanForm[index].operatefirstinternallevelName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="报单日期" v-if="loanArr[index].inputdate.visible" prop="inputdate">
|
<el-input v-model="loanForm[index].inputdate" disabled></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
赎楼信息
|
</p>
|
<div class="form">
|
<el-form-item
|
label="原贷款金额"
|
v-if="loanArr[index].ransomInfo.oldbusinesssum.visible"
|
prop="ransomInfoRequest.oldbusinesssum"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.oldbusinesssum"
|
@blur="loanForm[index].ransomInfoRequest.oldbusinesssum = formatMoney(loanForm[index].ransomInfoRequest.oldbusinesssum)"
|
:disabled="!loanArr[index].ransomInfo.oldbusinesssum.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="目前剩余贷款金额"
|
v-if="loanArr[index].ransomInfo.currentbusinesssum.visible"
|
prop="ransomInfoRequest.currentbusinesssum"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.currentbusinesssum"
|
@blur="loanForm[index].ransomInfoRequest.currentbusinesssum = formatMoney(loanForm[index].ransomInfoRequest.currentbusinesssum);qryCalBuildPercent()"
|
:disabled="!loanArr[index].ransomInfo.currentbusinesssum.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="自筹赎楼金额"
|
v-if="loanArr[index].ransomInfo.raisebusinesssum.visible"
|
prop="ransomInfoRequest.raisebusinesssum"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.raisebusinesssum"
|
@blur="loanForm[index].ransomInfoRequest.raisebusinesssum = formatMoney(loanForm[index].ransomInfoRequest.raisebusinesssum)"
|
:disabled="!loanArr[index].ransomInfo.raisebusinesssum.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="原贷款银行/机构"
|
v-if="loanArr[index].ransomInfo.oldmortgagebank.visible"
|
prop="ransomInfoRequest.oldmortgagebank"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.oldmortgagebank"
|
:disabled="!loanArr[index].ransomInfo.oldmortgagebank.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="原贷款扣款账户名"
|
v-if="loanArr[index].ransomInfo.oldloanaccountname.visible"
|
prop="ransomInfoRequest.oldloanaccountname"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.oldloanaccountname"
|
:disabled="!loanArr[index].ransomInfo.oldloanaccountname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="原贷款扣款账号"
|
v-if="loanArr[index].ransomInfo.oldloanaccountno.visible"
|
prop="ransomInfoRequest.oldloanaccountno"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.oldloanaccountno"
|
:disabled="!loanArr[index].ransomInfo.oldloanaccountno.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="是否渠道代收赎楼款"
|
v-if="loanArr[index].ransomInfo.ischannelcollection.visible"
|
prop="ransomInfoRequest.ischannelcollection"
|
>
|
<el-select
|
v-model="loanForm[index].ransomInfoRequest.ischannelcollection"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择"
|
:disabled="!loanArr[index].ransomInfo.ischannelcollection.writeAble"
|
>
|
<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=" "
|
class="is_btn"
|
v-if="loanForm[index].ransomInfoRequest.ischannelcollection == 1?true:false"
|
>
|
<el-button class="is_background" plain size="small" @click="handleChannelAcctList()">选择渠道收款账户</el-button>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户银行名称"
|
v-if="loanArr[index].ransomInfo.collectionbankno.visible"
|
prop="ransomInfoRequest.collectionbankno"
|
>
|
<el-select
|
v-model="loanForm[index].ransomInfoRequest.collectionbankno"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionbankno.writeAble"
|
@change="selCollectionbankno"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="item in bankList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户银行分支行名称"
|
v-if="loanArr[index].ransomInfo.collectionbranchbankno.visible"
|
prop="ransomInfoRequest.collectionbranchbankno"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.collectionbranchbankname"
|
readonly
|
:disabled="!loanArr[index].ransomInfo.collectionbranchbankno.writeAble"
|
class="input-with-select"
|
>
|
<el-button slot="append" icon="el-icon-search" v-if="loanArr[index].ransomInfo.collectionbranchbankno.writeAble" @click="getBankBranch"></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户户名"
|
v-if="loanArr[index].ransomInfo.collectionaccountsname.visible"
|
prop="ransomInfoRequest.collectionaccountsname"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.collectionaccountsname"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionaccountsname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户账号"
|
v-if="loanArr[index].ransomInfo.collectionaccountsno.visible"
|
prop="ransomInfoRequest.collectionaccountsno"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.collectionaccountsno"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionaccountsno.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户银行所在省份"
|
v-if="loanArr[index].ransomInfo.collectionbankprovince.visible"
|
prop="ransomInfoRequest.collectionbankprovince"
|
>
|
<el-select
|
v-model="loanForm[index].ransomInfoRequest.collectionbankprovince"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionbankprovince.writeAble"
|
@change="getprovince(loanForm[index].ransomInfoRequest.collectionbankprovince,'putoutbankcityList',loanForm[index],function(arr){putoutbankcityList=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="loanArr[index].ransomInfo.collectionbankcity.visible"
|
prop="ransomInfoRequest.collectionbankcity"
|
>
|
<el-select
|
v-model="loanForm[index].ransomInfoRequest.collectionbankcity"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionbankcity.writeAble"
|
>
|
<el-option
|
v-for="(item,index) in putoutbankcityList"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="收款账户银行预留手机号码"
|
v-if="loanArr[index].ransomInfo.collectionmoblie.visible"
|
prop="ransomInfoRequest.collectionmoblie"
|
>
|
<el-input
|
v-model="loanForm[index].ransomInfoRequest.collectionmoblie"
|
:disabled="loanForm[index].ransomInfoRequest.ischannelcollection == 1||!loanArr[index].ransomInfo.collectionmoblie.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="实际赎楼日期"
|
v-if="loanArr[index].ransomInfo.actualredbuildingdate.visible"
|
prop="ransomInfoRequest.actualredbuildingdate"
|
>
|
<el-date-picker
|
v-model="loanForm[index].ransomInfoRequest.actualredbuildingdate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].ransomInfo.actualredbuildingdate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="实际注销日期"
|
v-if="loanArr[index].ransomInfo.actualcanceldate.visible"
|
prop="ransomInfoRequest.actualcanceldate"
|
>
|
<el-date-picker
|
v-model="loanForm[index].ransomInfoRequest.actualcanceldate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].ransomInfo.actualcanceldate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="过户递件日期"
|
v-if="loanArr[index].ransomInfo.actualtransferdate.visible"
|
prop="ransomInfoRequest.actualtransferdate"
|
>
|
<el-date-picker
|
v-model="loanForm[index].ransomInfoRequest.actualtransferdate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].ransomInfo.actualtransferdate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="实际抵押日期"
|
v-if="loanArr[index].ransomInfo.actualmortgagedate.visible"
|
prop="ransomInfoRequest.actualmortgagedate"
|
>
|
<el-date-picker
|
v-model="loanForm[index].ransomInfoRequest.actualmortgagedate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].ransomInfo.actualmortgagedate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="备注"
|
style="width:100%"
|
v-if="loanArr[index].ransomInfo.remark.visible"
|
prop="ransomInfoRequest.remark"
|
>
|
<el-input
|
type="textarea"
|
maxlength="100"
|
v-model="loanForm[index].ransomInfoRequest.remark"
|
:disabled="!loanArr[index].ransomInfo.remark.writeAble"
|
></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
新贷信息
|
</p>
|
<div class="form">
|
<el-form-item
|
label="新贷款银行/机构"
|
v-if="loanArr[index].buildAcctInfo.newmortgagebank.visible"
|
prop="buildAccountRequest.newmortgagebank"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newmortgagebank"
|
:disabled="!loanArr[index].buildAcctInfo.newmortgagebank.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="新贷款批复金额"
|
v-if="loanArr[index].buildAcctInfo.newbusinesssum.visible"
|
prop="buildAccountRequest.newbusinesssum"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newbusinesssum"
|
@blur="loanForm[index].buildAccountRequest.newbusinesssum = formatMoney(loanForm[index].buildAccountRequest.newbusinesssum);qryCalBuildPercent()"
|
:disabled="!loanArr[index].buildAcctInfo.newbusinesssum.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="新贷款收款账户类型"
|
v-if="loanArr[index].buildAcctInfo.newaccounttype.visible"
|
prop="buildAccountRequest.newaccounttype"
|
>
|
<el-select
|
v-model="loanForm[index].buildAccountRequest.newaccounttype"
|
:disabled="!loanArr[index].buildAcctInfo.newaccounttype.writeAble"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择"
|
@change="selNewaccounttype"
|
>
|
<el-option
|
v-for="(item,index) in newaccounttypes"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="新贷款收款银行名称"
|
v-if="loanArr[index].buildAcctInfo.newcollectionbankno.visible"
|
prop="buildAccountRequest.newcollectionbankno"
|
>
|
<el-select
|
v-model="loanForm[index].buildAccountRequest.newcollectionbankno"
|
:disabled="!loanArr[index].buildAcctInfo.newcollectionbankno.writeAble"
|
@change="selNewcollectionbankno"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="item in bankList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="收款账户开户银行分支行"
|
v-if="loanArr[index].buildAcctInfo.newcollectionbranchbankno.visible"
|
prop="buildAccountRequest.newcollectionbranchbankno"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newcollectionbranchbankname"
|
readonly
|
:disabled="!loanArr[index].buildAcctInfo.newcollectionbranchbankno.writeAble"
|
class="input-with-select"
|
>
|
<el-button slot="append" icon="el-icon-search" v-if="loanArr[index].buildAcctInfo.newcollectionbranchbankno.writeAble" @click="getNewBankBranch"></el-button>
|
</el-input>
|
</el-form-item>
|
<el-form-item
|
label="新贷款收款账户名"
|
v-if="loanArr[index].buildAcctInfo.newcollectionaccountsname.visible"
|
prop="buildAccountRequest.newcollectionaccountsname"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newcollectionaccountsname"
|
:disabled="loanForm[index].buildAccountRequest.newaccounttype=='01'||!loanArr[index].buildAcctInfo.newcollectionaccountsname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="新贷款收款账号"
|
v-if="loanArr[index].buildAcctInfo.newcollectionaccountsno.visible"
|
prop="buildAccountRequest.newcollectionaccountsno"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newcollectionaccountsno"
|
:disabled="!loanArr[index].buildAcctInfo.newcollectionaccountsno.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="EVS评估总值"
|
prop="buildAccountRequest.evs"
|
v-if="loanArr[index].buildAcctInfo.evs.visible"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.evs"
|
@blur="loanForm[index].buildAccountRequest.evs = formatMoney(loanForm[index].buildAccountRequest.evs);qryCalBuildPercent()"
|
:disabled="!loanArr[index].buildAcctInfo.evs.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="赎楼成数(%)"
|
v-if="loanArr[index].buildAcctInfo.buildingfew.visible"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.buildingfew"
|
disabled
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="新贷款成数(%)"
|
v-if="loanArr[index].buildAcctInfo.newapplyfew.visible"
|
>
|
<el-input
|
v-model="loanForm[index].buildAccountRequest.newapplyfew"
|
disabled
|
></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block" v-if="loanArr[index].putOutInfo&&loanArr[index].manualputoutflag.visible">
|
<p class="title">
|
<span></span>
|
放款信息
|
</p>
|
<div class="form">
|
<el-form-item label="系统放款状态" prop="sysputoutstatus" v-if="loanArr[index].sysputoutstatus.visible">
|
<el-input v-model="loanArr[index].putOutInfo.sysputoutstatus.valueDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="系统放款失败原因" prop="sysputoutfail" v-if="loanArr[index].sysputoutfail.visible">
|
<el-input v-model="loanForm[index].sysputoutfail" :disabled="!loanArr[index].sysputoutfail.writeAble"></el-input>
|
</el-form-item>
|
<el-form-item label="系统放款通道" prop="sysputoutchannl" v-if="loanArr[index].sysputoutchannl.visible">
|
<el-input v-model="loanArr[index].putOutInfo.sysputoutchannl.valueDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="人工放款标志" prop="manualputoutflag" v-if="loanArr[index].manualputoutflag.visible">
|
<el-input v-model="loanArr[index].putOutInfo.manualputoutflag.valueDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="放款日期" prop="putoutdate" v-if="loanArr[index].putoutdate.visible">
|
<el-date-picker
|
v-model="loanForm[index].putoutdate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].putoutdate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item label="线下放款账户类型" prop="offlineputoutbankno" v-if="loanArr[index].offlineputoutbankno.visible">
|
<el-select
|
v-model="loanForm[index].offlineputoutbankno"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
:disabled="!loanArr[index].offlineputoutbankno.writeAble"
|
@change="selOfflinePutoutBank"
|
>
|
<el-option
|
v-for="item in offlinePutoutBankList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="线下放款账户号码" prop="offlineputoutaccountno" v-if="loanArr[index].offlineputoutaccountno.visible">
|
<el-input v-model="loanForm[index].offlineputoutaccountno" :disabled="!loanArr[index].offlineputoutaccountno.writeAble"></el-input>
|
</el-form-item>
|
<el-form-item label="线下放款账户名称" prop="offlineputoutaccountname" v-if="loanArr[index].offlineputoutaccountname.visible">
|
<el-input v-model="loanForm[index].offlineputoutaccountname" :disabled="!loanArr[index].offlineputoutaccountname.writeAble"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<PriceInfo :pricingInfo="loanForm[index].pricingInfo"></PriceInfo>
|
</el-form>
|
</div>
|
<div class="fixedBtn">
|
<el-button
|
size="medium"
|
plain
|
@click="saveDraft(loanForm)"
|
v-if="applyInfo.phaseNo=='0010'"
|
>保存草稿</el-button>
|
<el-button size="medium" plain @click="save(loanForm)" v-if="applyInfo.phaseNo>'0010'&&applyInfo.phaseNo<'0220'">保存</el-button>
|
<el-button
|
size="medium"
|
plain
|
@click="prevStep"
|
v-if="applyInfo.phaseNo=='0010'"
|
>上一步</el-button>
|
<el-button
|
size="medium"
|
plain
|
@click="prevStep"
|
v-else
|
>上一页</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="submit(loanForm)"
|
v-if="applyInfo.phaseNo=='0010'"
|
>下一步</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="nextPage()"
|
v-else
|
>下一页</el-button>
|
</div>
|
<Branch
|
v-if="showBranch"
|
:visible="showBranch"
|
:bank="bankNo"
|
@closeBranch="closeDialog"
|
@sendBranch="sendBranch"
|
></Branch>
|
<ChannelAcct
|
v-if="showChannelAcct"
|
:visible="showChannelAcct"
|
@closeChannelAcct="closeDialog"
|
@sendChannelAcct="sendChannelAcct"
|
></ChannelAcct>
|
</div>
|
</template>
|
<script>
|
import { setStorage, getStorage } from "@/utils/storage";
|
import common from "@/utils/common";
|
import Branch from "@views/product/components/Branch";
|
import ChannelAcct from "./components/ChannelAcct";
|
import PriceInfo from "@views/product/components/PriceInfo";
|
import {
|
qryApplyDetail,
|
qryLoanTermList,
|
getDictionaryList,
|
getAllCityAreaList,
|
qryRepayTypeList,
|
saveOrUpdatePreApplyLoan,
|
submitApplyLoan,
|
tryTrialPriceInfo,
|
getBankList,
|
qryFundUnitList,
|
qryHopeLoanTermList,
|
getProvinceCodeList,
|
matchCustomerBaseMark,
|
qryLoanOrgList,
|
CalBuildPercent
|
} from "@/api/product";
|
export default {
|
data() {
|
return {
|
applyInfo:this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
initialArr: [], //初始数据
|
loanForm: [],
|
loanArr: [],
|
loanTermList: [],
|
businessTypeList: [],
|
allCityList: [],
|
repayTypeList: [],
|
bankList: [],
|
buildingbusinesstypeList: [],
|
fundUnitList: [],
|
hopeLoanTermList: [],
|
provinceList: [],
|
putoutbankcityList: [],
|
YesNo: [],
|
newaccounttypes: [],
|
offlinePutoutBankList: [],
|
rules: {},
|
bankNo: "",
|
isNewcollectionbank: false,
|
showChannelAcct: false,
|
showBranch: false,
|
};
|
},
|
async created() {
|
this.$parent._data.loading = true;
|
const result = await this.getApplyDetail();
|
this.getApplyData(result);
|
// 业务类型
|
this.buildingbusinesstypeList = await this.qryDictionaryList(
|
"BuildingBusinessType"
|
);
|
// 产品种类
|
this.businessTypeList = await this.qryDictionaryList("BuildingProductType");
|
// 城市下拉公用方法
|
this.qryAllCityAreaList();
|
// 获取期望贷款期限
|
this.getHopeLoanTermList();
|
// 收款银行列表
|
this.bankList = await this.qryBankList("1,3");
|
// 放款资金单元查询
|
this.getFundUnitList();
|
// 是否渠道代收赎楼款
|
this.YesNo = await this.qryDictionaryList("YesNo");
|
// 新贷款收款账户类型
|
this.newaccounttypes = await this.qryDictionaryList("NewAccountType");
|
// 获取线下放款账户类型
|
this.offlinePutoutBankList = await this.qryDictionaryList('PutOutAccountType')
|
// 获取省枚举值
|
getProvinceCodeList({}).then(res => {
|
this.provinceList = res.result;
|
});
|
// 根据省获取市
|
this.loanForm[0].ransomInfoRequest.collectionbankprovince
|
? (this.putoutbankcityList = await common.qryCityCodeList(
|
this.loanForm[0].ransomInfoRequest.collectionbankprovince
|
))
|
: "";
|
this.$parent._data.loading = false;
|
},
|
components: {
|
PriceInfo,
|
Branch,
|
ChannelAcct
|
},
|
methods: {
|
selOfflinePutoutBank(val){
|
for (let i = 0; i < this.offlinePutoutBankList.length; i++) {
|
if(this.offlinePutoutBankList[i].itemno == val){
|
this.loanForm[0].offlineputoutbankname = this.offlinePutoutBankList[i].itemname
|
this.loanForm[0].offlineputoutaccountno = this.offlinePutoutBankList[i].attribute1
|
this.loanForm[0].offlineputoutaccountname = this.offlinePutoutBankList[i].attribute3
|
break
|
}
|
}
|
},
|
// 金额格式化
|
formatMoney(value) {
|
if (value) {
|
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
|
);
|
}
|
},
|
// 获取渠道收款用户
|
handleChannelAcctList() {
|
this.showChannelAcct = true;
|
},
|
// 根据evs总值自动计算赎楼成数和新贷款成数
|
qryCalBuildPercent(){
|
if(this.loanForm[0].buildAccountRequest.evs&&this.loanForm[0].ransomInfoRequest.currentbusinesssum&&this.loanForm[0].buildAccountRequest.newbusinesssum){
|
CalBuildPercent({
|
evs:this.loanForm[0].buildAccountRequest.evs,
|
currentbusinesssum:this.loanForm[0].ransomInfoRequest.currentbusinesssum,
|
newbusinesssum:this.loanForm[0].buildAccountRequest.newbusinesssum
|
}).then(res=>{
|
this.loanForm[0].buildAccountRequest.buildingfew = res.result.buildingfew
|
this.loanForm[0].buildAccountRequest.newapplyfew = res.result.newapplyfew
|
})
|
}
|
},
|
// 接收子组件的传值
|
sendBranch(data) {
|
if (this.isNewcollectionbank) {
|
this.loanForm[0].buildAccountRequest.newcollectionbranchbankno =
|
data.bankno;
|
this.loanForm[0].buildAccountRequest.newcollectionbranchbankname =
|
data.bankname;
|
} else {
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankno = data.bankno;
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankname =
|
data.bankname;
|
}
|
},
|
// 根据放款资金单元获取资金剩余可用额度
|
selfundunitno(val){
|
for (let i = 0; i < this.fundUnitList.length; i++) {
|
if(val == this.fundUnitList[i].fundunitno){
|
this.loanForm[0].fundunitremanentamt = this.formatMoney(this.fundUnitList[i].remainTotalSum)
|
this.loanForm[0].fundunitname = this.fundUnitList[i].fundunitname
|
break;
|
}
|
}
|
// 获取贷款机构清单
|
if(val){
|
qryLoanOrgList({fundUnitNo:val}).then(res=>{
|
this.loanForm[0].loanOrgList = res.result[0].orgName
|
})
|
}
|
},
|
async sendChannelAcct(data) {
|
this.loanForm[0].ransomInfoRequest.collectionbankno = data.bankdeposit;
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankname =
|
data.subbranchdeposit;
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankno =
|
data.subbranchcode;
|
this.loanForm[0].ransomInfoRequest.collectionaccountsname =
|
data.accountname;
|
this.loanForm[0].ransomInfoRequest.collectionaccountsno = data.accountid;
|
this.loanForm[0].ransomInfoRequest.collectionbankprovince =
|
data.provincedeposit;
|
// 根据省获取市
|
this.loanForm[0].ransomInfoRequest.collectionbankprovince
|
? (this.putoutbankcityList = await common.qryCityCodeList(
|
this.loanForm[0].ransomInfoRequest.collectionbankprovince
|
))
|
: "";
|
this.loanForm[0].ransomInfoRequest.collectionbankcity = data.citydeposit;
|
this.loanForm[0].ransomInfoRequest.collectionmoblie = data.telphone;
|
},
|
// 监听新贷款收款账户类型
|
selNewaccounttype(val){
|
if(val=='01'){
|
this.loanForm[0].buildAccountRequest.newcollectionaccountsname = this.applyInfo.customerName
|
}
|
},
|
// 根据产品种类获取产品客群
|
selBuildingbusinesstype(val){
|
if(val){
|
matchCustomerBaseMark({
|
buildingbusinesstype:val,
|
occurtype:this.loanForm[0].occurtype,
|
productCode:this.loanForm[0].productid,
|
applyserialno:this.applyInfo.serialNo,
|
}).then(res=>{
|
this.loanForm[0].customerbasename = res.result.customersName
|
this.loanForm[0].productcustomerscode = res.result.customersCode
|
this.loanForm[0].productdimension = res.result.productdimension
|
this.loanForm[0].productdimensionname = res.result.productdimensionname
|
})
|
}
|
},
|
// 监听收款银行开户行
|
selCollectionbankno() {
|
// 当重新选择开户行就要更新开户行分支行
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankno = "";
|
this.loanForm[0].ransomInfoRequest.collectionbranchbankname = "";
|
},
|
// 监听新贷银行
|
selNewcollectionbankno() {
|
// 当重新选择开户行就要更新开户行分支行
|
this.loanForm[0].buildAccountRequest.newcollectionbranchbankno = "";
|
this.loanForm[0].buildAccountRequest.newcollectionbranchbankname = "";
|
},
|
// 获取收款银行分支行
|
getBankBranch() {
|
if (!this.loanForm[0].ransomInfoRequest.collectionbankno) {
|
this.$message.warning("请输入收款银行开户行");
|
return;
|
}
|
this.bankNo = this.loanForm[0].ransomInfoRequest.collectionbankno;
|
this.showBranch = true;
|
this.isNewcollectionbank = false;
|
},
|
// 获取新贷收款银行分支行
|
getNewBankBranch() {
|
if (!this.loanForm[0].buildAccountRequest.newcollectionbankno) {
|
this.$message.warning("请输入新贷收款银行名称");
|
return;
|
}
|
this.bankNo = this.loanForm[0].buildAccountRequest.newcollectionbankno;
|
this.showBranch = true;
|
this.isNewcollectionbank = true;
|
},
|
closeDialog(data) {
|
this.showBranch = data;
|
this.showChannelAcct = data;
|
},
|
// 获取期望贷款期限
|
getHopeLoanTermList() {
|
qryHopeLoanTermList({ productCode: this.applyInfo.productID }).then(
|
res => {
|
this.hopeLoanTermList = res.result;
|
}
|
);
|
},
|
// 放款资金单元下拉
|
getFundUnitList() {
|
qryFundUnitList({}).then(res => {
|
this.fundUnitList = res.result;
|
// 放款资金单元默认选中鹏友小贷
|
if(!this.loanForm[0].fundunitno){
|
this.fundUnitList.forEach(val => {
|
if(val.fundunitno=='SLXD'){
|
this.loanForm[0].fundunitremanentamt = this.formatMoney(val.remainTotalSum)
|
this.loanForm[0].fundunitno = val.fundunitno
|
this.loanForm[0].fundunitname = val.fundunitname
|
this.initialArr[0].fundunitremanentamt = this.formatMoney(val.remainTotalSum)
|
this.initialArr[0].fundunitno = val.fundunitno
|
this.initialArr[0].fundunitname = val.fundunitname
|
}
|
});
|
}
|
});
|
},
|
// 银行列表
|
qryBankList(code) {
|
return new Promise(resolve => {
|
getBankList({
|
codeNo: "BankCode",
|
itmeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 定价信息试算
|
qryTrial(form) {
|
if (
|
(form.productcustomerscode ||
|
!this.loanArr[0].productcustomerscode.visible ||
|
!this.loanArr[0].productcustomerscode.writeAble ||
|
!this.loanArr[0].productcustomerscode.required) &&
|
(form.businesssum || !this.loanArr[0].businesssum.visible) &&
|
(form.businesstermmonth ||
|
!this.loanArr[0].businesstermmonth.visible) &&
|
(form.businesstermday ||
|
!this.loanArr[0].businesstermday.visible) &&
|
(form.actualputoutsum ||
|
!this.loanArr[0].actualputoutsum.visible ||
|
!this.loanArr[0].actualputoutsum.writeAble) &&
|
(form.actualputoutday ||
|
!this.loanArr[0].actualputoutday.visible ||
|
!this.loanArr[0].actualputoutday.writeAble) &&
|
(form.productcreditamtlimit ||
|
!this.loanArr[0].productcreditamtlimit.visible ||
|
!this.loanArr[0].productcreditamtlimit.writeAble) &&
|
(form.repaymenttype || !this.loanArr[0].repaymenttype.visible)
|
) {
|
form.businesssum = this.formatMoney(form.businesssum)
|
const obj = {
|
serialno: this.applyInfo.serialNo,
|
productcustomerscode: form.productcustomerscode,
|
businesssum: form.businesssum,
|
businesstermmonth: form.businesstermmonth,
|
businesstermday: form.businesstermday,
|
actualputoutsum: form.actualputoutsum,
|
actualputoutday: form.actualputoutday,
|
productcreditamtlimit: form.productcreditamtlimit,
|
repaymenttype: form.repaymenttype
|
};
|
this.$parent._data.loading = true;
|
if (/^\d{1,3}(,?\d{3})*(\.\d{1,2})?$/.test(form.businesssum)) {
|
tryTrialPriceInfo(obj).then(res => {
|
this.$parent._data.loading = false;
|
if (res.code == "00") {
|
res.result.msg = "";
|
//更新产品维度
|
form.productdimension = res.result.productdimension;
|
form.productdimensionname = res.result.productdimensionname;
|
form.amountloan = res.result.amountloan;
|
//更新定价信息
|
if (res.result.pricingInfo) {
|
form.pricingInfo = res.result.pricingInfo;
|
}
|
// 提示试算结果
|
if (res.result.flags) {
|
for (const key in res.result.flags) {
|
if (res.result.flags[key]) {
|
if (res.result.msg) {
|
res.result.msg += "," + res.result.flags[key];
|
} else {
|
res.result.msg += res.result.flags[key];
|
}
|
// 将贷款期限,还款方式,放款金额清空值
|
switch (key) {
|
case "flagBusinesssum":
|
form.businesssum = "";
|
break;
|
case "flagBusinesstermmonth":
|
form.businesstermmonth = "";
|
break;
|
case "flagBusinesstermday":
|
form.businesstermday = "";
|
break;
|
case "flagRepaymenttype":
|
form.repaymenttype = "";
|
break;
|
case "flagActualputoutsum":
|
form.actualputoutsum = "";
|
break;
|
case "flagActualputoutday":
|
form.actualputoutday = "";
|
break;
|
case "flagProductcreditamtlimit":
|
form.productcreditamtlimit = "";
|
break;
|
default:
|
break;
|
}
|
// 将定价信息里面的所有字段value清空
|
for (const key in form.pricingInfo) {
|
form.pricingInfo[key] = "";
|
}
|
}
|
}
|
}
|
// 提示语
|
if(res.result.msg){
|
this.$message.warning(res.result.msg)
|
}
|
// 更新还款方式下拉选项
|
if (res.result.repaymentTermList.length) {
|
this.repayTypeList = res.result.repaymentTermList;
|
for (let i = 0; i < this.repayTypeList.length; i++) {
|
if (
|
this.repayTypeList[i].paymentType == form.repaymenttype
|
) {
|
return;
|
}
|
}
|
form.repaymenttype = "";
|
} else {
|
this.getRepayTypeList();
|
}
|
}
|
});
|
} else {
|
this.$message.warning('贷款金额输入格式有误,请重新输入!')
|
form.businesssum = "";
|
this.$parent._data.loading = false;
|
}
|
}
|
},
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
qryHopebusinesstermmonth(form) {
|
if (
|
(form.productcustomerscode ||
|
!this.loanArr[0].productcustomerscode.visible ||
|
!this.loanArr[0].productcustomerscode.writeAble ||
|
!this.loanArr[0].productcustomerscode.required) &&
|
(form.businesssum ||
|
!this.loanArr[0].businesssum.visible) &&
|
(form.businesstermmonth ||
|
!this.loanArr[0].businesstermmonth.visible) &&
|
(form.businesstermday ||
|
!this.loanArr[0].businesstermday.visible) &&
|
(form.actualputoutsum ||
|
!this.loanArr[0].actualputoutsum.visible ||
|
!this.loanArr[0].actualputoutsum.writeAble) &&
|
(form.actualputoutday ||
|
!this.loanArr[0].actualputoutday.visible ||
|
!this.loanArr[0].actualputoutday.writeAble) &&
|
(form.productcreditamtlimit ||
|
!this.loanArr[0].productcreditamtlimit.visible ||
|
!this.loanArr[0].productcreditamtlimit.writeAble) &&
|
(form.repaymenttype ||
|
!this.loanArr[0].repaymenttype.visible) &&
|
this.applyInfo.phaseNo >= "0040"
|
) {
|
this.qryTrial(form);
|
}
|
},
|
// 处理数据,并校验规则
|
getApplyData(result) {
|
this.loanArr = [];
|
this.loanForm = [];
|
this.initialArr = [];
|
this.loanArr.push(result);
|
// 初始化数据和校验规则
|
this.loanArr.forEach((val, index) => {
|
for (const key in val) {
|
if(key == 'putOutInfo'){
|
for (const child in val[key]) {
|
val[child] = val[key][child]
|
}
|
}
|
}
|
// 将数据重新排列
|
const obj = {};
|
for (const key in val) {
|
// 格式化金额
|
if (
|
key == "fundunitremanentamt" ||
|
key == "businesssum" ||
|
key == "actualputoutsum" ||
|
key == "productcreditamtlimit" ||
|
key == "surplusamt"
|
) {
|
val[key].value = this.formatMoney(val[key].value);
|
}
|
// 自定义校验规则,涉及金额将进行格式化
|
if (key == "ransomInfo") {
|
for (const child in val[key]) {
|
if (
|
child == "oldbusinesssum" ||
|
child == "raisebusinesssum" ||
|
child == "currentbusinesssum"
|
) {
|
val[key][child].value = this.formatMoney(val[key][child].value);
|
}
|
this.rules["ransomInfoRequest." + child] = [];
|
switch (child) {
|
case "collectionmoblie":
|
this.rules["ransomInfoRequest." + child].push(
|
common.validate("phone")
|
);
|
break;
|
case "collectionaccountsno":
|
this.rules["ransomInfoRequest." + child].push(
|
common.validate("number")
|
);
|
break;
|
case "repaymentcardno":
|
this.rules["ransomInfoRequest." + child].push(
|
common.validate("number")
|
);
|
break;
|
default:
|
break;
|
}
|
if (val[key][child].required) {
|
this.rules["ransomInfoRequest." + child].push({
|
required: true,
|
message: `请输入${val[key][child].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
} else if (key == "buildAcctInfo") {
|
for (const child in val[key]) {
|
if (child == "newbusinesssum") {
|
val[key][child].value = this.formatMoney(val[key][child].value);
|
}
|
this.rules["buildAccountRequest." + child] = [];
|
if (val[key][child].required) {
|
this.rules["buildAccountRequest." + child].push({
|
required: true,
|
message: `请输入${val[key][child].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
} else {
|
this.rules[key] = [];
|
switch (key) {
|
case "businesstermday":
|
this.rules[key].push(common.validate("number"));
|
break;
|
case "actualputoutday":
|
this.rules[key].push(common.validate("number"));
|
break;
|
default:
|
break;
|
}
|
if (val[key].required) {
|
this.rules[key].push({
|
required: true,
|
message: `请输入${val[key].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
if (
|
key != "pricingInfo" &&
|
key != "ransomInfo" &&
|
key != "putOutInfo" &&
|
key != "buildAcctInfo"
|
) {
|
obj[key] = val[key].value;
|
val[key].value = "";
|
obj["loanStoreFlagDesc"] =
|
val["loanStoreFlag"].value == 1 ? "是" : "否";
|
} else {
|
if(key=='pricingInfo'){
|
obj[key] = val[key];
|
}
|
if (key == "ransomInfo") {
|
obj["ransomInfoRequest"] = {};
|
for (const child in val[key]) {
|
obj["ransomInfoRequest"][child] = val[key][child].value;
|
}
|
// 是否渠道代收赎楼款:默认填写否
|
obj["ransomInfoRequest"].ischannelcollection = "0";
|
}
|
if (key == "buildAcctInfo") {
|
obj["buildAccountRequest"] = {};
|
for (const child in val[key]) {
|
obj["buildAccountRequest"][child] = val[key][child].value;
|
}
|
}
|
}
|
}
|
this.loanForm.push(obj);
|
this.initialArr.push(JSON.parse(JSON.stringify(obj)))
|
});
|
// 还款方式
|
this.getRepayTypeList()
|
},
|
// 查询贷款申请信息
|
getApplyDetail() {
|
return new Promise(resolve => {
|
qryApplyDetail({
|
serialNo: this.applyInfo.serialNo,
|
objectType: "BuildingBusinessApply"
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 城市公用列表
|
qryAllCityAreaList() {
|
getAllCityAreaList({ queryFlag: "02" }).then(res => {
|
this.allCityList = res.result;
|
});
|
},
|
// 还款方式
|
getRepayTypeList() {
|
qryRepayTypeList({
|
termUnit: "D",
|
productCode: this.loanForm[0].productid,
|
creditTerm: this.loanForm[0].businesstermmonth,
|
dimensionCode: this.loanForm[0].productdimension
|
}).then(res => {
|
this.repayTypeList = res.result;
|
});
|
},
|
// 保存接口
|
saveApplyLoan(arr) {
|
arr[0].ransomInfoRequest.applyserialno = this.applyInfo.serialNo
|
arr[0].buildAccountRequest.applyserialno = this.applyInfo.serialNo
|
return new Promise(resolve => {
|
saveOrUpdatePreApplyLoan(arr[0]).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
// 提交接口
|
getSubmitApplyLoan(arr) {
|
arr[0].ransomInfoRequest.applyserialno = this.applyInfo.serialNo
|
arr[0].buildAccountRequest.applyserialno = this.applyInfo.serialNo
|
return new Promise(resolve => {
|
submitApplyLoan(arr[0]).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
// 贷款申请保存并且校验数据完整性
|
async save(arr) {
|
if(!common.validateForm(this.$refs.loanForm).flag)return;
|
this.$parent._data.loading = true;
|
const res = await this.saveApplyLoan(arr);
|
if (res.code == "00") {
|
const result = await this.getApplyDetail();
|
this.getApplyData(result);
|
this.$message.success("保存成功");
|
}
|
this.$parent._data.loading = false;
|
},
|
// 贷款申请保存草稿
|
async saveDraft(arr) {
|
this.$parent._data.loading = true;
|
const res = await this.saveApplyLoan(arr);
|
if (res.code == "00") {
|
const result = await this.getApplyDetail();
|
this.getApplyData(result);
|
this.$message.success("保存成功");
|
// 保存草稿需要调用父组件的查询左侧tab的方法
|
this.$parent.getApplyTabTree();
|
}
|
this.$parent._data.loading = false;
|
},
|
// 上一步
|
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('贷款申请信息');
|
},
|
// 查询凭证信息
|
getVoucherList() {
|
return new Promise(resolve => {
|
qryVoucherList({ businessNo: this.applyInfo.serialNo }).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 下一步并校验必须至少填写一个凭证信息
|
async submit(arr) {
|
if(!common.validateForm(this.$refs.loanForm).flag)return;
|
this.$parent._data.loading = true;
|
const res = await this.getSubmitApplyLoan(arr);
|
if (res.code == "00") {
|
const result = await this.getApplyDetail();
|
this.getApplyData(result);
|
this.nextPage()
|
}
|
this.$parent._data.loading = false;
|
},
|
},
|
beforeRouteLeave(to, from, next) {
|
for (let i = 0; i < this.loanForm.length; i++) {
|
for (const key in this.loanForm[i]) {
|
if (this.initialArr[i].hasOwnProperty(key)) {
|
if(typeof this.loanForm[i][key]==='object'){
|
if(key!='pricingInfo'){
|
for (const child in this.loanForm[i][key]) {
|
if(this.initialArr[i][key].hasOwnProperty(child)){
|
if(this.loanForm[i][key][child] != this.initialArr[i][key][child]){
|
// 页面有数据未保存
|
common.comfirm("提示", "当前页面有数据未保存,是否放弃保存?", () => {
|
next();
|
});
|
return;
|
}
|
}
|
}
|
}
|
}else{
|
if (this.loanForm[i][key] != this.initialArr[i][key]) {
|
// 页面有数据未保存
|
common.comfirm("提示", "当前页面有数据未保存,是否放弃保存?", () => {
|
next();
|
});
|
return;
|
}
|
}
|
}
|
}
|
}
|
next();
|
}
|
};
|
</script>
|