bulletin.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <LayoutContainer>
  3. <LayoutParametersSection>
  4. <UiLoadingPanel v-if="pending" />
  5. <UiForm
  6. v-else
  7. v-model="parameters"
  8. >
  9. <v-row>
  10. <v-col cols="12">
  11. <h4 class="mb-8">{{ $t('itemsToDisplayOnBulletins') }}</h4>
  12. <UiInputCheckbox
  13. v-model="parameters.bulletinWithTeacher"
  14. field="bulletinWithTeacher"
  15. />
  16. <UiInputCheckbox
  17. v-model="parameters.bulletinSignatureDirector"
  18. field="bulletinSignatureDirector"
  19. />
  20. <UiInputCheckbox
  21. v-model="parameters.bulletinShowEducationWithoutEvaluation"
  22. field="bulletinShowEducationWithoutEvaluation"
  23. />
  24. <UiInputCheckbox
  25. v-model="parameters.bulletinShowAbsences"
  26. field="bulletinShowAbsences"
  27. />
  28. <UiInputCheckbox
  29. v-model="parameters.bulletinPrintAddress"
  30. field="bulletinPrintAddress"
  31. />
  32. <UiInputCheckbox
  33. v-model="parameters.bulletinDisplayLevelAcquired"
  34. field="bulletinDisplayLevelAcquired"
  35. />
  36. <UiInputCheckbox
  37. v-model="parameters.bulletinViewTestResults"
  38. field="bulletinViewTestResults"
  39. />
  40. <UiInputCheckbox
  41. v-model="parameters.bulletinShowAverages"
  42. field="bulletinShowAverages"
  43. />
  44. <h4 class="my-8">{{ $t('bulletinSettings') }}</h4>
  45. <UiInputAutocompleteWithEnum
  46. v-model="parameters.bulletinCriteriaSort"
  47. field="bulletinCriteriaSort"
  48. enum-name="organization_bulletin_criteria_sort"
  49. />
  50. <UiInputAutocompleteWithEnum
  51. v-model="parameters.bulletinReceiver"
  52. field="bulletinReceiver"
  53. enum-name="organization_bulletin_send_to"
  54. />
  55. <UiInputCheckbox
  56. v-model="parameters.bulletinEditWithoutEvaluation"
  57. field="bulletinEditWithoutEvaluation"
  58. />
  59. </v-col>
  60. </v-row>
  61. </UiForm>
  62. </LayoutParametersSection>
  63. </LayoutContainer>
  64. </template>
  65. <script setup lang="ts">
  66. import type { AsyncData } from '#app'
  67. import Parameters from '~/models/Organization/Parameters'
  68. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  69. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  70. definePageMeta({
  71. name: 'parameters_bulletin_page',
  72. })
  73. const { fetch } = useEntityFetch()
  74. const organizationProfile = useOrganizationProfileStore()
  75. if (organizationProfile.parametersId === null) {
  76. throw new Error('Missing organization parameters id')
  77. }
  78. const { data: parameters, pending } = fetch(
  79. Parameters,
  80. organizationProfile.parametersId,
  81. ) as AsyncData<Parameters, Parameters | true>
  82. </script>
  83. <style scoped lang="scss"></style>