Files
simrsx-fe/app/pages/(features)/ambulatory/encounter/add.vue
T
2025-12-09 20:57:04 +07:00

61 lines
1.5 KiB
Vue

<script setup lang="ts">
// Types & Consts
import type { Permission } from '~/models/role'
import { permissions } from '~/const/page-permission/ambulatory'
// Helpers
import { usePageChecker } from "~/lib/page-checker"
import { getServicePosition } from '~/lib/roles'
// Pubs
import Error from '~/components/pub/my-ui/error/error.vue'
// Apps
import Content from '~/components/content/encounter/entry.vue'
const { getRouteTitle, getPageAccess } = usePageChecker()
definePageMeta({
middleware: ['rbac'],
roles: ['emp|reg'],
title: 'Tambah Kunjungan',
contentFrame: 'cf-full-width',
})
useHead({
title: () => `${getRouteTitle()}`,
})
// Preps role checking
const roleAccess: Record<string, Permission[]> = permissions['/ambulatory/encounter/add'] || {}
const hasAccess = getPageAccess(roleAccess, 'create')
// TODO: Make a function for this
const { user } = useUserStore()
const servicePosition = user.user_contractPosition_code == 'emp' ? getServicePosition('emp|'+user.employee_position_code) : null
const subClassCode = servicePosition == 'med' ?
// medic
(user.unit_code == 'rehab' ? 'rehab' : 'reg') :
// non medic
(
user.employee_position_code == 'reg' ?
(user.installation_code == 'rehab' ? 'rehab' : 'reg') :
undefined
)
</script>
<template>
<div v-if="hasAccess">
<Content
:id="0"
class-code="ambulatory"
:subclass-code="subClassCode"
form-type="add"
/>
</div>
<Error
v-else
:status-code="403"
/>
</template>