diff --git a/app/components/app/procedure-room/multi-opt-picker.vue b/app/components/app/procedure-room/multi-opt-picker.vue
new file mode 100644
index 00000000..9a84a699
--- /dev/null
+++ b/app/components/app/procedure-room/multi-opt-picker.vue
@@ -0,0 +1,9 @@
+
+
+
+ Daftar Ruang Tindakan
+
+
+
+
+
\ No newline at end of file
diff --git a/app/components/app/procedure-room/single-opt-picker.vue b/app/components/app/procedure-room/single-opt-picker.vue
new file mode 100644
index 00000000..ae2b0b6f
--- /dev/null
+++ b/app/components/app/procedure-room/single-opt-picker.vue
@@ -0,0 +1,9 @@
+
+
+
+ Daftar Ruang Operasi
+
+
+
+
+
\ No newline at end of file
diff --git a/app/components/app/procedure-room/switcher.vue b/app/components/app/procedure-room/switcher.vue
new file mode 100644
index 00000000..fdd80e7d
--- /dev/null
+++ b/app/components/app/procedure-room/switcher.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+ Jenis Ruang Tindakan
+
+
+
+
+
+
diff --git a/app/models/procedure-room.ts b/app/models/procedure-room.ts
new file mode 100644
index 00000000..b34bba13
--- /dev/null
+++ b/app/models/procedure-room.ts
@@ -0,0 +1,24 @@
+import { type Base, genBase } from "./_base";
+import type { Infra } from "./infra";
+
+export interface ProcedureRoom extends Base {
+ code: string
+ infra_code: string
+ infra?: Infra
+ type_code: string
+ unit_code: string
+ specialist_code?: string | null
+ subspecialist_code?: string | null
+}
+
+export function genProcedureRoom(): ProcedureRoom {
+ return {
+ ...genBase(),
+ code: '',
+ infra_code: '',
+ type_code: '',
+ unit_code: '',
+ specialist_code: null,
+ subspecialist_code: null,
+ }
+}
diff --git a/app/services/infra.service.ts b/app/services/infra.service.ts
index 9147421d..aa9b94e8 100644
--- a/app/services/infra.service.ts
+++ b/app/services/infra.service.ts
@@ -1,14 +1,11 @@
-// Base
import * as base from './_crud-base'
-
-// Types
import type { Infra } from '~/models/infra'
-const path = '/api/v1/infra'
const name = 'infra'
+const path = `/api/v1/${name}`
-export function create(data: any) {
+export function create(data: Infra) {
return base.create(path, data, name)
}
@@ -20,7 +17,7 @@ export function getDetail(id: number | string) {
return base.getDetail(path, id, name)
}
-export function update(id: number | string, data: any) {
+export function update(id: number | string, data: Infra) {
return base.update(path, id, data, name)
}
@@ -28,15 +25,26 @@ export function remove(id: number | string) {
return base.remove(path, id, name)
}
-export async function getValueLabelList(params: any = null): Promise<{ value: string; label: string }[]> {
+export async function getValueLabelList(params: any = null, useId = false): 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: Infra) => ({
- value: item.id ? Number(item.id) : item.code,
- label: item.name,
- }))
+ data = !useId ?
+ resultData.map((item: Infra) => ({ value: item.code, label: item.name })) :
+ resultData.map((item: Infra) => ({ value: item.id, label: item.name }))
}
return data
}
+
+// export async function getProcedureRoomValueLabelList(params: any = null, useId = false): Promise<{ value: string; label: string }[]> {
+// let data: { value: string; label: string }[] = []
+// const result = await getList({ 'infraGroup_code': 'procedure-room' ,...params})
+// if (result.success) {
+// const resultData = result.body?.data || []
+// data = !useId ?
+// resultData.map((item: Infra) => ({ value: item.code, label: item.name })) :
+// resultData.map((item: Infra) => ({ value: item.id, label: item.name }))
+// }
+// return data
+// }
diff --git a/app/services/procedure-room.service.ts b/app/services/procedure-room.service.ts
new file mode 100644
index 00000000..c799de75
--- /dev/null
+++ b/app/services/procedure-room.service.ts
@@ -0,0 +1,26 @@
+// Base
+import type { ProcedureRoom } from '~/models/procedure-room'
+import * as base from './_crud-base'
+
+const name = 'procedure-room'
+const path = `/api/v1/${name}`
+
+export function create(data: ProcedureRoom) {
+ 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: ProcedureRoom) {
+ return base.update(path, id, data, name)
+}
+
+export function remove(id: number | string) {
+ return base.remove(path, id, name)
+}