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 @@ + \ 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 @@ + \ 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 @@ + + + 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) +}