test: call division position
This commit is contained in:
@@ -35,7 +35,7 @@ const { defineField, errors, meta } = useForm({
|
||||
initialValues: {
|
||||
code: '',
|
||||
name: '',
|
||||
division_id: '',
|
||||
division_id: 0,
|
||||
} as Partial<DivisionFormData>,
|
||||
})
|
||||
|
||||
@@ -57,7 +57,7 @@ const resetForm = () => {
|
||||
}
|
||||
|
||||
// Form submission handler
|
||||
function onSubmitForm(values: any) {
|
||||
function onSubmitForm() {
|
||||
const formData: DivisionFormData = {
|
||||
name: name.value || '',
|
||||
code: code.value || '',
|
||||
|
||||
@@ -32,6 +32,7 @@ import { divisions, getDivisionParentList } from '~/handlers/_shared.handler'
|
||||
|
||||
// Services
|
||||
import { getDivisions, getDivisionDetail } from '~/services/division.service'
|
||||
import { getDivisionPositions } from '~/services/division-position.service'
|
||||
|
||||
const title = ref('')
|
||||
|
||||
@@ -114,10 +115,15 @@ watch([recId, recAction], () => {
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(async () => {
|
||||
await getDivisionList()
|
||||
watch(() => data.value, async () => {
|
||||
if (!data.value) return
|
||||
await getDivisionParentList(false, data.value || [])
|
||||
})
|
||||
|
||||
onMounted(async () => {
|
||||
await getDivisionPositions()
|
||||
await getDivisionList()
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -129,7 +135,7 @@ onMounted(async () => {
|
||||
class="mb-4 xl:mb-5"
|
||||
/>
|
||||
<AppDivisionList :data="data" :pagination-meta="paginationMeta" @page-change="handlePageChange" />
|
||||
{{ recId }} - {{ recAction }}
|
||||
|
||||
<Dialog v-model:open="isFormEntryDialogOpen" :title="!!recItem ? title : 'Tambah Divisi'" size="lg" prevent-outside>
|
||||
<AppDivisionEntryForm
|
||||
:schema="DivisionSchema"
|
||||
@@ -139,6 +145,7 @@ onMounted(async () => {
|
||||
:is-readonly="isReadonly"
|
||||
@submit="
|
||||
(values: DivisionFormData | Record<string, any>, resetForm: () => void) => {
|
||||
console.log(values)
|
||||
if (recId > 0) {
|
||||
handleActionEdit(recId, values, getDivisionList, resetForm, toast)
|
||||
return
|
||||
|
||||
@@ -24,11 +24,11 @@ import { getUnits } from '~/services/unit.service'
|
||||
export const medicineGroups = ref<{ value: string; label: string }[]>([])
|
||||
export const medicineMethods = ref<{ value: string; label: string }[]>([])
|
||||
export const encounterClasses = ref<{ value: string; label: string }[]>([])
|
||||
export const divisions = ref<{ value: string; label: string }[]>([])
|
||||
export const divisions = ref<{ value: string | number; label: string }[]>([])
|
||||
export const installations = ref<{ value: string; label: string }[]>([])
|
||||
export const specialists = ref<{ value: string; label: string }[]>([])
|
||||
export const specialists = ref<{ value: string | number; label: string }[]>([])
|
||||
export const uoms = ref<{ value: string; label: string }[]>([])
|
||||
export const units = ref<{ value: string; label: string }[]>([])
|
||||
export const units = ref<{ value: string | number; label: string }[]>([])
|
||||
|
||||
export const getMedicineGroupList = async () => {
|
||||
const result = await getMedicineGroups()
|
||||
@@ -58,13 +58,13 @@ export const getDivisionParentList = async (isFetch = true, externalDivisions: a
|
||||
if (result.success) {
|
||||
const currentDivisions = result.body?.data || []
|
||||
divisions.value = currentDivisions.map((division: Division) => ({
|
||||
value: division.code,
|
||||
value: division.id ? Number(division.id) : String(division.code),
|
||||
label: division.name,
|
||||
}))
|
||||
}
|
||||
}
|
||||
divisions.value = externalDivisions.map((division: Division) => ({
|
||||
value: division.code,
|
||||
value: division.id ? Number(division.id) : String(division.code),
|
||||
label: division.name,
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
export interface Division {
|
||||
id?: number
|
||||
code: string
|
||||
name: string
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import type { Division, DivisionPosition } from '~/models/division'
|
||||
const DivisionSchema = z.object({
|
||||
code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
|
||||
name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimum 1 karakter'),
|
||||
division_id: z.number().positive('Divisi Induk harus diisi').optional().nullable(),
|
||||
})
|
||||
|
||||
type DivisionFormData = z.infer<typeof DivisionSchema> & (Division | DivisionPosition)
|
||||
|
||||
Reference in New Issue
Block a user