new.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <LayoutContainer>
  3. <UiLoadingPanel v-if="pending" />
  4. <div v-else>
  5. <h2>Créer Nouvelle Education Timing</h2>
  6. <UiForm
  7. ref="form"
  8. :model="EducationTiming"
  9. :entity="education_timings"
  10. :submitActions="submitActions"
  11. >
  12. <v-container :fluid="true" class="container">
  13. <v-row>
  14. <v-col cols="12" sm="6">
  15. </v-col>
  16. </v-row>
  17. <v-row>
  18. <v-col cols="12" sm="6">
  19. <UiInputNumber
  20. v-model="education_timings.timing"
  21. field="education_timings"
  22. />
  23. </v-col>
  24. </v-row>
  25. </v-container>
  26. </UiForm>
  27. </div>
  28. </LayoutContainer>
  29. </template>
  30. <script setup lang="ts">
  31. import { ref, computed } from 'vue'
  32. import {Ref} from "@vue/reactivity";
  33. import {AnyJson} from "~/types/data";
  34. import {SUBMIT_TYPE} from "~/types/enum/enums";
  35. import EducationTiming from '~/models/Education/EducationTiming'
  36. import { useI18n } from 'vue-i18n'
  37. import { useEntityManager } from '~/composables/data/useEntityManager'
  38. const i18n = useI18n()
  39. const { em } = useEntityManager()
  40. const education_timings: Ref<EducationTiming> = ref(em.newInstance(EducationTiming) as EducationTiming)
  41. const goBackRoute = { path: `/parameters`, query: { tab: 'educationTimings' } }
  42. const submitActions = computed(() => {
  43. let actions: AnyJson = {}
  44. actions[SUBMIT_TYPE.SAVE_AND_BACK] = goBackRoute
  45. return actions
  46. })
  47. const rules = () => [
  48. (label: string | null) => (label !== null && label.length > 0) || i18n.t('please_enter_a_value'),
  49. ]
  50. </script>