diff --git a/app/components/content/encounter/process-next.vue b/app/components/content/encounter/process-next.vue
index 22db3536..e3dffe98 100644
--- a/app/components/content/encounter/process-next.vue
+++ b/app/components/content/encounter/process-next.vue
@@ -5,7 +5,7 @@ import { useRoute, useRouter } from 'vue-router'
// Components
import EncounterPatientInfo from '~/components/app/encounter/collapsible-patient-info.vue'
import EncounterHistoryButtonMenu from '~/components/app/encounter/history-button-menu.vue'
-import CompMenu from '~/components/pub/my-ui/comp-menu/comp-menu.vue'
+import SubMenu from '~/components/pub/my-ui/menus/submenu.vue'
// Libraries
import { getPositionAs } from '~/lib/roles'
@@ -59,8 +59,6 @@ if (activePosition.value === 'none') { // if user position is none, redirect to
router.push('/')
}
-console.log(JSON.stringify(user, null, 4))
-
// Dummy rows for ProtocolList (matches keys expected by list-cfg.protocol)
const protocolRows = [
{
@@ -116,13 +114,18 @@ async function getData() {
}
function getMenus() {
- const currentListItems = listItems[`installation|${props.classCode}`];
+ const normalClassCode = props.classCode === 'ambulatory' ? 'outpatient' : props.classCode
+ const currentListItems = listItems[`installation|${normalClassCode}`];
if (!currentListItems) return []
const unitCode = user?.unit?.code ? `unit|${user.unit.code}` : 'all';
- const currentUnitItems = currentListItems[`${unitCode}`];
+ const currentUnitItems: any = currentListItems[`${unitCode}`];
if (!currentUnitItems) return []
- if (currentUnitItems.roles && currentUnitItems.roles?.some((role: string) => role !== activePosition.value)) return []
- let menus = [...currentUnitItems.items]
+ let menus = []
+ if (currentUnitItems.roles && currentUnitItems.roles?.some((role: string) => role === activePosition.value)) {
+ menus = [...currentUnitItems.items]
+ } else {
+ menus = [...currentUnitItems]
+ }
const indexStatus = getIndexById('status', menus)
const indexEarlyMedicalAssessment = getIndexById('early-medical-assessment', menus)
const indexRehabMedicalAssessment = getIndexById('rehab-medical-assessment', menus)
@@ -285,6 +288,6 @@ onMounted(async () => {
-
+
diff --git a/app/components/pub/my-ui/comp-menu/comp-menu.vue b/app/components/pub/my-ui/comp-menu/comp-menu.vue
index b02f2e78..fab41dde 100644
--- a/app/components/pub/my-ui/comp-menu/comp-menu.vue
+++ b/app/components/pub/my-ui/comp-menu/comp-menu.vue
@@ -43,4 +43,3 @@ function changeMenu(value: string) {
-
diff --git a/app/components/pub/my-ui/menus/submenu.vue b/app/components/pub/my-ui/menus/submenu.vue
new file mode 100644
index 00000000..6875637f
--- /dev/null
+++ b/app/components/pub/my-ui/menus/submenu.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/(features)/emergency/encounter/[id]/process.vue b/app/pages/(features)/emergency/encounter/[id]/process.vue
index 78d7ad9a..2e6e837c 100644
--- a/app/pages/(features)/emergency/encounter/[id]/process.vue
+++ b/app/pages/(features)/emergency/encounter/[id]/process.vue
@@ -2,6 +2,7 @@
import type { PagePermission } from '~/models/role'
import Error from '~/components/pub/my-ui/error/error.vue'
import { PAGE_PERMISSIONS } from '~/lib/page-permission'
+import EncounterProcess from '~/components/content/encounter/process-next.vue'
definePageMeta({
middleware: ['rbac'],
@@ -35,7 +36,7 @@ const canCreate = hasCreateAccess(roleAccess)
-
+
-
+
+import type { PagePermission } from '~/models/role'
+import Error from '~/components/pub/my-ui/error/error.vue'
+import { PAGE_PERMISSIONS } from '~/lib/page-permission'
+import EncounterProcess from '~/components/content/encounter/process-next.vue'
+
+definePageMeta({
+ middleware: ['rbac'],
+ roles: ['doctor', 'nurse', 'admisi', 'pharmacy', 'billing', 'management'],
+ title: 'Kunjungan',
+ contentFrame: 'cf-full-width',
+})
+
+const route = useRoute()
+
+useHead({
+ title: () => `${route.meta.title}`, // backtick to avoid the ts-plugin(2322) warning
+})
+
+const roleAccess: PagePermission = PAGE_PERMISSIONS['/outpatient/encounter']
+
+const { checkRole, hasCreateAccess } = useRBAC()
+
+// Check if user has access to this page
+const hasAccess = checkRole(roleAccess)
+if (!hasAccess) {
+ throw createError({
+ statusCode: 403,
+ statusMessage: 'Access denied',
+ })
+}
+
+// Define permission-based computed properties
+const canCreate = hasCreateAccess(roleAccess)
+
+
+
+
+
+
+
+