organization.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <!-- Page de détails de l'organization courante -->
  2. <template>
  3. <LayoutContainer>
  4. <!-- Définit le contenu des trois slots du header de la page -->
  5. <LayoutBannerTop>
  6. <template #block1>
  7. {{ entry.name }}
  8. </template>
  9. <template #block2>
  10. N°Siret : {{ entry.siretNumber }}
  11. </template>
  12. <template #block3>
  13. {{ entry.description }}
  14. </template>
  15. </LayoutBannerTop>
  16. <!-- Rend le contenu de la page -->
  17. <NuxtChild />
  18. </LayoutContainer>
  19. </template>
  20. <script lang="ts">
  21. import { computed, defineComponent, useContext, ComputedRef } from '@nuxtjs/composition-api'
  22. import { Item, Query } from '@vuex-orm/core'
  23. import { QUERY_TYPE } from '~/types/enums'
  24. import { Organization } from '~/models/Organization/Organization'
  25. import { queryHelper } from '~/services/store/query'
  26. import { repositoryHelper } from '~/services/store/repository'
  27. import {ContactPoint} from "~/models/Core/ContactPoint";
  28. import {BankAccount} from "~/models/Core/BankAccount";
  29. import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
  30. import {Country} from "~/models/Core/Country";
  31. export default defineComponent({
  32. name: 'Organization',
  33. setup () {
  34. const { store } = useContext()
  35. const repository = repositoryHelper.getRepository(Organization)
  36. const query: ComputedRef<Query> = computed(() => repository.query())
  37. const entry: ComputedRef<Item> = computed(() => {
  38. return queryHelper.getItem(query.value, store.state.profile.organization.id)
  39. })
  40. return {
  41. entry
  42. }
  43. },
  44. async asyncData ({ store, $dataProvider }) {
  45. await $dataProvider.invoke({
  46. type: QUERY_TYPE.MODEL,
  47. model: Organization,
  48. id: store.state.profile.organization.id
  49. })
  50. },
  51. beforeDestroy() {
  52. repositoryHelper.cleanRepository(Organization)
  53. repositoryHelper.cleanRepository(ContactPoint)
  54. repositoryHelper.cleanRepository(BankAccount)
  55. repositoryHelper.cleanRepository(OrganizationAddressPostal)
  56. repositoryHelper.cleanRepository(Country)
  57. },
  58. })
  59. </script>