44 lines
1.4 KiB
Vue
44 lines
1.4 KiB
Vue
<script setup>
|
|
import {onMounted} from "vue";
|
|
import {useAircraftsStore} from "stores/Aircrafts";
|
|
import {useFlightsStore} from "stores/Flights";
|
|
import {useRouter} from "vue-router";
|
|
import {usePointsOfInterestStore} from "stores/PointsOfInterest";
|
|
import {storeToRefs} from "pinia";
|
|
import {useAirportsStore} from "stores/Airports";
|
|
import FlightFormSteps from "components/flights/form/FlightFormSteps.vue";
|
|
import FlightFormBasic from "components/flights/form/FlightFormBasic.vue";
|
|
import {useAppStore} from "stores/App";
|
|
|
|
|
|
onMounted(() => {
|
|
useAircraftsStore().fetch();
|
|
usePointsOfInterestStore().fetch();
|
|
useFlightsStore().fetch();
|
|
useAirportsStore().fetch();
|
|
|
|
useAppStore().setPageTitle("Nový let");
|
|
useAppStore().setBreadcrumbs([
|
|
{to: {name: "myFlights"}, label: "Moje lety"},
|
|
{label: "Nový"}
|
|
]);
|
|
});
|
|
|
|
|
|
const aircrafts = storeToRefs(useAircraftsStore()).items;
|
|
const locations = storeToRefs(usePointsOfInterestStore()).items;
|
|
const airports = storeToRefs(useAirportsStore()).items;
|
|
|
|
const router = useRouter();
|
|
const handleSave = (formData) => {
|
|
useFlightsStore().create(formData).then((flight) => {
|
|
router.push({name: "flightEdit", params: {id: flight.id, step: "copilot"}});
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<FlightFormSteps :disabled="['copilot', 'track', 'photos', 'notes']"/>
|
|
<FlightFormBasic @save="handleSave" :aircrafts="aircrafts" :airports="airports" :locations="locations" />
|
|
</template>
|