# 规则图谱功能 PRD

## 1. 文档信息

| 属性 | 值 |
|------|-----|
| 文档名称 | 规则图谱功能 PRD |
| 所属模块 | 全知平台 / 风险监控 / 风险规则库 / 规则图谱 |
| 文档版本 | v1.8 |
| 编写日期 | 2026-06-03 |
| 编写目的 | 以树状层级视图展示规则体系，左侧为公司→业务域→主题三级导航树，右侧联动展示下级层级，支持层级视图和规则视角两种视角切换 |

---

## 2. 背景与需求

### 2.1 业务背景

参考电网行业围串标规则图谱的实践经验，构建全知平台的规则图谱功能，以**公司→业务域→风险主题→风险维度→规则**的五层体系，直观展示规则的结构化归属关系，支撑规则的体系化管理和全景浏览。页面采用左侧导航树+右侧图形化图谱的复合布局，左侧以树状结构展示公司→业务域→风险主题，右侧根据左侧选中节点联动展示下级层级。支持两种视角切换：主题视角（逐级展开）和规则视角（从规则反向查看关联）。

### 2.2 原始需求

1. **规则全景浏览**：按树状层级快速定位和浏览全部规则
2. **状态可视**：直观展示每条规则的已上线/已下线状态
3. **灵活关联**：规则与风险主题、风险维度为多对多关系，不做限制
4. **主题和维度可管理**：普通用户即可创建和维护风险主题与风险维度
5. ~~**导出台账**~~：本期暂不实现，纳入后续迭代

### 2.3 命名说明

"规则图谱"在此处指的是树状层级分类视图，而非关系网络图。采用"图谱"一词源自行业参考习惯，实际展示形态为左侧导航树+右侧节点连线图的复合布局。

---

## 3. 功能设计

### 3.1 规则图谱展示页

#### 3.1.1 页面入口

```
风险规则库
├── 公共规则库
├── 我的规则
└── 规则图谱                ← 新增

风控运营管理
├── ...
└── 风险主题管理      ← 新增（原属风险规则库，调整至此）
```

#### 3.1.2 页面布局

页面采用左侧导航树+右侧图谱区域的复合布局，支持两种视角切换（主题视角 / 规则视角）。

##### 层级视图（默认视角）

左侧为公司→业务域→主题的三级导航树，右侧根据左侧选中节点联动展示下级层级，支持逐级展开至规则。

```
┌─── 左侧导航树 ───┐  ┌────── 右侧图谱区域 ────────────────────────────────────┐
│                    │  │  [层级视图] [规则视角]  ← 视角切换                     │
│  ▼ 全知公司        │  │                                                         │
│    ▼ 供应链域      │  │  全知公司                                               │
│      ● 围串标 25条 │  │    ├─ 供应链域                                         │
│        含1条跨维度  │  │    │    ├─ 围串标 25条规则（含1条跨维度）              │
│      ● 虚假投标 8条│  │    │    ├─ 虚假投标 8条规则                             │
│      ● 供应商资质  │  │    │    └─ 供应商资质 5条规则                           │
│        5条         │  │    ├─ 财务域                                           │
│    ▶ 财务域        │  │    │    ├─ 差旅费用合规 4条规则                         │
│    ▶ 人力域        │  │    │    └─ 合同管理 6条规则                             │
│    ...             │  │    └─ 人力域                                           │
│                    │  │         └─ 人员诚信 5条规则                             │
│                    │  │                                                         │
│                    │  │  [展开全部]  ← 按钮                                    │
└────────────────────┘  └─────────────────────────────────────────────────────────┘
```

> 上图为点击"全知公司"节点时的右侧展示。点击业务域或主题时，右侧展示对应的下级层级（见下方联动规则）。

##### 规则视角

左侧为业务域→规则列表的两级导航树（含搜索框），右侧以选中规则为根节点展示其关联的主题→维度（鱼骨图）。

```
┌─── 左侧导航树 ───┐  ┌────── 右侧图谱区域 ────────────────────────────────────┐
│  [搜索框]         │  │  [层级视图] [规则视角]  ← 视角切换                     │
│                    │  │                                                         │
│  ▼ 供应链域        │  │  ┌────────────────────┐                                │
│    ● CJ-001-01    │  │  │  🟢 CJ-001-01      │                                │
│      投标文件围标  │  │  │  投标文件围标识别   │                                │
│    ● CJ-001-02    │  │  │  已上线             │                                │
│      投标格式异常  │  │  └────────┬───────────┘                                │
│    ● CJ-002-01    │  │           │                                             │
│      细分报价围标  │  │     ┌─────┴──────┐                                     │
│    ...            │  │     │            │                                      │
│  ▶ 财务域         │  │  ┌──┴───┐    ┌──┴───┐                                  │
│  ▶ 人力域         │  │  │围串标│    │虚假  │                                  │
│                    │  │  │      │    │投标  │                                  │
│                    │  │  │供应链│    │供应链│                                  │
│                    │  │  │域    │    │域    │                                  │
│                    │  │  └──┬───┘    └──┬───┘                                  │
│                    │  │     │           │                                      │
│                    │  │  ┌──┴───┐    ┌──┴───┐                                  │
│                    │  │  │投标  │    │投标  │                                  │
│                    │  │  │文件  │    │价格  │                                  │
│                    │  │  │风险  │    │风险  │                                  │
│                    │  │  └──────┘    └──────┘                                  │
└────────────────────┘  └─────────────────────────────────────────────────────────┘
```

##### 布局说明

- 左侧导航树（浅灰背景）与右侧图谱区域视觉分离，宽度约220px
- 视角切换通过右侧图谱区域顶部的分段控制器（Segmented Control）实现
- 点击规则卡片仍可弹出右侧滑出详情面板（保留现有逻辑）
- 右侧图谱区域各层级之间通过鱼骨连线连接（div绝对定位）

#### 3.1.3 各区域详细规格

##### 视角切换

| 属性 | 说明 |
|------|------|
| 位置 | 右侧图谱区域顶部 |
| 控件类型 | 分段控制器（Segmented Control） |
| 选项 | 主题视角（默认）、规则视角 |
| 描述文字 | 切换按钮右侧显示当前视角的简要描述：主题视角为"从公司出发，按业务域→主题→维度→规则逐级展开，纵览规则体系全貌"；规则视角为"从单条规则出发，反向查看其关联的主题与维度，洞察规则的多维覆盖关系" |
| 切换行为 | 切换后左侧导航树和右侧图谱区域同步切换为对应视图，描述文字同步更新 |

##### 层级视图 — 左侧导航树

| 属性 | 说明 |
|------|------|
| 数据来源 | 公司（固定值）→ 业务域 → 各域下的风险主题 |
| 展示内容 | 三级树结构：公司为根节点（默认展开），业务域为可展开/折叠分组（显示主题数量），分组下列出该域的风险主题 |
| 主题信息 | 主题名称 + 规则总数量 + 跨维度共享标记（如有） |
| 默认状态 | 宽度约220px，公司节点默认展开，所有业务域默认展开 |
| 交互 | 点击公司 → 右侧展示公司→业务域→主题全景；点击业务域 → 右侧展示该域的主题→维度；点击主题 → 右侧展示该主题的维度→规则 |
| 选中状态 | 当前选中节点高亮显示，自动展开其上级分组 |

##### 层级视图 — 右侧联动规则

右侧图谱区域根据左侧选中节点联动展示下级层级：

| 左侧点击节点 | 右侧展示内容 | 右侧可交互 |
|-------------|-------------|-----------|
| 公司 | 公司 → 16个业务域 → 各域下的主题 | 点击业务域就地展开其下主题；点击主题就地展开其下维度/规则 |
| 业务域 | 该业务域 → 主题 → 各主题下的维度 | 点击主题就地展开其下维度/规则 |
| 主题 | 该主题 → 维度 → 规则（现有逻辑） | 点击维度展开规则列表 |

右侧就地展开：点击右侧的业务域/主题/维度节点时，在当前右侧视图内就地展开下级内容，不跳转到其他视图。

##### 层级视图 — 右侧图谱节点

**业务域节点：**

| 属性 | 说明 |
|------|------|
| 展示内容 | 业务域名称 + 主题数量 + 规则总数 |
| 样式 | 蓝色边框白色卡片 |
| 交互 | 点击就地展开其下主题 |

**主题节点：**

| 属性 | 说明 |
|------|------|
| 展示内容 | 主题名称 + 业务域（小字括号） |
| 规则数量 | 卡片下方独立摘要行，灰色小字显示"共X条规则 · 含Y条跨维度" |
| 跨维度标记 | 若主题下存在同时关联多个维度的规则，摘要行中显示"含Y条跨维度" |
| 样式 | 蓝色边框白色卡片 |
| 交互 | 点击就地展开其下维度和规则 |

**维度节点：**

| 属性 | 说明 |
|------|------|
| 展示内容 | 维度名称 + 浅灰色圆角标签显示该维度下直接关联的规则数量（不去重） |
| 每个维度下方 | 维度含义说明文字 |
| 交互 | 点击某个维度 → 高亮选中，下方规则列表区域展示该维度下的规则 |

**规则列表：**

| # | 列名 | 说明 |
|---|------|------|
| 1 | 状态 | 🟢 已上线 / 🔴 已下线（颜色圆点标识） |
| 2 | 规则编号 | `CJ-GY04-WCB-08` 格式 |
| 3 | 规则名称 | 完整规则名称 |
| 4 | 创建人 | - |
| 5 | 创建时间 | YYYY-MM-DD |
| - | 跨维度标记 | 有跨维度/跨主题关联的规则，卡片右上角显示圆形角标（内含 `fa-link` 图标，橙色底白字） |

##### 规则视角 — 左侧导航树

| 属性 | 说明 |
|------|------|
| 结构 | 两级树：业务域 → 规则列表 |
| 顶部 | 搜索框，左侧带搜索图标（fa-search），支持按规则名称/编号搜索。输入文字后右侧显示清除按钮（fa-times），点击清除搜索内容 |
| 业务域 | 可展开/折叠分组，下列出该域下的所有规则 |
| 规则信息 | 状态圆点 + 规则编号 + 规则名称 |
| 交互 | 点击展开/折叠业务域分组；点击某条规则 → 右侧图谱区域展示该规则的关联图谱 |
| 选中状态 | 当前选中规则橙色高亮 |

##### 规则视角 — 右侧图谱

| 属性 | 说明 |
|------|------|
| 根节点 | 选中规则为橙色聚焦卡片（#fff3e0底 + #E6A23C左边框），显示规则名称、编号、状态 |
| 布局结构 | 与层级视图一致，使用 gc-tree-row + gc-children 递归结构，规则→主题→维度逐级水平展开 |
| 关联主题 | 根节点通过水平鱼骨spine连接各关联主题（蓝色边框卡片，含业务域标签 + 关联维度数量） |
| 关联维度 | 每个主题通过水平鱼骨spine连接其下的关联维度（绿色边框卡片） |
| 连线 | 蓝色div线（#667eea），由 drawAllFishbones() 统一绘制，与层级视图完全一致 |

##### 规则关联详情面板（保留）

点击规则卡片弹出右侧滑出详情面板，展示该规则的完整关联关系（层级视图和规则视角均可用）：

| 区域 | 内容 |
|------|------|
| 面板头部 | 规则名称、规则编号 |
| 关联区域 | 该规则关联的所有风险主题和维度，按主题分组展示 |
| 主题行 | 渐变色圆点 + 主题名称，当前所在主题标注"当前"标签 |
| 维度行 | 缩进展示，当前所在维度高亮并标注"当前"，非当前维度显示"交叉关联"标签 |
| 跳转交互 | 点击任意主题/维度行 → 关闭面板，自动定位到对应的主题→维度节点 |

此面板用于从规则视角反向查看其与主题/维度的多对多关联关系。当一条规则关联了多个主题或维度时，用户可以通过面板快速跳转到其他关联节点。

#### 3.1.4 顶部工具栏

| 功能 | 视角 | 说明 |
|------|------|------|
| 展开全部 | 层级视图 | 展开右侧图谱区域当前视图的所有下级层级（范围待定） |
| 搜索框 | 规则视角 | 左侧导航树顶部，支持按规则名称/编号搜索 |
| 导出台账 | 通用 | ~~导出完整规则清单为 Excel~~ 本期暂不实现，纳入后续迭代 |

#### 3.1.5 空状态

| 区域 | 视角 | 未选中时提示 |
|------|------|-------------|
| 右侧图谱区域 | 层级视图 | "请在左侧导航树中选择一个节点" |
| 右侧图谱区域 | 规则视角 | "请在左侧选择一条规则" |
| 维度列表区域 | 层级视图 | 主题已选中但无维度时显示"该主题下暂无风险维度" |
| 规则列表区域 | 层级视图 | 维度已选中但无规则时显示"该维度下暂无关联规则" |

#### 3.1.6 状态标识规范

| 状态 | 颜色 | 图标 | 含义 |
|------|------|------|------|
| 已上线 | 橙 | 🟠 | 规则已上线，参与风控检测 |
| 上线中 | 绿 | 🟢 | 规则在上线审批流程中，审批通过后变为"已上线" |
| 已下线 | 灰 | ⚫ | 规则已下线，不参与检测 |

#### 3.1.7 规则数量统计与跨维度共享标记

**维度级别：** 直接显示该维度下关联的规则数量，不做去重。

**主题级别：** 显示该主题下所有维度的规则数量之和（不去重）。若存在同一条规则关联了该主题下的多个维度（跨维度共享），则在主题规则数量旁标注"含x条跨维度"提示，其中 x 为跨维度共享规则的去重数量。

**示例：**
- 主题"围串标"下有3个维度，规则数量分别为7、4、6，总计17条
- 其中有1条规则同时关联了2个维度
- 主题显示为：`17条规则 含1条跨维度`

此设计确保主题层面的规则总数与各维度数量之和一致，避免用户点进维度后发现数量对不上的困惑，同时通过"含x条跨维度"标记让用户了解存在跨维度关联。

---

### 3.2 风险主题管理页

#### 3.2.1 页面入口

风控运营管理 → 风险主题管理

#### 3.2.2 页面布局

```
┌─────── 主题/维度树 ───────┐  ┌────── 已关联规则 ────────────────────────────────┐
│                            │  │  [+ 添加规则] [批量移除]                         │
│  ▼ 业务域A (3个主题)      │  │  ──────────────────────────────────────────────  │
│    ▼ 围串标 25条(含2跨维度)│  │  序号 规则编号  规则名称  状态  规则类型 ...     │
│      投标文件风险 7条      │  │  1    CJ-GY04.. 投标文件.. 已上线 AI规则  ...    │
│      投标价格风险 4条  ←   │  │  2    CJ-GY04.. 报价相同.. 已上线 普通规则 ...   │
│      投标行为风险 6条      │  │  3    CJ-GY04.. 报价规律.. 已下线 AI规则  ...    │
│    ▶ 虚假投标 12条         │  │                                                 │
│  ▶ 业务域B (1个主题)      │  │                                                 │
└────────────────────────────┘  └─────────────────────────────────────────────────┘
```

#### 3.2.3 功能规格

**左侧：主题/维度树**

| 功能 | 说明 |
|------|------|
| 业务域分组 | 按业务域分组显示，每个业务域后显示主题数量（如"3个主题"），点击可展开/收起 |
| 主题CRUD | 名称、所属业务域（下拉选择）、描述。每个主题后以浅灰标签显示规则总数（含跨维度标记），点击可展开/收起维度列表 |
| 维度CRUD | 名称、所属主题、描述。每个维度后以浅灰标签显示关联规则数量 |
| 编辑 | 点击主题或维度旁的编辑图标，弹窗修改 |
| 删除 | 删除主题时级联删除其下维度（确认提示），删除维度不影响规则 |
| 排序 | 支持拖拽调整主题和维度的显示顺序 |

**右侧：规则关联面板**

| 功能 | 说明 |
|------|------|
| 添加规则 | 弹出自定义规则选择弹窗（含关键字搜索、业务域筛选、状态筛选），表格列含序号、规则编号、规则名称、状态、风险等级、提交人、提交单位、监控目标、监控逻辑。已关联规则置灰禁用。底部显示已选规则计数 |
| 移除规则 | 勾选已关联规则，点击"批量移除" |
| 规则列表 | 显示已关联规则的序号、规则编号、规则名称、状态、规则类型、业务域、提交人、提出单位、上线时间 |

**规则类型取值：** AI规则、普通规则

**权限：** 普通用户可操作。

---

### 3.3 新建规则页 / 规则编辑页联动

| 改动项 | 说明 |
|--------|------|
| 归属风险主题和维度 | **合并为一个字段**，使用树状多选组件（Tree-Multiselect）。风险主题作为可展开的分组头，风险维度作为可勾选项。规则始终关联到维度级别，选择维度即隐式关联其所属主题。 |
| 触发器展示 | 触发器区域以**主题分组摘要标签**形式展示已选内容。每个已选主题显示为一个标签，格式为"主题名称(N)"，N为该主题下已选维度数量。标签右侧有 `×` 可移除整个主题（取消该主题下所有已选维度）。 |
| 业务域筛选 | 下拉面板顶部设有**业务域筛选栏**，以胶囊按钮形式列出所有业务域（含"全部"选项）。点击某个业务域按钮，仅显示该域下的主题和维度。 |
| 搜索 | 搜索框支持按主题名称或维度名称实时过滤，搜索主题名时展开该主题下所有维度。 |
| 管理入口 | 字段标签旁设"管理主题/维度"文字链接，点击新窗口跳转至风险主题管理页 |

**树状多选组件交互说明：**

- 点击触发器展开下拉面板，面板内含业务域筛选栏、搜索框和主题分组列表
- 业务域筛选栏位于面板顶部，以胶囊按钮形式展示，点击切换筛选
- 每个风险主题为一个可展开/折叠的分组，分组头左侧有箭头图标，右侧显示所属业务域名称
- 分组内列出该主题下的所有风险维度，每个维度前有复选框
- 勾选/取消勾选维度后，触发器区域实时更新主题摘要标签
- 点击触发器外部区域自动关闭下拉面板

当用户在新建/编辑规则时发现需要的主题或维度不存在，可通过"管理主题/维度"链接跳转至管理页新增，返回后刷新下拉选项。

---

### 3.4 规则详情页联动

| 改动项 | 说明 |
|--------|------|
| 基本信息区 | 新增展示"归属风险主题和维度"字段。 |
| 查看模式 | 以**主题卡片+维度标签**形式展示。每个已关联的主题显示为一个浅灰卡片，卡片内包含主题名称和该主题下已关联的维度标签（绿色圆角标签）。多个主题时纵向排列。 |
| 编辑模式 | 切换为树状多选组件，与新建规则页一致（含业务域筛选栏、主题分组摘要标签触发器）。 |

---

### 3.5 风险场景详情页 — 覆盖图谱（新增）

#### 3.5.1 页面入口

在风险场景详情页中新增"覆盖图谱"Tab，与现有"基础信息"Tab 并列。点击切换。

#### 3.5.2 功能说明

通过场景关联的规则，自动推导该场景覆盖了哪些风险主题和哪些风险维度，以规则图谱相同的布局形式可视化展示场景的规则覆盖结构。

**数据推导逻辑：**
- 场景 → 关联规则 → 规则归属的维度 → 维度所属的主题
- 仅展示有关联的主题和维度

#### 3.5.3 页面布局

复用规则图谱的布局结构，新增场景信息横幅和视角切换。整体布局为：顶部场景信息横幅 + 下方左侧导航树 + 右侧图谱区域。

```
┌──────────────── 场景信息横幅（紫蓝渐变） ─────────────────────────────┐
│  差旅费报销单审核  CJ-2026.. · 9条规则 · 3个主题                       │
│  [差旅费用合规(4)]  [采购合规(3)]  [人员诚信(2)]  ← 可点击主题标签     │
└───────────────────────────────────────────────────────────────────────┘
┌─── 左侧导航 ───┐  ┌────── 右侧图谱区域 ────────────────────────────────┐
│                  │  │  [主题→规则] [规则→主题]  ← 视角切换              │
│  关联的风险主题  │  │                                                     │
│                  │  │  ┌──────────────┐                                  │
│  差旅费用合规 财│  │  │ 差旅费用合规  │                                  │
│  务域 4条 ←    │  │  │  4条规则      │                                  │
│  采购合规 采购域│  │  └──────┬───────┘                                  │
│  3条           │  │     ┌────┴────┐    ┌─────────────┐  ┌──────────┐  │
│  人员诚信 人力域│  │     │ 费用标准 │    │  审批流程     │  │ 报销时效  │  │
│  2条           │  │     │  2条     │    │  1条          │  │  1条     │  │
│                  │  │     └────┬────┘    └──────┬───────┘  └────┬─────┘  │
│                  │  │    ┌─────┴──────┐    ┌────┴────┐          │        │
│                  │  │    │🟢 差旅费  │    │🟢 审批  │    ┌─────┴────┐   │
│                  │  │    │  超标预警  │    │ 流程缺失│    │🟢 报销   │   │
│                  │  │    │🟢 城市住宿│    │ 检查    │    │ 时效超期 │   │
│                  │  │    │  标准超限  │    └─────────┘    │ 检测     │   │
│                  │  │    └──────────┘                    └──────────┘   │
└──────────────────┘  └─────────────────────────────────────────────────────┘
```

**布局说明：**
- 顶部横幅：紫蓝渐变背景，显示场景名称、编号、风险规则总数、风险主题数
- 左侧导航：仅显示主题列表（不含场景信息），每个主题后附业务域标签和规则数量
- 右侧图谱区域：顶部为视角切换分段控制器，下方选中主题后以主题卡片为起点展开全部维度和规则
- 各层级之间通过鱼骨连线连接（主题→维度→规则），连线为div实现（与规则图谱一致）

#### 3.5.4 视角切换

覆盖图谱支持两种视角，通过图谱区域顶部的**分段控制器**（Segmented Control）切换：

| 视角 | 顶部横幅 | 左侧导航 | 右侧图谱 | 说明 |
|------|----------|----------|----------|------|
| **主题→规则** | 场景信息 | 风险主题列表 | 选中主题 → 维度 → 规则（鱼骨图） | 从主题出发，查看覆盖的维度和规则 |
| **规则→主题** | 场景信息 | 规则列表 | 选中规则 → 主题 → 维度（鱼骨图） | 从规则出发，反向查看关联的主题和维度 |

#### 3.5.5 规则关联详情面板

在主题→规则视角下，点击规则卡片弹出右侧滑出面板，展示该规则的完整信息和关联关系（样式与规则图谱页一致）：

| 区域 | 内容 |
|------|------|
| 面板头部 | 规则名称、规则编号 |
| 基本信息 | 状态、提交人、提交单位、上线时间 |
| 关联区域 | 该规则关联的所有风险主题和维度，按主题分组展示 |
| 主题行 | 蓝色圆点 + 主题名称 + 业务域标签，当前所在主题标注"当前"标签 |
| 维度行 | 缩进展示，绿色连接线+圆点 + 维度名称 |

#### 3.5.5 规则视角布局

切换到"规则→主题"视角后：

```
┌──────────────── 场景信息横幅 ────────────────────────────────────────┐
│  差旅费报销单审核  CJ-2026.. · 9条规则 · 3个主题                       │
│  [差旅费用合规(4)]  [采购合规(3)]  [人员诚信(2)]                       │
└───────────────────────────────────────────────────────────────────────┘
┌─── 左侧规则列表 ──┐  ┌──── 右侧图谱区域 ──────────────────────────┐
│                    │  │  [主题→规则] [规则→主题]  ← 视角切换       │
│  场景关联规则      │  │                                              │
│  ● CJ-SC-1-01  ←  │  │  ┌────────────┐                            │
│  ● CJ-SC-1-02     │  │  │ 差旅费超标  │    ┌──────────┐           │
│  ● CJ-SC-2-01     │  │  │  预警       │────│差旅费用合规│── 费用标准│
│  ● CJ-SC-3-01     │  │  │ CJ-SC-1-01  │    │  财务域   │── 审批流程│
│  ...              │  │  └────────────┘    └──────────┘           │
│                    │  │        │                                    │
│                    │  │        │         ┌──────────┐           │
│                    │  │        └─────────│ 采购合规  │── 合同金额│
│                    │  │                  │  采购域   │           │
│                    │  │                  └──────────┘           │
└────────────────────┘  └──────────────────────────────────────────┘
```

**左侧导航：**
- 仅列出场景关联的所有规则（场景信息在顶部横幅中展示）
- 每条显示状态圆点 + 规则编号 + 规则名称
- 选中规则橙色高亮显示

**右侧图谱：**
- 选中规则为渐变色根节点（紫蓝渐变），显示规则名称、编号、状态
- 根节点通过鱼骨spine连接各关联主题（蓝色边框卡片，含业务域标签）
- 每个主题通过鱼骨spine连接其下的关联维度（绿色边框卡片）

**节点样式：**

| 节点 | 样式 | 说明 |
|------|------|------|
| 规则根节点 | 橙色聚焦卡片（#fff3e0底 + #E6A23C左边框） | 显示规则名称、编号、状态（含状态圆点） |
| 主题节点 | 蓝色边框白色卡片（#409EFF） | 主题名称 + 业务域标签 + 关联维度数量 |
| 维度节点 | 绿色边框白色卡片（#67C23A） | 维度名称 |
| 连线 | 蓝色div线（#667eea，与规则图谱一致） | 规则→主题鱼骨spine→各主题，主题→维度鱼骨spine→各维度 |

**实体配色规范：**

| 实体 | 主色 | 聚焦态 | 关联态 |
|------|------|--------|--------|
| 风险场景 | #667eea→#764ba2 渐变 | — | 顶部横幅渐变背景 |
| 规则 | #E6A23C（橙色） | #fff3e0 底 + 橙色左边框 | 白底 + 橙色边框 |
| 风险主题 | #409EFF（蓝色） | #e8f0ff 底 + 蓝色边框 | 白底 + 蓝色边框 |
| 风险维度 | #67C23A（绿色） | — | 白底 + 绿色边框 |

#### 3.5.6 接口依赖

| 接口 | 方法 | 说明 |
|------|------|------|
| `/core/riskScene/coverage` | GET | 按场景ID查询覆盖的主题和维度（含规则数量统计） |
| `/core/riskRule/themeDimList` | GET | 按规则ID查询该规则关联的所有主题和维度（用于反向关联图谱） |

---

## 4. 交互流程

### 4.1 规则图谱浏览 — 层级视图

```
进入规则图谱页（默认层级视图）
  → 左侧导航树显示公司→业务域→主题三级结构，默认全部展开
  → 右侧图谱区域默认选中公司节点，展示公司→16个业务域→各域主题的全景
  → 用户点击左侧某个业务域 → 右侧展示该业务域→主题→维度
  → 用户点击左侧某个主题 → 右侧展示该主题→维度→规则
  → 用户点击右侧的业务域/主题节点 → 就地展开下级内容
  → 用户点击规则卡片 → 右侧滑出详情面板，展示该规则关联的所有主题和维度
  → 用户点击面板中的主题/维度 → 关闭面板，左侧导航树自动定位并选中对应主题
  → 用户可点击"展开全部"按钮 → 展开右侧当前视图的所有下级层级
  → 用户切换到"规则视角" → 左侧变为业务域→规则列表，右侧展示规则关联图谱
```

### 4.2 规则图谱浏览 — 规则视角

```
用户切换到规则视角
  → 左侧导航树变为业务域→规则列表（两级），顶部显示搜索框
  → 右侧图谱区域显示引导提示"请在左侧选择一条规则"
  → 用户点击左侧某条规则 → 右侧以该规则为橙色聚焦根节点，通过鱼骨图展示关联的主题和维度
  → 用户在搜索框输入规则名称/编号 → 左侧规则列表实时过滤
  → 用户点击右侧规则卡片 → 弹出详情面板（同层级视图）
  → 用户切换回"层级视图" → 恢复为公司→业务域→主题导航树
```

### 4.3 规则编辑联动

```
用户打开新建/编辑规则页
  → 点击"归属风险主题和维度"字段的触发器
  → 展开树状多选面板，顶部显示业务域筛选栏
  → 点击业务域胶囊按钮筛选主题，或通过搜索框快速定位
  → 展开目标主题分组，勾选维度（可跨多个主题勾选）
  → 触发器区域实时显示主题摘要标签（如"围串标(3)"）
  → 点击标签 × 可移除整个主题下的所有已选维度
  → 若无合适选项，点击"管理主题/维度"链接 → 新窗口打开管理页
  → 新建主题/维度（或关联规则到维度）
  → 返回原窗口，刷新下拉列表
  → 选择完成，保存规则
```

### 4.4 风险场景覆盖图谱浏览

```
进入风险场景详情页
  → 默认显示"基础信息"Tab
  → 用户点击"覆盖图谱"Tab
  → 顶部显示紫蓝渐变场景横幅（场景名称、编号、规则数、主题数、主题标签）
  → 左侧导航显示关联主题列表（附业务域标签和规则数量）
  → 右侧图谱区域显示视角切换（主题→规则 / 规则→主题）和引导提示
  → 默认选中第一个主题，右侧展示主题卡片→维度→规则鱼骨图
  → 用户点击左侧主题或横幅主题标签 → 切换选中主题，右侧图谱更新
  → 用户点击规则卡片 → 右侧滑出详情面板，展示该规则关联的所有主题和维度
  → 用户切换到"规则→主题"视角 → 左侧变为规则列表，右侧以选中规则为根节点展示鱼骨图
  → 用户点击左侧规则 → 右侧图谱更新为该规则关联的主题和维度
```

---

## 5. 数据库设计

### 5.1 风险主题表（新增）

```sql
-- RISK_THEME
CREATE TABLE RISK_THEME (
  ID          VARCHAR(36)   PRIMARY KEY,   -- 主键
  NAME        VARCHAR(100)  NOT NULL,      -- 主题名称
  DOMAIN      VARCHAR(100),                 -- 所属业务域
  DESCRIPTION VARCHAR(500),                 -- 描述说明
  SORT        INT DEFAULT 0,               -- 排序号
  CREATOR_ID  VARCHAR(36),                  -- 创建人ID
  CREATOR_NAME VARCHAR(50),                 -- 创建人姓名
  ORG_NAME    VARCHAR(200),                 -- 所属单位
  CREATE_TIME DATETIME,                     -- 创建时间
  UPDATE_TIME DATETIME,                     -- 更新时间
  STATUS      INT DEFAULT 1                 -- 状态 1=启用
);
```

### 5.2 风险维度表（新增）

```sql
-- RISK_DIMENSION
CREATE TABLE RISK_DIMENSION (
  ID          VARCHAR(36)   PRIMARY KEY,   -- 主键
  NAME        VARCHAR(100)  NOT NULL,      -- 维度名称
  THEME_ID    VARCHAR(36)   NOT NULL,      -- 所属风险主题ID（必填）
  DESCRIPTION VARCHAR(500),                 -- 描述说明
  SORT        INT DEFAULT 0,               -- 排序号
  CREATE_TIME DATETIME,                     -- 创建时间
  UPDATE_TIME DATETIME,                     -- 更新时间
  STATUS      INT DEFAULT 1                 -- 状态 1=启用
);
```

### 5.3 规则-主题关联表（新增）

```sql
-- RULE_THEME_REL
CREATE TABLE RULE_THEME_REL (
  ID        VARCHAR(36) PRIMARY KEY,
  RULE_ID   VARCHAR(36) NOT NULL,   -- 规则ID
  THEME_ID  VARCHAR(36) NOT NULL,   -- 风险主题ID
  UNIQUE KEY uk_rule_theme (RULE_ID, THEME_ID)
);
```

### 5.4 规则-维度关联表（新增）

```sql
-- RULE_DIMENSION_REL
CREATE TABLE RULE_DIMENSION_REL (
  ID            VARCHAR(36) PRIMARY KEY,
  RULE_ID       VARCHAR(36) NOT NULL,   -- 规则ID
  DIMENSION_ID  VARCHAR(36) NOT NULL,   -- 风险维度ID
  UNIQUE KEY uk_rule_dimension (RULE_ID, DIMENSION_ID)
);
```

### 5.5 现有表变更

**规则表（RISK_RULE）**：**不改动**。关联通过上述两张关联表实现，避免改动已有规则核心表结构。

---

## 6. 接口设计

### 6.1 风险主题接口

| 接口 | 方法 | 说明 |
|------|------|------|
| `/core/riskTheme/list` | GET | 查询主题列表（按业务域筛选，含规则数量统计） |
| `/core/riskTheme/add` | POST | 新增主题 |
| `/core/riskTheme/update` | PUT | 修改主题 |
| `/core/riskTheme/delete/{id}` | DELETE | 删除主题 |
| `/core/riskTheme/updateSort` | PUT | 更新排序 |

### 6.2 风险维度接口

| 接口 | 方法 | 说明 |
|------|------|------|
| `/core/riskDimension/list` | GET | 查询维度列表（按主题ID筛选，含规则数量统计） |
| `/core/riskDimension/add` | POST | 新增维度 |
| `/core/riskDimension/update` | PUT | 修改维度 |
| `/core/riskDimension/delete/{id}` | DELETE | 删除维度 |
| `/core/riskDimension/updateSort` | PUT | 更新排序 |

### 6.3 规则关联接口

| 接口 | 方法 | 说明 |
|------|------|------|
| `/core/riskTheme/ruleList` | GET | 查询某主题/维度下的规则列表 |
| `/core/riskDimension/bindRules` | POST | 维度批量关联规则 |
| `/core/riskDimension/unbindRules` | POST | 维度批量移除规则 |
| `/core/riskRule/search` | GET | 按规则名称/编号搜索（规则视角左侧搜索框使用） |
| `/core/riskRule/themeDimList` | GET | 按规则ID查询该规则关联的所有主题和维度（规则视角右侧图谱使用） |

### 6.4 导出台账接口

> **本期暂不实现**，纳入后续迭代。

| 接口 | 方法 | 说明 |
|------|------|------|
| `/core/riskTheme/export` | POST | 导出规则台账 Excel（本期暂不实现） |

---

## 7. 验收标准

### 7.1 规则图谱展示

| 验收项 | 验收标准 |
|--------|---------|
| 复合布局 | 左侧导航树+右侧图谱区域正确渲染，视觉分离，宽度约220px |
| 视角切换 | 右侧顶部有分段控制器，支持"主题视角"和"规则视角"切换，切换后左右侧同步更新，描述文字同步更新 |
| **层级视图** | |
| 导航树 | 三级结构：公司→业务域→主题，公司为固定根节点，业务域可展开/折叠，下列出该域的风险主题 |
| 公司级联动 | 点击公司节点 → 右侧展示公司→16个业务域→各域主题的全景 |
| 业务域级联动 | 点击左侧业务域 → 右侧展示该业务域→主题→维度 |
| 主题级联动 | 点击左侧主题 → 右侧展示该主题的维度节点和规则列表 |
| 就地展开 | 点击右侧的业务域/主题/维度节点时，在当前视图内就地展开下级内容 |
| 展开全部 | "展开全部"按钮可展开右侧当前视图的所有下级层级 |
| 状态标识 | 规则状态颜色正确（橙/绿/灰，对应已上线/上线中/已下线） |
| 规则数量 | 维度卡片直接显示关联规则数量（不去重） |
| 跨维度标记 | 主题卡片下方摘要行显示规则总数+跨维度共享标记"含Y条跨维度" |
| 跨维度规则标识 | 有跨维度关联的规则卡片右上角显示圆形角标（内含 fa-link 图标） |
| **规则视角** | |
| 左侧导航树 | 两级结构：业务域→规则列表，顶部有搜索框（含搜索图标和清除按钮） |
| 搜索功能 | 搜索框左侧带搜索图标，输入文字后右侧显示清除按钮，支持按规则名称/编号实时过滤左侧规则列表 |
| 规则选中 | 点击左侧规则 → 右侧以该规则为橙色聚焦根节点，通过水平鱼骨图展示关联的主题和维度 |
| 规则视角节点 | 根节点为橙色卡片，主题为蓝色边框卡片，维度为绿色边框卡片，蓝色鱼骨连线。布局结构与层级视图一致（gc-tree-row + gc-children），由 drawAllFishbones() 统一绘制 |
| 视角描述 | 视角切换按钮右侧显示当前视角的简要描述文字，切换时同步更新 |
| **通用** | |
| 规则关联面板 | 点击规则卡片弹出右侧滑出详情面板，展示该规则关联的所有主题和维度 |
| 多对多展示 | 面板中正确区分当前维度和交叉关联的维度 |
| 面板跳转 | 点击面板中的主题/维度可跳转到对应图谱节点 |
| 主题详情 | 选中主题后正确展示业务域/创建人/单位/时间/描述 |
| 空状态 | 层级视图未选中节点时显示"请在左侧导航树中选择一个节点"；规则视角未选中规则时显示"请在左侧选择一条规则" |

### 7.2 风险主题管理

| 验收项 | 验收标准 |
|--------|---------|
| 主题增删改 | 操作正常，数据持久化，无编码字段 |
| 维度增删改 | 维度必须绑定主题，操作正常，无编码字段 |
| 业务域分组 | 按业务域分组显示主题数量，点击可展开/收起 |
| 主题规则数量 | 主题后显示规则总数（含跨维度标记），浅灰标签样式 |
| 维度规则数量 | 维度后显示关联规则数量，浅灰标签样式 |
| 折叠/展开 | 点击业务域/主题行可展开/收起下一级内容 |
| 关联规则弹窗 | 自定义弹窗样式，含关键字搜索、业务域筛选、状态筛选（已上线/上线中/已下线），已关联规则置灰，表格含9列（序号、规则编号、规则名称、状态、风险等级、提交人、提交单位、监控目标、监控逻辑），底部显示已选计数 |
| 右侧规则列表 | 序号、规则编号、规则名称、状态、规则类型、业务域、提交人、提出单位、上线时间 |
| 规则类型 | 取值为 AI规则、普通规则 |
| 排序 | 拖拽排序生效 |

### 7.3 规则编辑联动

| 验收项 | 验收标准 |
|--------|---------|
| 表单字段 | 新增"归属风险主题和维度"树状多选组件，主题为分组头，维度为勾选项 |
| 触发器展示 | 触发器以主题摘要标签形式展示（"主题名(N)"），× 可移除整个主题 |
| 业务域筛选 | 下拉面板顶部有业务域胶囊筛选栏，点击可按业务域过滤主题 |
| 主题分组 | 每个主题分组头显示主题名称和所属业务域 |
| 搜索过滤 | 搜索框可按主题名称或维度名称实时过滤，搜索主题名时展开全部维度 |
| 详情页查看 | 规则详情查看模式下以主题卡片+维度标签形式展示（浅灰卡片内含绿色维度标签） |
| 详情页编辑 | 规则详情编辑模式下切换为树状多选组件（含业务域筛选、主题摘要标签） |
| 跳转链接 | "管理主题/维度"正确跳转至风险主题管理页 |

### 7.4 风险场景覆盖图谱

| 验收项 | 验收标准 |
|--------|---------|
| Tab 入口 | 风险场景详情页显示"基础信息"和"覆盖图谱"两个Tab，切换正常 |
| 场景横幅 | 顶部紫蓝渐变横幅显示场景名称、编号、风险规则总数、风险主题数 |
| 左侧导航 | 仅显示主题列表（不含场景信息），每个主题附业务域标签和规则数量，点击主题右侧更新 |
| 右侧图谱 | 复用规则图谱布局：主题卡片→维度+规则展开全部 |
| 鱼骨连线 | 主题→维度、维度→规则之间有鱼骨连线（div绝对定位，与规则图谱一致） |
| 空状态 | 未选中主题时右侧显示引导提示 |
| 规则状态 | 规则卡片支持已上线（橙）、上线中（绿）、已下线（灰）三种状态 |
| 实体配色 | 场景=#667eea渐变，规则=#E6A23C橙色，主题=#409EFF蓝色，维度=#67C23A绿色 |
| 聚焦态 | 选中主题节点浅蓝底(#e8f0ff)+蓝边框，选中规则节点浅橙底(#fff3e0)+橙左边框 |
| 关联态 | 未选中的主题/维度/规则节点为白底+对应颜色边框 |
| 跨维度规则 | 跨维度关联的规则卡片右上角显示圆形角标（内含 `fa-link` 图标，橙色底白字） |
| 视角切换 | 图谱区域内有分段控制器，支持"主题→规则"和"规则→主题"两种视角切换 |
| 规则详情面板 | 点击规则卡片弹出右侧滑出面板，展示规则基本信息和关联的主题/维度（样式与规则图谱页一致） |
| 规则视角导航 | 切换到规则视角后，左侧显示规则列表（状态圆点+编号+名称），选中规则橙色高亮 |
| 规则视角图谱 | 右侧以选中规则为橙色聚焦根节点，通过鱼骨图展示关联的主题和维度 |

---

## 8. 功能边界

### 8.1 本期实现

- 规则图谱展示页（左侧导航树 + 右侧图谱区域 + 规则关联详情面板）
- 左侧导航树支持公司→业务域→主题三级结构
- 右侧联动展示：根据左侧选中节点展示下级层级，支持就地展开
- 视角切换：层级视图（默认）和规则视角
- 规则视角：左侧业务域→规则列表（含搜索框），右侧以选中规则为根节点展示关联主题→维度
- 规则状态支持三种：已上线（橙）、上线中（绿）、已下线（灰）
- 跨维度共享规则标记
- 风险主题管理页（CRUD + 规则关联）
- 规则新建/编辑页增加归属下拉
- 风险场景详情页增加"覆盖图谱"Tab

### 8.2 后续迭代

- 导出台账
- 图谱页内的规则编辑/已下线快捷操作
- 规则与主题/维度的拖拽关联（图谱页内操作）
- 导出过滤/自定义导出字段
- 规则版本历史在主题/维度下的展示

---

## 9. 待确认事项

| 序号 | 事项 | 确认结果 |
|------|------|---------|
| 1 | 规则-主题关系 | ✅ 多对多 |
| 2 | 规则-维度关系 | ✅ 多对多 |
| 3 | 管理权限 | ✅ 普通用户可操作 |
| 4 | 页面命名 | ✅ 规则图谱、风险主题、风险维度 |
| 5 | 图谱首页入口 | ✅ 风险规则库下 |
| 6 | 管理页入口 | ✅ 风险规则库下 |
| 7 | 展示布局 | ✅ 左侧导航树 + 右侧图谱区域 |
| 8 | 业务域分组可展开/折叠 | ✅ 支持 |
| 9 | 规则表是否改动 | ✅ 不改动，用关联表 |
| 10 | 规则状态 | ✅ 三种：已上线（橙）、上线中（绿）、已下线（灰） |
| 11 | 覆盖图谱入口 | ✅ 风险场景详情页增加"覆盖图谱"Tab |
| 12 | 覆盖图谱布局 | ✅ 复用规则图谱布局，场景作为最上层节点，不展示覆盖率和盲区 |
| 13 | 左侧导航树层级 | ✅ 公司→业务域→主题三级，公司为固定值 |
| 14 | 右侧联动方式 | ✅ 根据左侧选中节点展示下级层级，支持就地展开 |
| 15 | 视角切换 | ✅ 层级视图（默认）和规则视角，分段控制器切换 |
| 16 | 规则视角左侧 | ✅ 业务域→规则列表（两级），顶部搜索框 |
| 17 | 规则视角右侧 | ✅ 选中规则为根节点，鱼骨图展示关联主题→维度 |
| 18 | 规则关联面板 | ✅ 保留，层级视图和规则视角均可用 |
| 19 | "展开全部"范围 | 待定 |
