# Component Map

| 页面/模块 | 组件 | 层级 | 责任 | 复用来源 | 必备状态 | 测试方式 |
| --- | --- | --- | --- | --- | --- | --- |
| 工单列表页 | `TicketFilterBar` | feature | 展示状态、优先级、负责人筛选条件 | 业务组件 | default / dirty / permission / mobile | story + e2e |
| 工单列表页 | `TicketFilterDrawer` | feature | 移动端筛选抽屉 | 业务组件 | mobile / dirty / disabled | story + e2e + a11y |
| 工单列表页 | `SavedViewModal` | feature | 输入名称并保存当前筛选视图 | 业务组件 | default / validation-error / permission-denied / saving | story + unit + a11y |
| 工单列表页 | `TicketTable` | feature | 展示工单结果列表 | 表格基础组件 | default / empty / loading / error / long_content | story + visual |
| 通用表格 | `DataTableShell` | primitive | 提供表格容器、分页、空态槽位和列显隐 | new reusable | default / empty / loading | story + visual |

## 复用决策

| 候选组件 / Hook | 决策 | 原因 |
| --- | --- | --- |
| `DataTableShell` | 抽到项目级复用 | 分页、空态、列显隐是后台表格通用能力 |
| `TicketFilterBar` | 留在 feature | 工单字段和权限语义强 |
| `SavedViewModal` | 留在 feature | 保存视图依赖当前 filter schema |
