|
@@ -1,63 +1,33 @@
|
|
|
<template>
|
|
<template>
|
|
|
<LayoutContainer>
|
|
<LayoutContainer>
|
|
|
- <UiLoadingPanel v-if="pending" />
|
|
|
|
|
- <div v-else>
|
|
|
|
|
|
|
+ <div>
|
|
|
<h2>{{ $t('educationTiming') }}</h2>
|
|
<h2>{{ $t('educationTiming') }}</h2>
|
|
|
- <UiForm
|
|
|
|
|
- ref="form"
|
|
|
|
|
|
|
+ <UiFormEdition
|
|
|
:model="EducationTiming"
|
|
:model="EducationTiming"
|
|
|
- :entity="educationTiming"
|
|
|
|
|
- :submitActions="submitActions"
|
|
|
|
|
|
|
+ :go-back-route="goBackRoute"
|
|
|
>
|
|
>
|
|
|
- <UiInputNumber
|
|
|
|
|
- field="educationTiming"
|
|
|
|
|
- v-model="educationTiming.timing"
|
|
|
|
|
- :rules="rules()"
|
|
|
|
|
- />
|
|
|
|
|
- </UiForm>
|
|
|
|
|
- <v-btn class="mr-12" @click="quit">
|
|
|
|
|
- {{ $t('back') }}
|
|
|
|
|
- </v-btn>
|
|
|
|
|
|
|
+ <template v-slot="{ entity }">
|
|
|
|
|
+ <UiInputNumber
|
|
|
|
|
+ field="educationTiming"
|
|
|
|
|
+ v-model="entity.timing"
|
|
|
|
|
+ :rules="rules()"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </UiFormEdition>
|
|
|
</div>
|
|
</div>
|
|
|
</LayoutContainer>
|
|
</LayoutContainer>
|
|
|
</template>
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
-import {ref, computed, ComputedRef} from 'vue'
|
|
|
|
|
-import { useEntityFetch } from '~/composables/data/useEntityFetch'
|
|
|
|
|
import EducationTiming from '~/models/Education/EducationTiming'
|
|
import EducationTiming from '~/models/Education/EducationTiming'
|
|
|
-import {RouteLocationPathRaw, useRoute, useRouter} from 'vue-router'
|
|
|
|
|
|
|
+import {RouteLocationPathRaw} from 'vue-router'
|
|
|
import { useI18n } from 'vue-i18n'
|
|
import { useI18n } from 'vue-i18n'
|
|
|
-import { AnyJson } from '~/types/data'
|
|
|
|
|
-import { SUBMIT_TYPE } from '~/types/enum/enums'
|
|
|
|
|
-import {Ref} from "@vue/reactivity";
|
|
|
|
|
|
|
|
|
|
const i18n = useI18n()
|
|
const i18n = useI18n()
|
|
|
-const { fetch } = useEntityFetch()
|
|
|
|
|
-const route = useRoute()
|
|
|
|
|
-const router = useRouter()
|
|
|
|
|
-
|
|
|
|
|
-const educationTimingId: Ref<number> = ref(parseInt(route.params.id as string))
|
|
|
|
|
|
|
|
|
|
const goBackRoute: RouteLocationPathRaw = { path: `/parameters`, query: { tab: 'educationTimings' } }
|
|
const goBackRoute: RouteLocationPathRaw = { path: `/parameters`, query: { tab: 'educationTimings' } }
|
|
|
|
|
|
|
|
-const submitActions = computed(() => {
|
|
|
|
|
- let actions: AnyJson = {}
|
|
|
|
|
- actions[SUBMIT_TYPE.SAVE_AND_BACK] = goBackRoute
|
|
|
|
|
- return actions
|
|
|
|
|
-})
|
|
|
|
|
-
|
|
|
|
|
-const { data: educationTiming, pending } = fetch(
|
|
|
|
|
- EducationTiming,
|
|
|
|
|
- educationTimingId.value
|
|
|
|
|
-)
|
|
|
|
|
-
|
|
|
|
|
const rules = () => [
|
|
const rules = () => [
|
|
|
(timing: string | null) =>
|
|
(timing: string | null) =>
|
|
|
- (timing !== null && timing.length > 0) || i18n.t('please_enter_a_value'),
|
|
|
|
|
|
|
+ (timing !== null && parseInt(timing) > 0) || i18n.t('please_enter_a_value'),
|
|
|
]
|
|
]
|
|
|
-
|
|
|
|
|
-const quit = () => {
|
|
|
|
|
- router.push(goBackRoute)
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
</script>
|
|
</script>
|