# 导出功能规范梳理

## 一、通用原则

### 数据范围

统一导出"当前筛选结果"，不导出未命中的全量数据。

### 字段范围

1. 以页面表格列为基准
2. 补充关键隐藏字段（如场景编号、规则编号等）
3. 不导出技术字段（内部ID、上链hash、前端状态标记等）
4. 保持字段顺序与页面一致
5. 列名 = 页面表头名

### 导出模式

| 模式 | 适用场景 |
|------|----------|
| 异步 | 数据量大、可能超时的页面（如场景疑点页） |
| 同步 | 数据量可控的页面（如规则列表、制度库） |

---

## 二、场景一：场景疑点页（派发/处置）

### 导出结构

每个规则对应一个 Excel 文件，场景内所有规则的 Excel 文件打包成一个 zip 文件。

```
zip文件
├── 规则A.xlsx
├── 规则B.xlsx
└── ...
```

### 文件命名

| 类型 | 命名格式 | 示例 |
|------|----------|------|
| zip（派发） | `{场景编号}_{场景名称}_疑点派发_{导出时间}.zip` | `S2025001_企业员工差旅报销场景_疑点派发_20260518143022.zip` |
| zip（处置） | `{场景编号}_{场景名称}_疑点处置_{导出时间}.zip` | `S2025001_企业员工差旅报销场景_疑点处置_20260518143022.zip` |
| xlsx | `{规则编号}_{规则名称}_{导出时间}.xlsx` | `R20250031_差旅费用超标规则_20260518143022.xlsx` |

**命名说明**：
- 场景编号和规则编号是唯一的，场景名称和规则名称可能重名
- 导出时间格式：`yyyyMMddHHmmss`
- 场景编号、规则编号等补充字段作为隐藏字段从后端获取

### 单个 Excel 字段

每个 Excel 文件 = 一条规则的疑点明细，每行 = 一条疑点。

#### 元信息区（前5列）

| 序号 | 导出列名 | 来源 |
|------|----------|------|
| 1 | 场景编号 | 补充（隐藏字段） |
| 2 | 场景名称 | 补充 |
| 3 | 规则编号 | 补充 |
| 4 | 规则名称 | 补充 |
| 5 | 处置类型 | 补充 |

#### 疑点明细区

- **派发视角**：完全复制"疑点派发-疑点详情页"的表格列（含隐藏列）
- **处置视角**：完全复制"疑点处置-疑点详情页"的表格列（含隐藏列）

### 导出模式

异步导出，导出记录页查看状态并下载。

---

## 三、场景二：疑点详情页（派发/处置）

### 涉及页面

- 疑点派发-疑点详情页
- 疑点处置-疑点详情页

### 改动点

去掉原有下拉菜单（"导出全部疑点"、"导出未关闭疑点"），改为单个"导出"按钮，导出"当前筛选结果"。

### 文件命名

| 类型 | 命名格式 | 示例 |
|------|----------|------|
| xlsx | `{场景编号}_{规则编号}_{规则名称}_疑点明细_{导出时间}.xlsx` | `S2025001_R20250031_差旅费用超标规则_疑点明细_20260518143022.xlsx` |

### Excel 字段

每行 = 一条疑点。

#### 元信息区（前5列）

同场景一：

| 序号 | 导出列名 | 来源 |
|------|----------|------|
| 1 | 场景编号 | 补充（隐藏字段） |
| 2 | 场景名称 | 补充 |
| 3 | 规则编号 | 补充 |
| 4 | 规则名称 | 补充 |
| 5 | 处置类型 | 补充 |

#### 疑点明细区

- **派发视角**：完全复制"疑点派发-疑点详情页"的表格列（含隐藏列）
- **处置视角**：完全复制"疑点处置-疑点详情页"的表格列（含隐藏列）

### 导出模式

同步导出，直接下载 Excel 文件。

---

## 四、场景三：白名单 / 已关闭疑点

### 涉及页面

- 疑点处置-疑点详情-疑点白名单
- 疑点派发-疑点详情-已关闭疑点
- 疑点处置-疑点详情-已关闭疑点

### 数据范围

统一导出"当前筛选结果"。

### 文件命名

| 类型 | 命名格式 | 示例 |
|------|----------|------|
| xlsx（白名单） | `{场景编号}_{规则编号}_{规则名称}_疑点白名单_{导出时间}.xlsx` | `S2025001_R20250031_差旅费用超标规则_疑点白名单_20260518143022.xlsx` |
| xlsx（已关闭） | `{场景编号}_{规则编号}_{规则名称}_已关闭疑点_{导出时间}.xlsx` | `S2025001_R20250031_差旅费用超标规则_已关闭疑点_20260518143022.xlsx` |

### Excel 字段

每行 = 一条疑点。

#### 元信息区（前5列）

同场景一、场景二：

| 序号 | 导出列名 | 来源 |
|------|----------|------|
| 1 | 场景编号 | 补充（隐藏字段） |
| 2 | 场景名称 | 补充 |
| 3 | 规则编号 | 补充 |
| 4 | 规则名称 | 补充 |
| 5 | 处置类型 | 补充 |

#### 疑点明细区

完全复制对应详情页的表格列（含隐藏列）。

### 导出模式

同步导出，直接下载 Excel 文件。

---

## 五、场景四：规则列表

### 涉及页面

- 我的规则-未入库规则
- 我的规则-已入库规则
- 公共规则库

### 数据范围

导出"当前筛选结果"，不导出全量数据。

### 文件命名

| 页面 | 命名格式 | 示例 |
|------|----------|------|
| 未入库规则 | `我的规则_未入库_{导出时间}.xlsx` | `我的规则_未入库_20260518143022.xlsx` |
| 已入库规则 | `我的规则_已入库_{导出时间}.xlsx` | `我的规则_已入库_20260518143022.xlsx` |
| 公共规则库 | `公共规则库_{导出时间}.xlsx` | `公共规则库_20260518143022.xlsx` |

### Excel 字段

每行 = 一条规则。

无元信息区，直接导出规则数据。

#### 字段范围

以页面表格列为基准（去掉"序号"和"操作"列），补充以下隐藏字段：

| 补充字段 | 说明 |
|----------|------|
| 规则类型 | AI规则 / 普通规则 |
| 监控目标 | 规则监控的目标描述 |
| 监控逻辑 | 规则的监控逻辑描述 |
| 制度来源 | 规则关联的制度来源 |
| 对应制度编号 | 关联制度的编号 |
| 对应制度名称 | 关联制度的名称 |
| 对应制度内容 | 关联制度的内容 |

### 导出模式

同步导出，直接下载 Excel 文件。

---

## 六、场景五：有效制度库列表

### 涉及页面

- 制度分析-有效制度库列表

### 说明

暂不改动，保持现有导出逻辑。
