# 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 ```