52 行
2.9 KiB
Markdown
52 行
2.9 KiB
Markdown
# 房务最终确认成功后残留全屏遮罩(前端待处理)
|
||
|
||
## 目标前端
|
||
|
||
- 端类型:管理后台(Web)
|
||
- 目标仓库:`mmg/hl-ui`(`https://git.1814.love:8443/mmg/hl-ui.git`)
|
||
- 联调/验收环境:`http://192.168.100.160:9527`
|
||
- 其他前端:小程序、H5 无需处理
|
||
|
||
本问题属于管理后台交互状态清理,不要求修改后端接口。
|
||
|
||
## 现象
|
||
|
||
房务管理员在订单详情完成最后一晚“单日确认”后点击“最终确认”,业务操作成功,列表状态也已更新为“已完成”,但详情抽屉关闭后页面仍残留覆盖整个视口的 `.n-modal-mask`。
|
||
|
||
遮罩使列表变暗并拦截鼠标操作,页面上没有可见对话框或关闭按钮;按 `Escape` 后遮罩消失,页面恢复操作。
|
||
|
||
## 复现记录
|
||
|
||
- 测试订单:`HL20260721142957939`
|
||
- 操作角色:房务管理员
|
||
- 操作步骤:选单 -> 两晚配房 -> 两晚单日确认 -> 最终确认
|
||
- 配房口径:第 1 晚扣系统库存,第 2 晚不扣系统库存
|
||
- 页面结果:最终确认成功,列表显示“已完成”和“已配 2 / 共 2 晚”,但全屏遮罩残留
|
||
- 运行观察:成功后观察 3 秒,无 console error 或 failed request
|
||
- 截图证据:`D:/work2/HL-v3/.tmp/house-final-200-browser-flow-final-transient-empty.png`
|
||
|
||
按 `Escape` 清除遮罩后重新打开该订单,详情正常显示 `2/2`、两晚酒店与库存口径,说明后端状态和配房数据均已正确落库,问题集中在前端弹层/抽屉的关闭清理。
|
||
|
||
## 前端处理要求
|
||
|
||
1. 最终确认成功后,关闭确认对话框和订单详情抽屉时同步卸载对应 teleport/modal 容器,不能遗留可见或可交互的 `.n-modal-mask`。
|
||
2. 无论最终确认请求成功、业务失败、网络异常或用户取消,都必须在结束路径中恢复页面滚动和 pointer events。
|
||
3. 不得依赖用户按 `Escape`、刷新页面或重新进入菜单恢复操作。
|
||
4. 避免用全局删除所有遮罩的方式修复;只清理本次最终确认流程拥有的弹层状态,不能影响站内信、全局搜索等其他弹层。
|
||
5. 最终确认成功后若自动关闭详情,列表状态与统计应正常刷新;若保留详情,则应直接展示正确的完成态 `2/2` 数据。
|
||
|
||
## 验收
|
||
|
||
| 场景 | 预期 |
|
||
| --- | --- |
|
||
| 正常完成最终确认 | 成功提示后无残留遮罩,列表可立即点击、筛选和滚动 |
|
||
| 最终确认业务失败 | 错误提示可关闭,原详情仍可操作,无遮罩残留 |
|
||
| 最终确认网络失败 | loading 结束,页面恢复交互,可重试 |
|
||
| 用户取消最终确认 | 对话框关闭,详情与列表交互正常 |
|
||
| 成功后重开订单 | 显示“已完成”、正确配房进度及全部配房行 |
|
||
|
||
## 接口边界
|
||
|
||
- 最终确认沿用现有房务接口,无需新增字段或修改响应结构。
|
||
- 本次浏览器复测确认成功后的列表和详情数据正确,不创建 `wx/HL` 后端 Issue。
|