# 规则统计分析页面开放优化 PRD

## 1. 文档信息

- 文档名称：规则统计分析页面开放优化 PRD
- 所属模块：全知平台 / 风控模块 / 运营管理 / 规则统计分析
- 文档类型：功能优化 PRD
- 编写目的：明确"规则统计分析"页面从管理员专属扩展为全用户可见的方案，包括数据范围划分、筛选逻辑调整、KPI指标语义澄清等优化。

---

## 2. 背景与问题

### 2.1 当前使用路径

当前规则统计分析模块主要用于：
- 管理员查看全平台风险规则的数量统计、状态分布与趋势分析
- 页面路由：`fxgl/ruleStatAnaly`
- API接口：`/core/riskRuleStatistics`

### 2.2 当前问题

#### 问题一：页面仅管理员可见

当前规则统计分析页面仅对管理员开放，普通用户无法查看自己提交的规则统计数据。这导致：
- 普通用户无法了解自己创建的规则整体情况
- 无法从统计角度审视自己的规则建设进度
- 不利于用户主动优化规则质量

#### 问题二：KPI指标与统计周期语义混淆

当前页面顶部的"统计周期"筛选器（全部时间/近7天/近30天/近90天/自定义）同时影响KPI卡片、图表和列表。但KPI指标存在两种类型：

| 类型 | 含义 | 受统计周期影响？ | 举例 |
|------|------|------------------|------|
| 期间流量型 | 在时间段内"发生"的数量 | 是 | 本期新增规则数 |
| 时点存量型 | 在某时间点"存在"的数量 | 否 | 当前监控中规则数 |

例如"监控中规则"是时点存量型指标——一条规则可能5年前创建，现在才被风险场景关联成为"监控中"。用创建时间来筛选这类指标会产生逻辑矛盾。

#### 问题三："监控中"概念不明确

当前页面同时存在"监控中规则"和"已上线"两个概念，但两者关系不清晰：
- KPI卡片有"监控中规则(96)"和"上线中规则(5)"
- 列表状态标签有"已上线"和"上线中"
- 筛选项有"已上线、草稿、已下线、上线中"四个状态
- "监控中"在筛选项中没有对应值

---

## 3. 优化目标

本次优化目标如下：

1. **页面对全用户开放**：管理员看全部规则，普通用户看自己提交的规则
2. **澄清KPI与统计周期的关系**：KPI展示时点存量数据，统计周期仅影响趋势图和列表
3. **调整页面布局**：筛选区域移至KPI卡片下方，统计周期与业务域、提出单位并列
4. **明确"监控中"含义**：监控中规则 = 被风险场景关联的已上线规则
5. **样式对齐**：模仿"已排除疑点汇总"页面的样式和交互模式
6. **新增查看详情入口**：列表操作列新增"查看详情"（当前为原型演示，暂不跳转）

---

## 4. 设计原则

### 4.1 数据范围分离原则

管理员与普通用户看到的页面结构一致，但数据范围不同：
- 管理员：全平台所有规则的统计数据
- 普通用户：仅自己提交的规则的统计数据

### 4.2 信息层级原则

页面信息分为两层：
- **第一层：全局概览**（KPI卡片）——展示当前存量快照，不受筛选条件影响
- **第二层：区间分析**（趋势图 + 列表）——受筛选条件（业务域、规则状态、统计周期等）影响

### 4.3 一致性原则

页面样式和交互模式与"已排除疑点汇总"页面保持一致，降低用户学习成本。

---

## 5. 功能设计

### 5.1 页面对全用户开放

#### 5.1.1 数据范围

| 角色 | 数据范围 | 说明 |
|------|----------|------|
| 管理员 | 全平台所有规则 | 可按提出单位筛选 |
| 普通用户 | 仅自己提交的规则 | 提出单位自动锁定为当前用户单位 |

#### 5.1.2 视图标识

页面右上角展示当前视图标识：
- 管理员：绿色标识"管理员视图 - 全部规则"
- 普通用户：蓝色标识"普通用户视图 - 我的规则"

支持"切换"按钮，用于原型演示时切换角色视角。

#### 5.1.3 提示区域

页面顶部展示蓝色提示框：
- 管理员："当前为管理员视图，展示所有规则的统计数据。"
- 普通用户："当前展示您提交的规则统计数据。"

---

### 5.2 KPI指标语义澄清

#### 5.2.1 指标定义

| KPI卡片 | 指标类型 | 含义 | 受统计周期影响 |
|---------|----------|------|----------------|
| 当前规则总数 | 时点存量 | 当前用户/平台的规则总数 | 否 |
| 监控中规则 | 时点存量 | 被风险场景关联的已上线规则数 | 否 |
| 上线中规则 | 时点存量 | 正在上线流程中的规则数 | 否 |
| AI规则 | 时点存量 | 标记为AI类型的规则数 | 否 |
| 已下线规则 | 时点存量 | 已下线的规则数 | 否 |

#### 5.2.2 "监控中规则"明确定义

**监控中规则**：用户的规则中，状态为"已上线"且被至少一个风险场景关联的规则数量。

- 被风险场景关联 = 该规则正在参与风险扫描，用于发现疑点
- 与"已上线"的关系：已上线规则不一定被场景关联（可能刚上线还未配置场景），被场景关联的一定是已上线规则

#### 5.2.3 KPI数据特性

- KPI卡片始终展示当前状态（时点快照）
- 不受顶部筛选条件和统计周期的影响
- 根据用户角色过滤数据范围（管理员看全量，普通用户看自己的）

---

### 5.3 筛选区域调整

#### 5.3.1 筛选项说明

| 筛选项 | 管理员 | 普通用户 | 影响范围 |
|--------|--------|----------|----------|
| 业务域 | 可选，支持"全部" | 可选，支持"全部" | 趋势图 + 饼图 + 列表 |
| 提出单位 | 可选，支持"全部" | 自动锁定为当前用户单位（disabled） | 趋势图 + 饼图 + 列表 |
| 统计周期 | 可选 | 可选 | 仅趋势图 + 列表 |
| 查询按钮 | 可用 | 可用 | 统一触发数据更新 |
| 重置按钮 | 可用 | 可用 | 清空筛选条件并查询 |

#### 5.3.2 查询模式

筛选区域采用"查询"模式：用户选择好所有筛选条件后，点击"查询"按钮统一触发数据更新，而不是每选一个下拉就刷新一次数据。

- 选择筛选项后不自动触发数据更新
- 点击"查询"按钮后，应用所有筛选条件，更新图表和列表
- 点击"重置"按钮后，清空所有筛选条件并自动执行一次查询

#### 5.3.3 统计周期说明

统计周期选项：
- 全部时间（默认）
- 近7天
- 近30天
- 近90天
- 自定义（弹出日期范围选择器，确认后需点击"查询"按钮生效）

统计周期仅影响：
- 规则创建趋势图（柱状图）
- 规则统计详情列表

统计周期不影响：
- KPI卡片数据
- 业务域分布饼图

---

### 5.4 页面布局调整

#### 5.4.1 布局结构

```
页面标题区域（h2 + 说明文字 + 视图标识 + 切换按钮 + 刷新按钮）
提示区域（蓝色tip-box，说明数据范围）
KPI卡片区域（5个卡片，时点数据，不受筛选影响）
筛选区域（业务域、提出单位、统计周期 + 查询按钮 + 重置按钮）
图表区域：
  ├── 左侧：规则创建趋势（柱状图）
  └── 右侧：业务域分布（饼图）
规则统计详情列表（标题说明 + Bootstrap表格 + 三点菜单 + 分页）
```

#### 5.4.2 布局变更说明

| 变更 | 原位置 | 新位置 | 原因 |
|------|--------|--------|------|
| 筛选区域 | KPI卡片上方 | KPI卡片下方 | KPI不受筛选影响，筛选应靠近其影响的内容 |

---

### 5.5 图表区域

#### 5.5.1 规则创建趋势（柱状图）

- 位置：图表区域左侧
- 标题："规则创建趋势（统计周期名称）"
- 数据：按筛选区域的统计周期筛选的规则创建数量
- 聚合逻辑：
  - 全部时间：按季度聚合
  - 近7天：按天聚合
  - 近30天：按2天聚合
  - 近90天：按周聚合
  - 自定义：根据时间跨度自动选择聚合方式

#### 5.5.2 业务域分布（饼图）

- 位置：图表区域右侧
- 标题："所属业务域分布"
- 数据：按筛选条件（业务域、规则状态、提出单位）过滤后的规则分布
- 注意：饼图受顶部筛选条件影响，但不受统计周期影响

---

### 5.6 规则统计详情列表

#### 5.6.1 列表字段

| 列名 | 宽度 | 说明 |
|------|------|------|
| 序号 | 80px | 自增序号 |
| 规则编号 | 120px | 规则唯一编码 |
| 规则名称 | 220px | 左对齐 |
| 业务域 | 100px | 所属业务域 |
| 规则状态 | 100px | 状态标签（已上线/草稿/已下线/上线中） |
| 提出人 | 100px | 提出规则的人员 |
| 提出单位 | 120px | 提出规则的单位 |
| 创建时间 | 160px | 规则创建日期 |
| 上线时间 | 160px | 规则上线日期（未上线显示"-"） |
| 操作 | 80px | 三点菜单，固定右侧 |

#### 5.6.2 操作菜单

采用"已排除疑点汇总"的三点菜单样式（hover展开）：
- 查看详情：跳转到规则详情页

#### 5.6.3 列表说明

列表区域上方展示说明文字："以下列表与图表共享筛选条件（业务域、提出单位、统计周期）"，帮助用户理解列表与图表的数据关系。

#### 5.6.4 空数据处理

当筛选结果为空时，显示居中提示文字"暂无规则统计数据"。

---

### 5.7 新增查看详情入口

列表操作列新增"查看详情"菜单项（三点菜单hover展开）。当前为原型演示阶段，点击后弹出提示，暂不实现真实页面跳转。

---

### 5.8 样式对齐

页面样式模仿"已排除疑点汇总"页面，包括：

| 组件 | 样式来源 | 说明 |
|------|----------|------|
| 页面标题 | 已排除疑点汇总 | h2 + 图标 + 说明文字 |
| 视图标识 | 已排除疑点汇总 | scope-indicator（管理员绿色/用户蓝色） |
| 提示框 | 已排除疑点汇总 | tip-box（蓝色渐变背景） |
| 筛选区域 | 已排除疑点汇总 | filter-section + filter-row |
| 内容卡片 | 已排除疑点汇总 | content-card |
| 表格 | 已排除疑点汇总 | Bootstrap table + hover |
| 操作菜单 | 已排除疑点汇总 | action-dots + action-dropdown |
| 空数据 | 已排除疑点汇总 | empty-box |

---

## 6. 页面交互说明

### 6.1 管理员视图

- 可看到全部规则的统计数据
- 提出单位筛选项可选，支持"全部"
- KPI展示全平台数据
- 趋势图和列表展示全平台数据（受筛选条件影响）

### 6.2 普通用户视图

- 仅看到自己提交的规则的统计数据
- 提出单位筛选项自动锁定为当前用户单位（disabled状态）
- KPI展示用户自己的数据
- 趋势图和列表展示用户自己的数据（受筛选条件影响）

### 6.3 角色切换（原型演示用）

点击"切换"按钮可切换管理员/普通用户视图：
- 切换后KPI数据更新
- 切换后图表和列表数据更新
- 切换后提出单位筛选项状态变化
- 切换后提示文字和视图标识更新

### 6.4 KPI卡片交互

KPI卡片为纯展示组件，不可点击，不参与列表筛选：
- 始终展示当前时点快照数据
- 仅根据用户角色过滤（管理员看全量，普通用户看自己的）
- 不受顶部筛选条件和统计周期的影响

### 6.5 筛选与查询

筛选区域采用"查询"模式：
- 选择业务域、提出单位、统计周期后，不自动触发数据更新
- 点击"查询"按钮后，统一应用所有筛选条件，更新图表和列表
- 点击"重置"按钮后，清空所有筛选条件并自动执行一次查询
- 点击"刷新数据"按钮后，用当前筛选条件重新拉取数据

### 6.6 自定义日期范围

选择"自定义"统计周期后：
- 弹出日期范围选择器弹窗
- 支持选择开始日期和结束日期
- 校验：开始日期不能晚于结束日期
- 确认后关闭弹窗，需点击"查询"按钮才生效

---

## 7. 功能边界

### 7.1 本次要做

- 页面对全用户开放（管理员/普通用户数据范围不同）
- KPI指标语义澄清（时点存量数据，不受筛选条件影响）
- 页面布局调整（筛选区域移至KPI下方，统计周期与业务域、提出单位并列）
- 筛选采用查询模式（筛选项+查询按钮+重置按钮，点击查询才触发更新）
- "监控中规则"定义明确（被风险场景关联的已上线规则）
- 样式对齐"已排除疑点汇总"
- 新增视图标识和提示区域
- 新增查看详情入口（暂不跳转）
- 列表新增"提出人"列
- 列表区域新增说明文字
- 提出单位筛选项：管理员可选，普通用户自动锁定

### 7.2 本次不做

- 不实现导出报表功能（后续迭代）
- 不实现查看详情的真实页面跳转（当前为原型演示）
- 不新增真实后端接口
- 不改变规则数据结构
- 不涉及疑点相关的数据分析

---

## 8. 用户价值

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

- **普通用户**：首次可以查看自己提交的规则的统计数据，了解规则建设情况
- **管理员**：页面结构更清晰，KPI与筛选逻辑更合理
- **所有用户**：页面样式统一，交互体验一致

---

## 9. 验收标准

### 9.1 权限与数据范围

- 普通用户可访问规则统计分析页面
- 普通用户只能看到自己提交的规则数据
- 管理员可看到全平台规则数据
- 视图标识和提示文字随角色变化

### 9.2 筛选区域

- 筛选区域位于KPI卡片下方
- 筛选项包含"业务域"、"提出单位"、"统计周期"，无"规则状态"和搜索框
- 筛选项与"查询"按钮、"重置"按钮在同一行
- 选择筛选项后不自动触发数据更新
- 点击"查询"按钮后统一应用筛选条件
- 普通用户的提出单位筛选项自动锁定为当前用户单位
- 管理员的提出单位筛选项可正常选择

### 9.3 KPI卡片

- KPI卡片位于筛选区域上方
- KPI数据不受统计周期和筛选条件影响
- KPI数据根据角色过滤（管理员看全量，普通用户看自己的）
- KPI卡片为纯展示组件，不可点击，不参与列表筛选

### 9.4 图表区域

- 趋势图标题栏只显示标题文字，无统计周期选择器
- 点击"查询"按钮后趋势图正确更新
- 饼图受筛选条件影响但不受统计周期影响
- 图表样式与"已排除疑点汇总"一致

### 9.5 规则列表

- 列表样式采用Bootstrap table
- 列表上方有说明文字"以下列表与图表共享筛选条件"
- 包含"提出人"列（位于规则状态和提出单位之间）
- 操作列采用三点菜单（hover展开）
- 点击"查看详情"弹出提示（暂不跳转）
- 空数据时显示提示文字

---

## 10. 风险与注意事项

### 10.1 原型阶段风险

当前 Demo 为静态原型，存在以下限制：
- 规则数据为 mock 数据
- 图表数据为静态预置值
- 角色切换通过前端变量模拟，不代表真实权限系统
- "监控中规则"的判断逻辑（被风险场景关联）需要后端支持

### 10.2 后续可选优化

后续如果继续深化，可考虑：
- 接入真实后端数据
- 实现导出报表功能
- 增加更多分析维度（如规则执行情况、准确率等）
- 支持规则之间的对比分析

---

## 11. 一句话总结

本次优化将规则统计分析页面从管理员专属扩展为全用户可见，通过区分KPI时点存量与统计周期的语义、调整页面布局、明确"监控中规则"定义、对齐页面样式，使普通用户可以查看自己提交的规则统计数据，提升风控运营的透明度和用户体验。
