后端 GroupBatchChipResolver 的 CONTRACT_FAILED 含「作废中+已作废」、INSURANCE_FAILED 含
「已取消+投保失败」,原文案「合同已作废」「投保失败」以偏概全(正在作废会被说成已作废、
主动退保会被说成投保失败)。统一改为「{error} 户合同异常」「{error} 户保险异常」,
精确原因走明细接口 GB-ADM-094(约) / GB-ADM-095(保)。房/车「已打回」保持不变。
同步更正「精确分布请点进 GB-ADM-092 / 093」的编号错误(092/093 是导/摄),
改为该芯片对应的逐户明细 GB-ADM-090~095 并列出六芯片映射。
涉及 07_7250_* 与 07_frontend_团期看板对齐后端契约待办汇总-* 两篇。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJVi8pe9KYmLwLARnaYhhC
这个提交包含在:
@@ -12,7 +12,7 @@ frontend_owner: "mmg"
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: "2026-09-07"
|
||||
status_note: "PR #7254 已合入 dev-v3(47c9a6d29),AC-1~9 网关实测通过(AC-6d 由 PR #7258 补齐)。本条发布即解除前端汇总工单第 5 项 chipStats 芯片 tooltip 的挂起;前端改动=六芯片悬停 tooltip 透出 done/total/error(颜色仍读 chips.X,chipStats 只解释红成什么程度;文案按 c39fb8a 口径),消费方 src/stores/orderV2Batch.js fetchBatchPage。按「先完成任务清单」排在 #7067 U2-U7 之后,与汇总工单其余 4 项统一汇总审派发,本条保持 pending。"
|
||||
status_note: "PR #7254 已合入 dev-v3(47c9a6d29),AC-1~9 网关实测通过(AC-6d 由 PR #7258 补齐)。本条发布即解除前端汇总工单第 5 项 chipStats 芯片 tooltip 的挂起;前端改动=六芯片悬停 tooltip 透出 done/total/error(颜色仍读 chips.X,chipStats 只解释红成什么程度;文案按 c39fb8a 口径,并经 2026-09-07 复审二次修正约/保异常文案为「{error} 户合同异常」「{error} 户保险异常」——原「合同已作废」「投保失败」以偏概全,后端合同 error 含作废中+已作废、保险 error 含已取消+投保失败,精确原因走明细 GB-ADM-094/095),消费方 src/stores/orderV2Batch.js fetchBatchPage。按「先完成任务清单」排在 #7067 U2-U7 之后,与汇总工单其余 4 项统一汇总审派发,本条保持 pending。"
|
||||
updated_at: "2026-09-07"
|
||||
base: "dev-v3"
|
||||
---
|
||||
@@ -189,10 +189,11 @@ Authorization: Bearer <admin-token>
|
||||
|------|------|
|
||||
| ✅ 芯片颜色 | 一律读 `chips.X`,`chipStats` 只用于 tooltip |
|
||||
| ✅ 完成度文案 | 「已完成 {done}/{total}」 |
|
||||
| ✅ 异常文案 | 房/车「{error} 户已打回」、约「{error} 户合同已作废」、保「{error} 户投保失败」(或统一「{error} 户异常」) |
|
||||
| ✅ 异常文案 | 房/车「{error} 户已打回」、约「{error} 户**合同异常**」、保「{error} 户**保险异常**」(或统一「{error} 户异常」)。约/保刻意只写「异常」:合同异常含「作废中 / 已作废」两态,保险异常含「已取消 / 投保失败」两态,要精确原因请点进对应芯片明细(约 = GB-ADM-094、保 = GB-ADM-095) |
|
||||
| ❌ 把 done/total 说成「待配」 | `done` 是**已完成**户数,不是待办户数 |
|
||||
| ❌ 把合同作废、投保失败统称「打回」 | 三类失败语义不同,措辞按芯片区分 |
|
||||
| ❌ 用 `total − done − error` 当「待配户数」 | 里面混着未开始、进行中、待审核三种;现场 55 户里 48 户 PENDING、1 户 PROCESSING、2 户待审核、3 户未开始、1 户打回,仅凭 `done=0/total=55/error=1` **推不出 48**。要精确分布请点进 GB-ADM-092 / GB-ADM-093 |
|
||||
| ❌ 把合同异常、保险异常统称「打回」 | 三类失败语义不同,措辞按芯片区分:只有房/车的两个失败态才是「打回」 |
|
||||
| ❌ 把约的 error 写成「合同已作废」、保的 error 写成「投保失败」 | 以偏概全:约含「作废中 / 已作废」,正在作废会被说成已作废;保含「已取消 / 投保失败」,主动退保会被说成投保失败。统一写「合同异常」「保险异常」,精确原因走明细接口 |
|
||||
| ❌ 用 `total − done − error` 当「待配户数」 | 里面混着未开始、进行中、待审核三种;现场 55 户里 48 户 PENDING、1 户 PROCESSING、2 户待审核、3 户未开始、1 户打回,仅凭 `done=0/total=55/error=1` **推不出 48**。要精确分布请点进该芯片对应的逐户明细(GB-ADM-090~095,房 090 / 车 091 / 导 092 / 摄 093 / 约 094 / 保 095) |
|
||||
| ❌ 用 `error > 0` 推断颜色 | 见下方例外矩阵 |
|
||||
|
||||
### 例外矩阵:`error` 与 `chips.X` 何时合法背离
|
||||
@@ -203,7 +204,7 @@ Authorization: Bearer <admin-token>
|
||||
|---|---|---|---|
|
||||
| 团期已流团(CANCELLED),仍有户处于失败态 | 硬规则 1:六芯片恒 `TODO` | > 0 | `TODO` |
|
||||
| 团期已出行完毕 / 核团中 / 已结算,房务仍有打回户 | 硬规则 2:房车导摄恒 DONE | > 0 | `DONE` |
|
||||
| 房车导摄未全部完成,合同已作废或保险投保失败 | 硬规则 3:约/保恒 `TODO` | > 0 | `TODO` |
|
||||
| 房车导摄未全部完成,合同或保险有异常户(约:作废中 / 已作废;保:已取消 / 投保失败) | 硬规则 3:约/保恒 `TODO` | > 0 | `TODO` |
|
||||
| 以上都未触发(普通分支) | — | > 0 | `ERROR`(**严格等价**) |
|
||||
|
||||
服务端只在普通分支做「`error > 0` 当且仅当 ERROR」的自校验,不一致记 ERROR 日志并以 `chips.X` 为准;
|
||||
|
||||
@@ -12,7 +12,7 @@ frontend_owner: "mmg"
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: "2026-09-07"
|
||||
status_note: "本篇是 #7188/#7189/#7190 三单的前端待办汇总(行标题第N期 batchLabel / 班期范围 scope 筛选三处同传 / 出行完毕 TRIP_FINISHED 页签 / 未建团行 groupBatchId=null 分支),含精确 file:line 与期望代码。第 5 项芯片计数 tooltip 依赖后端 #7250 chipStats,后端代码已合入 dev-v3(PR #7254),其 changelog 07_7250_* 已于 2026-09-07 通过测试服 AC-1~AC-9 实测后发布(commit 16e0133),依赖已解除,本条可派发;c39fb8a 已修正其文案口径(done=已完成数非待配、error>0≠红因后端有覆盖规则、精确待配需点明细)。前端已识别,按「先完成任务清单」排在 #7067 U2-U7 之后统一派发,本条保持 pending。"
|
||||
status_note: "本篇是 #7188/#7189/#7190 三单的前端待办汇总(行标题第N期 batchLabel / 班期范围 scope 筛选三处同传 / 出行完毕 TRIP_FINISHED 页签 / 未建团行 groupBatchId=null 分支),含精确 file:line 与期望代码。第 5 项芯片计数 tooltip 依赖后端 #7250 chipStats,后端代码已合入 dev-v3(PR #7254),其 changelog 07_7250_* 已于 2026-09-07 通过测试服 AC-1~AC-9 实测后发布(commit 16e0133),依赖已解除,本条可派发;c39fb8a 已修正其文案口径(done=已完成数非待配、error>0≠红因后端有覆盖规则、精确待配需点明细)。2026-09-07 复审后二次修正约/保异常文案:原「{error} 户合同已作废」「{error} 户投保失败」以偏概全(后端合同 error 含作废中+已作废两态、保险 error 含已取消+投保失败两态),改为「{error} 户合同异常」「{error} 户保险异常」,精确原因走明细接口 GB-ADM-094(约)/GB-ADM-095(保);房/车「已打回」两个失败态语义一致,保持不变。前端已识别,按「先完成任务清单」排在 #7067 U2-U7 之后统一派发,本条保持 pending。"
|
||||
updated_at: "2026-09-07"
|
||||
base: "dev-v3"
|
||||
---
|
||||
@@ -135,9 +135,11 @@ const title = computed(() => {
|
||||
|
||||
**现状**:芯片只返回一个状态字符串,规则是「只要有一户被打回就整格 ERROR(红)」,优先于「进行中」。现场产品 2044306857534636034 的 10-01 期 55 户活跃单里有 1 户处于「驳回给定制师」,房芯片就整格红,运营看不出是 1 户还是 55 户出问题。
|
||||
|
||||
**期望**:wx 2026-09-07 拍板「口径不改,透出计数」。后端 #7250 将在看板列表额外返回 `chipStats.{hotel|vehicle|guide|photo|contract|insurance} = {done, total, error}`(附加对象,`chips` 字符串不变,老前端不受影响)。前端在芯片上加悬停提示:「**已完成 {done}/{total}**」,`error` 大于 0 时追加异常说明——房/车「{error} 户已打回」、约「{error} 户合同已作废」、保「{error} 户投保失败」(或统一「{error} 户异常」)。
|
||||
**期望**:wx 2026-09-07 拍板「口径不改,透出计数」。后端 #7250 将在看板列表额外返回 `chipStats.{hotel|vehicle|guide|photo|contract|insurance} = {done, total, error}`(附加对象,`chips` 字符串不变,老前端不受影响)。前端在芯片上加悬停提示:「**已完成 {done}/{total}**」,`error` 大于 0 时追加异常说明——房/车「{error} 户已打回」、约「{error} 户**合同异常**」、保「{error} 户**保险异常**」(或统一「{error} 户异常」)。
|
||||
|
||||
注意三点:`done` 是**已完成**户数,不是待办户数,不要写成「{done}/{total} 待配」;这三个数**推不出精确的待配户数**(现场 55 户里 48 户待房务配、1 户配房中、2 户待审核、3 户未开始、1 户打回,仅凭 done=0 / total=55 / error=1 推不出 48),要精确分布请点进芯片明细 GB-ADM-092 / 093;`error > 0` **不等于**芯片一定是红色——团期已流团、已返团(出行完毕 / 核团中 / 已结算)、或房车导摄未全部完成这三种情况下后端有状态覆盖规则,`error` 仍是真实户数而颜色分别是灰 / 绿 / 灰,颜色请一律以 `chips.X` 为准。字段名与例外矩阵以后端 changelog 为准:`changelogs-v2/2026-09/07_7250_团期看板芯片透出chipStats计数-修改接口-管理后台.md`(PR #7254 已合入 dev-v3 `47c9a6d29`;该篇已于 2026-09-07 通过测试服 AC-1~AC-9 实测并发布,commit `16e0133`)。**依赖已解除,本项可开工。**
|
||||
> **约/保为什么只写「异常」不写具体原因**(2026-09-07 复审二次修正):后端 `CONTRACT_FAILED = {VOIDING 作废中, VOIDED 已作废}`、`INSURANCE_FAILED = {CANCELLED 已取消, FAILED 投保失败}`,每个都是**两态**。原口径写「合同已作废」「投保失败」会把正在作废的说成已作废、把主动退保的说成投保失败,以偏概全。要精确原因请点进对应芯片明细接口:**约 = GB-ADM-094**(`GET .../chips/contract`)、**保 = GB-ADM-095**(`GET .../chips/insurance`),明细里逐户给 `status` + `statusText`。
|
||||
|
||||
注意三点:`done` 是**已完成**户数,不是待办户数,不要写成「{done}/{total} 待配」;这三个数**推不出精确的待配户数**(现场 55 户里 48 户待房务配、1 户配房中、2 户待审核、3 户未开始、1 户打回,仅凭 done=0 / total=55 / error=1 推不出 48),要精确分布请点进该芯片对应的逐户明细(GB-ADM-090~095,房 090 / 车 091 / 导 092 / 摄 093 / 约 094 / 保 095);`error > 0` **不等于**芯片一定是红色——团期已流团、已返团(出行完毕 / 核团中 / 已结算)、或房车导摄未全部完成这三种情况下后端有状态覆盖规则,`error` 仍是真实户数而颜色分别是灰 / 绿 / 灰,颜色请一律以 `chips.X` 为准。字段名与例外矩阵以后端 changelog 为准:`changelogs-v2/2026-09/07_7250_团期看板芯片透出chipStats计数-修改接口-管理后台.md`(PR #7254 已合入 dev-v3 `47c9a6d29`;该篇已于 2026-09-07 通过测试服 AC-1~AC-9 实测并发布,commit `16e0133`)。**依赖已解除,本项可开工。**
|
||||
|
||||
---
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户