education_notation.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <LayoutContainer>
  3. <h3>{{ $t("parameters_education_notation_page")}}</h3>
  4. <UiLoadingPanel v-if="pending" />
  5. <UiForm
  6. v-else
  7. v-model="parameters"
  8. >
  9. <v-row>
  10. <v-col cols="12">
  11. <UiInputCheckbox
  12. v-model="parameters.periodValidation"
  13. field="periodValidation"
  14. label="define_validation_periods_for_teachers"
  15. />
  16. <UiInputCheckbox
  17. v-model="parameters.editCriteriaNotationByAdminOnly"
  18. field="editCriteriaNotationByAdminOnly"
  19. label="evaluation_criterium_edition_is_admin_only"
  20. />
  21. <UiInputCheckbox
  22. v-model="parameters.requiredValidation"
  23. field="requiredValidation"
  24. label="mandatory_validation_for_evaluations"
  25. />
  26. <UiInputAutocompleteWithEnum
  27. v-if="organizationProfile.hasModule('AdvancedEducationNotation')"
  28. v-model="parameters.advancedEducationNotationType"
  29. enum-name="advanced_education_notation"
  30. field="advancedEducationNotationType"
  31. />
  32. <UiInputAutocompleteWithEnum
  33. v-model="parameters.educationPeriodicity"
  34. enum-name="education_periodicity"
  35. field="educationPeriodicity"
  36. />
  37. <UiInputNumber
  38. v-model="parameters.average"
  39. field="average"
  40. label="max_note_for_pedagogical_followup"
  41. :default="20"
  42. :min="1"
  43. :max="100"
  44. class="mt-2"
  45. />
  46. </v-col>
  47. </v-row>
  48. </UiForm>
  49. </LayoutContainer>
  50. </template>
  51. <script setup lang="ts">
  52. import type { AsyncData } from '#app'
  53. import Parameters from '~/models/Organization/Parameters'
  54. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  55. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  56. definePageMeta({
  57. name: 'parameters_education_notation_page',
  58. })
  59. const { fetch } = useEntityFetch()
  60. const organizationProfile = useOrganizationProfileStore()
  61. if (organizationProfile.parametersId === null) {
  62. throw new Error('Missing organization parameters id')
  63. }
  64. const { data: parameters, pending } = fetch(
  65. Parameters,
  66. organizationProfile.parametersId,
  67. ) as AsyncData<Parameters | null, Error | null>
  68. </script>
  69. <style scoped lang="scss"></style>