Add RDM management pages gated by command availability

Why: 方案 r1 U6/KTD5——已合入的 rdm.role.* / rdm.project.member.* / rdm.review.assign.doc / rdm.review.doc.* 命令无用户入口;系统管理与项目设置需按命令面门控接线(普通基座零暴露)。
Evidence: 红:vitest rdm-management 1 failed(模块缺失,收据 /tmp/fe-u6-red-receipt.txt);绿:npx vitest run 25 files / 124 tests 全过(含 design-guard)+ npm run build 成功(tsc -b 干净);收据 /tmp/fe-u6-vitest.txt、/tmp/fe-u6-build.txt。
Impact: 新增 src/rdmManagement.ts(门控+载荷纯逻辑,8 测试)与 adminRdmSections.tsx(RdmRolesPanel/RdmMembersSection/RdmDutiesSection);AdminZone 增 rdm-roles 分区(管理员+rdmRolesAvailable);ProjectSettingsModal 增成员/文档职责页签(按 rdmMembersAvailable/rdmDocReviewAvailable);store 刷新命令面时计算三门控标志。样式仅复用既有类。
Refs: 方案 r1 U6/KTD5;RDM PR #260/#262/#254
This commit is contained in:
weichen
2026-10-12 10:27:31 +00:00
parent 531b683a92
commit 0ae27749cf
6 changed files with 439 additions and 9 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ describe('RDM 页面能力门控', () => {
describe('RDM 动作清单(12 项,与 perms.AllActions 对齐)', () => {
it('精确等于 RDM 动作枚举且不重复', () => {
expect([...ROLE_ACTIONS].sort()).toEqual([
'duty.assign', 'doc.publish', 'doc.read', 'doc.write', 'knowledge.publish',
'doc.publish', 'doc.read', 'doc.write', 'duty.assign', 'knowledge.publish',
'member.manage', 'project.archive', 'project.create', 'project.settings',
'review.participate', 'stage.advance', 'trace.edit',
])