فهرست منبع

feat: adiciona rotas e Tabs para tela de TBR

ebagabee 1 هفته پیش
والد
کامیت
391c418b80

+ 39 - 0
src/pages/tbr/TbrPage.vue

@@ -0,0 +1,39 @@
+<script setup>
+import { ref, defineAsyncComponent } from "vue";
+import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
+import CustomTabComponent from "src/components/shared/CustomTabComponent.vue";
+
+const SettingsTab = defineAsyncComponent(() => import("./tabs/SettingsTab.vue"));
+const BillingGenerationTab = defineAsyncComponent(() => import("./tabs/BillingGenerationTab.vue"));
+const GeneratedBillingsTab = defineAsyncComponent(() => import("./tabs/GeneratedBillingsTab.vue"));
+
+const currentTab = ref("settings");
+
+const tabs = [
+  { name: "settings", label: "Configurações" },
+  { name: "billing-generation", label: "Geração de Cobranças" },
+  { name: "generated-billings", label: "Ver Cobranças Geradas" },
+];
+</script>
+
+<template>
+  <div>
+    <DefaultHeaderPage title="TBR - Configurações" />
+
+    <div class="q-px-sm">
+      <CustomTabComponent v-model:active-tab="currentTab" :tabs="tabs" class="q-mb-md" />
+
+      <div v-show="currentTab === 'settings'">
+        <SettingsTab />
+      </div>
+
+      <div v-show="currentTab === 'billing-generation'">
+        <BillingGenerationTab />
+      </div>
+
+      <div v-show="currentTab === 'generated-billings'">
+        <GeneratedBillingsTab />
+      </div>
+    </div>
+  </div>
+</template>

+ 8 - 0
src/pages/tbr/tabs/BillingGenerationTab.vue

@@ -0,0 +1,8 @@
+<script setup>
+</script>
+
+<template>
+  <div>
+    <h6>Geração de Cobranças</h6>
+  </div>
+</template>

+ 8 - 0
src/pages/tbr/tabs/GeneratedBillingsTab.vue

@@ -0,0 +1,8 @@
+<script setup>
+</script>
+
+<template>
+  <div>
+    <h6>Ver Cobranças Geradas</h6>
+  </div>
+</template>

+ 8 - 0
src/pages/tbr/tabs/SettingsTab.vue

@@ -0,0 +1,8 @@
+<script setup>
+</script>
+
+<template>
+  <div>
+    <h6>Configurações</h6>
+  </div>
+</template>

+ 24 - 0
src/router/routes/tbr.route.js

@@ -0,0 +1,24 @@
+export default [
+  {
+    path: "/tbr",
+    name: "TbrPage",
+    component: () => import("pages/tbr/TbrPage.vue"),
+    meta: {
+      title: {
+        value: "TBR - Configurações",
+        translate: false,
+      },
+      requireAuth: true,
+      breadcrumbs: [
+        {
+          name: "DashboardPage",
+          title: "Dashboard",
+        },
+        {
+          name: "TbrPage",
+          title: "TBR",
+        },
+      ],
+    },
+  },
+];

+ 9 - 0
src/stores/navigation.js

@@ -39,6 +39,15 @@ export const navigationStore = defineStore("navigation", () => {
       disable: false,
       permission: false,
       permissionScope: "dashboard"
+    },
+    {
+      type: "single",
+      title: "TBR",
+      name: "TbrPage",
+      icon: "mdi-database-outline",
+      disable: false,
+      permission: false,
+      permissionScope: "dashboard"
     }
   ]);