From 53a7d41373efccf90db0fdcb87f6e1cb7ce0e9a0 Mon Sep 17 00:00:00 2001 From: riefive Date: Thu, 20 Nov 2025 14:54:17 +0700 Subject: [PATCH] fix: refactor page process on outpatient, inpatient, emergency --- .../content/encounter/process-next.vue | 19 ++++---- .../pub/my-ui/comp-menu/comp-menu.vue | 1 - app/components/pub/my-ui/menus/submenu.vue | 39 ++++++++++++++++ .../emergency/encounter/[id]/process.vue | 3 +- .../inpatient/encounter/[id]/process.vue | 3 +- .../chemotherapy/[id]/process.vue | 45 +++++++++++++++++++ 6 files changed, 99 insertions(+), 11 deletions(-) create mode 100644 app/components/pub/my-ui/menus/submenu.vue create mode 100644 app/pages/(features)/outpation-action/chemotherapy/[id]/process.vue 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)