diff --git a/changelogs/2026-03/2026-03-23_checklist_lock_ui.md b/changelogs/2026-03/2026-03-23_checklist_lock_ui.md new file mode 100644 index 0000000..58768d2 --- /dev/null +++ b/changelogs/2026-03/2026-03-23_checklist_lock_ui.md @@ -0,0 +1,45 @@ +# 已锁单订单禁止编辑(前端需处理) + +**日期**: 2026-03-23 20:00 +**紧急程度**: 高 + +--- + +## 问题 + +当 `checklistConfirmed = true`(已锁单)时,管理端仍能打开编辑面板尝试修改订单,后端会拒绝但体验不好。 + +## 前端需要做 + +当订单详情返回 `checklistConfirmed = true` 时: + +1. **隐藏/禁用**以下按钮: + - 编辑订单 + - 配房(编辑) + - 配车(编辑) + - 优惠管理 + - 附加费管理 + - 更换定制师 + +2. **显示"申请修改"按钮**(已有):点击弹出输入解锁原因 → 调用 `POST /admin/order/{orderId}/request-unlock` + +3. **锁单标识**:`processStatusLabel` 字段会返回 **"已锁单"**(仅当 checklistConfirmed=true 时) + +## 判断逻辑 + +```javascript +const isLocked = orderDetail.checklistConfirmed === true + +if (isLocked) { + // 隐藏编辑按钮,显示"申请修改"按钮 +} else { + // 正常显示编辑按钮 +} +``` + +## 后端保障 + +即使前端未做禁用,后端所有编辑接口都会检查锁单状态,返回: +```json +{ "code": 400, "message": "订单已锁定(确认清单已完成),如需修改请先申请解锁" } +```