feat(specialist): add specialist detail page with position management

- Add specialist detail page with unit relation
- Implement position management including CRUD operations
- Update specialist model to include unit relation
- Add list and detail components for specialist positions
- Create entry form for specialist positions
- Implement pagination and search for positions
- Add confirmation dialogs for delete operations
This commit is contained in:
Khafid Prayoga
2025-10-31 11:18:00 +07:00
parent c340de3114
commit a4f8e1a64f
10 changed files with 633 additions and 113 deletions

No files matched your search

@@ -0,0 +1,42 @@
<script setup lang="ts">
// import type { PagePermission } from '~/models/role'
import Error from '~/components/pub/my-ui/error/error.vue'
// import { PAGE_PERMISSIONS } from '~/lib/page-permission'
definePageMeta({
// middleware: ['rbac'],
roles: ['doctor', 'nurse', 'admisi', 'pharmacy', 'billing', 'management'],
title: 'Detail Divisi',
contentFrame: 'cf-container-lg',
})
const route = useRoute()
useHead({
title: () => route.meta.title as string,
})
// const roleAccess: PagePermission = PAGE_PERMISSIONS['/patient']
// const { checkRole, hasReadAccess } = useRBAC()
// // Check if user has access to this page
// const hasAccess = checkRole(roleAccess)
// if (!hasAccess) {
// navigateTo('/403')
// }
// Define permission-based computed properties
// const canRead = hasReadAccess(roleAccess)
const canRead = true
</script>
<template>
<template v-if="canRead">
<ContentSpecialistDetail :specialist-id="Number(route.params.id)" />
</template>
<Error
v-else
:status-code="403"
/>
</template>