# Implementation Plan: UI Enhancements ## Overview 本实现计划将UI增强功能分解为前端列表组件修改、工作记录筛选功能、仪表盘优化和导出服务增强四个主要部分。 ## Tasks - [x] 1. 隐藏所有列表组件的ID列 - [x] 1.1 修改 `PersonList.jsx` 移除ID列 - 从 columns 数组中删除 ID 列定义 - _Requirements: 1.1_ - [x] 1.2 修改 `ItemList.jsx` 移除ID列 - 从 columns 数组中删除 ID 列定义 - _Requirements: 1.2_ - [x] 1.3 修改 `SupplierList.jsx` 移除ID列 - 从 columns 数组中删除 ID 列定义 - _Requirements: 1.3_ - [x] 1.4 修改 `WorkRecordList.jsx` 移除ID列 - 从 columns 数组中删除 ID 列定义 - _Requirements: 1.4_ - [x] 1.5 修改 `AdminList.jsx` 移除ID列 - 从 columns 数组中删除 ID 列定义 - _Requirements: 1.5_ - [x] 2. 实现工作记录结算状态筛选功能 - [x] 2.1 修改后端 `work_record_service.py` 支持 is_settled 筛选 - 在 get_all() 方法中增加 is_settled 参数 - 根据参数值筛选工作记录 - _Requirements: 2.5_ - [x] 2.2 修改后端路由接收 is_settled 参数 - 在 work_record.py 路由中解析 is_settled 查询参数 - _Requirements: 2.5_ - [x] 2.3 修改前端 `WorkRecordList.jsx` 增加结算状态筛选 - 增加 selectedSettlement 状态 - 增加结算状态筛选下拉框(全部/已结算/未结算) - 在 API 调用时传递 is_settled 参数 - _Requirements: 2.1, 2.2, 2.3, 2.4_ - [ ]* 2.4 编写结算状态筛选属性测试 - **Property 1: Settlement Filter Correctness** - **Validates: Requirements 2.2, 2.3, 2.4, 2.5** - [x] 3. Checkpoint - 确保筛选功能正常 - 确保所有测试通过,如有问题请询问用户 - [x] 4. 优化仪表盘年度汇总结算状态显示 - [x] 4.1 修改 `Dashboard.jsx` 年度汇总表格列定义 - 移除单独的"已结算"和"未结算"列 - 增加合并的"结算状态"列,放在"人员"列后面 - 显示格式为"已结算: ¥X / 未结算: ¥Y" - _Requirements: 3.1, 3.2, 3.3_ - [x] 4.2 修改年度汇总表格的合计行 - 更新合计行以适应新的列结构 - _Requirements: 3.1_ - [x] 5. 修改人员按供应商明细已结算状态字体颜色 - [x] 5.1 修改 `Dashboard.jsx` 中 supplierBreakdownColumns 的结算状态列 - 已结算状态显示为黑色字体 (#000000) - 未结算状态保持橙色字体 (#fa8c16) - _Requirements: 4.1, 4.2_ - [x] 6. Checkpoint - 确保仪表盘显示正常 - 确保仪表盘正确显示结算状态,如有问题请询问用户 - [x] 7. 增强导出服务未结算状态标注 - [x] 7.1 修改 `export_service.py` 增加未结算样式定义 - 定义 UNSETTLED_FILL 样式(浅橙色 #FFF2E8) - _Requirements: 6.3_ - [x] 7.2 修改年度汇总表未结算列底色 - 为"未结算"列标题应用底色 - 为"未结算"列所有数据单元格应用底色 - _Requirements: 5.1, 5.2_ - [x] 7.3 修改明细表未结算行底色 - 在 _create_detail_sheet 中为未结算记录的整行应用底色 - 同时适用于月度和年度报表 - _Requirements: 6.1, 6.2_ - [ ]* 7.4 编写导出样式属性测试 - **Property 2: Unsettled Row Highlighting in Exports** - **Property 3: Unsettled Column Highlighting in Yearly Summary** - **Validates: Requirements 5.1, 5.2, 6.1, 6.2, 6.3** - [x] 8. Final Checkpoint - 确保所有功能正常 - 确保所有测试通过,如有问题请询问用户 ## Notes - 任务标记 `*` 的为可选测试任务,可跳过以加快MVP开发 - 前端修改主要涉及列定义和样式调整 - 后端修改主要涉及筛选参数处理和导出样式 - 每个任务都引用了具体的需求以便追溯