bulletin.vue 2.9 KB

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