2026-09-04-pl-plan-arranged-tab-design.md 2.7 KB

运输计划列表:增加「已安排」Tab 设计

日期:2026-09-04
范围:web-admin 运输计划列表页 /#/pl/plan-module/plan
状态:已评审(方案 1,用户确认继续)

1. 背景与目标

运输计划列表当前有 6 个 Tab:

待安排 → 草稿中 → 全部 → 入库单 → 出库单 → 直销单

客户希望在「待安排」之后增加「已安排」,用于快速查看跟进状态为 arranged 的计划。

2. 采用方案

方案 1:沿用「待安排 / 草稿中」的跟进状态 Tab 模式,扩展现有配置与切换逻辑。

不采用:

  • 方案 2(抽出通用跟进状态 Tab 配置表)——为单 Tab 过度抽象
  • 方案 3(仅前端本地过滤)——分页总数不准,与现有服务端筛选不一致

3. 行为约定

3.1 Tab 顺序

待安排 → 已安排 → 草稿中 → 全部 → 入库单 → 出库单 → 直销单

3.2 筛选

选中「已安排」时:

  • planType:不限(空)
  • followStatus:固定为 arranged(覆盖筛选区跟进状态多选,与「待安排」对称)

从跟进状态 Tab(pending_arrange / arranged / drafting)切到单据类型 Tab(all / inbound / outbound / direct)时:跟进状态恢复为默认勾选集合(PL_PLAN_DEFAULT_FOLLOW_STATUSES,不含已取消)。

3.3 列表与工具栏

列、工具栏、行操作与现有各 Tab 共用同一套;按钮可用性仍由现有跟进状态判断控制,不为「已安排」单独改按钮可见性。

3.4 默认落地

进入页面、重置筛选仍默认「待安排」,行为不变。

4. 改动范围

文件 变更
web-admin/src/utils/pl-display.ts PlPlanListTab 增加 arranged;PL_PLAN_LIST_TABS 在「待安排」后插入「已安排」;isPlPlanFollowStatusListTab / plPlanListTabToFilters 支持 arranged
web-admin/src/views/pl/plan/index.vue handlePlanTypeTabChange 切到 arranged 时同步 searchForm.followStatus = ['arranged']

后端:不改。列表接口已支持 followStatus=arranged。

5. 非目标

  • 不为「已安排」单独调整工具栏 / 操作列按钮
  • 不改默认落地 Tab
  • 不改后端跟进状态流转规则
  • 不做 Tab 角标数量

6. 验收

场景 期望
Tab 顺序 「已安排」紧跟「待安排」之后
点击「已安排」 列表仅含跟进状态为「已安排」的计划;分页总数正确
筛选区跟进状态 切到该 Tab 后变为仅勾选「已安排」
切回「全部」等类型 Tab 跟进状态恢复默认勾选(不含已取消)
工具栏 / 行操作 与其他 Tab 一致,无额外隐藏逻辑
重置 仍回到「待安排」