Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/laporan-tindakan-185

This commit is contained in:
Khafid Prayoga
2025-12-05 08:35:15 +07:00
210 changed files with 9091 additions and 950 deletions

No files matched your search

+56 -14
View File
@@ -40,6 +40,8 @@ const ChemoMedicineProtocolListAsync = defineAsyncComponent(
const DeviceOrderAsync = defineAsyncComponent(() => import('~/components/content/device-order/main.vue'))
const PrescriptionAsync = defineAsyncComponent(() => import('~/components/content/prescription/main.vue'))
const CpLabOrderAsync = defineAsyncComponent(() => import('~/components/content/cp-lab-order/main.vue'))
const ProcedureRoomOrderAsync = defineAsyncComponent(() => import('~/components/content/procedure-room-order/main.vue'))
const MicroLabOrderAsync = defineAsyncComponent(() => import('~/components/content/micro-lab-order/main.vue'))
const CprjAsync = defineAsyncComponent(() => import('~/components/content/cprj/entry.vue'))
const RadiologyAsync = defineAsyncComponent(() => import('~/components/content/radiology-order/main.vue'))
const ConsultationAsync = defineAsyncComponent(() => import('~/components/content/consultation/list.vue'))
@@ -48,6 +50,11 @@ const GeneralConsentListAsync = defineAsyncComponent(() => import('~/components/
const ResumeListAsync = defineAsyncComponent(() => import('~/components/content/resume/list.vue'))
const ControlLetterListAsync = defineAsyncComponent(() => import('~/components/content/control-letter/list.vue'))
const ActionReportEntryAsync = defineAsyncComponent(() => import('~/components/content/action-report/entry.vue'))
const KfrListAsync = defineAsyncComponent(() => import('~/components/content/kfr/list.vue'))
const PrbListAsync = defineAsyncComponent(() => import('~/components/content/prb/list.vue'))
const SurgeryReportListAsync = defineAsyncComponent(() => import('~/components/content/surgery-report/list.vue'))
const VaccineDataListAsync = defineAsyncComponent(() => import('~/components/content/vaccine-data/list.vue'))
const InitialNursingStudyAsync = defineAsyncComponent(() => import('~/components/content/initial-nursing/entry.vue'))
const defaultKeys: Record<string, any> = {
status: {
@@ -163,8 +170,8 @@ const defaultKeys: Record<string, any> = {
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
},
actionRoomOrder: {
id: 'action-room-order',
procedureRoomOrder: {
id: 'procedure-room-order',
title: 'Order Ruang Tindakan',
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
@@ -187,8 +194,8 @@ const defaultKeys: Record<string, any> = {
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
},
vacsinData: {
id: 'vacsin-data',
vaccineData: {
id: 'vaccine-data',
title: 'Data Vaksin',
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
@@ -211,6 +218,12 @@ const defaultKeys: Record<string, any> = {
classCode: ['ambulatory', 'emergency'],
unit: 'all',
},
kfr: {
id: 'kfr',
title: 'KFR',
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
},
refBack: {
id: 'reference-back',
title: 'PRB',
@@ -247,6 +260,12 @@ const defaultKeys: Record<string, any> = {
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
},
initialNursingStudy: {
id: 'initial-nursing-study',
title: 'Kajian Awal Keperawatan',
classCode: ['ambulatory', 'emergency', 'inpatient'],
unit: 'all',
},
}
export function getItemsByClassCode(classCode: string, items: EncounterItem[]) {
@@ -361,8 +380,7 @@ export function injectComponents(id: string | number, data: EncounterListData, m
currentKeys.cpLabOrder['props'] = { encounter_id: id }
}
if (currentKeys?.microLabOrder) {
// TODO: add component for microLabOrder
currentKeys.microLabOrder['component'] = null
currentKeys.microLabOrder['component'] = MicroLabOrderAsync
currentKeys.microLabOrder['props'] = { encounter_id: id }
}
if (currentKeys?.paLabOrder) {
@@ -370,10 +388,9 @@ export function injectComponents(id: string | number, data: EncounterListData, m
currentKeys.paLabOrder['component'] = null
currentKeys.paLabOrder['props'] = { encounter_id: id }
}
if (currentKeys?.actionRoomOrder) {
// TODO: add component for actionRoomOrder
currentKeys.actionRoomOrder['component'] = null
currentKeys.actionRoomOrder['props'] = { encounter_id: id }
if (currentKeys?.procedureRoomOrder) {
currentKeys.procedureRoomOrder['component'] = ProcedureRoomOrderAsync
currentKeys.procedureRoomOrder['props'] = { encounter_id: id }
}
if (currentKeys?.mcuResult) {
// TODO: add component for mcuResult
@@ -388,15 +405,31 @@ export function injectComponents(id: string | number, data: EncounterListData, m
currentKeys.resume['component'] = ResumeListAsync
currentKeys.resume['props'] = { encounter_id: id }
}
if (currentKeys?.control) {
currentKeys.control['component'] = ControlLetterListAsync
currentKeys.control['props'] = { encounter: data?.encounter }
if (currentKeys?.controlLetter) {
currentKeys.controlLetter['component'] = ControlLetterListAsync
currentKeys.controlLetter['props'] = { encounter: data?.encounter }
}
if (currentKeys?.refBack) {
currentKeys.refBack['component'] = PrbListAsync
currentKeys.refBack['props'] = { encounter: data?.encounter }
}
if (currentKeys?.kfr) {
currentKeys.kfr['component'] = KfrListAsync
currentKeys.kfr['props'] = { encounter: data?.encounter }
}
if (currentKeys?.screening) {
// TODO: add component for screening
currentKeys.screening['component'] = null
currentKeys.screening['props'] = { encounter_id: id }
}
if (currentKeys?.surgeryReport) {
currentKeys.surgeryReport['component'] = SurgeryReportListAsync
currentKeys.surgeryReport['props'] = { encounter: data?.encounter }
}
if (currentKeys?.vaccineData) {
currentKeys.vaccineData['component'] = VaccineDataListAsync
currentKeys.vaccineData['props'] = { encounter: data?.encounter }
}
if (currentKeys?.supportingDocument) {
currentKeys.supportingDocument['component'] = DocUploadListAsync
currentKeys.supportingDocument['props'] = { encounter_id: id }
@@ -407,6 +440,16 @@ export function injectComponents(id: string | number, data: EncounterListData, m
currentKeys.priceList['props'] = { encounter_id: id }
}
if (currentKeys?.initialNursingStudy) {
currentKeys.initialNursingStudy['component'] = InitialNursingStudyAsync
currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter }
}
if (currentKeys?.initialNursingStudy) {
currentKeys.initialNursingStudy['component'] = InitialNursingStudyAsync
currentKeys.initialNursingStudy['props'] = { encounter: data?.encounter }
}
if (currentKeys?.actionReport) {
currentKeys.actionReport['component'] = ActionReportEntryAsync
currentKeys.actionReport['props'] = {
@@ -495,7 +538,6 @@ export function mapResponseToEncounter(result: any): any {
}
export function getMenuItems(id: string | number, props: any, user: any, data: EncounterListData, meta: any) {
console.log(props)
// const normalClassCode = props.classCode === 'ambulatory' ? 'outpatient' : props.classCode
const normalClassCode = props.classCode === 'ambulatory' ? 'ambulatory' : props.classCode
const currentKeys = injectComponents(id, data, meta)