Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-07-31-company-card-row-and-confirm-dialog.md
2026-07-31 15:11:42 +08:00

2.3 KiB
Raw Blame History

Company-channel card row and in-page generation confirmation

Metadata

  • Date: 2026-07-31
  • Scope: arr_web/static/index.html, arr_web/static/styles.css, arr_web/static/app.js, tests/test_arr_web.py
  • Change type: UI composition and interaction affordance only
  • Business-data mutation: none

Behavior facts

  • The large 生成报表 surface now contains one desktop row ordered 上传 Excel 报表, 第一期, 第二期, 第三期. The layout falls back to two columns at the tablet breakpoint and one column on narrow mobile screens.
  • The 报表月份 input remains an accessible month control but its visible label is visually hidden. It sits in the setup header's upper-right corner, continues to drive C/O release/history filtering, and is still submitted as report_month after confirmation.
  • Period card CTAs now visibly read 生成; the period range, C/O range and release state remain visible in each card.
  • Clicking a released period opens a styled in-page <dialog> with the selected month and period. The dialog uses a restrained light card, backdrop blur, explicit 取消/确认生成 actions and focus on 取消 when opened.
  • Cancel, Escape and backdrop dismissal close the dialog without calling the generation API. Explicit confirmation keeps the existing POST body (report_month, period) and then uses the existing job save/poll/render path. Errors remain inline in the dialog for retry or cancellation. No window.confirm remains in the generation path.

Verification

  • node --check arr_web/static/app.js: passed.
  • HTML parser check: passed.
  • Focused suite: 28 tests, OK (tests.test_arr_web, tests.test_arr_web_company_reports).
  • Full discovery: 348 tests, OK (skipped=10).
  • Isolated authenticated fake-server browser QA did not upload, extract, delete, activate or submit a report. At 1280x720 all four cards share one row; at 390x844 the layout is single-column and scrollWidth equals the viewport. The generation dialog opened with 确认生成, showed 2026年07月01-10, and cancel/Escape both closed it without mutation. Browser console warnings/errors: none.
  • The isolated QA server on port 8876 was stopped after verification. Shared port 8766 was restarted at 14:26:56 +08; its /healthz endpoint returns ready.