organization.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <LayoutContainer>
  3. <LayoutBannerTop>
  4. <template v-slot:bloc1>
  5. {{ entry.name }}
  6. </template>
  7. <template v-slot:bloc2>
  8. N°Siret : {{ entry.siretNumber }}
  9. </template>
  10. <template v-slot:bloc3>
  11. {{ entry.description }}
  12. </template>
  13. </LayoutBannerTop>
  14. <NuxtChild />
  15. </LayoutContainer>
  16. </template>
  17. <script lang="ts">
  18. import { computed, defineComponent, useContext, ComputedRef } from '@nuxtjs/composition-api'
  19. import { Item, Query } from '@vuex-orm/core'
  20. import { QUERY_TYPE } from '~/types/enums'
  21. import { Organization } from '~/models/Organization/Organization'
  22. import { queryHelper } from '~/services/store/query'
  23. import { repositoryHelper } from '~/services/store/repository'
  24. export default defineComponent({
  25. name: 'organization',
  26. setup () {
  27. const { store } = useContext()
  28. const repository = repositoryHelper.getRepository(Organization)
  29. const query:ComputedRef<Query> = computed(() => repository.query())
  30. const entry:ComputedRef<Item> = computed(() => {
  31. return queryHelper.getItem(query.value, store.state.profile.organization.id)
  32. })
  33. return {
  34. entry
  35. }
  36. },
  37. async asyncData ({ store, $dataProvider }) {
  38. await $dataProvider.invoke({
  39. type: QUERY_TYPE.MODEL,
  40. model: Organization,
  41. id: store.state.profile.organization.id
  42. })
  43. }
  44. })
  45. </script>