# 规则组运营看板与权限优化 PRD

## 1. 文档信息

- 文档名称：规则组运营看板与权限优化 PRD
- 所属模块：全知平台 / 风控模块 / 风控运营管理 / 规则分组管理
- 文档类型：功能优化 PRD
- 编写目的：明确"规则组运营看板"新增功能及"规则分组管理权限优化"的方案，支持运营方全面了解规则组的规则建设情况，并为普通用户提供只读查看能力。

---

## 2. 背景与问题

### 2.1 当前使用路径

当前规则分组管理模块主要用于：
- 管理员创建和管理规则分组
- 将风险规则归入对应分组
- 按业务维度对规则进行组织

### 2.2 当前问题

#### 问题一：规则状态限制

当前往规则组添加规则时，只能选择"已上线"状态的规则。这导致：
- 运营方无法了解规则组中"上线中"和"已下线"规则的建设情况
- 无法全面掌握一个业务场景（如差旅费报销）的规则建设全貌

#### 问题二：缺乏规则组维度的数据分析

当前规则分组管理页只能查看组内规则列表，缺乏：
- 规则状态分布的可视化展示
- 风险等级和规则类型的统计分析
- 规则建设趋势的跟踪
- 建设完成率等关键指标

#### 问题三：普通用户无法查看规则组信息

当前规则分组管理页只有管理员可以访问，普通用户：
- 无法查看规则组中包含哪些规则
- 无法了解业务场景的规则建设情况
- 不利于业务方了解自身领域的风险管控覆盖情况

---

## 3. 优化目标

本次优化目标如下：

1. **放开规则状态限制**：允许将"上线中"、"已上线"、"已下线"状态的规则加入规则组，草稿状态排除
2. **新增规则组运营看板**：为每个规则组提供全面的数据分析和可视化展示
3. **开放普通用户只读权限**：让普通用户可以查看规则组信息和运营看板

---

## 4. 设计原则

### 4.1 全面性原则

规则组运营看板应全面展示规则建设情况，包括状态分布、风险等级、规则类型、建设趋势等维度。

### 4.2 可读性原则

看板设计应清晰直观，通过图表和KPI卡片让运营方快速了解规则组的整体情况。

### 4.3 权限分离原则

管理员保持完整的操作权限，普通用户获得只读查看权限，确保数据安全的同时满足信息共享需求。

### 4.4 复用原则

优先复用现有页面结构和组件，降低改造成本。

---

## 5. 功能设计

### 5.1 放开规则状态限制

#### 5.1.1 可添加规则状态

| 状态 | 是否可添加 | 说明 |
|------|-----------|------|
| 草稿 | 否 | 规则尚未提交，不适合纳入分组管理 |
| 上线中 | 是 | 已提交上线流程，尚未完成上线 |
| 已上线 | 是 | 已上线运行的规则 |
| 已下线 | 是 | 已下线的规则，保留在组内作为历史记录 |

#### 5.1.2 添加规则弹窗优化

- 新增状态筛选下拉框，支持按"上线中"、"已上线"、"已下线"筛选
- 规则列表字段调整：
  - 新增"状态"列，显示当前规则状态（上线中/已上线/已下线）
  - 新增"提交人"列
  - 新增"提交单位"列
  - 新增"监控目标"列
  - 新增"监控逻辑"列
  - 去掉"当前分组"列
- 添加提示文案："可添加'上线中'、'已上线'、'已下线'状态的规则，草稿状态不可添加"

---

### 5.2 规则组运营看板

#### 5.2.1 页面入口

- 入口位置：规则分组管理页，每个规则组的操作区增加"查看看板"按钮
- 跳转地址：`规则组运营看板.html?groupId={groupId}&name={groupName}`

#### 5.2.2 顶部概览卡片（KPI区）

| 卡片 | 说明 | 数据来源 |
|------|------|---------|
| 规则总数 | 组内规则总量 | groupData.rules.length |
| 已上线 | 已上线运行的规则数 | rules.filter(status === '已上线').length |
| 上线中 | 已提交上线流程、尚未完成上线的规则数 | rules.filter(status === '上线中').length |
| 已下线 | 已下线的规则数 | rules.filter(status === '已下线').length |
| 建设完成率 | 已上线 / 规则总数 × 100% | (已上线数 / 规则总数) × 100% |

#### 5.2.3 规则状态分布

| 图表 | 类型 | 说明 |
|------|------|------|
| 规则状态占比 | 环形图 | 上线中、已上线、已下线的比例 |

数据结构：
```javascript
{
  labels: ['已上线', '上线中', '已下线'],
  data: [onlineCount, pendingCount, offlineCount]
}
```

#### 5.2.4 风险等级分布

| 图表 | 类型 | 说明 |
|------|------|------|
| 风险等级分布 | 柱状图 | 组内规则按高/中/低风险等级的数量 |

数据结构：
```javascript
{
  labels: ['重大', '重要', '一般'],
  data: [criticalCount, importantCount, normalCount]
}
```

#### 5.2.5 规则类型分布

| 图表 | 类型 | 说明 |
|------|------|------|
| 规则类型分布 | 环形图 | 普通规则 vs AI规则的占比 |

数据结构：
```javascript
{
  labels: ['普通规则', 'AI规则'],
  data: [normalTypeCount, aiTypeCount]
}
```

#### 5.2.6 规则新增趋势

| 图表 | 类型 | 说明 |
|------|------|------|
| 规则新增趋势 | 折线图 | 按月展示该组规则的新增数量 |

时间范围：图表标题旁配置，支持选择近7天、近30天、近90天、近一年

#### 5.2.7 状态流转趋势

| 图表 | 类型 | 说明 |
|------|------|------|
| 状态流转趋势 | 堆叠面积图 | 各状态规则数量随时间的变化 |

时间范围：与规则新增趋势共享同一时间范围选择，修改任一会同步更新另一个

数据结构：
```javascript
{
  labels: ['2025-01', '2025-02', ...],
  datasets: [
    { label: '已上线', data: [...] },
    { label: '上线中', data: [...] },
    { label: '已下线', data: [...] }
  ]
}
```

---

### 5.3 规则分组管理权限优化

#### 5.3.1 权限设计

| 页面 | 管理员 | 普通用户 |
|------|--------|---------|
| 规则分组管理页 | 可看可操作 | 可看（只读，隐藏操作按钮） |
| 规则组运营看板 | 可看 | 可看（只读） |

#### 5.3.2 普通用户只读模式

通过URL参数 `readonly=true` 控制：
- 隐藏所有操作按钮（新建分组、删除分组、保存、添加规则、移除规则）
- 禁用所有表单输入
- 隐藏拖拽手柄

#### 5.3.3 导航入口

侧边导航"风控运营管理"下不额外新增菜单项：
- 规则分组管理页本身已支持普通用户只读访问（通过 `?readonly=true` 参数）
- 无需单独的"规则组看板"入口

### 5.4 规则分组管理页UI优化

#### 5.4.1 查看看板按钮视觉优化

- 按钮样式从 `btn-outline-info` 改为 `btn-info`（实心蓝色按钮）
- 提升按钮视觉突出度，便于用户发现

#### 5.4.2 规则分组面板折叠功能

- 左侧"规则分组"面板支持折叠/展开
- 折叠后面板宽度缩小为50px，只显示折叠按钮
- 折叠/展开按钮位于面板头部右侧
- 折叠后右侧分组详情区域显示空间增大

#### 5.4.3 分组规则收缩功能

- 每个分组下的规则列表支持收缩/展开
- 收起按钮位于分组节点右侧
- 收起后规则列表隐藏，只显示分组名称和规则数量
- 适用于规则数量较多的分组，方便浏览

### 5.5 组内规则列表字段优化

#### 5.5.1 字段调整

| 原字段 | 新字段 | 说明 |
|--------|--------|------|
| 创建单位 | 提出单位 | 更名，内容改为单位A、单位B等 |
| - | 提交人 | 新增列，显示规则提交人 |

#### 5.5.2 表格交互优化

- 页面宽度自适应浏览器宽度，无需左右拖动
- 表格宽度自适应容器，不设固定最小宽度
- 当页面宽度不足以显示所有列时，表格容器自身出现水平滚动条
- 操作列固定在最右侧，不受水平滚动影响

---

## 6. 页面交互说明

### 6.1 规则分组管理页

#### 原逻辑

- 操作按钮：新建分组、删除分组、保存、添加规则、移除规则
- 所有用户均可操作

#### 新逻辑

- 管理员：保持原有操作权限
- 普通用户（readonly=true）：
  - 隐藏新建分组、删除分组、保存、添加规则、移除规则按钮
  - 禁用所有表单输入
  - 隐藏拖拽手柄
  - 保留"查看看板"按钮

### 6.2 添加规则弹窗

#### 原逻辑

- 只能添加"已上线"状态的规则
- 无状态筛选

#### 新逻辑

- 可添加"上线中"、"已上线"、"已下线"状态的规则
- 新增状态筛选下拉框
- 规则列表新增"状态"列
- 添加提示文案说明可添加的规则状态

### 6.3 规则组运营看板

#### 新增页面

- 从规则分组管理页点击"查看看板"进入
- 展示该规则组的全面数据分析
- 支持时间范围选择
- 支持规则明细筛选和导出

---

## 7. 功能边界

### 7.1 本次要做

- 放开规则组添加规则的状态限制（支持上线中、已上线、已下线）
- 新增规则组运营看板页面
- 规则分组管理页对普通用户开放只读权限
- 添加规则弹窗增加状态筛选
- 规则表格增加状态、规则类型、创建单位、提交时间、上线时间字段

### 7.2 本次不做

- 不改造规则组与疑点的关联逻辑
- 不新增真实后端接口
- 不涉及疑点相关的数据分析
- 不改变规则分组的数据结构

---

## 8. 用户价值

本次优化可为用户带来以下价值：

- **运营方**：全面了解每个业务场景的规则建设情况，支持决策和规划
- **业务方**：查看自身领域规则组的建设进度和覆盖情况
- **管理层**：通过看板数据了解风险管控的整体建设情况
- **系统管理员**：更灵活的权限控制，满足不同角色的信息需求

---

## 9. 验收标准

### 9.1 规则状态限制

- 添加规则弹窗中可看到"上线中"、"已上线"、"已下线"状态的规则
- 添加规则弹窗中有状态筛选功能
- 规则列表中显示规则状态

### 9.2 规则组运营看板

- 规则分组管理页每条规则组记录有"查看看板"按钮
- 点击"查看看板"可正确跳转到运营看板页面
- 看板页面正确展示KPI卡片、图表和规则明细
- 时间范围选择功能正常
- 规则明细筛选和导出功能正常

### 9.3 权限优化

- 规则分组管理页对普通用户开放只读访问
- 只读模式下所有操作按钮隐藏
- 只读模式下表单输入禁用
- 管理员模式下所有功能正常

---

## 10. 风险与注意事项

### 10.1 原型阶段风险

当前 Demo 为静态原型，存在以下限制：
- 规则数据为 mock 数据
- 图表数据为静态预置值
- 并不代表真实后端已经具备完整联动能力

### 10.2 后续可选优化

后续如果继续深化，可考虑：
- 接入真实后端数据
- 增加更多分析维度（如规则执行情况、准确率等）
- 支持规则组之间的对比分析
- 增加规则建设进度的预警机制

---

## 11. 一句话总结

本次优化通过放开规则状态限制、新增规则组运营看板、开放普通用户只读权限，使运营方能够全面了解每个业务场景的规则建设情况，提升风险管控的可视化和管理效率。