tasks.md 2.3 KB

Implementation Plan: Work Records Backend Pagination

Overview

实现工作记录列表的后端分页功能,修改后端服务层、API路由层和前端组件。

Tasks

  • [-] 1. 修改后端服务层实现分页查询

    • 1.1 修改 WorkRecordService.get_all() 方法添加分页参数
    • 添加 pagepage_size 参数,设置默认值
    • 实现参数边界处理(page < 1 使用 1,page_size 超范围使用 20)
    • 使用 SQLAlchemy 的 count() 获取总数
    • 使用 limit()offset() 实现分页查询
    • 返回包含数据和分页元数据的字典
    • Requirements: 1.1, 1.2, 1.3, 1.4, 1.5, 4.1, 4.2, 4.3

    • [ ]* 1.2 编写属性测试:分页数据量正确性

    • Property 1: Pagination Data Count Correctness

    • Validates: Requirements 1.4, 4.3

    • [ ]* 1.3 编写属性测试:分页元数据一致性

    • Property 2: Pagination Metadata Consistency

    • Validates: Requirements 1.5

  • [x] 2. 修改后端 API 路由层

    • 2.1 更新 /work-records GET 端点
    • 添加 pagepage_size 查询参数
    • 更新 Swagger 文档
    • 修改响应格式,添加 pagination 字段
    • Requirements: 1.1, 1.5

    • [ ]* 2.2 编写属性测试:筛选与分页组合

    • Property 3: Filter and Pagination Composition

    • Validates: Requirements 2.1, 2.2

    • [ ]* 2.3 编写属性测试:排序顺序保持

    • Property 4: Sort Order Preservation

    • Validates: Requirements 2.3

  • [x] 3. Checkpoint - 后端测试验证

    • 确保所有后端测试通过,如有问题请询问用户
  • [x] 4. 修改前端组件适配后端分页

    • 4.1 更新 WorkRecordList 组件
    • 添加 currentPagepageSizetotal 状态
    • 修改 fetchWorkRecords 函数发送分页参数
    • 更新 Table 的 pagination 配置使用后端返回的 total
    • 添加 onChange 处理器响应分页变化
    • 筛选条件改变时重置到第1页
    • Requirements: 3.1, 3.2, 3.3
  • [x] 5. Checkpoint - 完整功能验证

    • 确保前后端联调正常,所有测试通过,如有问题请询问用户

Notes

  • 任务标记 * 为可选测试任务,可跳过以加快 MVP 开发
  • 每个任务引用具体需求以便追溯
  • 属性测试验证通用正确性属性