13 KiB
13 KiB
Change: 集成保险流程到贷款业务(优化版)
Why
当前贷款业务流程中缺少保险环节,无法实现风险共担机制。银行需要在贷款审核通过后选择为贷款购买保险(可选),保险公司进行核保,并在发生逾期时进行理赔。同时,政务端需要能够查看完整的贷款业务流程信息,包括保险和审批记录。这个变更将完善金融生态的风险管理体系。
What Changes
本次优化内容(integrate-insurance-flow)
银行端优化:
-
审核详情页面投保流程优化:
- 点击"购买保险"跳转到保险公司选择页面
- 选择保险公司后,跳转到保险产品选择页面
- 选择产品后,填充投保申请创建页面的表单
- 实现完整的多步导航流程
-
新增页面:
2.1 投保申请列表页面 (
src/pagesBank/insurance/application/list.vue)- 显示所有投保申请列表
- 支持按状态筛选(全部、待审核、已通过、已拒绝)
- 支持搜索功能(按ID/公司名称/产品名称/保单号)
- 支持分页加载(每页20条)
- 显示保险公司、保单号、保险金额、状态、提交时间
- 点击跳转到投保申请详情页
- 下拉刷新和上拉加载更多
2.2 保险公司选择页面 (
src/pagesBank/insurance/company/select.vue)- 独立展示合作保险公司列表
- 支持搜索公司名称和联系方式
- 显示保险公司详细信息(名称、联系方式、合作状态)
- 显示已合作产品数量
- 点击选择后带参数跳转到产品选择页面
- 返回按钮返回投保申请页面
2.3 保险产品选择页面 (
src/pagesBank/insurance/product/select.vue)- 独立展示保险产品列表
- 支持搜索产品名称、描述、类型
- 显示产品详细信息(名称、类型、描述、金额范围)
- 显示所属保险公司
- 支持查看产品详情弹窗
- 点击选择后返回投保申请页面并传递产品信息
-
工作台首页快捷入口:
- 投保管理:跳转到
/pagesBank/insurance/application/list - 理赔管理:跳转到
/pagesBank/insurance/claim/list
- 投保管理:跳转到
原始功能范围
-
银行端:
- 在贷款审核通过后添加可选的保险购买流程
- 支持选择合作保险公司和保险产品
- 支持确定保险类型、保险金额和保险期限
- 添加理赔申请功能,支持上传理赔材料
- 贷款信息(包括不良贷款)对政务端可见
-
保险端:
- 添加核保流程,接收银行提交的投保申请
- 支持核保人员查看投保单和银行提供的客户信息
- 支持核保通过(出具保险单)和拒绝(返回拒绝原因)
- 添加理赔审核功能,审核银行提交的理赔材料
-
政务端:
- 查看完整的贷款业务流程信息
- 查看用户信息、保险信息和相关审批记录
- 识别和查看不良贷款信息
Impact
-
Affected specs:
- 新增
bank-insurance-integration能力 - 新增
insurance-underwriting能力 - 新增
insurance-claim-review能力 - 新增
government-bad-loans能力 - 新增
insurance-navigation能力(本次优化) - 修改
bank-insurance-ui能力(本次优化)
- 新增
-
Affected code:
src/pagesBank/audit/detail.vue- 审核详情页面(本次优化投保流程)src/pagesBank/audit/list.vue- 审核列表页面(移除快捷入口)src/pagesBank/dashboard/index.vue- 工作台首页(快捷入口已存在)src/pagesBank/insurance/application/list.vue- 投保申请列表页面(新增)src/pagesBank/insurance/company/select.vue- 保险公司选择页面(新增)src/pagesBank/insurance/product/select.vue- 保险产品选择页面(新增)src/pagesBank/insurance/application/create.vue- 投保申请创建页面(支持参数)src/pagesBank/- 银行端页面(保险购买、理赔申请)src/pagesInsurance/- 保险端页面(核保、理赔审核)src/pagesGovernment/- 政务端页面(不良贷款查看)src/api/insurance.ts- API 接口定义- 相关的 mock 数据和类型定义
Change Impact
- Spec:
openspec/changes/integrate-insurance-flow/design.md - Bank End:
src/pagesBank/audit/detail.vue: 优化保险信息展示,实现投保多步导航src/pagesBank/audit/list.vue: 移除保险功能快捷入口src/pagesBank/dashboard/index.vue: 添加保险功能快捷入口(已存在)src/pagesBank/insurance/application/list.vue: 新增投保申请列表页面src/pagesBank/insurance/company/select.vue: 新增保险公司选择页面src/pagesBank/insurance/product/select.vue: 新增保险产品选择页面
- Insurance End:
src/pagesInsurance/policy/list.vue: 添加核保和理赔审核快捷入口src/pagesInsurance/claim/list.vue: 优化理赔列表展示,支持查看保单和更多状态src/pagesInsurance/underwriting/list.vue: 添加模拟数据,支持展示多种核保状态src/pagesInsurance/claim-review/list.vue: 添加模拟数据,支持展示多种理赔审核状态src/api/insurance.ts:- 添加保险端核保和理赔审核的模拟数据
- 扩展
mockInsurancePolicies数组至12条,实现数据多样性
- Government End:
src/pagesGovernment/bank/detail.vue: 扩充 Mock 数据,支持贷款列表卡片展开详细信息
- API:
src/api/insurance.ts: 添加保险端核保和理赔审核的模拟数据
Implementation Plan
Phase 0: UI/UX Enhancement(已完成 + 本次优化)
- Bank: Update Audit List with Insurance tags and shortcuts
- Bank: Update Audit Detail with Insurance card and actions
- Bank: Create Insurance Application List page
- Bank: Create Company Selection page
- Bank: Create Product Selection page
- Bank: Optimize Audit Detail navigation flow
- Insurance: Update Policy List with Underwriting/Claim shortcuts
- Insurance: Update Claim List with Policy view
- Insurance: Add mock data for underwriting list(本次新增)
- Insurance: Add mock data for claim review list(本次新增)
- Government: Expand Mock Data and implement collapsible cards
Phase 1: Database & API
- Goal: Establish data models and backend APIs.
- Tasks:
- Create tables for insurance companies, products, applications, policies, claims.
- Implement APIs for all roles (Bank, Insurance, Government).
Phase 2: Frontend Integration
- Goal: Integrate APIs into the frontend pages.
- Tasks:
- Implement full flows: Purchase -> Underwrite -> Policy -> Claim -> Auditing -> Payout.
- Connect all enhanced UI components to real data.
Phase 3: Testing & Deployment
- Goal: Verify end-to-end flows.
- Tasks:
- Integration testing.
- Deployment to staging/prod.
Page Navigation Flow
## 保险端模拟数据设计
### 核保申请模拟数据
为 `src/pagesInsurance/underwriting/list.vue` 添加以下模拟数据:
1. **待审核状态** (pending):
- 投保申请号: IA20250112001
- 银行: 中国工商银行
- 保险公司: 中国人民财产保险股份有限公司
- 保险产品: 个人住房贷款保险
- 客户: 张三(信用评分 750)
- 保险金额: 500,000 元
- 保险期限: 120 个月
2. **已通过状态** (approved):
- 投保申请号: IA20250111001
- 银行: 中国工商银行
- 保险公司: 中国平安财产保险股份有限公司
- 保险产品: 小微企业贷款保证保险
- 客户: 李四(信用评分 720)
- 保险金额: 800,000 元
- 保险期限: 180 个月
- 核保员: 核保员001
3. **已拒绝状态** (rejected):
- 投保申请号: IA20250110001
- 银行: 中国建设银行
- 保险公司: 中国太平洋财产保险股份有限公司
- 保险产品: 个人消费贷款保险
- 客户: 王五(信用评分 680)
- 保险金额: 300,000 元
- 保险期限: 90 个月
- 核保员: 核保员002
- 拒绝原因: 客户信用评分低于产品要求最低值700分
4. **待审核状态** (pending):
- 投保申请号: IA20250109001
- 银行: 中国工商银行
- 保险公司: 中国人民财产保险股份有限公司
- 保险产品: 企业信贷履约保证保险
- 客户: 赵六(信用评分 780)
- 保险金额: 600,000 元
- 保险期限: 120 个月
### 理赔审核模拟数据
为 `src/pagesInsurance/claim-review/list.vue` 添加以下模拟数据:
1. **待审核状态** (pending):
- 理赔申请号: CA20250112001
- 银行: 中国工商银行
- 保险单号: POL20250111001
- 保险公司: 中国平安财产保险股份有限公司
- 理赔金额: 400,000 元
- 理赔原因: 借款人逾期超过90天,无法偿还贷款本息
- 材料数量: 3 份(逾期还款记录.pdf、催收记录.docx、借款人财务状况.jpg)
2. **已通过状态** (approved):
- 理赔申请号: CA20250111001
- 银行: 中国工商银行
- 保险单号: POL20250111001
- 保险公司: 中国平安财产保险股份有限公司
- 理赔金额: 200,000 元
- 赔付金额: 180,000 元
- 理赔原因: 借款人经营困难,申请部分理赔
- 材料数量: 1 份(经营困难证明.pdf)
- 审核员: 理赔审核员001
- 赔付日期: 2025-01-12
3. **已拒绝状态** (rejected):
- 理赔申请号: CA20250110001
- 银行: 中国工商银行
- 保险单号: POL20250111001
- 保险公司: 中国平安财产保险股份有限公司
- 理赔金额: 600,000 元
- 理赔原因: 借款人失联,申请全额理赔
- 材料数量: 1 份(失联证明.pdf)
- 审核员: 理赔审核员002
- 拒绝原因: 提供的失联证明材料不充分,需要补充公安部门出具的正式证明文件
### 保单模拟数据设计
为 `src/pagesInsurance/policy/list.vue` 添加以下12条保单模拟数据,实现数据多样性:
**生效中保单 (active)** - 6条:
1. 保单号: POL20250111001 | 保险公司: 中国平安 | 产品: 小微企业贷款保证保险 | 保额: 800,000元 | 期限: 180个月
2. 保单号: POL20241220001 | 保险公司: 中国人保 | 产品: 个人住房贷款保险 | 保额: 500,000元 | 期限: 120个月
3. 保单号: POL20241115002 | 保险公司: 中国太保 | 产品: 个人消费贷款保险 | 保额: 300,000元 | 期限: 90个月
4. 保单号: POL20241010003 | 保险公司: 中国人保 | 产品: 企业信贷履约保证保险 | 保额: 1,000,000元 | 期限: 240个月
5. 保单号: POL20240305010 | 保险公司: 中国平安 | 产品: 小微企业贷款保证保险 | 保额: 900,000元 | 期限: 180个月
6. 保单号: POL20240206011 | 保险公司: 中国太保 | 产品: 个人消费贷款保险 | 保额: 250,000元 | 期限: 120个月
**即将到期保单 (expiring)** - 3条:
1. 保单号: POL20240905004 | 保险公司: 中国平安 | 产品: 小微企业贷款保证保险 | 保额: 450,000元 | 期限: 120个月
2. 保单号: POL20240805005 | 保险公司: 中国太保 | 产品: 个人消费贷款保险 | 保额: 200,000元 | 期限: 60个月
3. 保单号: POL20240701006 | 保险公司: 中国人保 | 产品: 个人住房贷款保险 | 保额: 350,000元 | 期限: 180个月
**已失效保单 (expired)** - 3条:
1. 保单号: POL20240602007 | 保险公司: 中国平安 | 产品: 小微企业贷款保证保险 | 保额: 600,000元 | 期限: 150个月
2. 保单号: POL20240503008 | 保险公司: 中国太保 | 产品: 个人消费贷款保险 | 保额: 150,000元 | 期限: 90个月
3. 保单号: POL20240404009 | 保险公司: 中国人保 | 产品: 企业信贷履约保证保险 | 保额: 750,000元 | 期限: 200个月
### Mock 数据实现位置
模拟数据将在 `src/api/insurance.ts` 中的以下数组中添加:
- `mockInsuranceApplications`: 核保申请模拟数据(4条记录)
- `mockClaimApplications`: 理赔审核模拟数据(3条记录)
- `mockInsurancePolicies`: 保险单模拟数据(12条记录,包含生效中、即将到期、已失效三种状态)
审核详情页面 (/pagesBank/audit/detail)
│
├─→ "购买保险" 按钮
│
▼
保险公司选择页面 (/pagesBank/insurance/company/select)
│
├─→ 选择保险公司
│
▼
保险产品选择页面 (/pagesBank/insurance/product/select)
│
├─→ 选择保险产品
│
▼
投保申请创建页面 (/pagesBank/insurance/application/create)
│
└─→ 提交投保申请
工作台首页 (/pagesBank/dashboard/index)
│
├─→ "投保管理" → /pagesBank/insurance/application/list
│
└─→ "理赔管理" → /pagesBank/insurance/claim/list