bulletin.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <NuxtLayout name="parameters">
  3. <LayoutContainer>
  4. <UiLoadingPanel v-if="pending" />
  5. <UiForm
  6. v-else
  7. :model="Parameters"
  8. :entity="parameters"
  9. >
  10. <v-row>
  11. <v-col cols="6">
  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. </v-col>
  33. <v-col cols="6">
  34. <UiInputCheckbox
  35. v-model="parameters.bulletinPrintAddress"
  36. field="bulletinPrintAddress"
  37. />
  38. <UiInputCheckbox
  39. v-model="parameters.bulletinDisplayLevelAcquired"
  40. field="bulletinDisplayLevelAcquired"
  41. />
  42. <UiInputCheckbox
  43. v-model="parameters.bulletinViewTestResults"
  44. field="bulletinViewTestResults"
  45. />
  46. <UiInputCheckbox
  47. v-model="parameters.bulletinShowAverages"
  48. field="bulletinShowAverages"
  49. />
  50. <UiInputAutocompleteWithEnum
  51. v-model="parameters.bulletinReceiver"
  52. field="bulletinReceiver"
  53. enum-name="organization_bulletin_send_to"
  54. />
  55. </v-col>
  56. </v-row>
  57. </UiForm>
  58. </LayoutContainer>
  59. </NuxtLayout>
  60. </template>
  61. <script setup lang="ts">
  62. import Parameters from "~/models/Organization/Parameters";
  63. import {useEntityFetch} from "~/composables/data/useEntityFetch";
  64. import {useOrganizationProfileStore} from "~/stores/organizationProfile";
  65. import {AsyncData} from "#app";
  66. /**
  67. * Disable the default layout, the page will use the layout defined with <NuxtLayout />
  68. * @see https://nuxt.com/docs/guide/directory-structure/layouts#overriding-a-layout-on-a-per-page-basis
  69. */
  70. definePageMeta({
  71. layout: false,
  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(Parameters, organizationProfile.parametersId) as AsyncData<Parameters, Parameters | true>
  79. </script>
  80. <style scoped lang="scss">
  81. </style>