供应商清账归档后修改入口置灰(#7062)
changelog-filename-gate / validate (push) Successful in 1s

这个提交包含在:
lc
2026-09-04 16:16:05 +08:00
父节点 e3aace57c5
当前提交 eede11917a
@@ -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