From 0ecac1c18344feb3ef4ed4310c80c3b220de04b9 Mon Sep 17 00:00:00 2001 From: riefive Date: Tue, 28 Oct 2025 16:14:18 +0700 Subject: [PATCH] fix: recheck create sep --- app/components/app/sep/entry-form.vue | 35 ++++++++++++++----- app/components/app/sep/list-cfg.letter.ts | 14 ++++---- app/components/content/sep/entry.vue | 33 +++++++++-------- app/schemas/integration-bpjs.schema.ts | 4 +-- .../vclaim-monitoring-history.service.ts | 2 +- 5 files changed, 55 insertions(+), 33 deletions(-) diff --git a/app/components/app/sep/entry-form.vue b/app/components/app/sep/entry-form.vue index cf45fa40..cb56443e 100644 --- a/app/components/app/sep/entry-form.vue +++ b/app/components/app/sep/entry-form.vue @@ -19,6 +19,7 @@ import type { PatientEntity } from '~/models/patient' // Helpers import { toTypedSchema } from '@vee-validate/zod' import { useForm } from 'vee-validate' +import { is } from "date-fns/locale" const props = defineProps<{ isLoading?: boolean @@ -104,16 +105,28 @@ const mode = props.mode !== undefined ? props.mode : 'add' const isLoading = props.isLoading !== undefined ? props.isLoading : false const isReadonly = props.isReadonly !== undefined ? props.isReadonly : false const isService = ref(props.isService || false) +const isDateReload = ref(false) if (mode === 'add') { - // sepDate.value = new Date().toISOString() + // Set default sepDate to current date in YYYY-MM-DD format + const today = new Date() + const year = today.getFullYear() + const month = String(today.getMonth() + 1).padStart(2, '0') + const day = String(today.getDate()).padStart(2, '0') + sepDate.value = `${year}-${month}-${day}` } +// Submit handler +const onSubmit = handleSubmit((values) => { + console.log('✅ Validated form values:', JSON.stringify(values, null, 2)) + emit('event', 'save-sep', values) +}) + watch(props, (value) => { const patient = value.patient || ({} as PatientEntity) const objects = value.objects || ({} as any) if (Object.keys(objects).length > 0) { - sepDate.value = objects?.registerDate || '-' + sepDate.value = objects?.registerDate || new Date().toISOString().substring(0, 10) bpjsNumber.value = objects?.bpjsNumber || '-' nationalId.value = objects?.nationalIdentity || '-' medicalRecordNumber.value = objects?.medicalRecordNumber || '-' @@ -122,6 +135,13 @@ watch(props, (value) => { if (objects?.sepType) { admissionType.value = '1' } + isDateReload.value = true + setTimeout(() => { + if (objects?.letterDate) { + referralLetterDate.value = objects?.letterDate + } + isDateReload.value = false + }, 100) } if (Object.keys(patient).length > 0) { bpjsNumber.value = '-' @@ -132,12 +152,6 @@ watch(props, (value) => { } }) -// Submit handler -const onSubmit = handleSubmit((values) => { - console.log('✅ Validated form values:', JSON.stringify(values, null, 2)) - emit('event', 'save-sep', values) -}) - onMounted(() => { if (!isService.value) { serviceType.value = '2' @@ -331,7 +345,9 @@ onMounted(() => { v-model="referralLetterNumber" v-bind="referralLetterNumberAttrs" :disabled="isLoading || isReadonly" - @change="emit('event', 'search-letter', { admissionType, serviceType, search: $event })" + @change=" + emit('event', 'search-letter', { admissionType, serviceType, search: referralLetterNumber || '' }) + " />