Skip to content

数据范围:指标下达、参与主体、审核记录等配置/审计对象按主体过滤,菜单按岗位裁剪(各部门目标值互相保密) #30

Description

@baozhoutao

背景(来源:#23 UI 实测 K-4,维护者 2026-09-03 拍板口径:各部门目标值互相保密,按主体过滤)

部门填报人员(张伟)能打开「方案版本 / 指标下达 / 参与主体 / 到人分工 / 指标争议 / 指标库 / 归档快照 / 审核记录」,指标下达 36 条(全部主体的目标值与权重)、审核记录 96 条全部可读;左侧菜单对所有岗位全量展示。与需求 §2.2「本部门范围仅可见本部门」、手册 §1.2「每个角色只看得到自己权限内的菜单」不符。

口径(已拍板)

  • 各部门目标值与权重互相保密:指标下达、参与主体、到人分工、审核记录、归档快照、核对任务对部门填报人员只开放本部门主体相关行;对分公司核对人员只开放本分公司相关行;分管领导只开放分管主体;人力审核 / 人力负责人 / 管理员全量。
  • 指标库(指标定义与计分规则)视为公共口径,所有岗位可读,不过滤。
  • 配置类菜单(方案版本、指标下达、参与主体、到人分工、指标争议、指标库、流程进度)对部门填报人员与分公司核对人员隐藏或收成只读入口——按平台 app 导航能力决定;做不到按岗位裁剪导航时如实记录为平台能力缺口(只上报不修复),数据层过滤仍必须完成。

范围

  1. src/services/sharing-service.ts:按方案的动态共享规则扩到上述对象(现有规则已覆盖填报单/明细/核对任务/数据调整等,核对哪些对象缺规则、哪些对象的权限集还是 readOrg),部门 / 分公司 / 分管领导三类范围与现有填报单规则同一口径;src/security/index.ts 权限集相应从 readOrg 收成 own + 共享。
  2. src/apps/index.ts 导航按岗位裁剪(平台能力允许时)。
  3. 单测/服务测试:为新增共享规则补覆盖(沿用 sharing-service 现有测试风格)。
  4. 演示与手册不改;若手册 §1.2 的表述与实现最终不一致,在测试报告「基准差异」如实列出。

不做

不改状态机与计分;不改指标库可见范围;不做「到人结果只见本人」以外的个人维度调整(已存在)。

方案分级与放行(调度员)

改已有共享规则与权限集 = 高风险(影响所有岗位的可见范围)。放行方向 = 上述口径;开发子 agent 开工前须在本单评论列出「对象 × 岗位」的可见范围矩阵(改前 / 改后)与受影响的既有测试,与口径一致即可开工;若发现平台共享规则对某对象无法按主体条件表达,停手上报(objectstack-ai/objectstack 只上报不修复)并在本单记录。

验收标准

  1. 软件档案实例:张伟(研发部)在指标下达列表只见研发部的 3 条;审核记录只见研发部填报单的记录;归档快照只见研发部;陈东(华东)在参与主体/指标下达只见华东相关;徐涛只见技术线三主体;马丽全量。越权直接访问记录 URL 或 REST 返回 404/403。
  2. 默认档案实例上 scripts/e2e-flow.mjs 的数据范围断言仍全 PASS;scripts/software-flow.mjs 仍 54/54(脚本以管理员建链,不应受影响)。
  3. 导航:部门填报人员登录后看不到配置类菜单组(或如实记录平台缺口)。
  4. pnpm verify 绿;测试报告(各岗位截图,含越权被拒)与符合度清单挂本单评论,截图走 acceptance-evidence

测试计划草稿

T1 可见范围矩阵评论 | T2 界面:张伟/陈东/徐涛/马丽四账号逐对象计数 | T3 越权 URL 与 REST 拒绝 | T4 导航裁剪 | T5 两脚本全 PASS | T6 pnpm verify

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions