feat: add party-size queueing and call modes

This commit is contained in:
wangxuming
2026-07-16 11:40:34 +08:00
parent 7f751bebae
commit 66951b4dc3
53 changed files with 3348 additions and 533 deletions

View File

@@ -1,5 +1,105 @@
# Progress Log
## 2026-07-16 - Phase 36 员工端取号同行人数输入修复
- 已恢复文件化计划上下文并确认工作树包含用户既有在途修改;本轮只对员工取号人数输入相关代码做增量修复。
- 已登记复现、状态更新修正、边界校验、自动化与真实页面验收项。
- 已定位问题为人数输入清空时被 `Number("") || minPartySize` 同步回填 `1`,现有测试直接从 1 改成 3未覆盖先清空再输入的真实操作。
- 已新增“默认 1 → 清空 → 输入 3”的回归步骤旧实现按预期失败并收到值 `1`,缺陷已由自动化稳定复现。
- 已将本地表单人数类型调整为 `number | ""`清空时保留空值提交时再收窄并执行整数与项目上下限校验API 请求仍严格使用数字。
- 员工页定向 8 项测试全部通过TypeScript 应用与 Node 配置检查通过。
- 前端全量 14 个文件、52 项测试全部通过,包含类型检查的 Vite 生产构建成功。
- 已打开真实员工取号页准备交互验收;页面首个快照处于正常的访问权限确认加载态。
- 真实页面首次清空验证仍读到 `1`;已暂停验收并登记差异,下一步核对当前 Vite 实例与浏览器加载源码,不重复同一失败操作。
- 已确认运行中 Vite 直接返回的新模块含空字符串处理分支,页面不是旧构建;失败后输入仍为聚焦状态,准备改用全选 + 删除的真实键盘路径复测。
- 真实键盘实测通过:默认 `1` 全选删除后保持空值,再输入 `3` 正常显示;全程未点击创建按钮、未写入取号数据。
- 最终 DOM 与控制台复核通过:同行人数稳定显示 `3`,原项目范围提示保留,控制台无 error/warnPhase 36 全部验收项完成。
## 2026-07-16 - Phase 35 员工端队列增量展开
- 已读取文件化计划规范并恢复上一阶段上下文;本轮只调整员工队列的前端可见数量控制。
- 已确认项目无需重复启动Vite `:5173` 和 API `:8080` 均在监听API 健康检查通过。
- 已冻结交互:默认 10 项;每次“查看更多”追加最多 10 项;展开后保留“收起”;项目或场景切换恢复 10 项。
- 已将布尔式“全部展开”状态改为可见数量上限:每次点击增加 10最后不足 10 时只补齐剩余项。
- 已保留独立“收起”按钮,并将两个队列控制放入居中的紧凑操作组;列表仍由页面自然延展。
- 已把测试队列扩展到 25 项,新增 10 → 20 → 25 → 10 的完整增量与收起断言。
- 员工页定向 8 项测试、TypeScript 双配置检查、前端全量 14 个文件 52 项测试和生产构建全部通过。
- 已使用本地演示员工登录真实页面,连续点击验证队列按 10 → 20 → 30 项增量展示;“收起”恢复到 10 项。
- 页面高度随可见项从 1606px 增至 2372px、3079px收起后恢复 1606px列表没有内部滚动容器或一次展开全部的行为。
- 真实页面控制台无 error/warn员工端预览已保留Phase 35 全部验收项完成。
## 2026-07-15 - Phase 34 员工端批量按钮与指标分隔
- 已读取截图到代码、设计上下文、设计 QA 与文件化计划规范;目标与用户结果明确,无需补问。
- 已运行 Product Design 用户上下文预检,结果仍为无已保存上下文;继续使用当前项目、既有参考图和真实页面作为视觉依据。
- 已检查脏工作树与当前计划,确认 Phase 33 管理端表单工作仍在进行;本轮只增量修改员工页、员工页测试、样式和验收记录。
- 已定位按钮文案/颜色的精确 DOM以及第 4 个指标在移动端缺少左边框的 CSS 级联原因。
- 已将两个批量操作改为现有浅色描边按钮,并按要求更新为“批量叫号 / 批量叫人”;快速叫下一个号继续保留深绿色主操作层级。
- 已在 720px 以下明确恢复偶数指标的左边框,使“下一个号 / 下个号人数”以及每行两项都保持完整中线。
- 已同步更新员工端按钮文案、浅色样式和人数上限交互断言,等待执行验证。
- 员工页定向 8 项测试与 TypeScript 双配置检查通过;前端全量 14 个文件、52 项测试和生产构建也全部通过。
- 已在 390×844 真实页面确认两个浅色按钮、两项新文案、指标中线、无横向溢出和零控制台告警。
- 接管旧预览标签后的全页截图出现一次合成压缩;实际 DOM 尺寸与普通视口截图均正常,已改用普通 390×844 截图作为视觉证据。
- 已完成 720/721px 边界复测:移动两列中线存在,桌面三列新行首项无多余左边框,两端均无横向溢出。
- 已将原始参考、当前叫号模块和指标修复前后裁图放入同一次视觉对照;无 P0-P3 遗留项。
- 已追加 Phase 34 `design-qa.md` passed 记录并保留历史验收内容;本阶段全部验收项完成。
## 2026-07-15 - Phase 32 员工端叫号指标与队列展示
- 已读取并执行截图到代码、设计上下文、设计 QA 与文件化计划规范;目标和用户结果明确,无需补问。
- 已打开用户参考图,确认本轮是现有员工端的局部视觉与信息架构调整,不需要生成新资产。
- 已运行用户上下文预检;首次使用错误脚本路径失败,定位技能目录内实际路径后成功,结果为无已保存上下文。
- 已检查工作树和员工端现有实现:按号码按钮颜色不一致、旧末号指标仍存在、队列为固定高度内部滚动容器。
- 已冻结实现口径:两类叫号按钮统一绿色;六项指标使用既有队列字段;队列前 10 项摘要加展开/收起,并随页面自然增长。
- 已确认仓库无 `.project-docs`,且不回退、清理或格式化用户的其他在途改动。
- 已完成展示实现:删除叫号标题下和窄屏模式间的横线,按号码按钮改为与按人数一致的绿色主操作。
- 已将末号数/末号预计时长替换为下个号人数、剩余未叫号、剩余未叫人数三项独立指标。
- 已将队列改为三等分列,移除固定高度、内部滚动与外框,默认渲染 10 项并提供可访问的查看更多/收起控制。
- 员工页定向 8 项测试与 TypeScript 双配置检查通过。
- 前端全量 14 个测试文件、52 项测试全部通过;生产构建与构建内类型检查通过。
- 已在 390×844 真实员工页面确认六项新指标、两个同色主按钮、叫号卡内部无横线、队列默认 10 项和三列对称布局。
- 已实测“查看更多”把 200 项队列展开到页面流,整页高度增长且列表无内部滚动;“收起”恢复 10 项。
- 已复测移动端吸顶零重叠、无横向溢出、控制台零告警,并通过 720px 平板和 1280px 桌面响应式测量。
- 桌面预览刷新曾出现一次页面重新挂载超时;按浏览器故障指引保留连接并新建标签后验收恢复,未影响应用或测试结果。
- 已将参考图、聚焦裁图和完整页面放入同一视觉对照,完成字体、间距、色彩、布局、响应式、交互和可访问性检查;无 P0-P3 遗留项。
- 已更新根级 `design-qa.md` 为本轮 passed 结果,并保留旧任务的历史 blocked 记录。
- Phase 32 全部验收项完成。
## 2026-07-15 - Phase 31 员工端叫号模块与通知
- 已读取前端与文件化计划技能,明确本轮是现有员工工作台的局部保留式调整。
- 已确认仓库存在大量在途修改,目标前端文件也已被修改;后续仅做增量补丁。
- 已登记通知 5 秒消失、手动关闭、模块合并、统一标题和滚动置顶的验收标准。
- 发现根目录已有长期台账后,已恢复原内容并改为只追加本轮记录;业务代码未受影响。
- 已完成 `StaffPage` 状态与测试首轮审计:确认通知尚无生命周期控制,两个叫号模式仍各自带小标题,业务调用可原样保留。
- 已完成目标 DOM/CSS 审计:确认应新增统一 sticky 包装层,并将两种操作在一个有唯一主标题的卡片中扁平合并。
- 已核对页头层级和响应式高度,确定吸顶模块使用 68px/64px 顶部偏移及低于页头的层级,无需 JavaScript 滚动监听。
- 修改前基线执行误跑全量测试:员工页用例通过,另有 2 个既有游客查询页测试失败;已登记并改用精确 Vitest 文件命令。
- 精确基线 `StaffPage.test.tsx` 共 6 项全部通过,现可进入增量实现阶段。
- 已实现叫号通知 5 秒定时清理与“删除”按钮,手动删除会通过 effect 清理未完成定时器。
- 已将通知和叫号操作放入统一 `.staff-call-sticky` 吸顶层,并以页头下方 68px/64px 偏移固定。
- 已合并两种叫号操作为一个卡片,增加唯一标题“按号数/人数叫号”,删除两个内部小标题和内层卡片视觉。
- 已新增结构、手动删除和 5 秒自动消失回归断言,等待执行验证。
- 员工页 7 项定向测试全部通过TypeScript 双配置检查和 Vite 生产构建通过。
- 本地前后端服务健康,已进入真实浏览器滚动与通知验收。
- 已使用真实员工账号进入叫号页,确认统一标题、两种操作和队列数据均正常渲染;准备进行 390px 视口滚动测量。
- 390px 首轮视觉测量发现吸顶偏移与真实页头高度不一致64px 对 83px已暂停验收先修复遮挡风险后再复测。
- 已定位偏移根因是后置 Logo 尺寸覆盖使窄屏页头增高到 83px不是 sticky 失效。
- 桌面页头实测为 85px确定用 85px/83px 两档真实偏移修复吸顶遮挡。
- 已修正 sticky 偏移并完成 390x844 滚动复测:页头与叫号层零重叠,模块在最大滚动位置仍固定且完整可操作。
- 已在真实队列触发通知并观察到 5 秒自动消失;手动删除将用同一次调用内的即时操作补验。
- 真实浏览器已分别通过手动立即删除与 5 秒前后计时复验,两条通知清理路径均符合需求。
- 已完成 1280x800 桌面最大滚动复测:吸顶零重叠、无横向溢出、两种叫号入口均可见。
- 断点边界检查发现 621-720px 的页头比手机端多 4px正在补充分段偏移并复测 620/621/720/721px。
- 三档偏移已完成620/621/720/721px 边界复测全部零重叠。
- 浏览器最终控制台无 error/warn响应式视口已复原并完成验收清理。
- 最终员工页 7 项测试、TypeScript 检查和 Vite 生产构建再次全部通过。
- 最终前端全量 14 个测试文件、51 项测试全部通过。
- 目标差异格式检查通过;已再次确认其余大量脏工作树内容保持原状。
- 已完成最终源码与文案预检,未发现计时器泄漏、业务调用回归、可访问性或响应式问题。
- Phase 31 全部验收项完成。
- 最终 `git diff --check` 再次通过;交付文件为员工页、员工页测试、全局样式及既有三份项目台账。
## Session: 2026-07-12生产后端与数据库基础交接
- 用户确认:独立 PostgreSQL、Kubernetes 业务服务、全景区一次上线、峰值 3000 人同时在线RPO ≤ 5 分钟、RTO ≤ 30 分钟作为运维目标。
@@ -479,3 +579,13 @@
- 新增无手机号输入框的号码状态页,复用游客状态卡片和自动刷新;同手机号多个活动号码仍可在号码页选择。
- 增加“查询其他手机号”返回入口,保持旧的 `/visitor/:token` 私密状态页兼容。
- 验证通过:前端 13 个测试文件共 43 项测试、TypeScript 检查、Vite 生产构建和 `git diff --check`
# Session: 2026-07-15项目新建/维护表单结构化)
- 确认新建和维护已共用 `ProjectForm`,本轮只重组表单信息架构,不改动 API 和数据字段。
- 表单已拆分为基础信息、叫号规则、其他规则三个可访问区域。
- 叫号规则已按支持方式、单号人数、批量叫号、批量叫人四行组织,默认数量与单次上限成对展示。
- 已更新项目页回归断言;前端 14 个测试文件共 52 项测试全部通过TypeScript 类型检查通过。
- 已完成 Vite 生产构建;目标文件和三份项目台账的差异格式检查通过。
- 新建页与真实项目维护页均完成 1440×1000 和 390×844 响应式验收:三处分区、四个规则分组、既有数据回填、成对输入对齐及无横向溢出均通过。
- 浏览器控制台无 error/warn临时视口已恢复Phase 33 全部验收项完成。
- 台账收尾后再次执行目标差异格式检查,结果仍为通过。