3.2 KiB
3.2 KiB
Daily Review UI Navigation, Progress And I18n
Date: 2026-08-06
Status: implemented and runtime-active
Scope: authenticated desktop Daily Report UI only
Reported Problems
- Clicking
待人工处理opened the task log instead of the manual-price operation panel. - A retryable frozen case displayed an unwanted frozen-manifest explanation.
- Final confirmation did not change the upload-card status from
等待人工定价to日报生成中while the synchronous request was running. - The added manual-price module was not localized with the existing Chinese/English/Thai selector.
Root Cause And Change
- The history row owned the log-opening click/keyboard behavior, while only the small
复核 x / ychild button owneddata-open-price-review. The status chip therefore fell through to the row action. Status plus progress are now one semantic review button; nested controls are excluded from the row keyboard handler. A successful read focuses and scrolls the dedicateddaily-price-review-panel. generation_failednow hides the instruction node. The removed sentence is absent from HTML, JavaScript and the language catalog.finalizeDailyPriceReview()sets the upload progress component to the localized running label before awaiting the finalize API. Success resolves to complete, an active server-side generation remains generating, and a returned editable/retryable review resolves back to waiting for manual pricing.- Static and dynamic review copy, responsive
data-labelvalues, row states, pagination, validation/toasts, cancel dialog and review API errors now have explicit Chinese, English and Thai catalog entries. Review prices use the current locale's integer formatter.
Verification
node --check arr_web/static/i18n.jsandnode --check arr_web/static/app.jspassed.- Focused Web/static regression passed 31/31 tests.
- Full discovery passed 393 tests in 247.709 seconds, with three intentional skips for private Booking fixtures.
- Authenticated browser verification on the live 8766 page proved:
- the needs-review status is exposed as one button with an explicit open-review accessible name;
- clicking it made
daily-price-review-panelthe active element, scrolled to the panel and left the task-log dialog closed; - the retryable instruction node was hidden and the removed sentence was not rendered;
- Chinese, English and Thai rendered localized title, progress, table labels, instructions, row state, save/finalize controls and status-action names;
- both English and Thai cancellation dialogs rendered localized title, description, audit note and buttons, then closed through the non-mutating return action.
Safety Boundary
Browser verification issued only review-detail reads, client-side locale changes and open/close dialog actions. It did not edit or save a price, submit finalize/retry/cancel, upload XML, create a Finance version or trigger monthly work. The finalization-progress transition is covered by the source-order regression because clicking it would be a real business mutation. The Web process was not restarted: authenticated page reload proved the running server reads and serves the current static files.