Files
shop-toy/openspec/changes/archive/2026-01-12-integrate-insurance-flow/proposal.md
2026-01-12 18:32:00 +08:00

289 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Change: 集成保险流程到贷款业务(优化版)
## Why
当前贷款业务流程中缺少保险环节,无法实现风险共担机制。银行需要在贷款审核通过后选择为贷款购买保险(可选),保险公司进行核保,并在发生逾期时进行理赔。同时,政务端需要能够查看完整的贷款业务流程信息,包括保险和审批记录。这个变更将完善金融生态的风险管理体系。
## What Changes
### 本次优化内容integrate-insurance-flow
**银行端优化**
1. **审核详情页面投保流程优化**
- 点击"购买保险"跳转到保险公司选择页面
- 选择保险公司后,跳转到保险产品选择页面
- 选择产品后,填充投保申请创建页面的表单
- 实现完整的多步导航流程
2. **新增页面**
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`)
- 独立展示保险产品列表
- 支持搜索产品名称、描述、类型
- 显示产品详细信息(名称、类型、描述、金额范围)
- 显示所属保险公司
- 支持查看产品详情弹窗
- 点击选择后返回投保申请页面并传递产品信息
3. **工作台首页快捷入口**
- 投保管理:跳转到 `/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已完成 + 本次优化)
- [x] Bank: Update Audit List with Insurance tags and shortcuts
- [x] Bank: Update Audit Detail with Insurance card and actions
- [x] Bank: Create Insurance Application List page
- [x] Bank: Create Company Selection page
- [x] Bank: Create Product Selection page
- [x] Bank: Optimize Audit Detail navigation flow
- [x] Insurance: Update Policy List with Underwriting/Claim shortcuts
- [x] Insurance: Update Claim List with Policy view
- [ ] Insurance: Add mock data for underwriting list本次新增
- [ ] Insurance: Add mock data for claim review list本次新增
- [x] 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
```