diff --git a/app/components/app/surgery-report/_common/select-billing-code.vue b/app/components/app/surgery-report/_common/select-billing-code.vue new file mode 100644 index 00000000..321c2d33 --- /dev/null +++ b/app/components/app/surgery-report/_common/select-billing-code.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-birth-desc.vue b/app/components/app/surgery-report/_common/select-birth-desc.vue new file mode 100644 index 00000000..2b19f3bc --- /dev/null +++ b/app/components/app/surgery-report/_common/select-birth-desc.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-birth-place-desc.vue b/app/components/app/surgery-report/_common/select-birth-place-desc.vue new file mode 100644 index 00000000..c6f2ed06 --- /dev/null +++ b/app/components/app/surgery-report/_common/select-birth-place-desc.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-date.vue b/app/components/app/surgery-report/_common/select-date.vue new file mode 100644 index 00000000..0468c752 --- /dev/null +++ b/app/components/app/surgery-report/_common/select-date.vue @@ -0,0 +1,117 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-dissection-type.vue b/app/components/app/surgery-report/_common/select-dissection-type.vue new file mode 100644 index 00000000..45708dac --- /dev/null +++ b/app/components/app/surgery-report/_common/select-dissection-type.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-dpjp-anastesi.vue b/app/components/app/surgery-report/_common/select-dpjp-anastesi.vue new file mode 100644 index 00000000..b649c28f --- /dev/null +++ b/app/components/app/surgery-report/_common/select-dpjp-anastesi.vue @@ -0,0 +1,87 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-dpjp-bedah.vue b/app/components/app/surgery-report/_common/select-dpjp-bedah.vue new file mode 100644 index 00000000..b649c28f --- /dev/null +++ b/app/components/app/surgery-report/_common/select-dpjp-bedah.vue @@ -0,0 +1,87 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-specimen-type.vue b/app/components/app/surgery-report/_common/select-specimen-type.vue new file mode 100644 index 00000000..e1017e76 --- /dev/null +++ b/app/components/app/surgery-report/_common/select-specimen-type.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-surgery-order.vue b/app/components/app/surgery-report/_common/select-surgery-order.vue new file mode 100644 index 00000000..ff48d195 --- /dev/null +++ b/app/components/app/surgery-report/_common/select-surgery-order.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-surgery-system-type.vue b/app/components/app/surgery-report/_common/select-surgery-system-type.vue new file mode 100644 index 00000000..745904eb --- /dev/null +++ b/app/components/app/surgery-report/_common/select-surgery-system-type.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/_common/select-surgery-type.vue b/app/components/app/surgery-report/_common/select-surgery-type.vue new file mode 100644 index 00000000..e396fe7d --- /dev/null +++ b/app/components/app/surgery-report/_common/select-surgery-type.vue @@ -0,0 +1,71 @@ + + + diff --git a/app/components/app/surgery-report/detail.vue b/app/components/app/surgery-report/detail.vue new file mode 100644 index 00000000..e10a2b91 --- /dev/null +++ b/app/components/app/surgery-report/detail.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/app/components/app/surgery-report/entry.vue b/app/components/app/surgery-report/entry.vue new file mode 100644 index 00000000..e3862ee5 --- /dev/null +++ b/app/components/app/surgery-report/entry.vue @@ -0,0 +1,183 @@ + + + diff --git a/app/components/app/surgery-report/list.cfg.ts b/app/components/app/surgery-report/list.cfg.ts new file mode 100644 index 00000000..6a63af13 --- /dev/null +++ b/app/components/app/surgery-report/list.cfg.ts @@ -0,0 +1,57 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import type { Patient } from '~/models/patient' +import { defineAsyncComponent } from 'vue' +import { educationCodes, genderCodes } from '~/lib/constants' +import { calculateAge } from '~/lib/utils' + +const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-dud.vue')) + +export const config: Config = { + cols: [{}, {}, {}, {}, {}, {}, {}, {},], + + headers: [ + [ + { label: 'Tgl Laporan' }, + { label: 'DPJP Bedah' }, + { label: 'DPJP Anastesi' }, + { label: 'Tgl Pembedahan' }, + { label: 'Jenis Operasi' }, + { label: 'Kode Billing' }, + { label: 'Sistem Operasi' }, + { label: 'Action' }, + ], + ], + + keys: ['date', 'doctor.employee.person.name', 'doctor.employee.person.name', 'date', 'name', 'name', 'name', 'action'], + + delKeyNames: [ + { key: 'code', label: 'Kode' }, + { key: 'name', label: 'Nama' }, + ], + + parses: { + date: (rec: unknown): unknown => { + const date = (rec as any).date + if (typeof date == 'object' && date) { + return (date as Date).toLocaleDateString('id-ID') + } else if (typeof date == 'string') { + return (date as string).substring(0, 10) + } + return date + }, + }, + + components: { + action(rec, idx) { + return { + idx, + rec: rec as object, + component: action, + } + }, + }, + + htmls: { + + }, +} diff --git a/app/components/app/surgery-report/list.vue b/app/components/app/surgery-report/list.vue new file mode 100644 index 00000000..8274e752 --- /dev/null +++ b/app/components/app/surgery-report/list.vue @@ -0,0 +1,31 @@ + + + diff --git a/app/components/app/surgery-report/multiselect-picker.vue b/app/components/app/surgery-report/multiselect-picker.vue new file mode 100644 index 00000000..98a146ce --- /dev/null +++ b/app/components/app/surgery-report/multiselect-picker.vue @@ -0,0 +1,33 @@ + + + diff --git a/app/components/app/surgery-report/operative-action-list.cfg.ts b/app/components/app/surgery-report/operative-action-list.cfg.ts new file mode 100644 index 00000000..2d0a6637 --- /dev/null +++ b/app/components/app/surgery-report/operative-action-list.cfg.ts @@ -0,0 +1,56 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import type { Patient } from '~/models/patient' +import { defineAsyncComponent } from 'vue' +import { educationCodes, genderCodes } from '~/lib/constants' +import { calculateAge } from '~/lib/utils' + +const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-dud.vue')) + +export const config: Config = { + cols: [{}, {}, {}, {}, {}, {}, {}, ], + + headers: [ + [ + { label: 'Tgl Laporan' }, + { label: 'DPJP Bedah' }, + { label: 'DPJP Anastesi' }, + { label: 'Tgl Pembedahan' }, + { label: 'Jenis Operasi' }, + { label: 'Kode Billing' }, + { label: 'Sistem Operasi' }, + ], + ], + + keys: ['date', 'doctor.employee.person.name', 'doctor.employee.person.name', 'date', 'name', 'name', 'name'], + + delKeyNames: [ + { key: 'code', label: 'Kode' }, + { key: 'name', label: 'Nama' }, + ], + + parses: { + date: (rec: unknown): unknown => { + const date = (rec as any).date + if (typeof date == 'object' && date) { + return (date as Date).toLocaleDateString('id-ID') + } else if (typeof date == 'string') { + return (date as string).substring(0, 10) + } + return date + }, + }, + + components: { + // action(rec, idx) { + // return { + // idx, + // rec: rec as object, + // component: action, + // } + // }, + }, + + htmls: { + + }, +} diff --git a/app/components/content/encounter/process.vue b/app/components/content/encounter/process.vue index 02fc7495..2e03029c 100644 --- a/app/components/content/encounter/process.vue +++ b/app/components/content/encounter/process.vue @@ -26,6 +26,7 @@ import DocUploadList from '~/components/content/document-upload/list.vue' import GeneralConsentList from '~/components/content/general-consent/entry.vue' import ResumeList from '~/components/content/resume/list.vue' import ControlLetterList from '~/components/content/control-letter/list.vue' +import SurgeryReportList from '~/components/content/surgery-report/list.vue' const route = useRoute() const router = useRouter() @@ -90,6 +91,7 @@ const tabs: TabItem[] = [ { value: 'resume', label: 'Resume', component: ResumeList, props: { encounter: data } }, { value: 'control', label: 'Surat Kontrol', component: ControlLetterList, props: { encounter: data } }, { value: 'screening', label: 'Skrinning MPP' }, + { value: 'surgery-report', label: 'Laporan Operasi', component: SurgeryReportList, props: { encounter: data } }, { value: 'supporting-document', label: 'Upload Dokumen Pendukung', diff --git a/app/components/content/surgery-report/detail.vue b/app/components/content/surgery-report/detail.vue new file mode 100644 index 00000000..00d15f21 --- /dev/null +++ b/app/components/content/surgery-report/detail.vue @@ -0,0 +1,77 @@ + + + diff --git a/app/components/content/surgery-report/entry.vue b/app/components/content/surgery-report/entry.vue new file mode 100644 index 00000000..d36fcec1 --- /dev/null +++ b/app/components/content/surgery-report/entry.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/app/components/content/surgery-report/list.vue b/app/components/content/surgery-report/list.vue new file mode 100644 index 00000000..eddd10c7 --- /dev/null +++ b/app/components/content/surgery-report/list.vue @@ -0,0 +1,195 @@ + + + diff --git a/app/components/pub/my-ui/nav-header/filter.vue b/app/components/pub/my-ui/nav-header/filter.vue index 74f6d8dc..f4fef2b3 100644 --- a/app/components/pub/my-ui/nav-header/filter.vue +++ b/app/components/pub/my-ui/nav-header/filter.vue @@ -101,7 +101,7 @@ function onFilterClick() { - +