feat(sep): integrate visit sep

This commit is contained in:
riefive
2025-10-20 14:14:17 +07:00
parent 499548c770
commit 9647cfa3ff
6 changed files with 154 additions and 10 deletions
+8 -6
View File
@@ -24,6 +24,7 @@ const props = defineProps<{
isLoading?: boolean
isReadonly?: boolean
doctors: any[]
facilities: any[]
patient?: PatientEntity | null | undefined
values?: any
}>()
@@ -287,14 +288,15 @@ watch(props, (value) => {
<span class="text-red-500">*</span>
</Label>
<Field :errMessage="errors.destinationClinic">
<Select
id="destinationClinic"
icon-name="i-lucide-chevron-down"
<Combobox
id="attendingDoctor"
v-model="destinationClinic"
v-bind="destinationClinicAttrs"
:items="items"
:disabled="isLoading || isReadonly"
placeholder="Pilih klinik"
:items="facilities"
:is-disabled="isLoading || isReadonly"
placeholder="Pilih Klinik"
search-placeholder="Cari Klinik"
empty-message="Item tidak ditemukan"
/>
</Field>
</Cell>
+46
View File
@@ -0,0 +1,46 @@
import type { Config } from '~/components/pub/my-ui/data-table'
export interface SepVisitData {
letterNumber: string
letterDate: string
sepNumber: string
patientName: string
bpjsNumber: string
clinic: string
doctor: string
}
export const config: Config = {
cols: [
{ width: 100 },
{ width: 100 },
{ width: 100 },
{ width: 100 },
{ width: 100 },
{ width: 100 },
{ width: 100 },
{ width: 100 },
],
headers: [
[
{ label: 'NO. SURAT KONTROL' },
{ label: 'TGL RENCANA KONTROL' },
{ label: 'NO. SEP' },
{ label: 'NAMA PASIEN' },
{ label: 'NO. KARTU BPJS' },
{ label: 'KLINIK' },
{ label: 'DOKTER' },
],
],
keys: ['letterNumber', 'letterDate', 'sepNumber', 'patientName', 'bpjsNumber', 'clinic', 'doctor'],
delKeyNames: [{ key: 'code', label: 'Kode' }],
parses: {},
components: {},
htmls: {},
}
+36
View File
@@ -0,0 +1,36 @@
<script setup lang="ts">
// Components
import PaginationView from '~/components/pub/my-ui/pagination/pagination-view.vue'
// Types
import type { SepHistoryData } from './list-cfg.history'
import type { PaginationMeta } from '~/components/pub/my-ui/pagination/pagination.type'
// Configs
import { config } from './list-cfg.history'
const props = defineProps<{
data: SepHistoryData[]
paginationMeta?: PaginationMeta
}>()
const emit = defineEmits<{
pageChange: [page: number]
}>()
function handlePageChange(page: number) {
emit('pageChange', page)
}
</script>
<template>
<PubMyUiDataTable
v-bind="config"
:rows="props.data"
/>
<PaginationView
v-if="paginationMeta"
:pagination-meta="paginationMeta"
@page-change="handlePageChange"
/>
</template>