feat(sep): modify schema
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import { id } from "date-fns/locale"
|
||||
import { id } from 'date-fns/locale'
|
||||
import { ref } from 'vue'
|
||||
|
||||
// Types
|
||||
import type { PaginationMeta } from '~/components/pub/my-ui/pagination/pagination.type'
|
||||
import type { PatientEntity } from '~/models/patient'
|
||||
|
||||
// Services
|
||||
import { getPatientDetail, getPatients } from '~/services/patient.service'
|
||||
@@ -12,12 +13,11 @@ const openPatient = ref(false)
|
||||
const openLetter = ref(false)
|
||||
const openHistory = ref(false)
|
||||
const selectedPatient = ref('')
|
||||
const selectedPatientObject = ref<PatientEntity | null>(null)
|
||||
const selectedLetter = ref('SK22334442')
|
||||
|
||||
// patients used by AppSepTableSearchPatient (will be filled from API)
|
||||
const patients = ref<Array<{ id: string; identity: string; number: string; bpjs: string; name: string }>>([
|
||||
// fallback empty list until fetched
|
||||
])
|
||||
const patients = ref<Array<{ id: string; identity: string; number: string; bpjs: string; name: string }>>([])
|
||||
const isPatientsLoading = ref(false)
|
||||
const paginationMeta = ref<PaginationMeta>({
|
||||
recordCount: 0,
|
||||
@@ -28,12 +28,12 @@ const paginationMeta = ref<PaginationMeta>({
|
||||
hasPrev: false,
|
||||
})
|
||||
|
||||
function mapPatientToRow(patient: any) {
|
||||
function mapPatientToRow(patient: PatientEntity) {
|
||||
// Defensive mapping: try common field names that might be returned by the API
|
||||
const identity = patient?.person?.residentIdentityNumber || '-'
|
||||
const number = patient?.number || patient?.medicalRecordNo || '-'
|
||||
const bpjs = patient?.person?.refNumber || '-'
|
||||
const name = patient.name || patient?.person?.name || '-'
|
||||
const number = patient?.number || '-'
|
||||
const bpjs = '-'
|
||||
const name = patient?.person?.name || '-'
|
||||
return { id: patient.id ? String(patient.id) : '-', identity, number, bpjs, name }
|
||||
}
|
||||
|
||||
@@ -117,13 +117,12 @@ const histories = [
|
||||
]
|
||||
|
||||
function handleSavePatient() {
|
||||
console.log('Pasien dipilih:', selectedPatient.value)
|
||||
const getPatient = async () => {
|
||||
try {
|
||||
const result = await getPatientDetail(Number(selectedPatient.value))
|
||||
if (result && result.success && result.body && result.body.data) {
|
||||
const patient = result.body.data
|
||||
console.log('Patient:', patient)
|
||||
const patient = result.body.data || null
|
||||
selectedPatientObject.value = patient
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Failed to fetch patient:', err)
|
||||
@@ -167,7 +166,7 @@ function handleEvent(value: string) {
|
||||
<span class="font-semibold">Tambah</span>
|
||||
SEP
|
||||
</div>
|
||||
<AppSepEntryForm @event="handleEvent" />
|
||||
<AppSepEntryForm :patient="selectedPatientObject" @event="handleEvent" />
|
||||
<AppSepTableSearchPatient
|
||||
v-model:open="openPatient"
|
||||
v-model:selected="selectedPatient"
|
||||
|
||||
Reference in New Issue
Block a user