Files
app/src/components/aircrafts/AircraftForm.vue
T

49 lines
1.3 KiB
Vue

<script setup>
import {onMounted, reactive} from "vue";
import FormWrapper from "components/FormWrapper.vue";
import {setDefaultData} from "src/composables/form/formHandling";
import {defaultValues, isRequestPending} from "src/composables/form/props";
import {isRequired} from "src/composables/form/rules";
const formData = reactive({
id: null,
callSign: "",
model: "",
manufacturer: "",
description: "",
photo: null,
organizationId: null
});
const props = defineProps({
defaultValues,
isRequestPending
});
const rules = {
callSign: [
v => isRequired(v)
],
};
onMounted(() => {
if (Object.keys(props.defaultValues).length > 0)
setDefaultData(formData, props.defaultValues);
})
</script>
<template>
<FormWrapper v-model="formData" :is-request-pending="isRequestPending">
<q-input type="text" :rules="rules.callSign" v-model="formData.callSign" label="Volací značka"/>
<q-input type="text" v-model="formData.model" label="Model"/>
<q-input type="text" v-model="formData.manufacturer" label="Výrobce"/>
<q-input type="textarea" v-model="formData.description" label="Popis" />
{{ props.defaultValues.photoUrl }}
<q-img :src="props.defaultValues.photoUrl" v-if="props.defaultValues.photoUrl" />
<q-file v-model="formData.photo" label="Fotografie" />
</FormWrapper>
</template>