9.3 KiB
9.3 KiB
贷款风险报告组件 (CJRZQ5E9F) - 模块化架构
概述
贷款风险报告组件采用模块化架构设计,将完整的贷款风险评估拆分成7个独立的模块,每个模块都可以作为独立的tab显示,具有独立的大标题。
数据结构
贷款风险报告的数据结构如下:
{
"apiID": "CJRZQ5E9F",
"data": {
"xyp_cpl0001": "5", // 贷款总机构数
"xyp_cpl0002": "3", // 已结清机构数
"xyp_cpl0007": "2", // 消费金融类机构数
"xyp_cpl0008": "1", // 网络贷款类机构数
"xyp_cpl0009": "1", // 最近7天机构数
"xyp_cpl0014": "15", // 历史成功还款笔数
"xyp_cpl0015": "2", // 历史失败还款笔数
"xyp_cpl0016": "1", // 最近1天失败笔数
"xyp_cpl0017": "3", // 最近1天成功笔数
"xyp_cpl0018": "1", // 最近7天失败笔数
"xyp_cpl0019": "5", // 最近7天成功笔数
"xyp_cpl0020": "1", // 最近14天失败笔数
"xyp_cpl0021": "7", // 最近14天成功笔数
"xyp_cpl0022": "2", // 最近30天失败笔数
"xyp_cpl0023": "10", // 最近30天成功笔数
"xyp_cpl0024": "2", // 最近90天失败笔数
"xyp_cpl0025": "12", // 最近90天成功笔数
"xyp_cpl0026": "2", // 最近180天失败笔数
"xyp_cpl0027": "14", // 最近180天成功笔数
"xyp_cpl0028": "0", // 最近1天逾期标识
"xyp_cpl0029": "0", // 最近7天逾期标识
"xyp_cpl0030": "0", // 最近14天逾期标识
"xyp_cpl0031": "0", // 最近30天逾期标识
"xyp_cpl0032": "1000", // 最近1天失败金额
"xyp_cpl0033": "5000", // 最近1天成功金额
"xyp_cpl0034": "2000", // 最近7天失败金额
"xyp_cpl0035": "8000", // 最近7天成功金额
"xyp_cpl0036": "1500", // 最近14天失败金额
"xyp_cpl0037": "12000", // 最近14天成功金额
"xyp_cpl0038": "3000", // 最近30天失败金额
"xyp_cpl0039": "20000", // 最近30天成功金额
"xyp_cpl0040": "4000", // 最近90天失败金额
"xyp_cpl0041": "35000", // 最近90天成功金额
"xyp_cpl0042": "5000", // 最近180天失败金额
"xyp_cpl0043": "45000", // 最近180天成功金额
"xyp_cpl0044": "0", // 当前逾期状态
"xyp_cpl0045": "365", // 信用贷款时长
"xyp_cpl0046": "30", // 最近一次交易距今天数
"xyp_cpl0064": "1", // 最近21天成功笔数
"xyp_cpl0065": "0", // 最近21天失败笔数
"xyp_cpl0066": "1000", // 最近21天失败金额
"xyp_cpl0067": "6000", // 最近21天成功金额
"xyp_cpl0068": "15", // 最近一次还款距今天数
"xyp_cpl0070": "1", // 最近1天机构数
"xyp_cpl0071": "0", // 当前逾期机构数
"xyp_cpl0072": "0", // 当前逾期金额
"xyp_cpl0073": "0.85", // 近5次金额成功率
"xyp_cpl0074": "0.80", // 近5次还款成功率
"xyp_cpl0075": "0.75", // 近20次小贷成功率
"xyp_cpl0079": "0.70", // 近90天金额成功率
"xyp_cpl0080": "0.65", // 近90天还款成功率
"xyp_cpl0081": "0.25", // 信用风险评分
"xyp_cpl0082": "0.30", // 履约金额综合指数
"xyp_cpl0083": "0.35", // 履约笔数综合指数
"xyp_model_score_high": "750", // 小额网贷分
"xyp_model_score_mid": "680", // 小额分期分
"xyp_model_score_low": "720", // 中大额分期分
"xyp_t0400002": "0.78", // 近20次还款成功率
"xyp_t0400003": "0.82", // 近50次还款成功率
"xyp_t0400004": "0.80" // 近100次还款成功率
},
"success": true,
"timestamp": "2025-01-20 21:19:58"
}
模块拆分
贷款风险报告被拆分成以下7个独立模块:
| API ID | 模块名称 | 包含数据 | 组件文件 |
|---|---|---|---|
CJRZQ5E9F_RiskOverview |
风险概览 | 综合风险等级、当前状态、关键指标 | RiskOverview.vue |
CJRZQ5E9F_CreditScores |
信用评分 | 综合信用指数、专业模型评分、还款表现 | CreditScores.vue |
CJRZQ5E9F_LoanBehaviorAnalysis |
贷款行为分析 | 机构类型分布、还款表现统计、时间维度分析 | LoanBehaviorAnalysis.vue |
CJRZQ5E9F_InstitutionAnalysis |
机构分析 | 机构类型分析、合作机构详情 | InstitutionAnalysis.vue |
CJRZQ5E9F_TimeTrendAnalysis |
时间趋势分析 | 历史趋势、周期性分析 | TimeTrendAnalysis.vue |
CJRZQ5E9F_RiskIndicators |
风险指标详情 | 详细风险指标、风险因子分析 | RiskIndicators.vue |
CJRZQ5E9F_RiskAdvice |
专业建议 | 风险评估建议、优化建议 | RiskAdvice.vue |
使用方法
1. 前端自动拆分
BaseReport.vue 已自动配置支持贷款风险报告的模块化显示:
import { splitCJRZQ5E9FForTabs } from '@/ui/CJRZQ5E9F/utils/simpleSplitter.js';
// 处理数据拆分(支持DWBG8B4D、DWBG6A2C和CJRZQ5E9F)
const processedReportData = computed(() => {
let data = reportData.value;
// 拆分DWBG8B4D数据
data = splitDWBG8B4DForTabs(data);
// 拆分DWBG6A2C数据
data = splitDWBG6A2CForTabs(data);
// 拆分CJRZQ5E9F数据
data = splitCJRZQ5E9FForTabs(data);
return data;
});
2. 组件配置
BaseReport.vue 中已配置所有贷款风险报告模块:
// 贷款风险报告
JRZQ5E9F: {
name: "贷款风险评估",
component: defineAsyncComponent(() => import("@/ui/CJRZQ5E9F/index.vue")),
remark: '贷款风险评估提供全面的个人贷款风险分析,包括风险概览、信用评分、贷款行为分析、机构分析等多维度评估。'
},
// ... 其他模块配置
组件结构
src/ui/CJRZQ5E9F/
├── index.vue # 原始完整组件(保留)
├── README.md # 文档说明
├── components/ # 子组件目录
│ ├── RiskOverview.vue # 风险概览
│ ├── CreditScores.vue # 信用评分
│ ├── LoanBehaviorAnalysis.vue # 贷款行为分析
│ ├── InstitutionAnalysis.vue # 机构分析
│ ├── TimeTrendAnalysis.vue # 时间趋势分析
│ ├── RiskIndicators.vue # 风险指标详情
│ └── RiskAdvice.vue # 专业建议
└── utils/
└── simpleSplitter.js # 数据拆分工具
特色功能
1. 智能风险评估
- 多维度风险等级计算
- 智能颜色编码
- 动态风险提示
2. 数据可视化
- 渐变色彩设计
- 图标化展示
- 响应式布局
- 交互式图表
3. 用户友好
- 清晰的层次结构
- 详细的说明文档
- 直观的风险提示
- 专业的建议指导
4. 模块化设计
- 独立的模块组件
- 可复用的工具函数
- 灵活的数据拆分
- 易于维护和扩展
工具函数
utils/simpleSplitter.js 提供了以下工具函数:
splitCJRZQ5E9FForTabs()- 数据拆分parseIntervalValue()- 解析区间化数值formatMetricValue()- 格式化指标值formatDays()- 格式化天数显示formatAmount()- 格式化金额显示calculateRiskLevel()- 计算风险等级calculateCreditScore()- 计算信用评分getCreditScoreLevel()- 获取信用等级描述getCreditScoreBadgeClass()- 获取信用等级样式getScoreClass()- 获取评分样式getCircleStyle()- 获取圆形进度样式hasRiskData()- 检查是否有风险数据
使用示例
// 在页面中使用
<BaseReport
:reportData="reportData"
:reportParams="reportParams"
reportName="贷款风险评估"
feature="CJRZQ5E9F"
:isEmpty="false"
:isDone="true"
/>
数据字段说明
主要指标字段
xyp_cpl0001: 贷款总机构数xyp_cpl0002: 已结清机构数xyp_cpl0044: 当前逾期状态 (0: 无逾期, 1: 有逾期)xyp_cpl0081: 信用风险评分 (0-1)xyp_cpl0082: 履约金额综合指数 (0-1)xyp_cpl0083: 履约笔数综合指数 (0-1)
模型评分字段
xyp_model_score_high: 小额网贷分 (350-950)xyp_model_score_mid: 小额分期分 (350-950)xyp_model_score_low: 中大额分期分 (350-950)
还款表现字段
xyp_cpl0073: 近5次金额成功率xyp_cpl0074: 近5次还款成功率xyp_t0400002: 近20次还款成功率xyp_t0400003: 近50次还款成功率xyp_t0400004: 近100次还款成功率
注意事项
- 确保数据格式符合贷款风险报告的标准结构
- 所有模块都支持数据为空的情况
- 风险评估基于实际数据动态计算
- 组件采用 Tailwind CSS 进行样式设计
- 支持移动端响应式布局
- 区间化数值会自动解析为具体数值进行显示
更新日志
- v1.0.0: 初始版本,支持完整的贷款风险报告模块化显示
- 包含7个独立模块
- 支持自动数据拆分
- 提供完整的风险评估功能
- 支持多种数据可视化方式