1dd8e8e7b3
commit 72ce2260c50597f782f07d29db3985607ecc2f34 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 17 15:19:36 2025 +0700 Feat: add doc preview in Therpay protocol List commit 7032cd2409a660d40899ffd421137e4158cfde4a Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 12 15:34:30 2025 +0700 Fix: prepare API integration protokol terapi verification commit dbf6f78d00afc818baf2b34d128ee2153814cc88 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 12 14:09:28 2025 +0700 Feat: add basic CRUD therapy protocol commit 46a44e90fe4d4097b5460d2d4e5689b2a5389467 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 11 15:57:54 2025 +0700 Fix: Prepare protokol terapi API Integration commit 4674090566727cebd947e50e2c06c44e8c7afa7e Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 10 15:33:22 2025 +0700 Fix: hotfix style add protokol terapi commit 919c91abd8ef8b4cd193012eed7f5e8cf635cda2 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 10 15:17:14 2025 +0700 Fix: Typo drpodown-action-p in protokol-terapi commit e21d30eacf1a08118e289d4bb64889e708d5023a Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 10 15:14:33 2025 +0700 Fix: add diagnose & procedure dialog picker in add protokol terapi commit 9a3d73b72b0dceea778d83e7630c5ead110a6a4c Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 4 10:21:24 2025 +0700 Fix: Add Schema therapy protocol rehab medik commit 4d8d2d633bbbd78038b1cc607558c1ceb31c5986 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 4 09:30:55 2025 +0700 Fix: refactor Actions Btn ba-dr-su commit 5f290a6e4bd1559c0e5864a508c5ab650cfae6e8 Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 3 17:08:20 2025 +0700 Feat: UI protokol terapi in Rehab medik commit 63010f69ff30532bb8ac91443112f31d4942b221 Author: Khafid Prayoga <khafidp@pm.me> Date: Tue Oct 21 09:54:13 2025 +0700 wip: list protokol terapi commit 44eedc298680a5255fee0ee8feee3e24beda93dd Author: Khafid Prayoga <khafidp@pm.me> Date: Mon Oct 20 12:54:01 2025 +0700 feat(therapy-protocol): init form entry feat(therapy-protocol): init page routes wip: init entry form wip: form entry protokol terapi todo: table procedure, and diagnose picker wip: schema form new entry todo: picker/modal yang relateds ke form entry
138 lines
3.2 KiB
Vue
138 lines
3.2 KiB
Vue
<script setup lang="ts">
|
|
import { toTypedSchema } from '@vee-validate/zod'
|
|
|
|
// components
|
|
import { Form } from '~/components/pub/ui/form'
|
|
import * as DE from '~/components/pub/my-ui/doc-entry'
|
|
import Separator from '~/components/pub/ui/separator/Separator.vue'
|
|
|
|
// form field components
|
|
import { BaseTextarea, RadioRelations, SelectExaminationDate, RadioWorkDisease } from './field'
|
|
|
|
// #region Props & Emits
|
|
interface Props {
|
|
schema: any
|
|
initialValues?: any
|
|
patientId: number
|
|
}
|
|
const props = defineProps<Props>()
|
|
|
|
const emit = defineEmits<{}>()
|
|
// #endregion
|
|
|
|
// #region State & Computed
|
|
// #endregion
|
|
|
|
// #region Lifecycle Hooks
|
|
// #endregion
|
|
|
|
// #region Functions
|
|
// #endregion region
|
|
|
|
// #region Utilities & event handlers
|
|
// #endregion
|
|
|
|
// #region Watchers
|
|
// #endregion
|
|
const formSchema = toTypedSchema(props.schema)
|
|
const formRef = ref()
|
|
|
|
defineExpose({
|
|
validate: () => formRef.value?.validate(),
|
|
resetForm: () => formRef.value?.resetForm(),
|
|
setValues: (values: any, shouldValidate = true) => formRef.value?.setValues(values, shouldValidate),
|
|
values: computed(() => formRef.value?.values),
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<Form
|
|
ref="formRef"
|
|
v-slot="{ values }"
|
|
as=""
|
|
keep-values
|
|
:validation-schema="formSchema"
|
|
:validate-on-mount="false"
|
|
validation-mode="onSubmit"
|
|
:initial-values="initialValues ? initialValues : {}"
|
|
>
|
|
<p class="mb-2 text-sm font-semibold 2xl:mb-3 2xl:text-base">Anamnesa dan Riwayat Pasien</p>
|
|
<DE.Block
|
|
:col-count="3"
|
|
:cell-flex="false"
|
|
>
|
|
<SelectExaminationDate
|
|
field-name="examinationDate"
|
|
label="Tanggal Pemeriksaan"
|
|
/>
|
|
<RadioRelations
|
|
field-name="relationshipToInsured"
|
|
label="Hubungan Dengan Tertanggung"
|
|
:col-span="2"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="anamnesis"
|
|
label="Anamnesa"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="medicalHistory"
|
|
label="Riwayat Penyakit"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="medicationHistory"
|
|
label="Riwayat Obat"
|
|
/>
|
|
</DE.Block>
|
|
|
|
<div class="h-6">
|
|
<Separator />
|
|
</div>
|
|
|
|
<p class="mb-2 text-sm font-semibold 2xl:mb-3 2xl:text-base">Pemeriksaan Penunjang</p>
|
|
<DE.Block
|
|
:col-count="2"
|
|
:cell-flex="false"
|
|
>
|
|
<BaseTextarea
|
|
field-name="supportDiagnosis"
|
|
label="Diagnosa (ICD-X)"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="functionalDiagnosis"
|
|
label="Diagnosa Fungsional (ICD-X)"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="treatmentDiagnosis"
|
|
label="Diagnosa Tata Laksana (ICD-IX)"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="supportExamination"
|
|
label="Pemeriksaan Penunjang"
|
|
/>
|
|
</DE.Block>
|
|
|
|
<div class="h-6">
|
|
<Separator />
|
|
</div>
|
|
|
|
<p class="mb-2 text-sm font-semibold 2xl:mb-3 2xl:text-base">Anjuran dan Evaluasi</p>
|
|
<DE.Block
|
|
:col-count="3"
|
|
:cell-flex="false"
|
|
>
|
|
<BaseTextarea
|
|
field-name="recommendation"
|
|
label="Anjuran"
|
|
/>
|
|
<BaseTextarea
|
|
field-name="evaluation"
|
|
label="Evaluasi"
|
|
/>
|
|
<RadioWorkDisease
|
|
field-name="isWorkRelatedDisease"
|
|
label="Suspek Penyakit Akibat Kerja"
|
|
/>
|
|
</DE.Block>
|
|
</Form>
|
|
</template>
|