储存证质检信息:质检/生产字段级编辑权限(方案 A) #93

Closed
opened 2026-11-11 07:29:44 +00:00 by cykj · 1 comment
Owner

背景

客户服务管理「填写储存证质检信息」弹窗需拆分质检权限与生产权限:各自配置可编辑字段与可编辑人员;范围外用户仅可查看。

范围

  • web-admin + backend
  • 共用组件 storage-cert-qc-dialog(客户服务 / 质检工单 / 生产工单)

方案(已确认 A)

  • 租户级 ACL:scope=qc|production,字段 + 人员
  • 读详情返回 editableFieldKeys;写接口服务端 merge
  • 未配置前兼容旧菜单写权限;任一 scope 配置后严格 ACL
  • 配置按钮独立菜单码,仅管理员可见
  • 同人取字段并集

OpenSpec

openspec/changes/storage-cert-qc-field-acl/(proposal/design/specs/tasks 已齐)

Figma 原型(待确认)

https://www.figma.com/design/M9XtXqXRCAKccMWD7BivIL?node-id=31-62
页面:04 Dialogs · 储存证质检字段 ACL 原型 v1 · #93

验收

  1. 配置质检/生产字段与人员后,对应人员仅可改授权字段
  2. 未授权用户打开弹窗只读,不能保存无权字段
  3. 服务端拒绝篡改无权字段
  4. 三处入口行为一致
  5. Figma 原型确认后再实现
## 背景 客户服务管理「填写储存证质检信息」弹窗需拆分质检权限与生产权限:各自配置可编辑字段与可编辑人员;范围外用户仅可查看。 ## 范围 - web-admin + backend - 共用组件 `storage-cert-qc-dialog`(客户服务 / 质检工单 / 生产工单) ## 方案(已确认 A) - 租户级 ACL:scope=`qc`|`production`,字段 + 人员 - 读详情返回 `editableFieldKeys`;写接口服务端 merge - 未配置前兼容旧菜单写权限;任一 scope 配置后严格 ACL - 配置按钮独立菜单码,仅管理员可见 - 同人取字段并集 ## OpenSpec `openspec/changes/storage-cert-qc-field-acl/`(proposal/design/specs/tasks 已齐) ## Figma 原型(待确认) https://www.figma.com/design/M9XtXqXRCAKccMWD7BivIL?node-id=31-62 页面:04 Dialogs · 储存证质检字段 ACL 原型 v1 · #93 ## 验收 1. 配置质检/生产字段与人员后,对应人员仅可改授权字段 2. 未授权用户打开弹窗只读,不能保存无权字段 3. 服务端拒绝篡改无权字段 4. 三处入口行为一致 5. Figma 原型确认后再实现
cykj added the ai-in-progress label 2026-11-11 07:39:52 +00:00
cykj added ai-testing and removed ai-in-progress labels 2026-11-11 08:13:38 +00:00
cykj added ai-merging and removed ai-testing labels 2026-11-11 08:14:54 +00:00
Author
Owner

已合入 V2.0

  • 任务提交:529f36eac6baefb64c522608ea82177d9cfe3a53
  • 合并提交:87a22880e821f27662410bea879ad0d4e629a44b
  • OpenSpec:openspec/changes/storage-cert-qc-field-acl/
  • Figma:https://www.figma.com/design/M9XtXqXRCAKccMWD7BivIL?node-id=31-62 (原型 v1 已确认采用)
  • 单元测试:python3 -m unittest tests.test_sample_storage_cert_qc tests.test_sample_storage_cert_qc_acl -q → Ran 28 tests OK
  • SQL 迁移(上线前执行):docs/sql/migrations/2026-11-11-storage-cert-qc-field-acl.sql
  • 菜单码:cell-storage:sample-info:storage-cert-qc-acl(需在角色管理中授权)

构建、启动与页面连通验收留给用户在合入后的 V2.0 上完成。

## 已合入 V2.0 - 任务提交:`529f36eac6baefb64c522608ea82177d9cfe3a53` - 合并提交:`87a22880e821f27662410bea879ad0d4e629a44b` - OpenSpec:`openspec/changes/storage-cert-qc-field-acl/` - Figma:https://www.figma.com/design/M9XtXqXRCAKccMWD7BivIL?node-id=31-62 (原型 v1 已确认采用) - 单元测试:`python3 -m unittest tests.test_sample_storage_cert_qc tests.test_sample_storage_cert_qc_acl -q` → Ran 28 tests OK - SQL 迁移(上线前执行):`docs/sql/migrations/2026-11-11-storage-cert-qc-field-acl.sql` - 菜单码:`cell-storage:sample-info:storage-cert-qc-acl`(需在角色管理中授权) 构建、启动与页面连通验收留给用户在合入后的 `V2.0` 上完成。
cykj closed this issue 2026-11-11 08:15:38 +00:00
cykj added ai-done and removed ai-merging labels 2026-11-11 08:15:54 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cykj/zkxw#93