diff --git a/app/components/content/chemotherapy/process.vue b/app/components/content/chemotherapy/process.vue index aa71e381..2a61c468 100644 --- a/app/components/content/chemotherapy/process.vue +++ b/app/components/content/chemotherapy/process.vue @@ -3,5 +3,5 @@ import EncounterHome from '~/components/content/encounter/home.vue' diff --git a/app/components/content/encounter/home.vue b/app/components/content/encounter/home.vue index bb8e94d2..5379d24b 100644 --- a/app/components/content/encounter/home.vue +++ b/app/components/content/encounter/home.vue @@ -6,6 +6,7 @@ import { getDetail } from '~/services/encounter.service' import { getPositionAs } from '~/lib/roles' import type { TabItem } from '~/components/pub/my-ui/comp-tab/type' +import CompMenu from '~/components/pub/my-ui/comp-menu/comp-menu.vue' import CompTab from '~/components/pub/my-ui/comp-tab/comp-tab.vue' // PLASE ORDER BY TAB POSITION @@ -23,6 +24,7 @@ const route = useRoute() const router = useRouter() const props = defineProps<{ + display?: 'tab' | 'menu' classCode?: 'ambulatory' | 'emergency' | 'inpatient' | 'outpatient' subClassCode?: 'reg' | 'rehab' | 'chemo' | 'emg' | 'eon' | 'op' | 'icu' | 'hcu' | 'vk' }>() @@ -30,6 +32,7 @@ const props = defineProps<{ const activeRole = getActiveRole() const activePosition = ref(getPositionAs(activeRole)) const tabs = ref([] as any) +const currentDisplay = ref(props.display ?? 'tab') // activeTab selalu sinkron dengan query param const activeTab = computed({ @@ -293,11 +296,13 @@ const tabsRaws: TabItem[] = [ }, ] -function getTabs() { +function getMenus() { return tabsRaws .filter((tab: TabItem) => (tab.groups ? tab.groups.some((group: string) => group === activePosition.value) : false)) .filter((tab: TabItem) => (tab.classCode && props.classCode ? tab.classCode.includes(props.classCode) : false)) - .filter((tab: TabItem) => (tab.subClassCode && props.subClassCode ? tab.subClassCode.includes(props.subClassCode) : false)) + .filter((tab: TabItem) => + tab.subClassCode && props.subClassCode ? tab.subClassCode.includes(props.subClassCode) : false, + ) .map((tab: TabItem) => { return { ...tab, props: { ...tab.props, encounter: data } } }) @@ -306,11 +311,11 @@ function getTabs() { watch(getActiveRole, () => { const activeRole = getActiveRole() activePosition.value = getPositionAs(activeRole) - tabs.value = getTabs() + tabs.value = getMenus() }) onMounted(() => { - tabs.value = getTabs() + tabs.value = getMenus() }) @@ -321,6 +326,13 @@ onMounted(() => { + +import { type TabItem } from '../comp-tab/type' + +const props = defineProps<{ + initialActiveTab: string + data: TabItem[] +}>() + +const activeMenu = ref(props.initialActiveTab) +const emit = defineEmits<{ + changeMenu: [value: string] +}>() + +function changeMenu(value: string) { + activeMenu.value = value + emit('changeMenu', value) +} + + + +