diff --git a/changelogs-v2/2026-09/04_7062_供应商清账归档后修改入口置灰-前端优化-管理后台.md b/changelogs-v2/2026-09/04_7062_供应商清账归档后修改入口置灰-前端优化-管理后台.md new file mode 100644 index 00000000..37b101e1 --- /dev/null +++ b/changelogs-v2/2026-09/04_7062_供应商清账归档后修改入口置灰-前端优化-管理后台.md @@ -0,0 +1,57 @@ +--- +schema: "hl-changelog/v2" +ticket: "7062" +title: "供应商清账归档后修改入口置灰" +consumer: "admin" +author: "lc(GIT)" +change_type: "前端优化" +backend_status: "not_required" +gateway_status: "not_required" +frontend_status: "pending" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "本条仅交付前端置灰动作;status=ARCHIVED 时保持只读,#7062 的后端防绕过另行实现和验收。" +updated_at: "2026-09-04" +base: "dev-v3" +--- + +# 供应商模块:清账归档后修改入口置灰 + +> **Issue**: [#7062](https://git.1814.love:8443/wx/HL/issues/7062) +> **影响范围**: 管理后台供应商列表、详情、账户和合同写入口 + +## 关键变化 + +供应商 `status="ARCHIVED"` 时,详情与记录仍可查看;原本有写权限的操作入口保留展示,但必须禁用并呈灰色,且点击后不得发送写请求。 + +## 接口与字段 + +| 方法 | 路径 | 前端使用字段 | 请求 / 响应变化 | +|---|---|---|---| +| GET | `/admin/supplier/items/page` | `data.records[].status` | 无变化;`ARCHIVED` 表示已归档 | +| GET | `/admin/supplier/items/list` | `data[].status` | 无变化;`ARCHIVED` 表示已归档 | +| GET | `/admin/supplier/items/{supplierId}/basic-info/view` | `data.status` | 无变化;详情以该字段刷新置灰状态 | + +- `status` 用于按钮门禁;`statusName` 只用于展示“已归档”,不得用中文文案参与判断。 +- 后端拒绝已归档写入时返回业务码 `395031`、`success=false`;前端仍需按统一错误处理展示消息并刷新详情。 + +## 正确调用方式与边界 + +- 列表行或详情的 `status !== "ARCHIVED"` 时,继续沿用现有权限和状态门禁。 +- `status === "ARCHIVED"` 时,将供应商资料编辑/保存、账户新增/设为默认、合同新增/编辑/删除及其他供应商写操作统一设为 `disabled` 并呈灰色。 +- 权限仍决定入口是否可见;有权限但已归档时显示禁用态,不以隐藏代替置灰。 +- 只读详情、账户查看、合同查看、资源信息、审批记录和变更记录保持可用。 +- 状态变更或写请求返回后重新查询列表或详情,避免使用旧状态继续放行操作。 + +## 前端动作与当前状态 + +- 增加 `status === "ARCHIVED"` 的统一只读门禁,并覆盖上述全部写入口。 +- 增加至少一条前端测试,证明已归档态按钮禁用且不会发起写请求。 +- **当前状态:待前端处理。** + +## 关联 / 联系人 + +- **Issue**: [#7062](https://git.1814.love:8443/wx/HL/issues/7062) +- **后端负责人**: @lc