UnitActionPage.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <div class="tab-page-layout">
  3. <DefaultHeaderPage title="Cadastro de Unidade" />
  4. <CustomTabComponent v-model:active-tab="activeTab" :tabs />
  5. <UnitDataTab
  6. v-show="activeTab === 'unit_data'"
  7. class="tab-page-flex-content"
  8. :unit-id="unitId"
  9. />
  10. <template v-if="unitId">
  11. <FinancialTab
  12. v-show="activeTab === 'financial'"
  13. class="tab-page-flex-content"
  14. :unit-id="unitId"
  15. />
  16. <q-scroll-area
  17. v-show="!['unit_data', 'financial'].includes(activeTab)"
  18. class="tab-page-scroll-area"
  19. >
  20. <PartnersTab
  21. v-show="activeTab === 'partners'"
  22. :unit-id="unitId"
  23. />
  24. <ContractsTab
  25. v-show="activeTab === 'contracts'"
  26. :unit-id="unitId"
  27. />
  28. <HistoryTab
  29. v-show="activeTab === 'history'"
  30. :unit-id="unitId"
  31. />
  32. <MediasTab
  33. v-show="activeTab === 'medias'"
  34. :unit-id="unitId"
  35. />
  36. </q-scroll-area>
  37. </template>
  38. </div>
  39. </template>
  40. <script setup>
  41. import { computed, ref } from "vue";
  42. import { useRoute } from "vue-router";
  43. import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
  44. import CustomTabComponent from "src/components/shared/CustomTabComponent.vue";
  45. import UnitDataTab from "src/pages/unit/tabs/UnitDataTab.vue";
  46. import PartnersTab from "src/pages/unit/tabs/PartnersTab.vue";
  47. import ContractsTab from "src/pages/unit/tabs/ContractsTab.vue";
  48. import FinancialTab from "src/pages/unit/tabs/FinancialTab.vue";
  49. import HistoryTab from "src/pages/unit/tabs/HistoryTab.vue";
  50. import MediasTab from "src/pages/unit/tabs/MediasTab.vue";
  51. const route = useRoute();
  52. const activeTab = ref("unit_data");
  53. const unitId = computed(() =>
  54. route.params.id ? Number(route.params.id) : null,
  55. );
  56. const allTabs = [
  57. { name: "unit_data", label: "Dados da Unidade" },
  58. { name: "partners", label: "Sócios" },
  59. { name: "contracts", label: "Contratos" },
  60. { name: "financial", label: "Financeiro" },
  61. { name: "history", label: "Histórico" },
  62. { name: "medias", label: "Mídias" },
  63. ];
  64. const tabs = computed(() => (unitId.value ? allTabs : allTabs.slice(0, 1)));
  65. </script>