6.4 KiB
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.vueIssue: #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