feat/page-cleaning: adjust role var naming
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
export const systemCode = 'system'
|
||||
|
||||
export const rehabInstCode = 'rehab'
|
||||
export const rehabUnitCode = 'rehab'
|
||||
|
||||
export const headPosCode = 'head' // head position
|
||||
export const respPosCode = 'resp' // responsible position, verificator
|
||||
|
||||
export type UnitLevel =
|
||||
'inst' | // installation
|
||||
'unit' | // unit / poly
|
||||
'spec' | // specialist
|
||||
'subspec' // subspecialist
|
||||
|
||||
export const medicalRoles = [
|
||||
'emp|doc', // doctor
|
||||
'emp|nur', // nurse
|
||||
'emp|miw', // midwife
|
||||
'emp|thr', // therapist
|
||||
'emp|nut', // nutritionist
|
||||
'emp|pha', // pharmacy
|
||||
'emp|lab' // laborant
|
||||
]
|
||||
|
||||
export const serviceRoles = [
|
||||
'emp|reg',
|
||||
...medicalRoles,
|
||||
]
|
||||
|
||||
export function genSpecHeadCode(unit_level: UnitLevel, unit_code: string): string {
|
||||
return `${unit_level}|${unit_code}|${headPosCode}`
|
||||
}
|
||||
|
||||
export function genUnitRespCode(unit_level: UnitLevel, unit_code: string): string {
|
||||
return `${unit_level}|${unit_code}|${respPosCode}`
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { isValidDate } from '~/lib/date'
|
||||
import { medicalPositions } from '~/lib/roles'
|
||||
import { medicalRoles } from '~/const/common/role'
|
||||
|
||||
export interface EncounterItem {
|
||||
id: string
|
||||
@@ -459,11 +459,11 @@ export function getMenuItems(
|
||||
'installation|outpatient': {
|
||||
'unit|rehab': {
|
||||
items: listItemsForOutpatientRehab,
|
||||
roles: medicalPositions,
|
||||
roles: medicalRoles,
|
||||
},
|
||||
'unit|chemo': {
|
||||
items: listItemsForOutpatientChemo,
|
||||
roles: medicalPositions,
|
||||
roles: medicalRoles,
|
||||
},
|
||||
all: getItemsAll('ambulatory', 'all', defaultItems),
|
||||
},
|
||||
|
||||
+13
-11
@@ -1,14 +1,16 @@
|
||||
export const medicalPositions = ['emp|doc', 'emp|lab', 'emp|mid', 'emp|nur', 'emp|nut', 'emp|pha', 'emp|reg']
|
||||
const verificatorRole = 'verificator'
|
||||
import { medicalRoles, respPosCode } from '~/const/common/role'
|
||||
|
||||
export function getPositionAs(roleAccess: string): string {
|
||||
if (roleAccess.includes('|')) {
|
||||
if (medicalPositions.includes(roleAccess)) {
|
||||
return 'medical'
|
||||
}
|
||||
if (roleAccess.includes(verificatorRole)) {
|
||||
return 'verificator'
|
||||
}
|
||||
export function getServicePosition(role?: string): string {
|
||||
if(!role) {
|
||||
return 'none'
|
||||
}
|
||||
if (medicalRoles.includes(role)) {
|
||||
return 'medical'
|
||||
} else if (role === 'emp|reg') {
|
||||
return 'registration'
|
||||
} else if (role.includes('|resp')) {
|
||||
return 'verificator'
|
||||
} else {
|
||||
return 'none'
|
||||
}
|
||||
return 'none'
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export default defineNuxtRouteMiddleware((to) => {
|
||||
const requiredRoles = to.meta.roles as string[]
|
||||
if (requiredRoles && requiredRoles.length > 0) {
|
||||
// FIXME: change this dummy roles, when api is ready
|
||||
const userRoles = authStore.userRole
|
||||
const userRoles = authStore.userRoles
|
||||
// const userRoles = ['admisi']
|
||||
const hasRequiredRole = requiredRoles.some((role) => userRoles.includes(role))
|
||||
|
||||
|
||||
+11
-8
@@ -7,14 +7,15 @@ export const useUserStore = defineStore(
|
||||
|
||||
const isAuthenticated = computed(() => !!user.value)
|
||||
|
||||
const userRole = computed(() => {
|
||||
const userRoles = computed(() => {
|
||||
return user.value?.roles || []
|
||||
// return roles.map((input: string) => {
|
||||
// const parts = input.split('|')
|
||||
// return parts.length > 1 ? parts[1]: parts[0]
|
||||
// })
|
||||
})
|
||||
|
||||
const userActiveRole = ref('') // watched user failed, so create a ref here
|
||||
// computed(() => {
|
||||
// // return user.value?.activeRole || ''
|
||||
// })
|
||||
|
||||
const login = async (userData: any) => {
|
||||
user.value = userData
|
||||
}
|
||||
@@ -26,10 +27,11 @@ export const useUserStore = defineStore(
|
||||
const setActiveRole = (role: string) => {
|
||||
if (user.value && user.value.roles.includes(role)) {
|
||||
user.value.activeRole = role
|
||||
userActiveRole.value = role
|
||||
}
|
||||
}
|
||||
|
||||
const getActiveRole = (): string | null => {
|
||||
const getActiveRole = (): string | undefined => {
|
||||
if (user.value?.activeRole) {
|
||||
return user.value.activeRole
|
||||
}
|
||||
@@ -37,13 +39,14 @@ export const useUserStore = defineStore(
|
||||
user.value.activeRole = user.value.roles[0]
|
||||
return user.value.activeRole
|
||||
}
|
||||
return null
|
||||
return undefined
|
||||
}
|
||||
|
||||
return {
|
||||
user,
|
||||
isAuthenticated,
|
||||
userRole,
|
||||
userRoles,
|
||||
userActiveRole,
|
||||
login,
|
||||
logout,
|
||||
setActiveRole,
|
||||
|
||||
Reference in New Issue
Block a user