diff --git a/app/components/app/procedure-room-order-item/list-detail.cfg.ts b/app/components/app/procedure-room-order-item/list-detail.cfg.ts new file mode 100644 index 00000000..cf0f6dab --- /dev/null +++ b/app/components/app/procedure-room-order-item/list-detail.cfg.ts @@ -0,0 +1,16 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import { defineAsyncComponent } from 'vue' + +export const config: Config = { + cols: [{}, {}, { classVal: '!p-0.5' }], + + headers: [ + [ + { label: 'Kode' }, + { label: 'Nama' }, + { label: 'Catatan' }, + ], + ], + + keys: ['procedureRoom.code', 'procedureRoom.infra.name', 'note'], +} diff --git a/app/components/app/procedure-room-order-item/list-detail.vue b/app/components/app/procedure-room-order-item/list-detail.vue new file mode 100644 index 00000000..75727a72 --- /dev/null +++ b/app/components/app/procedure-room-order-item/list-detail.vue @@ -0,0 +1,22 @@ + + + + + + Daftar Order Ruang + + + + diff --git a/app/components/app/procedure-room-order-item/list-entry.cfg.ts b/app/components/app/procedure-room-order-item/list-entry.cfg.ts new file mode 100644 index 00000000..2afcd855 --- /dev/null +++ b/app/components/app/procedure-room-order-item/list-entry.cfg.ts @@ -0,0 +1,43 @@ +import type { Config } from '~/components/pub/my-ui/data-table' +import { defineAsyncComponent } from 'vue' + +const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-dud.vue')) +const input = defineAsyncComponent(() => import('~/components/pub/ui/input/Input.vue')) + +export const config: Config = { + cols: [{}, {}, { classVal: '!p-0.5' }, { width: 50 }], + + headers: [ + [ + { label: 'Kode' }, + { label: 'Nama' }, + { label: 'Catatan' }, + { label: '' }, + ], + ], + + keys: ['procedureRoom.code', 'procedureRoom.infra.name', 'note'], + + delKeyNames: [ + { key: 'mcuSrc.name', label: 'Nama' }, + ], + + components: { + note(rec, idx) { + return { + idx, + rec: rec as object, + component: input, + } + }, + action(rec, idx) { + return { + idx, + rec: rec as object, + component: action, + } + }, + }, + + htmls: {}, +} diff --git a/app/components/app/procedure-room-order-item/list-entry.vue b/app/components/app/procedure-room-order-item/list-entry.vue new file mode 100644 index 00000000..f86a0b8e --- /dev/null +++ b/app/components/app/procedure-room-order-item/list-entry.vue @@ -0,0 +1,33 @@ + + + + + + Daftar Order Ruang + + + + + + Pilih Item + + + + diff --git a/app/components/app/procedure-room-order/detail.vue b/app/components/app/procedure-room-order/detail.vue new file mode 100644 index 00000000..23d0dc75 --- /dev/null +++ b/app/components/app/procedure-room-order/detail.vue @@ -0,0 +1,28 @@ + + + + + + Detail Order + + + + No. Order + + ORT-{{ data.id }} + + + Tgl. Order + + {{ data.createdAt?.substring(0, 10) }} + + + + diff --git a/app/components/app/procedure-room/picker.vue b/app/components/app/procedure-room/picker.vue new file mode 100644 index 00000000..3660e0cb --- /dev/null +++ b/app/components/app/procedure-room/picker.vue @@ -0,0 +1,42 @@ + + + + + + Daftar Pilihan Ruang Tindakan + + + + + + {{ item.infra?.name }} + + + + Tidak ada data ruang tindakan. + + + + diff --git a/app/models/procedure-room-order-item.ts b/app/models/procedure-room-order-item.ts new file mode 100644 index 00000000..5fa84763 --- /dev/null +++ b/app/models/procedure-room-order-item.ts @@ -0,0 +1,27 @@ +import { type Base, genBase } from "./_base"; +import { genMaterialPackage, type MaterialPackage } from "./material-package"; +import { genProcedureRoom, type ProcedureRoom } from "./procedure-room"; + +export interface ProcedureRoomOrderItem extends Base { + procedureRoomOrder_id: number + procedureRoom_code: string + procedureRoom: ProcedureRoom +} + +export interface CreateDto { + procedureRoomOrder_id: number + procedureRoom_code: string +} + +export interface UpdateDto extends CreateDto { + note?: string +} + +export function genProcedureRoomOrderItem(): ProcedureRoomOrderItem { + return { + ...genBase(), + procedureRoomOrder_id: 0, + procedureRoom_code: '', + procedureRoom: genProcedureRoom(), + } +} diff --git a/app/services/procedure-room-order-item.service.ts b/app/services/procedure-room-order-item.service.ts new file mode 100644 index 00000000..8e6d08b8 --- /dev/null +++ b/app/services/procedure-room-order-item.service.ts @@ -0,0 +1,26 @@ +// Base +import type { CreateDto, UpdateDto } from '~/models/procedure-room-order-item' +import * as base from './_crud-base' + +const name = 'procedure-room-order-item' +const path = `/api/v1/${name}` + +export function create(data: CreateDto) { + 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: UpdateDto) { + return base.update(path, id, data, name) +} + +export function remove(id: number | string) { + return base.remove(path, id, name) +}