import type { Config } from '~/components/pub/my-ui/data-table' import { defineAsyncComponent } from 'vue' type SmallDetailDto = any const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-dud.vue')) const doctorStatus = { 0: 'Tidak Aktif', 1: 'Aktif', } export const config: Config = { cols: [ { width: 100 }, { width: 250 }, {}, { width: 100 }, { width: 100 }, {}, {}, {}, { width: 100 }, { width: 100 }, { width: 100 }, { width: 50 }, ], headers: [ [ { label: 'Kode JKN' }, { label: 'Nama' }, { label: 'No KTP' }, { label: 'No SIP' }, { label: 'No IHS' }, { label: 'Telpon' }, { label: 'Fee Ranap' }, { label: 'Fee Rajal' }, { label: 'Status' }, ], ], keys: [ 'bpjs_code', 'name', 'identity_number', 'sip_no', 'ihs_number', 'phone', 'inPatient_itemPrice', 'outPatient_itemPrice', 'status', 'action', ], delKeyNames: [ { key: 'code', label: 'Kode' }, { key: 'name', label: 'Nama' }, ], parses: { name: (rec: unknown): unknown => { console.log(rec) const recX = rec as SmallDetailDto return `${recX.frontTitle} ${recX.name} ${recX.endTitle}`.trim() }, identity_number: (rec: unknown): unknown => { const recX = rec as SmallDetailDto if (recX.identity_number?.substring(0, 5) === 'BLANK') { return '(TANPA NIK)' } return recX.identity_number }, inPatient_itemPrice: (rec: unknown): unknown => { const recX = rec as SmallDetailDto return Number(recX.inPatient_itemPrice.price).toLocaleString('id-ID') }, outPatient_itemPrice: (rec: unknown): unknown => { const recX = rec as SmallDetailDto return Number(recX.outPatient_itemPrice.price).toLocaleString('id-ID') }, status: (rec: unknown): unknown => { const recX = rec as SmallDetailDto return doctorStatus[recX.status_code as keyof typeof doctorStatus] }, }, components: { action(rec, idx) { return { idx, rec: rec as object, component: action, } }, }, htmls: { patient_address(_rec) { return '-' }, }, }