diff --git a/app/components/app/bed/entry-form.vue b/app/components/app/bed/entry-form.vue index fb851aa4..0b103cd0 100644 --- a/app/components/app/bed/entry-form.vue +++ b/app/components/app/bed/entry-form.vue @@ -5,6 +5,10 @@ import Cell from '~/components/pub/my-ui/doc-entry/cell.vue' import Field from '~/components/pub/my-ui/doc-entry/field.vue' import Label from '~/components/pub/my-ui/doc-entry/label.vue' import Button from '~/components/pub/ui/button/Button.vue' +import Combobox from '~/components/pub/my-ui/form/combobox.vue' + +// Constants +import { infraGroupCodesKeys } from '~/lib/constants' // Types import type { InfraFormData } from '~/schemas/infra.schema' @@ -16,6 +20,7 @@ import { toTypedSchema } from '@vee-validate/zod' interface Props { schema: z.ZodSchema + parents: any[] values: any isLoading?: boolean isReadonly?: boolean @@ -34,27 +39,28 @@ const { defineField, errors, meta } = useForm({ initialValues: { code: '', name: '', - infraGroup_code: 'counter', + infraGroup_code: infraGroupCodesKeys.bed, parent_id: null, } as Partial, }) const [code, codeAttrs] = defineField('code') const [name, nameAttrs] = defineField('name') -const [infraGroup_code, infraGroupAttrs] = defineField('infraGroup_code') +const [infraGroup_code] = defineField('infraGroup_code') const [parent_id, parentIdAttrs] = defineField('parent_id') if (props.values) { if (props.values.code !== undefined) code.value = props.values.code if (props.values.name !== undefined) name.value = props.values.name if (props.values.infraGroup_code !== undefined) infraGroup_code.value = props.values.infraGroup_code - if (props.values.parent_id !== undefined) parent_id.value = props.values.parent_id + if (props.values.parent_id !== undefined) + parent_id.value = props.values.parent_id ? Number(props.values.parent_id) : null } const resetForm = () => { code.value = '' name.value = '' - infraGroup_code.value = 'counter' + infraGroup_code.value = infraGroupCodesKeys.bed parent_id.value = null } @@ -62,8 +68,8 @@ function onSubmitForm() { const formData: InfraFormData = { code: code.value || '', name: name.value || '', - infraGroup_code: infraGroup_code.value || 'counter', - parent_id: parent_id.value || null, + infraGroup_code: infraGroup_code.value || infraGroupCodesKeys.bed, + parent_id: parent_id.value ? Number(parent_id.value) : null, } emit('submit', formData, resetForm) } @@ -74,23 +80,62 @@ function onCancelForm() {