From 926336c5aa897be62c810a8a239678ddcad6a632 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 10 Aug 2026 16:54:14 +0800 Subject: [PATCH] =?UTF-8?q?changelog(v2):=20#5788=20a75efc05=20=E5=A4=8D?= =?UTF-8?q?=E6=B5=8B=E6=9C=AA=E8=BF=87=E6=89=93=E5=9B=9E=20pending?= =?UTF-8?q?=E2=80=94=E2=80=944=20=E9=A1=B9=E5=89=8D=E7=AB=AF=E8=BF=94?= =?UTF-8?q?=E5=B7=A5(=E6=95=B0=E6=8D=AE=E6=BA=90=E9=81=AE=E8=94=BD/exclude?= =?UTF-8?q?=E5=90=8C=E6=BA=90/=E5=8E=BB=E9=99=A4=E9=94=81=E5=AE=9A/?= =?UTF-8?q?=E4=BB=BB=E4=BD=95=E6=A7=BD=E4=BD=8D=E5=8F=AF=E5=88=A0,?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=20PR=20#5802=20=E5=B7=B2=E5=85=9C=E5=BA=95?= =?UTF-8?q?=E9=80=89=E8=BD=A6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._换版保留派单可改派与槽位标旧-修改接口-管理后台.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/changelogs-v2/2026-08/10_5788_换版保留派单可改派与槽位标旧-修改接口-管理后台.md b/changelogs-v2/2026-08/10_5788_换版保留派单可改派与槽位标旧-修改接口-管理后台.md index 2d161e0..483eef4 100644 --- a/changelogs-v2/2026-08/10_5788_换版保留派单可改派与槽位标旧-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/10_5788_换版保留派单可改派与槽位标旧-修改接口-管理后台.md @@ -7,7 +7,7 @@ author: "wx(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "not_required" -frontend_status: "implemented" +frontend_status: "pending" frontend_owner: "mmg" frontend_ref: "a75efc05" target_release: "" @@ -67,6 +67,15 @@ base: "dev-v3" 即"原来的两辆商务车都可见(一辆沿用在新槽、一辆标旧),新需求两个槽位齐全"。 +### 2.7 ⚠️ a75efc05 复测未过·前端需返工(wx 2026-08-10 现场实测 26-9313,浏览器抓包实证) + +标旧行没渲染、选车仍报错、槽位误显锁定,根因共 4 项(前 2 项同一根因): + +1. **数据源遮蔽(根因)**: `explicitAssignmentSlots`(batchAssignmentSlots.js)只要 `order.assignmentSlots` 是数组就直接返回,**永远读不到 detail 的 `vehicleSlots`**。实测本单列表行 `assignmentSlots` 有 2 个普通槽(不含 superseded 行、无 superseded/canDelete 字段)→ ①supersededSlots 恒空,「旧数据·需求已改版」行一次都没渲染过;②槽位对象丢失 `canDelete=true`(detail 有、列表无)→ 误显"当前槽位不可删除,请刷新详情后重试"。**修法**: superseded 标旧行与 canDelete/deleteBlockReason 必须以 detail `vehicleSlots` 为源(合并或优先)。 +2. **candidates 排除同源缺陷阻塞实锤**: 槽位2 选车请求实抓 `fleetItemIndex=1, excludeAssignmentId=2086270154022285313`(=槽位1 E5555 已派行)——picker 上下文的 excludeAssignmentId 取了订单级行而非本槽位行,被后端精确匹配拒绝报"参数非法"。后端已再兜底(PR #5802:同订单上下文不一致的排除改为**忽略**并 WARN,不再报错),**现版前端已可正常选车**,但同源修正仍需落地:excludeAssignmentId/fleetItemIndex 一律取本槽位行(vehicleSlots 同行的 assignmentId+fleetItemIndex),否则被误传行会在候选里如实显示冲突(略影响体验不阻塞)。 +3. **去除"已锁定"(wx 2026-08-10 口径)**: `isExistingAssignment` 槽位的「统一选择车辆/司机」按钮禁用+显示"已锁定"——去除该锁定;已有槽位同样允许统一选车(走候选接口,后端排除口径已放开)。 +4. **任何槽位车务都可删除(wx 2026-08-10 口径)**: 删除按钮不再因 canDelete 缺失/false 隐藏或拦截——后端 #5572 本就允许删除一切未完结槽位(已派/待确认删除时联动取消释放),仅已完结/已关账行后端会拒并给原因,前端直接放开按钮、失败时展示后端 message 即可(换版保留旧行例外:仍走改派/取消不走删除)。 + ## 验证证据:实测数据样例(测试服 26-9313) ```json