<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].productdimensionname.visible"
|
prop="productdimensionname"
|
:class="{'isDifferent':item.productdimensionname.isDifferent}"
|
>
|
<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"
|
:class="{'isDifferent':item.occurtype.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].occurtype"
|
:disabled="!loanArr[index].occurtype.writeAble"
|
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].customerbasename.visible"
|
prop="customerbasename"
|
:class="{'isDifferent':item.customerbasename.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].productcustomerscode"
|
:disabled="!loanArr[index].customerbasename.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="selproductcustomerscode"
|
>
|
<el-option
|
v-for="(item,index) in customerBaseList"
|
:key="index"
|
:label="item.customersName"
|
:value="item.customersCode"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="客户基础额度"
|
v-if="loanArr[index].basecreditamt.visible"
|
prop="basecreditamt"
|
:class="{'isDifferent':item.basecreditamt.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].basecreditamt"
|
:disabled="!loanArr[index].basecreditamt.writeAble"
|
@blur="loanForm[index].basecreditamt = formatMoney(loanForm[index].basecreditamt)"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="产品授信额度"
|
v-if="loanArr[index].productcreditamtlimit.visible"
|
prop="productcreditamtlimit"
|
:class="{'isDifferent':item.productcreditamtlimit.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].productcreditamtlimit"
|
:disabled="!loanArr[index].productcreditamtlimit.writeAble"
|
@blur="loanForm[index].productcreditamtlimit = formatMoney(loanForm[index].productcreditamtlimit)"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="可使用授信额度"
|
v-if="loanArr[index].productremanentamt.visible"
|
prop="productremanentamt"
|
:class="{'isDifferent':item.productremanentamt.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].productremanentamt"
|
:disabled="!loanArr[index].productremanentamt.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="额度生效日期"
|
v-if="loanArr[index].effectivedate.visible"
|
prop="effectivedate"
|
:class="{'isDifferent':item.effectivedate.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].effectivedate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].effectivedate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="合同/额度到期日期"
|
v-if="loanArr[index].diseffectivedate.visible"
|
prop="diseffectivedate"
|
:class="{'isDifferent':item.diseffectivedate.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].diseffectivedate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].diseffectivedate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="贷款金额"
|
v-if="loanArr[index].businesssum.visible"
|
prop="businesssum"
|
:class="{'isDifferent':item.businesssum.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].businesssum"
|
:disabled="!loanArr[index].businesssum.writeAble"
|
@blur="loanForm[index].businesssum = formatMoney(loanForm[index].businesssum);qryTrial(loanForm[index])"
|
@change="getCountPayInterestAmt"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="贷款期限(天)"
|
v-if="loanArr[index].businesstermday.visible"
|
prop="businesstermday"
|
:class="{'isDifferent':item.businesstermday.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].businesstermday"
|
:disabled="!loanArr[index].businesstermday.writeAble"
|
@change="getCountPayInterestAmt"
|
@blur="qryTrial(loanForm[index])"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="还款方式"
|
v-if="loanArr[index].repaymenttype.visible"
|
prop="repaymenttype"
|
:class="{'isDifferent':item.repaymenttype.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].repaymenttype"
|
:disabled="!loanArr[index].repaymenttype.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="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].rateday.visible"
|
prop="rateday"
|
:class="{'isDifferent':item.rateday.isDifferent}"
|
>
|
<el-input-number
|
v-model="loanForm[index].rateday"
|
controls-position="right"
|
@change="getCountPayInterestAmt"
|
:min="0.06"
|
:max="0.1"
|
:precision="2"
|
:step="0.01"
|
size="small"
|
:disabled="!loanArr[index].rateday.writeAble"
|
></el-input-number>
|
</el-form-item>
|
<el-form-item
|
label="罚息日利率(%)"
|
v-if="loanArr[index].feerate.visible"
|
prop="feerate"
|
:class="{'isDifferent':item.feerate.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].feerate"
|
:disabled="!loanArr[index].feerate.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="借款用途"
|
v-if="loanArr[index].purposedescription.visible"
|
prop="purposedescription"
|
:class="{'isDifferent':item.purposedescription.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].purposedescription"
|
:disabled="!loanArr[index].purposedescription.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<el-option
|
v-for="(item,index) in loanPurposeList"
|
:key="index"
|
:label="item.purposeDescription"
|
:value="item.purposeType"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
label="业务城市"
|
v-if="loanArr[index].businesscity.visible"
|
prop="businesscity"
|
:class="{'isDifferent':item.businesscity.isDifferent}"
|
>
|
<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].remark.visible"
|
prop="remark"
|
:class="{'isDifferent':item.bidProjectInfo.biddelayline.isDifferent,'remark':true}"
|
>
|
<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].planlenddate.visible"
|
prop="planlenddate"
|
:class="{'isDifferent':item.planlenddate.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].planlenddate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].planlenddate.writeAble"
|
@change="getCountPayInterestAmt"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="预计贷款到期日期"
|
v-if="loanArr[index].advanceputoutdate.visible"
|
prop="advanceputoutdate"
|
:class="{'isDifferent':item.advanceputoutdate.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].advanceputoutdate"
|
:disabled="!loanArr[index].advanceputoutdate.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="预计贷款利息"
|
v-if="loanArr[index].advanceinterestamt.visible"
|
prop="advanceinterestamt"
|
:class="{'isDifferent':item.advanceinterestamt.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].advanceinterestamt"
|
:disabled="!loanArr[index].advanceinterestamt.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="实际贷款到期日期"
|
v-if="loanArr[index].maturitydate.visible"
|
prop="maturitydate"
|
:class="{'isDifferent':item.maturitydate.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].maturitydate"
|
:disabled="!loanArr[index].maturitydate.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="实际贷款利息"
|
v-if="loanArr[index].actualinterestamt.visible"
|
prop="actualinterestamt"
|
:class="{'isDifferent':item.actualinterestamt.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].actualinterestamt"
|
:disabled="!loanArr[index].actualinterestamt.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="鹏友收款结算户名"
|
v-if="loanArr[index].balanceaccountname.visible"
|
prop="balanceaccountname"
|
:class="{'isDifferent':item.balanceaccountname.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].balanceaccountname"
|
:disabled="!loanArr[index].balanceaccountname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="鹏友收款结算账号"
|
v-if="loanArr[index].balanceaccount.visible"
|
prop="balanceaccount"
|
:class="{'isDifferent':item.balanceaccount.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].balanceaccount"
|
:disabled="!loanArr[index].balanceaccount.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="鹏友收款结算银行"
|
v-if="loanArr[index].balanceaccountbankname.visible"
|
prop="balanceaccountbankname"
|
:class="{'isDifferent':item.balanceaccountbankname.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].balanceaccountbankname"
|
:disabled="!loanArr[index].balanceaccountbankname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="放款资金单元"
|
v-if="loanArr[index].fundunitno.visible"
|
:class="{'isDifferent':item.fundunitno.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].fundunitname" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="贷款机构清单"
|
v-if="loanArr[index].loanOrgList.visible"
|
prop="loanOrgList"
|
:class="{'isDifferent':item.loanOrgList.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].loanOrgList" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="资金单元剩余可用额度"
|
v-if="loanArr[index].fundunitremanentamt.visible"
|
prop="fundunitremanentamt"
|
:class="{'isDifferent':item.fundunitremanentamt.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].fundunitremanentamt" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="渠道剩余贷款额度"
|
v-if="loanArr[index].surplusamt.visible"
|
prop="surplusamt"
|
:class="{'isDifferent':item.surplusamt.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].surplusamt" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="推荐人手机号"
|
v-if="loanArr[index].refereephone.visible"
|
prop="refereephone"
|
:class="{'isDifferent':item.refereephone.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].refereephone"
|
@change="getRefereerInfo('refereePhone','0')"
|
:disabled="!loanArr[index].refereephone.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="推荐人编号"
|
v-if="loanArr[index].refereeid.visible"
|
prop="refereeid"
|
:class="{'isDifferent':item.refereeid.isDifferent}"
|
>
|
<el-input
|
v-model="loanForm[index].refereeid"
|
@change="getRefereerInfo('refereeId','1')"
|
:disabled="!loanArr[index].refereeid.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="推荐人名称"
|
v-if="loanArr[index].refereename.visible"
|
prop="refereename"
|
:class="{'isDifferent':item.refereename.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].refereename" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="推荐人直属机构"
|
v-if="loanArr[index].refereeorgname.visible"
|
prop="refereeorgname"
|
:class="{'isDifferent':item.refereeorgname.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].refereeorgname" disabled></el-input>
|
</el-form-item>
|
<el-form-item
|
label="推荐人所属一级内部机构"
|
v-if="loanArr[index].refereefirstinternallevel.visible"
|
prop="refereefirstinternallevel"
|
:class="{'isDifferent':item.refereefirstinternallevel.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].refereefirstinternallevelName" disabled></el-input>
|
<el-input v-model="loanForm[index].refereefirstinternallevel" v-show="false"></el-input>
|
</el-form-item>
|
<el-form-item
|
label="报单人编号"
|
v-if="loanArr[index].operateuserid.visible"
|
prop="operateuserid"
|
:class="{'isDifferent':item.operateuserid.isDifferent}"
|
>
|
<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"
|
:class="{'isDifferent':item.operateuserName.isDifferent}"
|
>
|
<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"
|
:class="{'isDifferent':item.operateorgName.isDifferent}"
|
>
|
<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"
|
:class="{'isDifferent':item.operatefirstinternallevel.isDifferent}"
|
>
|
<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"
|
:class="{'isDifferent':item.inputdate.isDifferent}"
|
>
|
<el-input v-model="loanForm[index].inputdate" disabled></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="_block" v-if="applyInfo.occurtype!='01'">
|
<p class="title">
|
<span></span>
|
投标项目信息
|
</p>
|
<div class="form">
|
<el-form-item
|
label="项目名称"
|
v-if="loanArr[index].bidProjectInfo.bidprojectname.visible"
|
prop="saveBidProjectInfoRequest.bidprojectname"
|
:class="{'isDifferent':item.bidProjectInfo.bidprojectname.isDifferent}"
|
>
|
<el-input
|
maxlength="100"
|
v-model="loanForm[index].saveBidProjectInfoRequest.bidprojectname"
|
:disabled="!loanArr[index].bidProjectInfo.bidprojectname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="开标时间"
|
v-if="loanArr[index].bidProjectInfo.bidbegintime.visible"
|
prop="saveBidProjectInfoRequest.bidbegintime"
|
:class="{'isDifferent':item.bidProjectInfo.bidbegintime.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].saveBidProjectInfoRequest.bidbegintime"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].bidProjectInfo.bidbegintime.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="投标截止时间"
|
v-if="loanArr[index].bidProjectInfo.bidendtime.visible"
|
prop="saveBidProjectInfoRequest.bidendtime"
|
:class="{'isDifferent':item.bidProjectInfo.bidendtime.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].saveBidProjectInfoRequest.bidendtime"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].bidProjectInfo.bidendtime.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="标的链接"
|
v-if="loanArr[index].bidProjectInfo.bidlink.visible"
|
prop="saveBidProjectInfoRequest.bidlink"
|
:class="{'isDifferent':item.bidProjectInfo.bidlink.isDifferent,'remark':true}"
|
>
|
<el-input
|
type="textarea"
|
:rows="2"
|
v-model="loanForm[index].saveBidProjectInfoRequest.bidlink"
|
:disabled="!loanArr[index].bidProjectInfo.bidlink.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="新投标截止时间"
|
v-if="loanArr[index].bidProjectInfo.biddeadline.visible"
|
prop="saveBidProjectInfoRequest.biddeadline"
|
:class="{'isDifferent':item.bidProjectInfo.biddeadline.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].saveBidProjectInfoRequest.biddeadline"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!loanArr[index].bidProjectInfo.biddeadline.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
label="是否延期开标"
|
v-if="loanArr[index].bidProjectInfo.bidisdelay.visible"
|
prop="saveBidProjectInfoRequest.bidisdelay"
|
:class="{'isDifferent':item.bidProjectInfo.bidisdelay.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].saveBidProjectInfoRequest.bidisdelay"
|
:disabled="!loanArr[index].bidProjectInfo.bidisdelay.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<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="延期开标公告链接"
|
v-if="loanArr[index].bidProjectInfo.biddelayline.visible"
|
prop="saveBidProjectInfoRequest.biddelayline"
|
:class="{'isDifferent':item.bidProjectInfo.biddelayline.isDifferent,'remark':true}"
|
>
|
<el-input
|
type="textarea"
|
:rows="2"
|
v-model="loanForm[index].saveBidProjectInfoRequest.biddelayline"
|
:disabled="!loanArr[index].bidProjectInfo.biddelayline.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item
|
label="是否企业垫资"
|
v-if="loanArr[index].bidProjectInfo.isentadvancemoney.visible"
|
prop="saveBidProjectInfoRequest.isentadvancemoney"
|
:class="{'isDifferent':item.bidProjectInfo.isentadvancemoney.isDifferent}"
|
>
|
<el-select
|
v-model="loanForm[index].saveBidProjectInfoRequest.isentadvancemoney"
|
:disabled="!loanArr[index].bidProjectInfo.isentadvancemoney.writeAble"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
>
|
<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="招标人退还保证金日期"
|
v-if="loanArr[index].bidProjectInfo.backdepositdate.visible"
|
prop="saveBidProjectInfoRequest.backdepositdate"
|
:rules="(loanForm[index].saveBidProjectInfoRequest.isentadvancemoney == '0'&&(applyInfo.phaseNo == '0204' || applyInfo.phaseNo == '0203'))||applyInfo.phaseNo == '0206' || applyInfo.phaseNo == '0207'?[{required: true,message:'请输入招标人退还保证金日期'}]:[{ required: false }]"
|
:class="{'isDifferent':item.bidProjectInfo.backdepositdate.isDifferent}"
|
>
|
<el-date-picker
|
v-model="loanForm[index].saveBidProjectInfoRequest.backdepositdate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
title="招标人退还保证金给投标人的日期"
|
:disabled="!loanArr[index].bidProjectInfo.backdepositdate.writeAble"
|
></el-date-picker>
|
</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="offlineputoutbankname"
|
v-if="loanArr[index].offlineputoutbankname.visible"
|
>
|
<el-select
|
v-model="loanForm[index].offlineputoutbankno"
|
clearable
|
filterable
|
placeholder="支持输入搜索选择"
|
@change="selOfflinePutoutBank"
|
:disabled="!loanArr[index].offlineputoutbankname.writeAble"
|
>
|
<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>
|
</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="prevStep" v-if="applyInfo.phaseNo=='0010'">上一步</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="submit(loanForm)"
|
v-if="applyInfo.phaseNo=='0010'"
|
>下一步</el-button>
|
<el-button size="medium" plain @click="save(loanForm)" v-if="applyInfo.phaseNo!='0010'">保存</el-button>
|
<el-button size="medium" plain @click="prevStep" v-if="applyInfo.phaseNo!='0010'">上一页</el-button>
|
<el-button
|
size="medium"
|
type="primary"
|
@click="nextPage()"
|
v-if="applyInfo.phaseNo!='0010'"
|
>下一页</el-button>
|
</div>
|
</div>
|
</template>
|
<script>
|
import { setStorage, getStorage } from "@/utils/storage";
|
import common from "@/utils/common";
|
import {
|
qryApplyDetail,
|
getDictionaryList,
|
qryCustomerBaseList,
|
qryRepayTypeList,
|
matchPurposeList,
|
getAllCityAreaList,
|
qryRefereerInfo,
|
qryChannelQuotaAmt,
|
saveOrUpdatePreApplyLoan,
|
submitApplyLoan,
|
countPayInterestAmt,
|
tryTrialPriceInfo
|
} from "@api/product";
|
export default {
|
data() {
|
return {
|
applyInfo: this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
initialArr: [], //初始数据
|
loanForm: [],
|
loanArr: [],
|
businessTypeList: [],
|
customerBaseList: [],
|
repayTypeList: [],
|
allCityList: [],
|
loanPurposeList: [],
|
offlinePutoutBankList: [],
|
YesNo: [],
|
rules: {}
|
};
|
},
|
async created() {
|
this.$parent._data.loading = true;
|
let result = await this.getApplyDetail();
|
result = this.compareFields(result)
|
this.getApplyData(result);
|
// 业务类型
|
this.businessTypeList = await this.qryDictionaryList(
|
"BuildingBusinessTypeCredit"
|
);
|
// 获取线下放款账户类型
|
this.offlinePutoutBankList = await this.qryDictionaryList(
|
"PutOutAccountType"
|
);
|
// 是否下拉
|
this.YesNo = await this.qryDictionaryList("YesNo");
|
this.getCustomerBaseList();
|
this.getRepayTypeList();
|
this.qrypurposetype();
|
this.qryAllCityAreaList();
|
this.$parent._data.loading = false;
|
},
|
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;
|
}
|
}
|
},
|
// 定价信息试算
|
qryTrial(form) {
|
if (
|
(form.productcustomerscode ||
|
!this.loanArr[0].customerbasename.visible ||
|
!this.loanArr[0].customerbasename.writeAble ||
|
!this.loanArr[0].customerbasename.required) &&
|
(form.businesssum || !this.loanArr[0].businesssum.visible) &&
|
(form.businesstermday || !this.loanArr[0].businesstermday.visible) &&
|
(form.repaymenttype || !this.loanArr[0].repaymenttype.visible)
|
) {
|
form.hopebusinesssum = this.formatMoney(form.hopebusinesssum);
|
form.businesssum = this.formatMoney(form.businesssum);
|
const obj = {
|
serialno: this.applyInfo.serialNo,
|
productcustomerscode: form.productcustomerscode,
|
businesssum: form.businesssum,
|
businesstermday: form.businesstermday,
|
repaymenttype: form.repaymenttype
|
};
|
this.$parent._data.loading = true;
|
if (
|
/^\d{1,3}(,?\d{3})*(\.\d{1,2})?$/.test(form.businesssum) &&
|
this.loanArr[0].businesssum.visible
|
) {
|
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.productremanentamt = this.formatMoney(
|
res.result.productremanentamt
|
);
|
// 提示试算结果
|
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 "flagBusinesstermday":
|
form.businesstermday = "";
|
break;
|
case "flagRepaymenttype":
|
form.repaymenttype = "";
|
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) {
|
let flag = true;
|
this.repayTypeList = res.result.repaymentTermList;
|
for (let i = 0; i < this.repayTypeList.length; i++) {
|
if (this.repayTypeList[i].paymentType == form.repaymenttype) {
|
flag = false;
|
break;
|
}
|
}
|
if (flag) {
|
form.repaymenttype = "";
|
}
|
} else {
|
this.getRepayTypeList();
|
}
|
}
|
});
|
} else {
|
this.$message.warning("贷款金额输入格式有误,请重新输入!");
|
form.businesssum = "";
|
this.$parent._data.loading = false;
|
}
|
}
|
},
|
// 获取贷款申请详情
|
getApplyDetail() {
|
return new Promise(resolve => {
|
qryApplyDetail({ serialNo: this.applyInfo.serialNo }).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 招标贷计算预计贷款利息
|
getCountPayInterestAmt() {
|
if (
|
this.loanForm[0].businesssum &&
|
this.loanForm[0].businesstermday &&
|
this.loanForm[0].planlenddate &&
|
this.loanForm[0].rateday
|
) {
|
this.loanForm[0].businesssum = this.formatMoney(
|
this.loanForm[0].businesssum
|
);
|
const obj = {
|
businesssum: this.loanForm[0].businesssum,
|
businesstermday: this.loanForm[0].businesstermday,
|
planlenddate: this.loanForm[0].planlenddate,
|
rateday: this.loanForm[0].rateday
|
};
|
this.$parent._data.loading = true;
|
if (/^\d{1,3}(,?\d{3})*(\.\d{1,2})?$/.test(obj.businesssum)) {
|
countPayInterestAmt(obj).then(res => {
|
this.$parent._data.loading = false;
|
if (res.code == "00") {
|
this.loanForm[0].advanceinterestamt = this.formatMoney(
|
res.result.advanceinterestamt
|
);
|
this.loanForm[0].advanceputoutdate = res.result.advanceputoutdate;
|
}
|
});
|
} else {
|
this.$message.warning("贷款金额有误!");
|
}
|
}
|
},
|
compareFields(result){
|
const { applyInfo, loanForm } = this;
|
const { refuseFlag, phaseNo } = applyInfo
|
if(refuseFlag == 1){
|
const { businessApplyInfo } = this.$store.state.product.fields;
|
const { bidProjectInfo } = businessApplyInfo;
|
for (const key in businessApplyInfo) {
|
if (key == "bidProjectInfo") {
|
for (const child in bidProjectInfo) {
|
if (result[key][child].value != bidProjectInfo[child]) {
|
result[key][child]["isDifferent"] = true;
|
}
|
}
|
} else {
|
if (result[key].value != businessApplyInfo[key]) {
|
result[key]["isDifferent"] = true;
|
}
|
}
|
}
|
}
|
return result;
|
},
|
// 重新排列数据
|
getApplyData(result) {
|
this.loanForm = [];
|
this.initialArr = [];
|
this.loanArr = [result];
|
// 初始化数据和校验规则
|
this.loanArr.forEach((val, index) => {
|
// 将数据重新排列
|
const obj = {};
|
for (const key in val) {
|
if (key == "putOutInfo") {
|
for (const child in val[key]) {
|
val[child] = val[key][child];
|
}
|
}
|
}
|
for (const key in val) {
|
// 格式化金额
|
if (
|
key == "basecreditamt" ||
|
key == "productremanentamt" ||
|
key == "businesssum" ||
|
key == "fundunitremanentamt" ||
|
key == "surplusamt" ||
|
key == "advanceinterestamt" ||
|
key == "productcreditamtlimit"
|
) {
|
val[key].value = this.formatMoney(val[key].value);
|
}
|
if (key == "rateday") {
|
val[key].value = val[key].value ? val[key].value : 0.06;
|
}
|
// 自定义校验规则,涉及金额将进行格式化
|
if (key == "bidProjectInfo") {
|
for (const child in val[key]) {
|
if (val[key][child].required) {
|
this.rules["saveBidProjectInfoRequest." + child] = [];
|
this.rules["saveBidProjectInfoRequest." + 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;
|
default:
|
break;
|
}
|
if (val[key].required) {
|
this.rules[key].push({
|
required: true,
|
message: `请输入${val[key].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
if (key != "bidProjectInfo" && key != "putOutInfo") {
|
obj[key] = val[key].value;
|
} else {
|
obj["putOutInfo"] = val["putOutInfo"];
|
if (key == "bidProjectInfo") {
|
obj["saveBidProjectInfoRequest"] = {};
|
for (const child in val[key]) {
|
obj["saveBidProjectInfoRequest"][child] = val[key][child].value;
|
}
|
}
|
}
|
}
|
this.loanForm.push(obj);
|
this.initialArr.push(JSON.parse(JSON.stringify(obj)));
|
});
|
},
|
// 根据推荐人手机号获取推荐人信息并且自动获取渠道剩余额度
|
getRefereerInfo(code, i) {
|
const obj = {
|
getFromType: i
|
};
|
obj[code] = this.loanForm[0][code.toLowerCase()];
|
qryRefereerInfo(obj).then(res => {
|
if (res.code == "00") {
|
this.loanForm[0].refereephone = res.result.refereePhone;
|
this.loanForm[0].refereeid = res.result.refereeID;
|
this.loanForm[0].refereename = res.result.refereeName;
|
this.loanForm[0].refereeorgid = res.result.refereeOrgID;
|
this.loanForm[0].refereeorgname = res.result.refereeOrgName;
|
this.loanForm[0].refereefirstinternallevelName =
|
res.result.refereefirstinternallevelName;
|
this.loanForm[0].refereefirstinternallevel =
|
res.result.refereefirstinternallevel;
|
// 获取渠道剩余可用额度
|
qryChannelQuotaAmt({
|
applySerialNo: this.applyInfo.serialNo,
|
refereeorgid: this.loanForm[0].refereeid
|
}).then(res => {
|
this.loanForm[0].surplusamt = this.formatMoney(res.result);
|
});
|
}
|
});
|
},
|
// 根据产品客群code获取产品客群名称
|
selproductcustomerscode(val) {
|
this.qryTrial(this.loanForm[0]);
|
for (let i = 0; i < this.customerBaseList.length; i++) {
|
if (val == this.customerBaseList[i].customersCode) {
|
this.loanForm[0].customerbasename = this.customerBaseList[
|
i
|
].customersName;
|
break;
|
}
|
}
|
},
|
// 借款用途
|
qrypurposetype() {
|
matchPurposeList({ applySerialNo: this.applyInfo.serialNo }).then(res => {
|
this.loanPurposeList = 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;
|
});
|
},
|
// 产品客群列表
|
getCustomerBaseList() {
|
qryCustomerBaseList({
|
productCode: this.loanForm[0].productid,
|
applySerialNo: this.applyInfo.serialNo
|
}).then(res => {
|
this.customerBaseList = res.result;
|
});
|
},
|
// 字典接口
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 利率保留六位位小数
|
formatRate(val) {
|
val += "";
|
if (!val) return "";
|
if (val.indexOf(".") == -1) {
|
return val + ".000000";
|
} else {
|
let l = val.split(".")[0];
|
let r = val.split(".")[1];
|
if (r.length < 6) {
|
const num = 6 - r.length;
|
for (let i = 0; i < num; i++) {
|
r += "0";
|
}
|
} else {
|
r = r.slice(0, 6);
|
}
|
return l + "." + r;
|
}
|
},
|
// 金额格式化
|
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
|
);
|
}
|
},
|
// 保存接口
|
saveApplyLoan(arr) {
|
return new Promise(resolve => {
|
saveOrUpdatePreApplyLoan(arr[0]).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
// 提交接口
|
getSubmitApplyLoan(arr) {
|
return new Promise(resolve => {
|
submitApplyLoan(arr[0]).then(res => {
|
resolve(res);
|
});
|
});
|
},
|
// 保存草稿
|
async saveDraft(array) {
|
this.$parent._data.loading = true;
|
const res = await this.saveApplyLoan(array);
|
if (res.code == "00") {
|
const result = await this.getApplyDetail();
|
this.getApplyData(result);
|
this.$message.success("保存成功");
|
// 保存草稿需要调用父组件的查询左侧tab的方法
|
this.$parent.getApplyTabTree();
|
}
|
this.$parent._data.loading = false;
|
},
|
// 保存并校验数据完整性
|
async save(arr) {
|
if (!common.validateForm(this.$refs.loanForm).flag) return;
|
this.$parent._data.loading = true;
|
let res;
|
if (this.applyInfo.phaseNo == "1000") {
|
// 当节点为招标贷企业授信修改是点击保存需要调用提交接口
|
res = await this.getSubmitApplyLoan(arr);
|
} else {
|
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 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;
|
},
|
// 上一步或者上一页
|
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) {
|
!this.loanForm.length ||
|
common.compareFormData(this.initialArr, this.loanForm, next)
|
? next()
|
: "";
|
}
|
};
|
</script>
|