40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# 运输管理日期列头双三角排序 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`;提交。
|