general_parameters.vue 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. <UiInputDatePicker
  13. v-if="organizationProfile.isSchool"
  14. v-model="parameters.financialDate"
  15. field="financialDate"
  16. label="start_date_of_financial_season"
  17. position="left"
  18. class="my-2"
  19. />
  20. <UiInputDatePicker
  21. v-if="organizationProfile.isSchool"
  22. v-model="parameters.startCourseDate"
  23. field="startCourseDate"
  24. label="start_date_of_courses"
  25. position="left"
  26. class="my-2"
  27. />
  28. <UiInputCheckbox
  29. v-model="parameters.showAdherentList"
  30. field="showAdherentList"
  31. label="show_adherents_list_and_their_coordinates"
  32. />
  33. <UiInputAutocompleteWithEnum
  34. v-model="parameters.timezone"
  35. enum-name="timezone"
  36. field="timezone"
  37. variant="underlined"
  38. />
  39. <UiInputDatePicker
  40. v-if="organizationProfile.isSchool"
  41. v-model="parameters.musicalDate"
  42. field="musicalDate"
  43. label="start_date_of_activity_season"
  44. position="left"
  45. class="my-2"
  46. />
  47. <UiInputDatePicker
  48. v-if="organizationProfile.isSchool"
  49. v-model="parameters.endCourseDate"
  50. field="endCourseDate"
  51. label="end_date_of_courses"
  52. position="left"
  53. class="my-2"
  54. />
  55. <UiInputCheckbox
  56. v-if="organizationProfile.isSchool && organizationProfile.isAssociation"
  57. v-model="parameters.studentsAreAdherents"
  58. field="studentsAreAdherents"
  59. label="students_are_also_association_members"
  60. />
  61. <!-- TODO: reprendre l'UiInput -->
  62. <UiInputImage
  63. v-model="parameters['qrCode_id']"
  64. field="qrCode_id"
  65. label="licenceQrCode"
  66. />
  67. </v-col>
  68. </v-row>
  69. </UiForm>
  70. </LayoutContainer>
  71. </template>
  72. <script setup lang="ts">
  73. import Parameters from "~/models/Organization/Parameters";
  74. import {useEntityFetch} from "~/composables/data/useEntityFetch";
  75. import {useOrganizationProfileStore} from "~/stores/organizationProfile";
  76. import {AsyncData} from "#app";
  77. const { fetch } = useEntityFetch()
  78. const organizationProfile = useOrganizationProfileStore()
  79. if (organizationProfile.parametersId === null) {
  80. throw new Error('Missing organization parameters id')
  81. }
  82. const { data: parameters, pending } = fetch(Parameters, organizationProfile.parametersId) as AsyncData<Parameters, Parameters | true>
  83. </script>
  84. <style scoped lang="scss">
  85. </style>