organization.vue 1.2 KB

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