From e6442a0d31912f3fdb862576fdb04f2a5bf99db1 Mon Sep 17 00:00:00 2001 From: riefive Date: Tue, 9 Sep 2025 13:30:51 +0700 Subject: [PATCH] feat(sep): add list component --- app/components/app/sep/list-cfg.ts | 78 +++++++++++++++ app/components/app/sep/list.vue | 34 +++++++ app/components/content/sep/list.vue | 121 ++++++++++++++++++++++++ app/pages/(features)/bpjs/sep/index.vue | 40 ++++++++ 4 files changed, 273 insertions(+) create mode 100644 app/components/app/sep/list-cfg.ts create mode 100644 app/components/app/sep/list.vue create mode 100644 app/components/content/sep/list.vue create mode 100644 app/pages/(features)/bpjs/sep/index.vue diff --git a/app/components/app/sep/list-cfg.ts b/app/components/app/sep/list-cfg.ts new file mode 100644 index 00000000..013c7d6b --- /dev/null +++ b/app/components/app/sep/list-cfg.ts @@ -0,0 +1,78 @@ +import type { Col, KeyLabel, RecComponent, RecStrFuncComponent, Th } from '~/components/pub/custom-ui/data/types' +import { defineAsyncComponent } from 'vue' + +type SepDto = any + +const action = defineAsyncComponent(() => import('~/components/pub/custom-ui/data/dropdown-action-dud.vue')) + +export const cols: Col[] = [ + { width: 120 }, // TGL. SEP + { width: 150 }, // NO. SEP + { width: 120 }, // PELAYANAN + { width: 100 }, // JALUR + { width: 150 }, // NO. RM + { width: 200 }, // NAMA PASIEN + { width: 150 }, // NO. KARTU BPJS + { width: 150 }, // NO. SURAT KONTROL + { width: 150 }, // TGL SURAT KONTROL + { width: 150 }, // KLINIK TUJUAN + { width: 200 }, // DPJP + { width: 200 }, // DIAGNOSIS AWAL + { width: 100 }, // AKSI +] + +export const header: Th[][] = [ + [ + { label: 'TGL. SEP' }, + { label: 'NO. SEP' }, + { label: 'PELAYANAN' }, + { label: 'JALUR' }, + { label: 'NO. RM' }, + { label: 'NAMA PASIEN' }, + { label: 'NO. KARTU BPJS' }, + { label: 'NO. SURAT KONTROL' }, + { label: 'TGL SURAT KONTROL' }, + { label: 'KLINIK TUJUAN' }, + { label: 'DPJP' }, + { label: 'DIAGNOSIS AWAL' }, + { label: 'AKSI' }, + ], +] + +export const keys = [ + 'tgl_sep', + 'no_sep', + 'pelayanan', + 'jalur', + 'no_rm', + 'nama_pasien', + 'no_kartu_bpjs', + 'no_surat_kontrol', + 'tgl_surat_kontrol', + 'klinik_tujuan', + 'dpjp', + 'diagnosis_awal', + 'action', +] + +export const delKeyNames: KeyLabel[] = [ + { key: 'no_sep', label: 'NO. SEP' }, + { key: 'nama_pasien', label: 'Nama Pasien' }, +] + +export const funcParsed: Record any> = { + +} + +export const funcComponent: RecStrFuncComponent = { + action(rec, idx) { + const res: RecComponent = { + idx, + rec: rec as object, + component: action, + } + return res + }, +} + +export const funcHtml: Record any> = {} diff --git a/app/components/app/sep/list.vue b/app/components/app/sep/list.vue new file mode 100644 index 00000000..25707062 --- /dev/null +++ b/app/components/app/sep/list.vue @@ -0,0 +1,34 @@ + + + diff --git a/app/components/content/sep/list.vue b/app/components/content/sep/list.vue new file mode 100644 index 00000000..d8bf09aa --- /dev/null +++ b/app/components/content/sep/list.vue @@ -0,0 +1,121 @@ + + + diff --git a/app/pages/(features)/bpjs/sep/index.vue b/app/pages/(features)/bpjs/sep/index.vue new file mode 100644 index 00000000..7c527526 --- /dev/null +++ b/app/pages/(features)/bpjs/sep/index.vue @@ -0,0 +1,40 @@ + + +