bulletin.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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.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.bulletinEditWithoutEvaluation"
  30. field="bulletinEditWithoutEvaluation"
  31. />
  32. <UiInputCheckbox
  33. v-model="parameters.bulletinPrintAddress"
  34. field="bulletinPrintAddress"
  35. />
  36. <UiInputCheckbox
  37. v-model="parameters.bulletinDisplayLevelAcquired"
  38. field="bulletinDisplayLevelAcquired"
  39. />
  40. <UiInputCheckbox
  41. v-model="parameters.bulletinViewTestResults"
  42. field="bulletinViewTestResults"
  43. />
  44. <UiInputCheckbox
  45. v-model="parameters.bulletinShowAverages"
  46. field="bulletinShowAverages"
  47. />
  48. <UiInputAutocompleteWithEnum
  49. v-model="parameters.bulletinReceiver"
  50. field="bulletinReceiver"
  51. enum-name="organization_bulletin_send_to"
  52. variant="underlined"
  53. />
  54. <UiInputAutocompleteWithEnum
  55. v-model="parameters.bulletinCriteriaSort"
  56. field="bulletinCriteriaSort"
  57. enum-name="organization_bulletin_criteria_sort"
  58. variant="underlined"
  59. />
  60. </v-col>
  61. </v-row>
  62. </UiForm>
  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. 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>