diff --git a/changelogs-v2/2026-08/12_frontend_确认执行页逐日车费多车只显示一行-前端缺陷-管理后台.md b/changelogs-v2/2026-08/12_frontend_确认执行页逐日车费多车只显示一行-前端缺陷-管理后台.md index 4dafd0b..26307de 100644 --- a/changelogs-v2/2026-08/12_frontend_确认执行页逐日车费多车只显示一行-前端缺陷-管理后台.md +++ b/changelogs-v2/2026-08/12_frontend_确认执行页逐日车费多车只显示一行-前端缺陷-管理后台.md @@ -7,12 +7,12 @@ change_type: "前端缺陷" author: "wx(GIT)" backend_status: "not_required" gateway_status: "not_required" -frontend_status: "pending" +frontend_status: "implemented" frontend_owner: "mmg" -frontend_ref: "" +frontend_ref: "0538f4b4" target_release: "" -verified_at: "" -status_note: "后端零改动。已用测试服真实 API 核实(订单 26-0821,看板 GET /admin/fleet/board/orders/2086270141158346754):activeAssignments 返回 4 段完整执行段(蒙A-K1999 考斯特 08-18~08-20 三天+08-21 一天 ×¥1500,蒙A-T1557 普拉多 08-18~08-20 三天+08-21 一天 ×¥1000),每段 dailyVehicleFees 逐日价齐全,根级 vehicleFeeTotal=\"10000.00\"、vehicleFeeSummaries=[考斯特¥6000, 普拉多¥4000]。根因在前端:AssignModal.vue step4 逐日车费走 mergeContinuityDailyVehicleFees(vehicleFeeAmount.js),该函数按 serviceDate 去重、同日多台车只保留第一台的价——它本是为「同一台车跨段接续」设计的合并,被错用到「多台车并行」场景,把「逐日×逐车」折叠成「逐日单行」,总价也错。修法:确认页逐日车费按「车+服务日」逐行铺开(读 activeAssignments[].dailyVehicleFees,同日多车保留多行并带车牌/车型区分),总价直接用根级 vehicleFeeTotal,不要用按日期去重的聚合。" +verified_at: "2026-08-12" +status_note: "后端零改动。已用测试服真实 API 核实(订单 26-0821,看板 GET /admin/fleet/board/orders/2086270141158346754):activeAssignments 返回 4 段完整执行段(蒙A-K1999 考斯特 08-18~08-20 三天+08-21 一天 ×¥1500,蒙A-T1557 普拉多 08-18~08-20 三天+08-21 一天 ×¥1000),每段 dailyVehicleFees 逐日价齐全,根级 vehicleFeeTotal=\"10000.00\"、vehicleFeeSummaries=[考斯特¥6000, 普拉多¥4000]。根因在前端:AssignModal.vue step4 逐日车费走 mergeContinuityDailyVehicleFees(vehicleFeeAmount.js),该函数按 serviceDate 去重、同日多台车只保留第一台的价——它本是为「同一台车跨段接续」设计的合并,被错用到「多台车并行」场景,把「逐日×逐车」折叠成「逐日单行」,总价也错。修法:确认页逐日车费按「车+服务日」逐行铺开(读 activeAssignments[].dailyVehicleFees,同日多车保留多行并带车牌/车型区分),总价直接用根级 vehicleFeeTotal,不要用按日期去重的聚合。前端 2026-08-12 已修复并交付:vehicleFeeAmount 新增 groupDailyVehicleFeesByVehicle 以车辆身份分组(vehicleId 优先/车牌兜底/皆无入匿名组保持旧语义),同车跨段仍按日合并、多车同日保留多行带车牌·车型小标题(Step4Confirm 多组渲染独立 DailyVehicleFeeList);sumContinuityVehicleFeeTotal 逐日回退改按车分组防同日多车漏算;confirmationVehicleFeeTotal 多段优先 resolveBoardOrderVehicleFeeTotal(props.order) 取根级 vehicleFeeTotal(特意用 props.order 非 assignmentOrder——confirmHold 下后者已被代表段单段总价覆盖)。fleet/board 35 文件 430 用例全绿,checkpoint 全过。" updated_at: "2026-08-12" base: "dev-v3" --- diff --git a/changelogs-v2/2026-08/12_frontend_调整订单弹窗手机号证件号脱敏值误回传-前端缺陷-管理后台.md b/changelogs-v2/2026-08/12_frontend_调整订单弹窗手机号证件号脱敏值误回传-前端缺陷-管理后台.md index 81cd2e9..1e41eb5 100644 --- a/changelogs-v2/2026-08/12_frontend_调整订单弹窗手机号证件号脱敏值误回传-前端缺陷-管理后台.md +++ b/changelogs-v2/2026-08/12_frontend_调整订单弹窗手机号证件号脱敏值误回传-前端缺陷-管理后台.md @@ -7,12 +7,12 @@ change_type: "前端缺陷" author: "wx(GIT)" backend_status: "not_required" gateway_status: "not_required" -frontend_status: "pending" +frontend_status: "implemented" frontend_owner: "mmg" -frontend_ref: "" +frontend_ref: "d4d25a1c" target_release: "" -verified_at: "" -status_note: "后端零改动,契约已支持『不改不传』。调整订单弹窗里手机号/证件号是脱敏回显(如 185****2756、110101****1234)。若用户没改这两列,前端不应把脱敏值回传后端——后端按『值变化』判改动,脱敏串 ≠ 明文会被误判为『改了』,再走格式校验报『手机号格式非法(应为 11 位数字)/证件号格式非法』。契约:AdjustmentSubmitReqVO.updates.people.travelers.update[].phone/idNo 传 null(或整个字段省略)= 保留原值不动;只有用户输入了新的完整明文值才提交。快照 GET /v3/admin/order/{id}/adjustment/snapshot?scope=PEOPLE 与订单详情 customerInfo.travelers 均返回明文(admin 端专用),可编辑初始值应取明文,不要取脱敏串。" +verified_at: "2026-08-12" +status_note: "后端零改动,契约已支持『不改不传』。调整订单弹窗里手机号/证件号是脱敏回显(如 185****2756、110101****1234)。若用户没改这两列,前端不应把脱敏值回传后端——后端按『值变化』判改动,脱敏串 ≠ 明文会被误判为『改了』,再走格式校验报『手机号格式非法(应为 11 位数字)/证件号格式非法』。契约:AdjustmentSubmitReqVO.updates.people.travelers.update[].phone/idNo 传 null(或整个字段省略)= 保留原值不动;只有用户输入了新的完整明文值才提交。快照 GET /v3/admin/order/{id}/adjustment/snapshot?scope=PEOPLE 与订单详情 customerInfo.travelers 均返回明文(admin 端专用),可编辑初始值应取明文,不要取脱敏串。前端 2026-08-12 已修复并交付:真根因比本条所述更准——①buildTravelerPayload 未填敏感字段回传 ''(''≠null 后端误判改动对空串跑格式校验);②订单级紧急电话 buildEmergencyPhonePayload 原回传 originalEmergencyPhone 明文/脱敏串,用户只改姓名也泄漏脱敏串。修复:TravelerInfoEditor 捕获提交形态基线 baselineTravelerPayload(脱敏字段已省略)+紧急电话「脱敏或与基线一致→null(不改不传)」,buildAdjustmentPeopleUpdate 加 baselineTravelers 对 update 项逐字段 diff「改才传、不改省略」、只剩 id 未改项剔除,toAdjustmentTraveler 防御剔除含「*」的 idCardNo/phone/emergencyPhone;不传基线保持原全量行为向后兼容。order-v2 29 文件 231 用例全绿,checkpoint 全过。" updated_at: "2026-08-12" base: "dev-v3" ---