Feat/encounter status 107 (#129)

* dev: hotfix, moved combobox and datepicker

* dev: hotfix, moved combobox and datepicker

* dev: hotfix, text-size standardization

* dev: hotfix, text-size standardization

* feat/encounter-status-107: wip

* feat/encounter: wip

* feat/encounter: done

---------

Co-authored-by: Munawwirul Jamal <[email protected]>
This commit is contained in:
Andsky
2025-10-25 05:03:48 +07:00
committed by GitHub
co-authored by munawwirul_jamal
parent 3558672f9a
commit 0212b9c39f
16 changed files with 718 additions and 13 deletions

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
// Base
import * as base from './_crud-base'
import type { Doctor } from "~/models/doctor";
const path = '/api/v1/doctor'
const name = 'device'
export function create(data: any) {
return base.create(path, data, name)
}
export function getList(params: any = null) {
return base.getList(path, params, name)
}
export function getDetail(id: number | string) {
return base.getDetail(path, id, name)
}
export function update(id: number | string, data: any) {
return base.update(path, id, data, name)
}
export function remove(id: number | string) {
return base.remove(path, id, name)
}
export async function getValueLabelList(params: any = null): Promise<{ value: string; label: string }[]> {
let data: { value: string; label: string }[] = []
const result = await getList(params)
if (result.success) {
const resultData = result.body?.data || []
data = resultData.map((item: Doctor) => ({
value: item.id,
label: item.employee.person.name,
}))
}
return data
}
+1 -1
View File
@@ -31,7 +31,7 @@ export async function getValueLabelList(params: any = null): Promise<{ value: st
const resultData = result.body?.data || []
data = resultData.map((item: any) => ({
value: item.id ? Number(item.id) : item.code,
label: item.name,
label: item.person.name,
}))
}
return data
+14
View File
@@ -1,4 +1,5 @@
// Base
import type { CheckInFormData } from '~/schemas/encounter.schema'
import * as base from './_crud-base'
// Constants
@@ -46,3 +47,16 @@ export function getValueLabelListConstants() {
.filter(([key]) => allowed.includes(key))
.map(([key, value]) => ({ value: key, label: value }))
}
export async function checkIn(id: number, data: CheckInFormData) {
try {
const resp = await xfetch(`${path}/${id}/check-in`, 'PATCH', data)
const result: any = {}
result.success = resp.success
result.body = (resp.body as Record<string, any>) || {}
return result
} catch (error) {
console.error(`Error putting ${name}:`, error)
throw new Error(`Failed to put ${name}`)
}
}