# M10 Dashboard 与报表 — FSD（功能设计说明书）

| 项 | 值 |
|---|---|
| 模块 | M10 Dashboard 与报表 |
| 文档类型 | FSD（功能设计说明书） |
| 对应 PRD | [requirements/M10](../requirements/M10-Dashboard与报表.md) |
| 对应 LDD | [ldd/M10](../ldd/M10-Dashboard与报表-设计.md) · [数据字典](../ldd/数据字典.md) |
| 配套 | [业务流程图-M10.txt](业务流程图-M10.txt) · [测试用例-M10.md](测试用例-M10.md) |
| 上级 | [需求分析总纲](../需求分析总纲.md) · [FSD 模板](FSD-模板.md) |

> 逐功能规格；KPI 计算口径/公式、Widget 数据结构、通知/SLA 触发机制、各角色默认布局见 ldd/M10，字段定义见数据字典，**引用不复制**。类型为逻辑类型，物理类型留待 SDD。M10 只**只读消费**各模块数据，不产生业务真源。KPI 口径/阈值/刷新周期均**配置化，待业务**。

## 1. 概述与范围
全平台数据的可视化与触达层：客户/项目/额度/续约/健康度一屏可视（痛点 #9），承载三类核心看板、报表、可配 Dashboard、通知/提醒/SLA、KPI 指标体系、管理层视图与定时报告/草稿生成。

**PRD 覆盖追溯（FR → 功能）**

| FR | 功能 |
|---|---|
| FR-RPT-01 | §4.1 客户状态看板 |
| FR-RPT-02 | §4.2 项目状态看板 |
| FR-RPT-03 | §4.3 Quota/工时报表 |
| FR-RPT-04 | §4.4 资源利用率与续约管道报表 |
| FR-RPT-05 | §4.5 可配置 Dashboard 与 Portfolio |
| FR-RPT-06 | §4.6 通知/提醒/SLA |
| FR-RPT-07 | §4.7 KPI 指标体系 |
| FR-RPT-08 | §4.8 管理层/高管视图与趋势/cohort |
| FR-RPT-09 | §4.9 报告与交付材料生成 |

**不在本模块**：健康分算法（M4）、工时→额度口径（M7）、项目/里程碑数据（M6）、满意度采集（M11）、支持/SLA 真源（M12）、审批链与 Automations 引擎实现（M9）、权限模型（M2）。M10 仅消费与呈现。

## 2. 角色与权限点（角色 × 操作，接 M2）

| 操作 \ 角色 | 全员 | TAM/CSM | PS/PS Leader | Manager(Region) | CS Director/管理层 | Admin | Customer_External |
|---|---|---|---|---|---|---|---|
| 查看看板/报表（本人数据域） | ✓本人域 | ✓相关客户 | ✓参与项目 | ✓本 Region | ✓跨 Region 汇总 | ✓ | ✗ |
| 下钻源对象 | 按 ABAC | ✓ | ✓ | ✓本 Region | ✓（汇总粒度） | ✓ | ✗ |
| 配置个人 Dashboard（Widget 拼装） | ✓自己 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| 配置角色默认布局/Portfolio | — | — | ✓(团队) | ✓(团队) | ✓ | ✓ | — |
| 配置通知/SLA 触发与频率 | — | ✓自己订阅 | ✓自己订阅 | ✓团队规则 | ✓ | ✓ | — |
| 管理层/高管视图 | — | — | — | ✓本 Region | ✓ | ✓ | — |
| 触发/订阅定时报告 | ✓自己 | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| 生成交付草稿(Kickoff/RCA/QBR) | — | ✓ | ✓ | ✓ | ✓ | ✓ | — |

> 数据范围由 M2 ABAC 计算（Region/归属/参与项目）；看板/报表结果均先过 ABAC 再聚合；外部账号不可见任何看板/报表。

## 3. 状态流转与业务流程图
> 图见 [业务流程图-M10.txt](业务流程图-M10.txt)。含：① Widget 数据加载（加载中→就绪→降级占位）；② 通知/SLA（监测→触发→抑制/升级→触达）；③ 定时报告/草稿（计划→生成中→待确认→已生成→已推送）；④⑤⑥ 看板聚合 / 通知触达 / 报告生成 三条泳道。

## 4. 功能规格

### 4.1 客户状态看板

**4.1.1 功能说明**　一屏聚合客户健康度、生命周期阶段、风险、续约状态（FR-RPT-01），供 TAM/CSM/管理层监测客户组合。数据只读消费 M1/M3/M4/M5，按角色数据域过滤。

**4.1.2 业务流程**　见 [业务流程图-M10.txt](业务流程图-M10.txt) §四。要点：解析 Widget+角色域→并行拉源→按口径聚合→就绪/降级渲染→下钻跳源。

**4.1.3 界面设计**
- **看板布局**：顶部筛选栏（Region/团队/健康档/生命周期阶段/续约窗口）；主体 Widget 网格。
- **Widget 与图表类型**：① 健康分布（卡片+环形/堆叠条，红/黄/绿占比）；② 风险客户排行（排行榜，按风险分/风险类型）；③ 生命周期漏斗（漏斗图，各阶段客户数）；④ 续约临近列表（列表+倒计时标签）；⑤ 关键指标卡（在库客户数/高风险数/近 90 天续约数）。
- **下钻**：点健康档→该档客户列表→单客户跳 M1 客户 360°；点续约条目→跳 M5。
- **角色布局**：TAM 默认「我的客户健康度/风险池/续约临近/满意度趋势」（见 ldd/M10 §4）；管理层聚合到 Region/团队维度。
- **空态**：无数据域客户时"暂无可见客户"；源不可用时该 Widget 降级占位。

**4.1.4 字段定义**（看板展示项，均只读派生）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 健康档分布 | 结构 | 系统 | 红/黄/绿占比 | M4（派生） | 只读 | 健康分算法在 M4 |
| 风险分/类型 | 枚举/数值 | 系统 | — | M4 | 只读 | 排行依据 |
| 生命周期阶段 | 枚举 | 系统 | Onboarding/… | M3 | 只读 | 漏斗分组 |
| 续约窗口/剩余天数 | 日期/数值 | 系统 | ≤阈值高亮 | M5 | 只读 | 阈值配置化待业务 |
| 数据域 | 引用 | 系统 | ABAC 过滤 | M2 | 只读 | 决定可见客户集 |
| last_refresh_at | 日期时间 | 系统 | — | 系统 | 只读 | 刷新时间/延迟 |

**4.1.5 业务规则**
- 看板值须与源模块一致（不一致=0，验收）；只读消费，不改源（FR-RPT-01）。
- 各档阈值/续约临近天数/刷新周期**配置化，待业务**。
- 单 Widget 源不可用→降级占位、整页可用（不阻断）。

**4.1.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 某聚合源不可用 | "该组件暂不可用" | 降级占位，其它 Widget 正常 |
| 数据域为空 | "暂无可见客户" | 友好空态 |
| 看板值与源疑似不一致 | "数据同步中，请稍后刷新" | 提示重取，不展示脏值 |

**4.1.7 权限控制**　按 §2 与 M2 ABAC；仅展示数据域内客户；外部账号不可见；下钻遵循源模块权限。

### 4.2 项目状态看板

**4.2.1 功能说明**　聚合交付项目进度、里程碑、逾期与风险池（延期/超工时/投诉/无进展）（FR-RPT-02），供 PS/PS Leader 监控交付。只读消费 M6/M7/M11/M12。

**4.2.2 业务流程**　见 [业务流程图-M10.txt](业务流程图-M10.txt) §四。要点：拉项目/里程碑/工时/投诉→按风险规则归入风险池→渲染→下钻跳 M6 项目。

**4.2.3 界面设计**
- **看板布局**：筛选栏（Region/团队/PS 负责人/项目状态/风险类型）；Widget 网格。
- **Widget 与图表类型**：① 项目进度总览（卡片：进行中/已完成/逾期数）；② 里程碑逾期排行（排行榜，按逾期天数）；③ 风险池（分组列表，四类：延期/超工时/投诉/无进展，各带计数徽标）；④ 项目状态分布（堆叠条/漏斗）；⑤ Quota 消耗预警（排行，remaining≤阈值标红，接 §4.3）。
- **下钻**：点风险条目→项目详情（M6）；点里程碑→里程碑视图；点超工时→Quota/工时报表（§4.3）。
- **角色布局**：PS/PS Leader 默认「项目状态/里程碑逾期/Quota 消耗/利用率」（ldd/M10 §4）。
- **空态**：无参与项目"暂无项目"。

**4.2.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 项目进度/状态 | 枚举/数值 | 系统 | — | M6 | 只读 | — |
| 里程碑逾期天数 | 数值 | 系统 | >0 入池 | M6 | 只读 | 排行依据 |
| 风险池类型 | 枚举 | 系统 | 延期/超工时/投诉/无进展 | 派生（M6/M7/M11） | 只读 | 归池规则见 M6 |
| 超支/超工时标识 | 布尔 | 系统 | used>total | M7 | 只读 | 接 Quota |
| 无进展停滞天数 | 数值 | 系统 | ≥阈值入池 | M6 | 只读 | 阈值配置化待业务 |

**4.2.5 业务规则**
- 风险池四类判定规则/阈值以 M6/M7 口径为准；本模块只呈现（FR-RPT-02）。
- 停滞/超支/逾期阈值**配置化，待业务**；与 §4.6 触发条件共用同一口径。
- 看板与源一致（不一致=0）。

**4.2.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| M6/M7 源不可用 | "项目数据暂不可用" | 降级占位 |
| 无参与项目 | "暂无项目" | 空态 |
| 风险计数与明细不符 | "统计刷新中" | 重取聚合，不展示脏值 |

**4.2.7 权限控制**　PS/PS Leader 见参与/团队项目；Manager 本 Region；管理层汇总；外部不可见；下钻遵循 M6 权限。

### 4.3 Quota/工时报表

**4.3.1 功能说明**　额度消耗/剩余/超支排行，工时按人/项目/客户维度汇总（FR-RPT-03）。只读消费 M7（工时/额度汇总口径唯一，NFR-07），不可在此改数。

**4.3.2 业务流程**　选择维度与周期→聚合 M7 汇总→展示报表/排行→下钻到项目/TimeEntry（M7）。

**4.3.3 界面设计**
- **报表布局**：维度切换（按人/按项目/按客户）+ 周期选择；主体为表格 + 图表联动。
- **Widget 与图表类型**：① 额度消耗概览（卡片：总量/已用/剩余）；② 超支排行（排行榜，超支额度降序、标红）；③ 工时分布（堆叠条/趋势线，按人/项目/客户）；④ 剩余额度进度（进度条，remaining≤阈值标红）；⑤ 明细表（可导出）。
- **下钻**：点项目→Quota Tab（M1/M6）；点人→其工时明细（M7）。
- **导出**：明细/汇总可导出（格式待业务确认）。
- **空态**：无 PS_Service 合同"暂无额度数据"。

**4.3.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| total/used/remaining | 数值 | 系统 | remaining=total−used | M7（派生） | **只读，不可手改** | 口径唯一（NFR-07） |
| 超支额度 | 数值 | 系统 | used>total 时>0 | M7 | 只读 | 排行依据 |
| 工时（人/项目/客户） | 数值 | 系统 | Σ TimeEntry | M7 | 只读 | 维度聚合 |
| 统计周期 | 日期区间 | 是 | 起≤止 | 输入 | 可选 | 报表范围 |

**4.3.5 业务规则**
- 额度/工时口径唯一、可对账（NFR-07）；本模块只读汇总，任何字段不可手改。
- 超支阈值/预警线**配置化，待业务**；与 §4.6「超支」触发同源。

**4.3.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 尝试在报表改额度/工时 | "额度与工时由 M7 汇总，不可手改" | 拒绝 |
| M7 汇总延迟 | "工时汇总延迟，最新至 {time}" | 展示最近可用快照 + 时间戳 |
| 无额度数据 | "暂无额度数据" | 空态 |

**4.3.7 权限控制**　PS/PS Leader/TAM/Manager/Admin 按数据域可见；工时明细遵循 M7 权限；外部不可见；无人可改汇总值。

### 4.4 资源利用率与续约管道报表

**4.4.1 功能说明**　资源利用率（PS 人力）与续约管道（漏斗）报表（FR-RPT-04），供 PS Leader/管理层做产能与收入预测。只读消费 M7（利用率）、M5（续约）。

**4.4.2 业务流程**　选周期/团队→聚合利用率与续约阶段→展示利用率趋势与续约漏斗→下钻到人/续约单。

**4.4.3 界面设计**
- **利用率报表**：趋势线（计费工时/可用工时，按周/月）+ 人员/团队排行（低于目标线标黄）。
- **续约管道**：漏斗图（各续约阶段客户数/ARR）+ 续约临近列表（倒计时）；可切 ARR 口径。
- **下钻**：利用率→人员工时（M7）；续约阶段→续约单（M5）。
- **空态**：无续约窗口内客户"暂无续约管道数据"。

**4.4.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 利用率 | 数值(%) | 系统 | 计费/可用 | M7（派生） | 只读 | 口径见 ldd/M10 §2 |
| 可用工时/计费工时 | 数值 | 系统 | ≥0 | M7 | 只读 | 利用率分母/分子 |
| 续约阶段 | 枚举 | 系统 | 管道各阶段 | M5 | 只读 | 漏斗分组 |
| 续约 ARR | 数值 | 系统 | ≥0 | M5 | 只读 | 可切换口径 |
| 目标利用率线 | 数值(%) | 系统 | — | 配置 | 只读 | 阈值配置化待业务 |

**4.4.5 业务规则**
- 利用率/realization 口径见 ldd/M10 §2；目标基线**配置化，待业务**。
- 续约管道阶段以 M5 口径为准；本模块只呈现（FR-RPT-04）。

**4.4.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| M5/M7 源不可用 | "报表数据暂不可用" | 降级占位 |
| 无续约窗口客户 | "暂无续约管道数据" | 空态 |

**4.4.7 权限控制**　PS Leader/Manager/管理层/Admin 按数据域；续约明细遵循 M5 权限；外部不可见。

### 4.5 可配置 Dashboard 与 Portfolio

**4.5.1 功能说明**　用户/角色以 Widget 拼装自定义 Dashboard，并以 Portfolio 组合多个 Dashboard 为跨对象视图（FR-RPT-05）。数据结构（Dashboard/Widget/Portfolio）见数据字典与 ldd/M10 §1。

**4.5.2 业务流程**　新建/编辑 Dashboard→添加 Widget（选类型/数据源/筛选/可视化）→拖拽布局→保存并绑定角色→（可选）组入 Portfolio。

**4.5.3 界面设计**
- **编辑器**：左侧 Widget 库（卡片/趋势线/排行/漏斗/热力）；中间可拖拽画布网格；右侧属性面板（数据源、筛选条件、图表类型、标题）。
- **Widget 配置**：选 data_source（各模块只读）→设 filter→选 viz→预览。
- **角色绑定**：保存为个人视图或（有权限时）设为角色默认布局。
- **Portfolio**：多选已存 Dashboard 组合为一屏切换/并列视图（跨对象）。
- **默认布局**：TAM/PS/CS Director 预设见 ldd/M10 §4（配置化，待业务）。
- **空态**：新 Dashboard "拖入 Widget 开始搭建"。

**4.5.4 字段定义**（引用数据字典 Dashboard/Widget，不复制）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| owner_role | 枚举/引用 | 是 | 角色存在 | 输入 | 可编辑 | 绑定角色/个人 |
| name | 文本 | 是 | 非空 | 输入 | 可编辑 | 看板名 |
| layout | 结构 | 是 | Widget 拼装 | 输入 | 可编辑 | 拖拽布局 |
| widget.type | 枚举 | 是 | 卡片/趋势线/排行/漏斗/热力 | 输入 | 可编辑 | — |
| widget.data_source | 枚举 | 是 | 源模块只读且有权 | 输入 | 可编辑 | M1/M4/M6/M7… |
| widget.filter | 结构 | 否 | 合法条件 | 输入 | 可编辑 | 过滤 |
| widget.viz | 枚举 | 是 | 与 type 匹配 | 输入 | 可编辑 | 可视化形式 |
| Portfolio 组合 | 引用[多] | 否 | Dashboard 存在 | 输入 | 可编辑 | 跨对象聚合 |

**4.5.5 业务规则**
- Dashboard = Widget 拼装 + 角色绑定；Portfolio 为跨对象组合视图（ldd/M10 §1）。
- Widget 只能选**有权访问**的数据源；渲染时仍过 ABAC（配置可选源 ≠ 越权看数据）。
- 角色默认布局配置生效可验证（验收）；默认布局**配置化，待业务**。

**4.5.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 选无权数据源 | "无权访问该数据源" | 该源不可选/拒绝保存 |
| viz 与 type 不匹配 | "该组件不支持此可视化形式" | 阻断保存 |
| 无权设角色默认布局 | "仅 Leader/Admin 可设角色默认布局" | 拒绝 + 保留个人视图 |
| 引用的 Dashboard 已删 | "组合中的看板已失效" | 提示移除失效项 |

**4.5.7 权限控制**　全员可配个人 Dashboard；角色默认布局/Portfolio 限 Leader/Manager/管理层/Admin；越权数据源不可选；外部不可见。

### 4.6 通知/提醒/SLA

**4.6.1 功能说明**　对停滞、逾期、超支、缺报、续约临近五类条件触发提醒，分级触达（FR-RPT-06）。触发源复用 M9 Automations 引擎；**去重/抑制、逐级升级、渠道（飞书/邮件）、回执/重试均由统一的「平台通知服务」（共有服务）实现，M10 仅声明触发条件与渠道偏好、作调用方**（与 M9 共用同一通知服务，不重复建设）。

**4.6.2 业务流程**　见 [业务流程图-M10.txt](业务流程图-M10.txt) §五。要点：事件/定时评估→命中条件→静默期判定→分级选通道/频率→触达→回执/重试/升级。

**4.6.3 界面设计**
- **规则配置**：五类触发开关；每类的阈值（如停滞天数/续约临近天数）、频率、静默期、通道（飞书/邮件）、接收人/角色。
- **订阅中心**：用户查看/管理自己订阅的提醒；团队规则由 Leader/Admin 维护。
- **触达记录**：通知历史（触发条件、时间、通道、回执/失败/升级状态）。
- **看板联动**：看板风险条目可一键"设为提醒"。

**4.6.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 触发类型 | 枚举 | 是 | 停滞/逾期/超支/缺报/续约临近 | 配置 | 可编辑 | 五类 |
| 触发阈值 | 数值/日期 | 是 | 与源口径一致 | 配置 | 可编辑 | 配置化待业务 |
| 通道 | 枚举[多] | 是 | 飞书/邮件 | 配置 | 可编辑 | INT-05 |
| 频率/静默期 | 结构 | 是 | 合法周期 | 配置 | 可编辑 | 防打扰 |
| 接收人/角色 | 引用[多] | 是 | 用户/角色存在 | 配置 | 可编辑 | 分级触达 |
| 触达状态 | 枚举 | 系统 | 已触发/抑制/升级/已触达 | 派生 | 只读 | 见状态流转 |
| 回执/失败 | 结构 | 系统 | — | 通知服务 | 只读 | 失败重试告警 |

**4.6.5 业务规则**
- 五类触发条件与阈值与源模块口径共用（停滞/逾期/超支/缺报/续约临近）；阈值/频率/静默期**配置化，待业务**。
- **系统触发率=100%**（条件命中即发起，可测）；投递失败重试 + 回执兜底（不对外部投递承诺 100%）；同一条件在静默期内抑制重复打扰；未处理可按配置升级。
- 触发源复用 M9 Automations；通道失败按 NFR-06 重试 + 告警可重放。

**4.6.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 通道发送失败 | "通知发送失败，已重试并告警" | 重试 + 告警可重放（NFR-06） |
| 阈值配置非法 | "触发阈值不合法" | 阻断保存 |
| 静默期内重复命中 | （不打扰） | 抑制，不重复发送 |
| 接收人无效 | "接收人不存在或已停用" | 跳过该接收人 + 记录 |

**4.6.7 权限控制**　个人订阅全员可配；团队/角色规则限 Leader/Manager/Admin；触达记录按数据域可见；外部不接收。

### 4.7 KPI 指标体系

**4.7.1 功能说明**　统一展示 CS 与 PS 两域核心 KPI（FR-RPT-07）：CS — NRR/GRR、流失率、健康分布、采用率、Time-to-Value、CSAT/NPS 趋势；PS — 利用率、realization、按时交付率、backlog、人天售出 vs 消耗。计算口径见 ldd/M10 §2，本模块只呈现。

**4.7.2 业务流程**　选周期/维度→按 ldd/M10 §2 口径从各源聚合计算→展示指标卡/趋势→（可选）与基线对比。

**4.7.3 界面设计**
- **指标墙**：CS 域与 PS 域分区；每指标为卡片（当前值 + 环比/同比 + 迷你趋势线）。
- **图表类型**：指标卡（NRR/GRR/流失/采用/利用率/realization/按时交付率/backlog）、趋势线（CSAT/NPS、TTV）、堆叠条（健康分布）、对比条（人天售出 vs 消耗）。
- **下钻**：指标→构成明细/源对象（如健康分布→客户列表）。
- **齐全度**：FR-RPT-07 列出指标展示齐全度=100%（验收）。

**4.7.4 字段定义**（指标口径引用 ldd/M10 §2，不复制公式）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| NRR / GRR | 数值(%) | 系统 | 口径见 design §2 | M1/M5（ARR） | 只读 | CS |
| 流失率 | 数值(%) | 系统 | 口径见 design §2 | M1/M5 | 只读 | CS |
| 健康分布 | 结构 | 系统 | 红/黄/绿占比 | M4 | 只读 | CS |
| 采用率/TTV | 数值 | 系统 | 口径见 design §2 | M4/INT-11 | 只读 | CS |
| CSAT/NPS | 数值 | 系统 | 周期聚合 | M11 | 只读 | CS |
| 利用率/realization | 数值(%) | 系统 | 口径见 design §2 | M7 | 只读 | PS |
| 按时交付率 | 数值(%) | 系统 | 按时里程碑/总 | M6 | 只读 | PS |
| backlog | 数值 | 系统 | 未消耗售出额度 | M7 | 只读 | PS |
| 人天售出 vs 消耗 | 结构 | 系统 | SOW vs burn | M7 | 只读 | PS |
| 目标基线 | 数值 | 系统 | — | 配置 | 只读 | 配置化待业务 |

**4.7.5 业务规则**
- 所有 KPI 口径/公式以 ldd/M10 §2 为唯一事实源，本模块**引用不复制**；口径/阈值/目标基线**配置化，待业务**。
- FR-RPT-07 指标展示齐全度=100%（验收）；某源缺失时该指标降级占位、不影响其它。

**4.7.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 某 KPI 源不可用 | "该指标暂不可用" | 降级占位，其它齐全 |
| 口径未配置 | "该指标口径待配置" | 占位提示，不算错值 |
| 周期无数据 | "所选周期暂无数据" | 空态 |

**4.7.7 权限控制**　按数据域：TAM/PS 见本人域指标；管理层见跨 Region 汇总；外部不可见；下钻遵循源权限。

### 4.8 管理层/高管视图与趋势/cohort

**4.8.1 功能说明**　为 CS Director/管理层提供跨 Region/团队汇总、同期对比与 cohort 分析（FR-RPT-08），聚合 §4.7 KPI 到更高维度。

**4.8.2 业务流程**　选汇总维度（Region/团队/时间）→跨域聚合 KPI→展示汇总卡/趋势/cohort 热力→下钻到 Region/团队明细。

**4.8.3 界面设计**
- **高管视图**：跨 Region 汇总卡（NRR/GRR/流失/利用率）+ 排行（按 Region/团队）。
- **趋势**：多周期趋势线（同比/环比）。
- **cohort 分析**：热力图（按入库/开通 cohort × 周期，留存/扩张/流失着色）。
- **下钻**：汇总→Region→团队→个人（受 ABAC 限制的粒度）。
- **空态**：无跨域权限时不展示该视图。

**4.8.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 汇总维度 | 枚举 | 是 | Region/团队/时间 | 输入 | 可选 | 聚合分组 |
| 汇总 KPI | 数值 | 系统 | 口径见 §4.7 | 派生 | 只读 | 高维聚合 |
| 同比/环比 | 数值(%) | 系统 | — | 派生 | 只读 | 趋势 |
| cohort 分组 | 结构 | 系统 | cohort×周期 | 派生 | 只读 | 热力矩阵 |

**4.8.5 业务规则**
- 汇总/cohort 口径沿用 §4.7 与 ldd/M10 §2；cohort 分组规则**配置化，待业务**。
- 仅具跨 Region/团队权限者可见（Manager 限本 Region）。

**4.8.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 无跨域权限 | （视图不可见） | 隐藏入口 |
| cohort 样本过小 | "样本不足，仅供参考" | 标注 + 展示 |
| 某 Region 源不可用 | "该 Region 数据暂不可用" | 部分降级，其它可用 |

**4.8.7 权限控制**　CS Director/管理层/Admin 可跨 Region；Manager 限本 Region；其余不可见此视图；外部不可见。

### 4.9 报告与交付材料生成

**4.9.1 功能说明**　周报/月报定时自动生成、订阅推送与导出（呼应 Wiki 多类周报）；并生成 Kickoff agenda / RCA 跟进 / QBR 素材草稿。**本期草稿 = 模板 + 结构化字段（issue/risk/meeting/ticket 的结构化数据）槽位填充，非 NL 摘要**；非结构化正文摘要式生成属 AI 增强、归 OQ-S9 后期（FR-RPT-09）。草稿供人工确认后定稿、不自动对外发布。

**4.9.2 业务流程**　见 [业务流程图-M10.txt](业务流程图-M10.txt) §六。要点：到点/手动→取模板+周期→拉结构化数据→组装（报告）或半自动草稿→待确认→定稿→导出/订阅推送。

**4.9.3 界面设计**
- **报告中心**：报告类型列表（周报/月报/Kickoff/RCA/QBR）；每类的模板、周期、订阅者、通道。
- **定时报告**：配置周期与推送（飞书/邮件）；生成历史与状态（计划/生成中/已生成/已推送/失败）。
- **草稿工作台**：选客户/项目→系统据 issue/risk/meeting/ticket 生成草稿→人工编辑确认→定稿。
- **导出**：支持导出（格式待业务确认）。
- **空态**：无可用数据"暂无可生成内容"。

**4.9.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 报告类型 | 枚举 | 是 | 周报/月报/Kickoff/RCA/QBR | 配置 | 可编辑 | — |
| 模板 | 引用 | 是 | 模板存在 | 配置 | 可编辑 | 呼应 Wiki |
| 周期/计划 | 结构 | 定时报告必填 | 合法 cron | 配置 | 可编辑 | 定时生成 |
| 订阅者/通道 | 引用[多]/枚举 | 是 | 用户存在 + 飞书/邮件 | 配置 | 可编辑 | 推送 |
| 草稿来源数据 | 结构 | 草稿类 | issue/risk/meeting/ticket | 各模块 | 只读 | 半自动输入 |
| 生成状态 | 枚举 | 系统 | 见状态流转 | 派生 | 只读 | 计划/生成中/待确认/已生成/已推送/失败 |
| 定稿内容 | 结构 | 是 | 人工确认后 | 输入+系统 | 草稿可编辑 | 草稿须人工确认 |

**4.9.5 业务规则**
- 周报/月报按计划定时生成率=100%（验收）；支持订阅推送与导出。
- Kickoff/RCA/QBR 为**半自动草稿**，须人工确认后方可使用/推送（OQ-S9，深度/AI 辅助待定）。
- 导出格式与数据下钻粒度**待业务确认**。

**4.9.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 报告组装失败 | "报告生成失败，已重试并告警" | 重试 + 告警（NFR-06） |
| 草稿未确认即推送 | "草稿需人工确认后才能推送" | 阻断推送 |
| 推送通道失败 | "推送失败，已重试" | 重试 + 记录 |
| 源数据不足 | "可用数据不足，草稿仅供参考" | 生成占位草稿 + 标注 |

**4.9.7 权限控制**　周月报订阅全员按数据域；定时报告配置限相关角色/Admin；草稿生成限 TAM/PS/Leader/管理层；外部不可订阅。

## 5. 接口与集成

| 接口 | 方向 | 触发/频率 | 字段映射 | 失败处理 |
|---|---|---|---|---|
| 各源模块（M1/M4/M6/M7/M11/M12） | 读 | 看板打开/刷新（周期可配） | 客户/健康/项目/工时/满意度/支持只读投影 | 单源降级占位，整页可用 |
| M9 Automations | 事件/规则 | 触发条件命中 | 停滞/逾期/超支/缺报/续约临近 | 复用引擎；失败重试 + 告警 |
| 飞书（INT-05） | 写 | 通知/报告推送 | 提醒/周月报/草稿 | 通知失败重试可重放（NFR-06） |
| 邮件 | 写 | 通知/报告推送 | 同上 | 重试 + 记录 |
| 飞书 Wiki（INT-05） | 读/关联 | 报告模板 | 多类周报模板 | 缺模板→用默认模板 |
| Clinic/遥测（INT-11） | 读 | 周期 | 采用率/TTV 输入 | 降级占位 |
| M2 ABAC | 校验 | 每次查询 | 数据域过滤 | 越权拦截（NFR-03） |

## 6. 测试用例
> 见 [测试用例-M10.md](测试用例-M10.md)。覆盖三类核心看板/报表、可配 Dashboard、通知/SLA、KPI、管理层视图、定时报告的正常/边界/异常；硬约束（看板与源一致=0、五类**触发**=100%（投递靠回执/重试）、KPI 齐全=100%、定时生成率=100%、汇总不可手改、单源降级不阻断）100% 覆盖。

## 7. 风险与依赖

| 风险/依赖 | 影响 | 缓解 | 责任方 |
|---|---|---|---|
| KPI 口径/阈值/目标基线未定 | 指标无法对齐验收 | 详设阶段与业务确认口径（配置化） | PM/业务 |
| 各源模块数据齐备度不足 | 看板/KPI 降级项多 | 降级占位 + 齐全度监控 | 各模块 |
| 通知渠道稳定性（飞书/邮件） | 触达率不达 100% | 重试 + 告警可重放（NFR-06） | 平台/后端 |
| 报告导出格式与下钻粒度未定 | 报告落地待定 | 详设与业务确认 | PM |
| 草稿 AI 辅助深度未定（OQ-S9） | Kickoff/RCA/QBR 自动化程度待定 | 先半自动 + 人工确认 | PM |
| 刷新周期/延迟目标未定 | 一致性/时效验收待定 | 配置化 + 延迟可统计 | 后端/PM |

## 8. 遗留 / 待详设（TBD）
- **OQ-S9**：交付草稿（Kickoff/RCA/QBR）AI 辅助生成深度。
- 各角色默认 Dashboard 布局（ldd/M10 §4，待业务）。
- 各 KPI 统计口径/阈值/目标基线、刷新周期与延迟目标（配置化，待业务）。
- 报表导出格式与数据下钻粒度。
- 各页面线框/视觉稿（UX）；cohort 分组规则；Widget viz 与 type 匹配矩阵深化。
