5.4 KiB
5.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 | frontend | 团期物资清单补改数量删除与手工录入 | admin | wx(GIT) | 前端优化 | not_required | not_required | verified | mmg | 3684d137617f4432f855cecb9df6bd05d192b239 | 2026-09-17 | 纯前端条目,后端零改动。SuppliesPanel.vue:76 注释「调整数量 / 删除行 / 手工录入待后端补契约后接入」已过时——三个能力后端均已上线(改数量 PUT、删除 DELETE、手工录入复用 POST 的 suppliesName 分支,#6986)。原型「物资清单」Tab 的添加 / 删除操作因此可直接接入。[mmg 2026-09-17 交付] 全部落地:①orderV2GroupBatch 加 getGroupBatchSupplies/updateGroupBatchSuppliesQuantity/deleteGroupBatchSupplies(写路径不带 groupBatchId,雪花字符串,写关去重);②SuppliesPanel 清单源切换为 GET supplies(candidates 只留 PickerModal 内部),数量列行内 NInputNumber + 行尾 NPopconfirm 删除 + 手工录入按钮,三能力与确认物资共用 MATERIAL_PREPARING 阶段门,589520/589507 拦截器透 message 不建字典;③新建 SuppliesManualModal(NForm rules 必填,body 不传 suppliesResourceId)。api spec 3 例 + 两组件 spec 12 例,scoped checkpoint 13 项全绿。 | 2026-09-17 | dev-v3 |
团期物资清单补改数量删除与手工录入(前端优化)
服务: hl-order-service-v3(后端零改动) 页面: 管理后台
/order-v2/batch→ 团期详情 → 物资 Tab 组件:src/views/order-v2/batch/detail/components/SuppliesPanel.vue、SuppliesPickerModal.vue原型:团期需求1/_verify/proto_local/batchDetail.jsx「物资清单」Tab 前端基线:mmg/hl-uiv2.1 @15e3d7d日期: 2026-09-17 影响范围: 仅前台;无端点、无出入参、无路由、无 DDL 变化
⚠️ 关键变化
🔵 组件注释已过时。 SuppliesPanel.vue:76 写着「调整数量 / 删除行 / 手工录入待后端补契约后接入」,
这三项后端都已上线,可以直接接。
一、原型要求 vs 当前渲染
| 原型功能 | 当前前端 | 后端接口 |
|---|---|---|
| 物资清单表 | ✅ 已有(候选列表 added 标记) |
GET …/{groupBatchId}/supplies/candidates |
| 从备品库加入 | ✅ 已有 | POST …/{groupBatchId}/supplies(传 suppliesResourceId) |
| 添加物资(名称 + 数量规格)手工录入 | ❌ 缺 | 同一个 POST,传 suppliesName 不传 suppliesResourceId |
| 行内改数量 | ❌ 缺 | PUT …/supplies/{batchSuppliesId}/quantity |
| 删除物资(行尾 ✕) | ❌ 缺 | DELETE …/supplies/{batchSuppliesId} |
| 确认物资清单 | ✅ 已有 | POST …/{groupBatchId}/confirm-material |
接口前缀均为 /v3/admin/order/group-batch。
二、本次调整
2.1 已选清单改用团期物资列表
改数量、删除都要行 ID。建议已选清单直接读:
GET /v3/admin/order/group-batch/{groupBatchId}/supplies
每行字段:id(即 batchSuppliesId)、suppliesResourceId(手工录入行为 null)、suppliesName、category、hasCost、billingType、unitPrice、quantity、sortOrder、remark。
候选接口的 batchSuppliesId 也能用,但手工录入的行不在候选库里,只有这个列表能看到。
2.2 手工录入
POST /v3/admin/order/group-batch/{groupBatchId}/supplies
Content-Type: application/json
{ "suppliesName": "急救包", "category": "…", "quantity": 2, "remark": "规格:大号" }
suppliesName与suppliesResourceId二选一:不传库 ID 时名称必填,否则报「备品名称不能为空(未指定备品库 ID 时必填)」quantity必填- 可选:
category(字典supplies_category)、hasCost、billingType、unitPrice、sortOrder、remark - 原型「数量规格」一栏:数量进
quantity,规格文字进remark
2.3 改数量
PUT /v3/admin/order/group-batch/supplies/{batchSuppliesId}/quantity
Content-Type: application/json
{ "quantity": 3 }
⚠️ 路径里没有 groupBatchId。
2.4 删除
DELETE /v3/admin/order/group-batch/supplies/{batchSuppliesId}
软删,删除后重新拉 2.1 的列表。
2.5 共同约束
- 阶段门:三个写操作只在团期
batchStatus = MATERIAL_PREPARING时放行,其他阶段返回589520「物资清单只能在『准备物资』阶段配置」。按钮按同一条件显隐或置灰,与现有「确认物资」一致 - 权限:写操作
group-batch:manage,列表group-batch:view(团期管理员均已授) - 物资确认后是否仍允许改:后端只看阶段(jw 2026-09-02 / 09-03 两次确认「只要还在准备物资就放行」),前端不要另加只读判断
三、不在本条范围
- 物资确认、从备品库选择:已上线,不改
- 备品库本身的维护(资源 → 备品):另一模块
四、验证建议
- 在 TEST 物料准备中的团里手工录入「急救包 ×2」,列表出现该行,
suppliesResourceId为空 - 改数量为 3,刷新后仍为 3;删除后该行消失
- 找一个资源准备中的团,三个写按钮不可用;强行调用返回
589520