fix: update page ambulatory, inpatient + emergency

This commit is contained in:
riefive
2025-12-03 14:20:18 +07:00
parent 04efd22f85
commit 5cb03ea3d7
14 changed files with 238 additions and 291 deletions

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
import type { Permission } from "~/models/role"
const route = useRoute()
const { checkRole, hasCreateAccess, hasReadAccess, hasUpdateAccess, hasDeleteAccess } = useRBAC()
export function getRouteTitle() {
return route.meta.title as string
}
export function getParamsId() {
const id = route.params.id
return typeof id === 'string' ? parseInt(id) : 0
}
export function checkPageAccess(roleAccess: Record<string, Permission[]>, type: 'create' | 'read' | 'update' | 'delete') {
// Check if user has access to this page, need to use try - catch for proper handling
const hasAccess = checkRole(roleAccess)
if (!hasAccess) {
navigateTo('/403')
}
// Define permission-based computed properties
const canCreate = hasCreateAccess(roleAccess)
const canRead = hasReadAccess(roleAccess)
const canUpdate = hasUpdateAccess(roleAccess)
const canDelete = hasDeleteAccess(roleAccess)
switch (type) {
case 'create':
return canCreate
case 'read':
return canRead
case 'update':
return canUpdate
case 'delete':
return canDelete
default:
return false
}
}