新增结果总览项目分析弹窗设计文档

This commit is contained in:
wkc
2026-03-25 13:56:21 +08:00
parent 071c02192d
commit 05ac43f26b

View File

@@ -0,0 +1,453 @@
# 结果总览项目分析弹窗设计文档
**日期**: 2026-03-25
**模块**: 初核项目详情 - 结果总览
**作者**: Codex
**状态**: 已批准
## 1. 概述
本设计用于补齐 `结果总览` 页面中两处人员列表的“查看项目”能力:
- `风险人员总览`
- `命中模型涉及人员列表`
点击后,统一打开同一个“项目分析”弹窗,在弹窗内展示人员分析工作台。视觉方向以用户提供的截图为基准,采用“左侧人物档案 + 右侧分析页签”的工作台布局;同时对左侧信息栏做适度收敛,避免在弹窗内重复完整页面级导航。
本轮目标是先完成前端高保真弹窗与基础切换能力,内容允许基于现有结果总览数据和静态占位组装,不在本轮扩展后端接口。
## 2. 设计范围
### 2.1 包含内容
-`结果总览` 页内新增统一的“项目分析”弹窗交互
- 两个入口列表共用一套弹窗壳子与信息架构
- 弹窗内保留 5 个页签:
- 异常明细
- 资产分析
- 征信摘要
- 关系图谱
- 资金流向
- 默认页签为 `异常明细`
- 左侧侧栏展示当前人员基础信息、命中模型摘要、排查记录摘要
- 右侧 `异常明细` 页签按截图风格做完整高保真布局
- 其余 4 个页签提供可切换的高保真静态承载
### 2.2 不包含内容
- 不新增后端接口
- 不改造项目详情页路由或导航结构
- 不把弹窗拆成新页面或新页签
- 不在本轮接通 5 个页签的真实分析链路
- 不扩展导出、权限、审批流等截图之外的新业务流程
- 不补充兜底、降级或兼容性分支方案
## 3. 当前上下文
当前结果总览主入口与相关区块如下:
- `ruoyi-ui/src/views/ccdiProject/components/detail/PreliminaryCheck.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/RiskModelSection.vue`
当前状态:
1. 两个区块的操作列都已有“查看详情”按钮位
2. 现有按钮尚未绑定统一弹窗交互
3. `RiskPeopleSection.vue` 已具备人员基础信息、风险等级、核心异常点等展示字段
4. `RiskModelSection.vue` 已具备人员信息、命中模型、异常标签等展示字段
5. 结果总览当前真实接口仅覆盖仪表盘、风险人员总览、模型卡片与模型命中人员列表,不足以支撑完整项目分析工作台
因此,本轮设计应遵循最短路径实现:只在现有前端链路上新增统一弹窗,不扩散到后端。
## 4. 设计目标
### 4.1 业务目标
- 让用户在结果总览中直接查看某名人员对应的项目分析内容
- 让两个入口汇聚到同一个分析弹窗,避免形成两套详情语义
- 保持“从列表进入分析工作台”的浏览连贯性
### 4.2 交互目标
- 点击后立即打开弹窗,不跳页、不二次确认
- 默认落在最有信息密度的 `异常明细` 页签
- 若入口来自模型命中列表,应在弹窗顶部和侧栏中体现当前命中模型上下文
### 4.3 视觉目标
- 高保真贴近用户截图中的工作台气质
- 左栏稍微简化,避免页面级导航感过强
- 与当前结果总览页保持同一套蓝灰白色系和风险标签语义,不做成另一套产品
## 5. 视觉方向
### 5.1 Visual Thesis
以“调查工作台”为核心视觉意图,整体观感应当克制、聚焦、带有分析场景的秩序感,而不是普通业务弹窗。
### 5.2 Content Plan
- 首屏:人物身份与风险背景
- 主体:异常明细主视图
- 支撑:模型摘要、排查记录摘要、辅助页签
- 收束:让用户在一次打开中快速判断“这个人为什么值得继续查”
### 5.3 Interaction Thesis
- 打开弹窗后直接进入异常明细首屏,形成明确阅读起点
- 页签切换保持轻量、稳定,不做过多动画干扰
- 来源于模型命中列表时,强调当前模型上下文,形成“从哪里来、为什么点进来”的连贯感
## 6. 方案比较
### 6.1 方案 A工作台式高保真弹窗
结构:
- 左侧人物档案
- 右侧五页签工作区
- 异常明细为主视图
优点:
- 与用户截图最接近
- 能承载“查看项目”所需的分析工作台语义
- 后续逐步接真实页签数据时不需要推翻结构
缺点:
- 前端结构比普通详情弹窗更复杂
- 需要严格控制左栏信息量,避免显得臃肿
### 6.2 方案 B顶部信息带 + 页签主区
结构:
- 顶部统一人物信息带
- 下方五页签区域
优点:
- 结构规整
- 实现复杂度较低
缺点:
- 与截图差距较大
- 人员档案沉浸感较弱
### 6.3 方案 C轻量明细弹窗
结构:
- 人员概要
- 单屏明细区
优点:
- 实现最轻
缺点:
- 无法承载用户明确要求的完整页签工作台
- 容易退化成普通表格弹窗
### 6.4 方案结论
采用 **方案 A工作台式高保真弹窗**,同时将左侧栏从“完整工作台导航”收敛为“人物分析侧栏”,保证高保真方向正确且信息密度适中。
## 7. 信息架构设计
### 7.1 打开入口
以下两个入口统一打开同一个弹窗:
1. `风险人员总览` 的操作列
2. `命中模型涉及人员列表` 的操作列
### 7.2 弹窗顶栏
顶栏内容建议为:
- 主标题:`项目分析`
- 次级上下文:`姓名 | 工号 | 命中模型数/当前模型`
- 关闭按钮
不在顶栏继续放置页面级返回、导出报告等完整页面操作,避免弹窗承担页面壳子职责。
### 7.3 左侧人物分析侧栏
左侧侧栏只保留三组信息:
1. **人员基础信息**
- 姓名
- 工号
- 部门
- 风险等级
- 所属项目
2. **命中模型摘要**
- 命中模型数
- 模型名称摘要
- 核心异常标签
3. **排查记录摘要**
- 最近状态
- 简要备注或占位摘要
不保留完整项目侧边导航,不复刻截图中的“返回项目 / 生成报告 / 关注 / 推荐对象信息 / 排查记录”全量信息层级。
### 7.4 右侧主工作区
右侧主区保留五页签:
1. 异常明细
2. 资产分析
3. 征信摘要
4. 关系图谱
5. 资金流向
默认进入 `异常明细`,并作为本轮内容最完整的主视图。
## 8. 页面节奏与视觉结构
### 8.1 外层弹窗
- 使用大尺寸弹窗,宽度建议约 `1360px`
- 内容区高度按视口收敛,采用内部滚动
- 外层视觉重心在内容区,不依赖厚重边框和多层卡片堆叠
### 8.2 左侧侧栏
- 背景色较主内容区略暖或略灰
- 信息块之间通过分隔线与留白组织
- 不使用过多卡片和阴影,避免产生“页面套页面”感
### 8.3 右侧页签工作区
- 页签条作为稳定导航带
- 页签下方以“白底大区块 + 表格/摘要”的工作台形式展开
- `异常明细` 首屏强调三件事:
1. 当前人员风险背景
2. 异常明细主列表
3. 若干需要继续追查的异常摘要块
### 8.4 与当前结果总览页关系
- 保持同一套产品色与风险标签语义
- 弹窗整体更沉浸、更聚焦
- 不把结果总览主页面的四大区块原样塞进弹窗
## 9. 页签内容设计
### 9.1 异常明细页签
该页签为本轮主视图,按截图节奏组织:
- 顶部异常分组标题
- 主表格区:展示交易时间、本方账号、对方账号、摘要/交易类型、交易金额、标记状态等
- 补充摘要区:如频繁转账账户异常、关联交易异常等块级摘要
- 底部操作区按需保留,但不在本轮扩展真实业务动作
此页签允许使用当前行数据 + 本地静态映射方式组装高保真内容。
### 9.2 资产分析页签
- 展示高保真静态结构
- 体现资产概览、资产异动或资产分布分析的阅读节奏
- 本轮不接真实接口
### 9.3 征信摘要页签
- 展示高保真静态结构
- 体现授信、负债、逾期、查询记录等摘要位
- 本轮不接真实接口
### 9.4 关系图谱页签
- 展示高保真静态结构
- 体现中心人物、关系节点、关系类型与摘要说明
- 本轮不接真实接口
### 9.5 资金流向页签
- 展示高保真静态结构
- 体现流入流出方向、关键对手方、异常流向摘要
- 本轮不接真实接口
## 10. 组件拆分方案
### 10.1 入口编排组件
保留:
- `ruoyi-ui/src/views/ccdiProject/components/detail/PreliminaryCheck.vue`
职责:
- 继续作为结果总览页面主入口
- 统一维护项目分析弹窗开关状态
- 保存当前选中人员、入口来源、来源上下文
### 10.2 列表区块组件
涉及:
- `ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/RiskModelSection.vue`
职责调整:
- 将“查看项目”改为触发事件
- 向上抛出当前行信息
- 不在区块内部自行维护弹窗状态
### 10.3 新增统一弹窗组件
建议新增:
- `ruoyi-ui/src/views/ccdiProject/components/detail/ProjectAnalysisDialog.vue`
职责:
- 渲染大尺寸项目分析弹窗
- 负责左侧人物分析侧栏
- 负责右侧五页签导航与切换
- 管理默认页签与关闭行为
### 10.4 新增轻量子组件
建议按需拆分为:
- `ProjectAnalysisSidebar.vue`
- `ProjectAnalysisAbnormalTab.vue`
- `ProjectAnalysisPlaceholderTab.vue`
拆分原则:
- 服务于文件聚焦,不做过度抽象
- 异常明细单独成块,其他静态页签可共用一套占位骨架
## 11. 数据策略
### 11.1 本轮数据来源
本轮不新增后端接口,数据优先来自当前结果总览已拿到的列表行数据:
- `风险人员总览` 当前行
- `命中模型涉及人员列表` 当前行
### 11.2 左栏字段来源
优先映射:
- 姓名
- 工号
- 部门
- 风险等级
- 命中模型数
- 命中模型名称
- 异常标签
若来源于模型命中列表,则补充“当前命中模型”上下文;若来源于风险人员总览,则按人员风险概览口径展示。
### 11.3 右侧内容来源
- `异常明细`:由当前行信息 + 本地静态映射组合生成
- 其余页签:由静态高保真结构承载,不伪装成真实分析结果
### 11.4 缺字段策略
- 缺工号、部门、身份证号等字段时展示 `-`
- 缺异常标签时展示“暂无异常标签”
- 不在前端额外推导用户未提供的数据
## 12. 交互设计
### 12.1 打开行为
- 点击“查看项目”后立即打开弹窗
- 不跳页
- 不弹二次确认
- 默认进入 `异常明细`
- 默认滚动到弹窗顶部
### 12.2 来源感知
若入口来自 `命中模型涉及人员列表`
- 顶部摘要展示当前命中模型
- 左侧命中模型摘要中强调当前模型
若入口来自 `风险人员总览`
- 以人员风险背景为主,不额外强调某一模型
### 12.3 页签切换
- 五个页签均可点击切换
- 本轮只有 `异常明细` 是完整主视图
- 其他页签只承担高保真承载,不做真实联动
### 12.4 关闭与重开
- 关闭时清空当前选中人员和来源上下文
- 再次打开时始终回到 `异常明细`
- 不保留上次停留页签
## 13. 状态设计
### 13.1 打开前
- 页面原有列表与筛选行为保持不变
### 13.2 打开后
- 弹窗内部独立滚动
- 不影响结果总览页当前筛选、分页与卡片选中状态
### 13.3 空态
- 左栏缺字段时以 `-` 占位
- 标签为空时显示统一空文案
- 静态页签若无内容,使用高保真占位结构而不是纯 `el-empty`
### 13.4 异常态
本轮不扩展新的接口错误处理流,沿用前端静态组装范围,不引入额外异常流程。
## 14. 验证要点
本轮验证聚焦前端静态与交互边界:
1. 两个入口都能打开同一个弹窗
2. 不同来源可以正确带出当前行信息
3. 默认页签为 `异常明细`
4. 页签切换稳定,关闭重开后重置为默认页签
5. 左栏字段缺失、标签为空、标签过长时布局不塌
6. 弹窗桌面端宽度和常见页面宽度下布局稳定
7. 结果总览原有模型筛选、分页、标签高亮不受影响
## 15. 实施边界结论
本方案采用最短路径实现:
1. 不新增后端接口
2. 不扩展用户需求之外的新业务流程
3. 不做兼容性或补丁式平行方案
4. 只在结果总览现有前端链路上增加统一项目分析弹窗
该方案满足以下要求:
- 逻辑单一
- 入口统一
- 风格贴近用户截图
- 后续具备逐页签接入真实能力的扩展空间
## 16. 后续计划入口
设计确认后,下一步应输出两份实施计划:
- 后端实施计划:说明本轮后端保持不改动或仅补充边界说明
- 前端实施计划:说明弹窗、事件抛出、组件拆分、静态高保真页签和验证步骤
本轮实际开发应优先编写前端实施计划,并在计划中明确“不新增后端接口”的边界。