Files
shanxia2.0/docs/superpowers/plans/2026-09-08-pl-date-column-sort.md
T

1.9 KiB
Raw Blame History

运输管理日期列头双三角排序 Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:executing-plans or subagent-driven-development.

Goal: 方案 A 范围内 PL 列表 datetime 列双三角整库排序。
Architecture: useColumnSort + ColumnHeaderFilter inject;pl/list_sort.py + 各 list/export order_by。
Spec: docs/superpowers/specs/2026-09-08-pl-date-column-sort-design.md


Task 1: list_sort + 单测

Create backend/app/services/pl/list_sort.py:

  • PLAN_WHITELIST = {"planDate": PlPlan.plan_date}
  • REMINDER_WHITELIST = {"expireDate": PlDocumentReminder.expire_date}
  • MAINT_APPLY_WHITELIST = {"applyDate": PlVehicleMaintenanceApply.apply_date}
  • MAINT_BOARD_WHITELIST = {applyDate→apply.apply_date, processDate→process.process_date}
  • RECHARGE_APPLY_WHITELIST = {"applyDate": PlVehicleRechargeApply.apply_date}
  • RECHARGE_BOARD_WHITELIST = {applyDate→apply.apply_date, rechargeDate→record.recharge_date}
  • order_plan / order_reminder / order_maint_apply / order_maint_board / order_recharge_apply / order_recharge_board + parse_sort_params
  • Tests in backend/tests/test_pl_list_sort.py

Task 2: 后端接线

  • api/pl/plan.py list + export:order_plan
  • services/pl_plan_contract_gap.py:order_plan(替换硬编码 plan_date.desc 当有 sort)
  • api/pl/inventory.py _query_document_reminders:order_reminder
  • pl_vehicle_maintenance_service list_applies / list_process_board + API merge params
  • pl_vehicle_recharge_service list_applies / list_disburse_board + API merge params
  • Export bodies:sortField/sortOrder(extra=allow 亦可)

Task 3: 前端 9 页接线

每页:useColumnSort、provide('crmColumnSort')、watchSortVisibleColumns、build*Query/export 合并 toSortQueryParams()。

Task 4: 回归

pytest tests/test_pl_list_sort.py;./scripts/update-graph.sh all;提交。