包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
# P7→NS1/RNS1 缺失项 #10:业绩明细的导出功能
|
||
|
||
## 简要结论
|
||
- 状态:❌ 未解决
|
||
- 风险等级:🟡 低
|
||
- 后端无绩效数据导出接口,前端无导出按钮。现有的 Excel 相关接口仅用于租户管理后台的数据上传,与绩效导出无关。
|
||
|
||
## 详细审查
|
||
|
||
### 审查范围
|
||
- `apps/backend/app/routers/xcx_performance.py` — 绩效路由端点清单
|
||
- `apps/backend/app/routers/` — 全部路由文件搜索 export/导出/excel 关键词
|
||
- `apps/miniprogram/miniprogram/pages/performance/performance.wxml` — 导出按钮
|
||
- `apps/miniprogram/miniprogram/pages/performance-records/performance-records.wxml` — 导出按钮
|
||
|
||
### 发现
|
||
|
||
1. **后端无绩效导出接口**:`xcx_performance.py` 仅定义两个端点:
|
||
- `GET /api/xcx/performance` — 绩效概览(PERF-1)
|
||
- `GET /api/xcx/performance/records` — 绩效明细(PERF-2)
|
||
- 无 `/export` 或类似导出端点
|
||
|
||
2. **现有 Excel 接口与绩效无关**:`tenant_excel.py` 提供的是租户管理后台的 Excel 上传/校验/写入功能(财务支出、团购收入、助教奖罚、充值业绩归属模板),不涉及绩效数据导出。
|
||
|
||
3. **前端无导出按钮**:performance 和 performance-records 两个页面的 WXML 中均无导出相关的 UI 元素。
|
||
|
||
4. **P7 中"导出 Excel"为隐含需求**:原始 PRD 中提到但未作为核心功能明确定义,NS1/RNS1 未将其纳入实现范围。
|
||
|
||
### 证据
|
||
|
||
后端路由完整端点清单(xcx_performance.py 文件头注释):
|
||
```python
|
||
"""
|
||
端点清单:
|
||
- GET /api/xcx/performance — 绩效概览(PERF-1)
|
||
- GET /api/xcx/performance/records — 绩效明细(PERF-2)
|
||
"""
|
||
```
|
||
|
||
全局搜索 `export|导出|excel` 在后端路由中的结果:仅 `tenant_excel.py`(租户 Excel 上传)和 `env_config.py`(环境配置导出),无绩效相关导出。
|
||
|
||
### 建议
|
||
|
||
1. **评估优先级**:导出功能在 P7 中为隐含需求,非核心交互。建议在 MVP 阶段暂不实现,后续根据用户反馈决定是否补充。
|
||
2. **如需实现**:
|
||
- 后端新增 `GET /api/xcx/performance/export?year=&month=` 端点,返回 Excel 文件(openpyxl 生成)
|
||
- 前端在 performance-records 页面顶部或底部增加"导出本月明细"按钮
|
||
- 小程序端可通过 `wx.downloadFile` + `wx.openDocument` 实现文件下载和预览
|
||
3. **替代方案**:可在管理后台(admin-web)而非小程序端提供导出功能,降低小程序端复杂度。
|