调整流程详情测算结果展示
This commit is contained in:
@@ -7,14 +7,16 @@
|
||||
<!-- 个人客户模型输出 -->
|
||||
<template v-if="custType === '个人' && retailOutput">
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">基本信息</h4>
|
||||
<el-descriptions :column="2" border size="small">
|
||||
<el-descriptions-item label="客户内码">{{ retailOutput.custIsn || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户名称">{{ retailOutput.custName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="证件类型">{{ retailOutput.idType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="证件号码">{{ retailOutput.idNum || '-' }}</el-descriptions-item>
|
||||
<h4 class="section-title">测算结果</h4>
|
||||
<el-descriptions :column="3" border size="small">
|
||||
<el-descriptions-item label="基准利率"><span class="rate-value">{{ formatRate(retailOutput.baseLoanRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="灰黑名单客户">{{ formatOutputValue(retailOutput.greyBlackCust) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="浮动BP"><span class="total-bp-value">{{ retailOutput.totalBp || '-' }}</span></el-descriptions-item>
|
||||
<el-descriptions-item label="模型测算利率"><span class="calculate-rate">{{ formatRate(retailOutput.calculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="历史利率">{{ formatRate(retailOutput.loanRateHistory) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑幅度">{{ formatRate(retailOutput.smoothRange) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑利率"><span class="calculate-rate">{{ formatRate(retailOutput.finalCalculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="BP支行权限">-</el-descriptions-item>
|
||||
<el-descriptions-item label="参考利率"><span class="calculate-rate">{{ formatRate(retailOutput.referenceRate) }}</span> %</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
|
||||
@@ -38,9 +40,9 @@
|
||||
<colgroup><col class="result-column"><col class="bp-column"></colgroup>
|
||||
<thead><tr><th>模型输出结果</th><th>影响BP</th></tr></thead>
|
||||
<tbody>
|
||||
<tr v-for="(row, index) in retailContributionRows" :key="`retail-contribution-${index}`" class="is-total-row">
|
||||
<td><div v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span class="total-bp-value">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
<tr v-for="(row, index) in retailContributionRows" :key="`retail-contribution-${index}`" :class="{ 'is-total-row': row.total }">
|
||||
<td><span v-if="row.summary">汇总</span><div v-else v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span v-if="row.bpLabel" :class="row.total ? 'total-bp-value' : 'bp-value'">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -74,30 +76,21 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">测算结果</h4>
|
||||
<el-descriptions :column="2" border size="small">
|
||||
<el-descriptions-item label="浮动BP"><span class="total-bp-value">{{ retailOutput.totalBp || '-' }}</span></el-descriptions-item>
|
||||
<el-descriptions-item label="测算利率"><span class="calculate-rate">{{ formatRate(retailOutput.calculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="历史利率">{{ formatRate(retailOutput.loanRateHistory) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="产品最低利率下限">{{ formatRate(retailOutput.minRateProduct) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑幅度">{{ formatRate(retailOutput.smoothRange) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="参考利率"><span class="calculate-rate">{{ formatRate(retailOutput.referenceRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="最终测算利率"><span class="calculate-rate">{{ formatRate(retailOutput.finalCalculateRate) }}</span> %</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- 企业客户模型输出 -->
|
||||
<template v-else-if="custType === '企业' && corpOutput">
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">基本信息</h4>
|
||||
<el-descriptions :column="2" border size="small">
|
||||
<el-descriptions-item label="客户内码">{{ corpOutput.custIsn || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户名称">{{ corpOutput.custName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="证件类型">{{ corpOutput.idType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="证件号码">{{ corpOutput.idNum || '-' }}</el-descriptions-item>
|
||||
<h4 class="section-title">测算结果</h4>
|
||||
<el-descriptions :column="3" border size="small">
|
||||
<el-descriptions-item label="基准利率"><span class="rate-value">{{ formatRate(corpOutput.baseLoanRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="浮动BP"><span class="total-bp-value">{{ corpOutput.totalBp || '-' }}</span></el-descriptions-item>
|
||||
<el-descriptions-item label="模型测算利率"><span class="calculate-rate">{{ formatRate(corpOutput.calculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="历史利率">{{ formatRate(corpOutput.loanRateHistory) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑幅度">{{ formatRate(corpOutput.smoothRange) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑利率"><span class="calculate-rate">{{ formatRate(corpOutput.finalCalculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="BP支行权限">-</el-descriptions-item>
|
||||
<el-descriptions-item label="参考利率"><span class="calculate-rate">{{ formatRate(corpOutput.referenceRate) }}</span> %</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
|
||||
@@ -121,9 +114,9 @@
|
||||
<colgroup><col class="result-column"><col class="bp-column"></colgroup>
|
||||
<thead><tr><th>模型输出结果</th><th>影响BP</th></tr></thead>
|
||||
<tbody>
|
||||
<tr v-for="(row, index) in corporateContributionRows" :key="`corporate-contribution-${index}`" class="is-total-row">
|
||||
<td><div v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span class="total-bp-value">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
<tr v-for="(row, index) in corporateContributionRows" :key="`corporate-contribution-${index}`" :class="{ 'is-total-row': row.total }">
|
||||
<td><span v-if="row.summary">汇总</span><div v-else v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span v-if="row.bpLabel" :class="row.total ? 'total-bp-value' : 'bp-value'">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -136,27 +129,13 @@
|
||||
<thead><tr><th>模型输出结果</th><th>影响BP</th></tr></thead>
|
||||
<tbody>
|
||||
<tr v-for="(row, index) in corporateRelevanceRows" :key="`corporate-relevance-${index}`" :class="{ 'is-total-row': row.total }">
|
||||
<td><span v-if="row.summary">汇总</span><div v-else v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span v-if="row.summary">汇总</span><template v-else><div v-if="row.category" class="result-category">{{ row.category }}</div><div v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></template></td>
|
||||
<td><span :class="row.total ? 'total-bp-value' : 'bp-value'">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">企业类别</h4>
|
||||
<table class="output-analysis-table">
|
||||
<colgroup><col class="result-column"><col class="bp-column"></colgroup>
|
||||
<thead><tr><th>模型输出结果</th><th>影响BP</th></tr></thead>
|
||||
<tbody>
|
||||
<tr v-for="(row, index) in corporateTypeRows" :key="`corporate-type-${index}`">
|
||||
<td><div v-for="item in row.results" :key="item.label" class="result-item"><span class="result-label">{{ item.label }}</span><span class="result-value">{{ item.value }}</span></div></td>
|
||||
<td><span class="bp-value">{{ row.bpLabel }}:{{ row.bpValue }}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">风险度分析</h4>
|
||||
<table class="output-analysis-table">
|
||||
@@ -171,18 +150,6 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="output-section">
|
||||
<h4 class="section-title">测算结果</h4>
|
||||
<el-descriptions :column="2" border size="small">
|
||||
<el-descriptions-item label="浮动BP"><span class="total-bp-value">{{ corpOutput.totalBp || '-' }}</span></el-descriptions-item>
|
||||
<el-descriptions-item label="测算利率"><span class="calculate-rate">{{ formatRate(corpOutput.calculateRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="历史利率">{{ formatRate(corpOutput.loanRateHistory) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="产品最低利率下限">{{ formatRate(corpOutput.minRateProduct) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="平滑幅度">{{ formatRate(corpOutput.smoothRange) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="参考利率"><span class="calculate-rate">{{ formatRate(corpOutput.referenceRate) }}</span> %</el-descriptions-item>
|
||||
<el-descriptions-item label="最终测算利率"><span class="calculate-rate">{{ formatRate(corpOutput.finalCalculateRate) }}</span> %</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -217,11 +184,14 @@ export default {
|
||||
]
|
||||
},
|
||||
retailContributionRows() {
|
||||
return [this.groupedAnalysisRow([
|
||||
return [
|
||||
this.groupedAnalysisRow([
|
||||
this.resultItem('存款年日均', this.retailOutput.balanceAvg),
|
||||
this.resultItem('贷款年日均', this.retailOutput.loanAvg),
|
||||
this.resultItem('派生率', this.formatRate(this.retailOutput.derivationRate))
|
||||
], 'TOTAL_BP_贡献度', this.retailOutput.totalBpContribution, true)]
|
||||
]),
|
||||
this.totalRow('TOTAL_BP_贡献度', this.retailOutput.totalBpContribution)
|
||||
]
|
||||
},
|
||||
retailRelevanceRows() {
|
||||
return [
|
||||
@@ -271,11 +241,14 @@ export default {
|
||||
]
|
||||
},
|
||||
corporateContributionRows() {
|
||||
return [this.groupedAnalysisRow([
|
||||
return [
|
||||
this.groupedAnalysisRow([
|
||||
this.resultItem('存款年日均', this.corpOutput.balanceAvg),
|
||||
this.resultItem('贷款年日均', this.corpOutput.loanAvg),
|
||||
this.resultItem('派生率', this.formatRate(this.corpOutput.derivationRate))
|
||||
], 'TOTAL_BP_贡献度', this.corpOutput.totalBpContribution, true)]
|
||||
]),
|
||||
this.totalRow('TOTAL_BP_贡献度', this.corpOutput.totalBpContribution)
|
||||
]
|
||||
},
|
||||
corporateRelevanceRows() {
|
||||
return [
|
||||
@@ -287,22 +260,20 @@ export default {
|
||||
this.resultItem('中间业务_企业_贴现', this.formatBoolean(this.corpOutput.midEntDiscount)),
|
||||
this.resultItem('中间业务_企业_电费代扣', this.formatBoolean(this.corpOutput.midEntEleDdc)),
|
||||
this.resultItem('中间业务_企业_水费代扣', this.formatBoolean(this.corpOutput.midEntWaterDdc))
|
||||
], 'BP_中间业务', this.corpOutput.bpMid),
|
||||
], 'BP_中间业务', this.corpOutput.bpMid, false, '中间业务'),
|
||||
this.groupedAnalysisRow([
|
||||
this.resultItem('代发工资户数', this.corpOutput.payroll),
|
||||
this.resultItem('存量贷款余额', this.corpOutput.invLoanAmount)
|
||||
], 'BP_代发工资', this.corpOutput.bpPayroll),
|
||||
this.totalRow('TOTAL_BP_关联度', this.corpOutput.totalBpRelevance)
|
||||
]
|
||||
},
|
||||
corporateTypeRows() {
|
||||
return [this.groupedAnalysisRow([
|
||||
], 'BP_代发工资', this.corpOutput.bpPayroll, false, '代发工资'),
|
||||
this.groupedAnalysisRow([
|
||||
this.resultItem('净身企业', this.formatBoolean(this.corpOutput.isCleanEnt)),
|
||||
this.resultItem('开立基本结算账户', this.formatBoolean(this.corpOutput.hasSettleAcct)),
|
||||
this.resultItem('绿色贷款', this.formatBoolean(this.corpOutput.isGreenLoan)),
|
||||
this.resultItem('科技型企业', this.formatBoolean(this.corpOutput.isTechEnt)),
|
||||
this.resultItem('贸易和建筑业企业', this.formatBoolean(this.corpOutput.isTradeBuildEnt))
|
||||
], 'BP_企业客户类别', this.corpOutput.bpEntType)]
|
||||
], 'BP_企业客户类别', this.corpOutput.bpEntType, false, '客户类型'),
|
||||
this.totalRow('TOTAL_BP_关联度', this.corpOutput.totalBpRelevance)
|
||||
]
|
||||
},
|
||||
corporateRiskRows() {
|
||||
return [
|
||||
@@ -326,8 +297,8 @@ export default {
|
||||
resultItem(label, value) {
|
||||
return {label, value: this.formatOutputValue(value)}
|
||||
},
|
||||
groupedAnalysisRow(results, bpLabel, bpValue, total = false) {
|
||||
return {results, bpLabel, bpValue: this.formatOutputValue(bpValue), total}
|
||||
groupedAnalysisRow(results, bpLabel, bpValue, total = false, category = null) {
|
||||
return {results, bpLabel, bpValue: this.formatOutputValue(bpValue), total, category}
|
||||
},
|
||||
analysisRow(resultLabel, resultValue, bpLabel, bpValue) {
|
||||
return this.groupedAnalysisRow([this.resultItem(resultLabel, resultValue)], bpLabel, bpValue)
|
||||
@@ -445,6 +416,12 @@ export default {
|
||||
border-top: 1px dashed #ebeef5;
|
||||
}
|
||||
|
||||
.result-category {
|
||||
margin-bottom: 8px;
|
||||
color: #303133;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.result-label {
|
||||
min-width: 0;
|
||||
color: #606266;
|
||||
|
||||
Reference in New Issue
Block a user