# 规格票 —— 驾驶舱所有长列表统一分页(每页十条、页码与前后页) Label: wayfinder:task Category: monitoring-feedback-spec ## Question 建立并执行驾驶舱全局分页规范:凡可能包含表格或卡片列表、且新增数据会无限拉长页面的区域,统一每页最多 10 条,支持页码直达、上一页、下一页;一页时不画控件。需要先盘点所有列表/表格区域,定义哪些是服务端分页、哪些是前端已加载集合分页,明确筛选/分类/快照/失败态/异步竞态与无障碍规则,再分批落地,避免各组件各写一套分页状态机。 ## Acceptance - 规格落盘并列出全仓驾驶舱可能增长的表格/卡片列表区域及当前数据来源、现有分页状态。 - 默认 `pageSize = 10`,前端展示不超过 10 条;可页码直达、上一页、下一页。 - 过滤/分类先于分页;条件变化回到第 1 页;总数不由当前页反推。 - 一页不显示无意义 pager;空态、失败态、加载态、禁用态有统一语义。 - 明确服务端分页与前端分页边界,以及地图渐进加载不被误改为页码分页。 - 产出后再分别创建实施票;本票只收口规范与盘点,不要求一次改完所有列表。 ## Context 现有先例:`domain/equipmentDetailView.js` + `EquipmentDetailSections.vue` 已实现预警/报警每页 10 条;事件清单、监测点台账、监测分布/地图摘要、设备关联列表等需盘点。 ## Related spec [`../specs/2026-10-17-monitoring-feedback.md`](../specs/2026-10-17-monitoring-feedback.md) ## 交付物 - **规范落盘**:[`../specs/2026-10-18-global-list-pagination.md`](../specs/2026-10-18-global-list-pagination.md) —— 含 11 条统一行为条规、服务端/前端集合/渐进装载三分法、全仓 14 行盘点表(含数据来源与现状)、实施批次、非目标。 - **维护者裁定(2026-10-18)**:① 监测点台账数据保持自动渐进式加载(与地图点位同款),UI 做页码翻页;② 事件清单走**服务端**页码分页。 ## 实施票(已创建,批次二~五 blocked by 批次一) - [批次一:共享分页基建(`domain/pagination.js` + `PagerNav.vue`)与设备详情三清单](59-pagination-js-pagernav-vue.md) - [批次二:点位摘要两级清单(设备卡片、关联设备图层清单)](60-untitled.md) —— blocked by 59 - [批次三:预警处置事件清单服务端页码分页(当前事件表 + 历史事件)](61-untitled.md) —— blocked by 59 - [批次四:运行监测(异常设备清单分页;台账自动渐进装载 + 页码 UI)](62-ui.md) —— blocked by 59 - [批次五:基础设施应急保障三段接入统一分页](63-untitled.md) —— blocked by 59 ## 进度 - 2026-10-18 认领(@me)。无 needs-triage(`ready-for-agent`、无既有实施、无阻塞),阶段闸门=直接调查后落盘规范。 - 调查(先查后问,仓内既有资料足够,未新开 research 笔记):读票 57 全文/评论/标签/父子与阻塞边、上位规格 `specs/2026-10-17-monitoring-feedback.md` §5、先例 `domain/equipmentDetailView.js`(`pagedRows`/`HISTORY_PAGE_SIZE`)+ `EquipmentDetailSections.vue`、共享渲染器 `PanelBlocks.vue`/`domain/panelBlocks.js`、事件清单三件套(`eventStore`/`domain/eventList.js`/`EventListPane.vue`)、`monitoringStore`/`domain/monitoringPanels.js`(台账与异常清单)、`domain/warningResponsePanels.js`/`services/warningResponseApi.js`、`domain/infrastructurePanels.js`、`PointDetailCard.vue`、`mapStore`/`domain/mapSummary.js`、`mocks/contractMocks.js` 分页信封、`domain/eventRange.js`(分窗)、票 18/23/40/42/46 既有记录。 - **盘点发现的关键缺口**:① 先例 pager 只有前后页,**缺页码直达**(规范要求补);② 「加载下一页监测点」每点一次追加后端一页 ≈500 卡,是"无限拉长页面"重灾区;③ 事件表前端砍最新 12 条、历史事件 `slice(0,12)`;④ 运行概况异常设备清单、点位摘要两清单、设备详情工单状态全量直渲无分页;⑤ `historyWindows` 近 30/90 天为多窗合并,不存在"全局页"→ 需回退规则。 - 提问与裁定(两问均带推荐项,用户按推荐+一条更正答复):台账"数据渐进、UI 翻页"(非二选一)、事件清单"服务端页码分页"。 - 规范落盘 + 五张分批实施票创建 + 依赖边(60/61/62/63 blocked by 59)建成 4/4。 - 验收自查:六条验收全部达成(规格落盘含盘点表/pageSize=10 与三件控件入规范/先筛后翻与复位与总数口径成文/一页不画控件与各态语义成文/三分法明确且地图渐进不改页码/五张实施票已建)。本票按要求**只收口规范与盘点、不实施**。 Status: resolved Assignees: codex Type: task Blocked by: Labels: wayfinder:task ## Comments ### local — 2026-10-18T10:13:16.556Z 认领并开始:规格票——驾驶舱长列表统一分页(每页十条、页码与前后页)。先盘点全仓列表区域与既有先例,再落盘规格并拆实施票。 ## Answer **规范已收口、实施已拆票,本票关闭。** 规格文件 [`specs/2026-10-18-global-list-pagination.md`](../specs/2026-10-18-global-list-pagination.md) 定下:`PAGE_SIZE = 10`;控件「上一页|页码直达|下一页 + 第 X/Y 页 · 共 N 条」;先筛后翻、条件变化回第 1 页、定时刷新不复位;一页不画控件;到边禁用保占位;总数不反推;态与无障碍语义统一;翻页算术与 pager 控件各只有一份单源。 三分法定型:**服务端页码**(当前事件表、历史事件单窗)/**前端集合**(设备详情三清单、点位摘要两清单、运行概况异常清单、历史事件多窗合并)/**渐进装载 + 页码 UI**(监测点台账:数据与地图同款自动渐进,UI 翻页);**地图摘要点位装载明确排除**,保持自动渐进不改页码。 全仓盘点 14 行落表(8 处接入、5 处排除、1 处地图渐进),五张分批实施票 59–63 已建并挂依赖(60/61/62/63 blocked by 59)。本票不含实施,实施状态以各执行票为准。