feat(permissions): implement document permission matrix

This commit is contained in:
yelan
2026-08-27 16:47:55 +08:00
parent e7aa4843b7
commit 94a0d88f8b
5 changed files with 578 additions and 17 deletions
@@ -0,0 +1,108 @@
import type { DepartmentPermissionRow, PermissionColumn, RolePermissionRow } from './types'
export const permissionColumns: PermissionColumn[] = [
{
key: 'visible',
label: '可见',
description: '可浏览模板',
},
{
key: 'usable',
label: '可用',
description: '可发起签署',
},
{
key: 'maintainable',
label: '可维护',
description: '可编辑、停用模板',
},
]
export const rolePermissionRows: RolePermissionRow[] = [
{
id: 'system-admin',
name: '系统管理员',
color: '#6b5bd2',
description: '系统配置、用户与权限管理、审计日志',
userCount: 2,
permissions: {
visible: true,
usable: true,
maintainable: true,
},
},
{
id: 'medical-management',
name: '医务管理',
color: '#0e6e8c',
description: '全院文档库维护、报表分析、任务监督',
userCount: 4,
permissions: {
visible: true,
usable: true,
maintainable: false,
},
},
{
id: 'department-signer',
name: '科室签署员',
color: '#0f9d6c',
description: '本科室文档发起签署、手写板 / 短信操作',
userCount: 23,
permissions: {
visible: false,
usable: false,
maintainable: false,
},
},
{
id: 'audit-viewer',
name: '查询审计员',
color: '#d9821f',
description: '只读查询报表与审计留痕,不可发起',
userCount: 3,
permissions: {
visible: false,
usable: false,
maintainable: false,
},
},
]
export const departmentPermissionRows: DepartmentPermissionRow[] = [
{
id: 'radiology',
department: '放射科',
ownDocuments: 'available',
commonDocuments: 'available',
otherDocuments: 'invisible',
},
{
id: 'cardiology',
department: '心内科',
ownDocuments: 'available',
commonDocuments: 'available',
otherDocuments: 'invisible',
},
{
id: 'orthopedics',
department: '骨科',
ownDocuments: 'available',
commonDocuments: 'available',
otherDocuments: 'invisible',
},
{
id: 'health-management',
department: '健康管理中心',
ownDocuments: 'available',
commonDocuments: 'available',
otherDocuments: 'invisible',
},
{
id: 'general',
department: '全院通用',
ownDocuments: 'available',
commonDocuments: 'available',
otherDocuments: 'invisible',
},
]