Files
ccdi/docs/design/2026-03-25-special-check-family-asset-liability-detail-redesign-design.md

303 lines
7.7 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.
# 专项核查员工家庭资产负债展开区改版设计
**日期**: 2026-03-25
**模块**: 项目详情 - 专项核查 - 员工家庭资产负债专项核查
**作者**: Codex
**状态**: 已确认
## 1. 概述
当前专项核查页中的“员工家庭资产负债专项核查”已经具备列表与展开详情能力,但展开区仍沿用“三列卡片 + 表格明细”的结构,与最新原型存在明显差异:
- 信息层级偏散,展开后阅读路径不稳定
- 逐条明细表过重,不符合当前原型的“汇总式详查”表达
- 资产、负债、指标和风险结论没有形成清晰的纵向阅读节奏
本次设计只改造展开后的详情展示效果,不调整列表层字段、列顺序、查看详情交互、接口契约和页面路由。
## 2. 设计目标
### 2.1 包含内容
- 仅改造 `FamilyAssetLiabilityDetail.vue` 的展开区展示结构
- 展开区改为自上而下 5 张纵向汇总卡片
- 每张卡片标题直接展示该模块汇总数字
- 卡片内部简洁展示汇总数据的来源项
- 资产与负债来源项改为按现有类型聚合后全部展示
- 风险结论按真实风险等级切换样式与文案
### 2.2 不包含内容
- 不调整列表层列顺序、列文案和操作按钮
- 不改造 `查看详情` 的交互入口和按需加载机制
- 不新增后端字段、后端接口或路由
- 不保留现有逐条表格明细展示
- 不增加兼容分支、降级分支、二级折叠或 tooltip 解释
## 3. 当前上下文
当前前端相关文件:
- `ruoyi-ui/src/views/ccdiProject/components/detail/FamilyAssetLiabilitySection.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/FamilyAssetLiabilityDetail.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/SpecialCheck.vue`
- `ruoyi-ui/src/api/ccdi/projectSpecialCheck.js`
当前详情接口已返回以下结构:
- `incomeDetail`
- `assetDetail`
- `debtDetail`
- `summary`
其中 `summary` 已包含:
- `totalIncome`
- `totalDebt`
- `totalAsset`
- `comparisonAmount`
- `riskLevelCode`
- `riskLevelName`
这意味着本次改版无需调整接口,即可直接支撑总额、净资产、关键指标和风险结果展示。
## 4. 视觉方向
### 4.1 Visual Thesis
展开区改为“工作台式纵向汇总带”,每段只承载一个核心结论,用浅灰标题条、白底内容区和简洁来源项建立稳定层级。
### 4.2 Content Plan
1. 总收入
2. 总负债
3. 总资产
4. 关键指标
5. 详查结果
### 4.3 Interaction Thesis
- 保留现有“点击列表行内展开”的唯一交互,不额外增加二级折叠
- 通过模块顺序和标题汇总值强化信息导向,不靠复杂动效制造层级
- 风险结果卡通过颜色和结论文案形成唯一视觉落点
## 5. 方案比较
### 5.1 方案 A完全沿用现有三列卡片仅替换表格样式
做法:
- 保留 `收入 / 负债 / 资产` 三列结构
- 仅把内部表格改成更轻的列表展示
优点:
- 改动最少
缺点:
- 与原型的纵向分段结构不一致
- 无法形成“总额 -> 指标 -> 结论”的阅读链路
### 5.2 方案 B双列摘要面板
做法:
- 左侧聚合资产和负债
- 右侧聚合指标和结果
优点:
- 信息比较紧凑
缺点:
- 更像通用后台摘要区,不够贴近原型
- 用户新确认的顺序无法自然落地
### 5.3 方案 C纵向 5 段汇总卡片
做法:
- 展开区改为 5 张单列卡片,顺序固定为:
- 总收入
- 总负债
- 总资产
- 关键指标
- 详查结果
- 每张卡片标题右侧直接展示汇总值
- 资产、负债卡片内部仅展示聚合后的来源项
优点:
- 最贴近当前确认原型和用户确认顺序
- 只动详情组件,改动边界最清晰
- 能自然去掉逐条表格,收拢成简洁汇总式详查
缺点:
- 放弃现有逐条明细表阅读方式
### 5.4 结论
采用 **方案 C纵向 5 段汇总卡片**
原因:
1. 完整匹配用户最终确认顺序
2. 不改接口即可实现
3. 视觉层级清晰,符合原型的“汇总式展开详情”目标
## 6. 总体设计
### 6.1 展开区结构
展开区固定改为以下顺序:
1. `总收入`
2. `总负债`
3. `总资产`
4. `关键指标`
5. `详查结果`
每个模块都采用统一结构:
- 标题左侧:模块名称
- 标题右侧:该模块汇总数字
- 内容区:来源项或指标项
### 6.2 模块规则
#### 6.2.1 总收入
标题右侧展示 `家庭总年收入`
内容区固定展示两条来源项:
- 本人收入
- 配偶收入
不新增额外说明文字。
#### 6.2.2 总负债
标题右侧展示 `家庭总负债`
内容区展示“按现有负债类型聚合后的来源项”,每条结构统一为:
- 负债类型名
- 聚合金额
- 占总负债比例
所有聚合项全部展示,不截断、不合并为“其他”。
#### 6.2.3 总资产
标题右侧展示 `家庭总资产`
内容区展示“按现有资产类型聚合后的来源项”,每条结构统一为:
- 资产类型名
- 聚合金额
- 占总资产比例
所有聚合项全部展示,不截断、不合并为“其他”。
#### 6.2.4 关键指标
标题右侧固定展示指标数 `3`
内容区固定展示以下 3 项:
- 资产负债率 = 总负债 / 总资产
- 资产/收入比 = 总资产 / 总收入
- 负债/收入比 = 总负债 / 总收入
展示格式:
- 百分比项使用 `%`
- 倍数项使用 `倍`
- 分母为 `0` 时显示 `-`
#### 6.2.5 详查结果
标题右侧展示 `riskLevelName`
内容区展示单条结论文案,按真实风险等级切换样式和文案:
- `NORMAL`:结构基本合理
- `RISK`:负债与收入压力偏高
- `HIGH`:资产负债结构明显异常
- `MISSING_INFO`:当前信息不完整
不新增二级解释区。
## 7. 数据映射与计算规则
### 7.1 直接取值
- 总收入:`incomeDetail.totalIncome``summary.totalIncome`
- 总负债:`debtDetail.totalDebt``summary.totalDebt`
- 总资产:`assetDetail.totalAsset``summary.totalAsset`
- 风险等级:`summary.riskLevelCode``summary.riskLevelName`
### 7.2 前端计算
- 净资产 = 总资产 - 总负债
- 资产负债率 = 总负债 / 总资产
- 资产/收入比 = 总资产 / 总收入
- 负债/收入比 = 总负债 / 总收入
### 7.3 聚合规则
资产来源项:
- 基于 `assetDetail.items`
- 按现有类型字段聚合
- 保留全部聚合项
负债来源项:
- 基于 `debtDetail.items`
- 按现有类型字段聚合
- 保留全部聚合项
本次不要求后端新增分类字段,统一由前端基于现有字段归并。
## 8. 样式约束
- 取消现有逐条明细表和表头
- 资产、负债来源项改为紧凑摘要条目
- 桌面端可使用两列或三列流式排布承载来源项
- 窄屏回落为单列
- 金额统一使用 `¥` + 千分位格式
- 标题区与内容区仍延续专项核查现有白底大区块语义,不引入新主题色体系
## 9. 验证要点
### 9.1 结构验证
- 展开区顺序必须为:总收入 -> 总负债 -> 总资产 -> 关键指标 -> 详查结果
- 每张卡片标题中必须出现对应汇总数字
- 资产与负债来源项不再使用表格
### 9.2 计算验证
- 关键指标基于当前总额值计算,不重复请求接口
- 分母为 `0` 时显示 `-`
- 风险结果卡的标题和结论文案与真实风险等级一致
### 9.3 范围验证
- 列表层结构、列顺序和交互不变
- 接口路径与返回结构不变
- 项目切换、展开缓存和首次展开按需加载机制不变
## 10. 实施边界
本次前端实施默认只涉及:
- `ruoyi-ui/src/views/ccdiProject/components/detail/FamilyAssetLiabilityDetail.vue`
必要时补充与该组件直接相关的单元测试与样式断言,但不扩大到列表层和后端实现。