文件
hl-api-changelog/changelogs-v2/2026-09/23_frontend_物资tab操作列仍按准备物资阶段隐藏致后端放开无效-前端优化-管理后台.md
T
2026-09-23 15:15:48 +08:00

6.4 KiB
原始文件 Blame 文件历史

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 8231 物资 tab 的写入口仍按 MATERIAL_PREPARING 前置隐藏——后端已放开到出行前四态,前端不改则运营点不到入口 admin jw(GIT) 前端优化 not_required not_required verified mmg e15dd73bd36a1d27374f9206797243f8a5e4326c 2026-09-23 #8231 后端已把物资三个写接口(新增行 / 改数量 / 软删行)的阶段门从单一 MATERIAL_PREPARING 放宽到出行前四态(RECRUITING / RESOURCE_PREPARING / MATERIAL_PREPARING / PENDING_DEPARTURE),2026-09-23 已部署 TEST 并四态逐一实测通过。但 SuppliesPanel.vue 里有一个 isMaterialPreparing 计算属性把手工录入按钮、操作列表头、数量行内编辑、删除按钮四处一并前置隐藏,非 MATERIAL_PREPARING 阶段物资 tab 仍是一张没有操作列的只读表,运营点不到任何入口——后端这次放开在界面上等于没发生。需要把这四处的判据从「等于 MATERIAL_PREPARING」改成「在出行前四态之内」。注意「确认物资」按钮(同文件 28 行)走的是另一个接口 confirm-material,#8231 没有放开它,那一处的阶段门要原样保留、不要跟着一起改。配导游 / 配摄影侧前端零改动:ChipItemsPanel.vue 的配置按钮条件只有 v-if=configRole,不看 batchStatus,后端放开后即刻生效。 | 2026-09-23 mmg 交付:canConfigureSupplies 四态管三写入口,isMaterialPreparing 保留仅管确认物资 2026-09-23 dev-v3

团期物资 tab: 写入口的阶段门需从单一阶段放宽到出行前四态(管理后台)

仓库 / 分支: mmg/hl-ui @ v2.1 文件: src/views/order-v2/batch/detail/components/SuppliesPanel.vue Issue: #8231 日期: 2026-09-23 影响范围: 团期详情页「物资」tab 的操作列与三个写入口


⚠️ 关键变化

后端已经放开,前端不改则本次改动在界面上等于没发生。

RESOURCE_PREPARING(资源准备中)是最典型的一态:团期要集齐四项 ready(房 / 车 / 导 / 摄)才推得进 MATERIAL_PREPARING,所以今天运营抱怨「物资配不了」,多数时候团期正停在 RESOURCE_PREPARING。 后端这次就是为这个场景放开的,而前端在这一态下连操作列都不渲染。


一、后端现状(已部署 TEST 并实测)

接口 方法 路径 改后可用状态
新增备品行 POST /v3/admin/order/group-batch/{groupBatchId}/supplies 出行前四态
调整数量 PUT /v3/admin/order/group-batch/supplies/{batchSuppliesId}/quantity 出行前四态
软删备品行 DELETE /v3/admin/order/group-batch/supplies/{batchSuppliesId} 出行前四态

出行前四态 = RECRUITING / RESOURCE_PREPARING / MATERIAL_PREPARING / PENDING_DEPARTURE。

出行后(TRAVELLING / TRIP_FINISHED / REVIEWING / SETTLED)与 CANCELLED 仍拒, 错误码从 589520 换成了 589598,文案「出行后不可再配置导游 / 摄影 / 物资」。

TEST 实测(2026-09-23,dev-v3 @ fe752f16c):四态各跑「增 → 改数量 → 删」三端点共 12 次调用全 200; 三个出行后态各返 589598 且零写入。


二、前端需要改的四处(行号按 origin/v2.1 @ f713b1c6)

# 行 现状 期望
1 16 v-if="isMaterialPreparing" —— 「手工录入」按钮 出行前四态可见
2 52 <span v-if="isMaterialPreparing">操作</span> —— 操作列表头 出行前四态可见
3 81 v-if="isMaterialPreparing" —— 数量 n-input-number 行内编辑(否则走 v-else 的只读纯文本) 出行前四态可编辑
4 94 <span v-if="isMaterialPreparing"> —— 整个删除按钮单元格 出行前四态可见

判据单源在 179 行:

// #7528 阶段门:仅物料准备中可见三个写操作与确认入口(其余状态后端仍守,前端前置隐藏)
const isMaterialPreparing = computed(() => props.detail?.batchStatus === 'MATERIAL_PREPARING')

连带两处会自动跟着变,确认改后表现正常即可:

  • 183 行 gridColumns:操作列出现与否决定列宽是 6 列还是 5 列
  • 188 行 emptyText:空态文案分「可从备品库选择或手工录入」与「本期尚未配置物资」两种

三、⚠️ 不要一起改的两处

位置 原因
28 行「确认物资」按钮 它调的是 POST /v3/admin/order/group-batch/{groupBatchId}/confirm-material,属七项硬门准入链路,#8231 没有放开它。那一处的 MATERIAL_PREPARING 判据要原样保留
4 行「从备品库选择」按钮 它本来就没挂阶段门、一直可见。改前它在非 MATERIAL_PREPARING 下点了会被 589520 拒,改后四态内可正常落库——不需要改代码,但回归时要覆盖它

因为 28 行与那四处不再同一个判据,建议把 179 行拆成两个计算属性(例如「可配置窗口」与「可确认物资」), 而不是把现有的 isMaterialPreparing 就地改语义——后者会把确认物资一起放开,那是另一件事。


四、配导游 / 配摄影侧:前端零改动

ChipItemsPanel.vue 的配置按钮条件只有 v-if="configRole",不看 batchStatus; 弹窗只有 :disabled="!rosterReady"(名单加载态)。招募中按钮本来就渲染、点得下去, 只是改前后端回 589552 被拦截器透成 toast。后端放开后该路径即刻可用,无需前端配合。


五、错误文案

按 589520 做分支的地方需要改认 589598。589520 未退役(保留占位防号段复用),但物资三口不再抛它。


六、回归建议

在 RESOURCE_PREPARING 的团期上验:操作列出现 → 手工录入一行 → 改数量 → 删除 → 从备品库选择再加一行。 再在 REVIEWING 或 TRIP_FINISHED 的团期上验:操作列不出现,且即便直接打接口也返 589598。


关联 / 联系人

  • 后端:jw(#8231,PR #8234 / #8237,已部署 TEST)
  • 前端:mmg
  • 同批后端条目:23_8231_配导游配摄影物资放开到出行前四态-修改接口-管理后台.md
  • 前例:17_frontend_团期物资清单补改数量删除与手工录入-前端优化-管理后台.md