diff --git a/app/components/app/kfr/_common/banner-patient-in-therapy.vue b/app/components/app/kfr/_common/banner-patient-in-therapy.vue new file mode 100644 index 00000000..27dc4445 --- /dev/null +++ b/app/components/app/kfr/_common/banner-patient-in-therapy.vue @@ -0,0 +1,22 @@ + + + diff --git a/app/components/app/kfr/_common/btn-confirmation-detail.vue b/app/components/app/kfr/_common/btn-confirmation-detail.vue new file mode 100644 index 00000000..e09432d5 --- /dev/null +++ b/app/components/app/kfr/_common/btn-confirmation-detail.vue @@ -0,0 +1,28 @@ + + + diff --git a/app/components/app/kfr/_common/btn-history.vue b/app/components/app/kfr/_common/btn-history.vue new file mode 100644 index 00000000..6804c451 --- /dev/null +++ b/app/components/app/kfr/_common/btn-history.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/components/app/kfr/_common/card-result.vue b/app/components/app/kfr/_common/card-result.vue new file mode 100644 index 00000000..d77302ef --- /dev/null +++ b/app/components/app/kfr/_common/card-result.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/app/components/app/kfr/_common/dropdown-action.vue b/app/components/app/kfr/_common/dropdown-action.vue new file mode 100644 index 00000000..f99c3c43 --- /dev/null +++ b/app/components/app/kfr/_common/dropdown-action.vue @@ -0,0 +1,100 @@ + + + diff --git a/app/components/app/kfr/_common/radio-followup.vue b/app/components/app/kfr/_common/radio-followup.vue new file mode 100644 index 00000000..94ede9cb --- /dev/null +++ b/app/components/app/kfr/_common/radio-followup.vue @@ -0,0 +1,93 @@ + + + diff --git a/app/components/app/kfr/_common/verify-badge.vue b/app/components/app/kfr/_common/verify-badge.vue new file mode 100644 index 00000000..c82c0c7c --- /dev/null +++ b/app/components/app/kfr/_common/verify-badge.vue @@ -0,0 +1,44 @@ + + + \ No newline at end of file diff --git a/app/components/app/kfr/entry.vue b/app/components/app/kfr/entry.vue new file mode 100644 index 00000000..e7d0c64f --- /dev/null +++ b/app/components/app/kfr/entry.vue @@ -0,0 +1,128 @@ + + + diff --git a/app/components/app/kfr/history-list.cfg.ts b/app/components/app/kfr/history-list.cfg.ts new file mode 100644 index 00000000..bc86241e --- /dev/null +++ b/app/components/app/kfr/history-list.cfg.ts @@ -0,0 +1,60 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import type { Patient } from '~/models/patient' +import { defineAsyncComponent } from 'vue' + +const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-dp.vue')) +const resultData = defineAsyncComponent(() => import('./_common/card-result.vue')) +const statusBadge = defineAsyncComponent(() => import('./_common/verify-badge.vue')) + +export const config: Config = { + cols: [{}, { width: 800 }, {}, { width: 120 }, { width: 3 },], + + headers: [ + [ + { label: 'Tanggal' }, + { label: 'Hasil Asesmen Pasien Dan Pemberian Pelayanan' }, + { label: 'Jenis Form' }, + { label: 'Status' }, + { label: 'Action' }, + ], + ], + + keys: ['date', 'result', 'type', 'status', 'action'], + + 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: { + result(rec, idx) { + return { + idx, + rec: rec as object, + component: resultData, + } + }, + action(rec, idx) { + return { + idx, + rec: rec as object, + component: action, + } + }, + status(rec, idx) { + return { + idx, + rec: rec as object, + component: statusBadge, + } + }, + }, +} diff --git a/app/components/app/kfr/history-list.vue b/app/components/app/kfr/history-list.vue new file mode 100644 index 00000000..d0a0619a --- /dev/null +++ b/app/components/app/kfr/history-list.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/app/components/app/kfr/list.cfg.ts b/app/components/app/kfr/list.cfg.ts new file mode 100644 index 00000000..1ba6a461 --- /dev/null +++ b/app/components/app/kfr/list.cfg.ts @@ -0,0 +1,59 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import { defineAsyncComponent } from 'vue' + +const action = defineAsyncComponent(() => import('./_common/dropdown-action.vue')) +const statusBadge = defineAsyncComponent(() => import('./_common/verify-badge.vue')) +const resultData = defineAsyncComponent(() => import('./_common/card-result.vue')) + +export const config: Config = { + cols: [{}, { width: 800 }, {}, { width: 120 }, { width: 3 },], + + headers: [ + [ + { label: 'Tanggal' }, + { label: 'Hasil Asesmen Pasien Dan Pemberian Pelayanan' }, + { label: 'Jenis Form' }, + { label: 'Status' }, + { label: 'Action' }, + ], + ], + + keys: ['date', 'result', 'type', 'status', 'action'], + + 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: { + result(rec, idx) { + return { + idx, + rec: rec as object, + component: resultData, + } + }, + action(rec, idx) { + return { + idx, + rec: rec as object, + component: action, + } + }, + status(rec, idx) { + return { + idx, + rec: rec as object, + component: statusBadge, + } + }, + }, +} diff --git a/app/components/app/kfr/list.vue b/app/components/app/kfr/list.vue new file mode 100644 index 00000000..f5d7a6bb --- /dev/null +++ b/app/components/app/kfr/list.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/app/components/app/kfr/verify-dialog.vue b/app/components/app/kfr/verify-dialog.vue new file mode 100644 index 00000000..c67bd977 --- /dev/null +++ b/app/components/app/kfr/verify-dialog.vue @@ -0,0 +1,108 @@ + + + diff --git a/app/components/content/kfr/entry.vue b/app/components/content/kfr/entry.vue new file mode 100644 index 00000000..a2352c1a --- /dev/null +++ b/app/components/content/kfr/entry.vue @@ -0,0 +1,146 @@ + + + diff --git a/app/components/content/kfr/list.vue b/app/components/content/kfr/list.vue new file mode 100644 index 00000000..4a4613e9 --- /dev/null +++ b/app/components/content/kfr/list.vue @@ -0,0 +1,372 @@ + + + \ No newline at end of file diff --git a/app/components/pub/my-ui/data/types.ts b/app/components/pub/my-ui/data/types.ts index 1fb5dc21..6338667f 100644 --- a/app/components/pub/my-ui/data/types.ts +++ b/app/components/pub/my-ui/data/types.ts @@ -87,6 +87,7 @@ export const ActionEvents = { showProcess: 'showProcess', showCancel: 'showCancel', showVerify: 'showVerify', + showConfirmVerify: 'showConfirmVerify', showValidate: 'showValidate', showConfirmVerify: 'showConfirmVerify', showPrint: 'showPrint', diff --git a/app/components/pub/my-ui/form/text-area-input.vue b/app/components/pub/my-ui/form/text-area-input.vue index c7b7c794..43002c80 100644 --- a/app/components/pub/my-ui/form/text-area-input.vue +++ b/app/components/pub/my-ui/form/text-area-input.vue @@ -47,7 +47,7 @@ function handleInput(event: Event) {