education_notation.vue 2.4 KB

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