Explorar el Código

feat(support): adiciona pagina de suporte

ebagabee hace 4 semanas
padre
commit
3f4ba03703
Se han modificado 3 ficheros con 131 adiciones y 0 borrados
  1. 101 0
      src/pages/support/SupportPage.vue
  2. 21 0
      src/router/routes/support.route.js
  3. 9 0
      src/stores/navigation.js

+ 101 - 0
src/pages/support/SupportPage.vue

@@ -0,0 +1,101 @@
+<template>
+  <div>
+    <DefaultHeaderPage title="Suporte"  />
+    <DefaultTable
+      ref="tableRef"
+      :columns="columns"
+      :rows="rows"
+      add-item
+      title="Tickets"
+      :female="false"
+      no-api-call
+      description="tickets"
+    >
+      <template #body-cell-actions="{ row }">
+        <q-btn
+          outline
+          icon="mdi-pencil-outline"
+          style="width: 36px"
+          @click.prevent.stop="handleEdit(row)"
+        />
+        <q-btn
+          outline
+          icon="mdi-trash-can-outline"
+          style="width: 36px"
+          color="negative"
+          @click.prevent.stop="handleDelete(row)"
+        />
+      </template>
+    </DefaultTable>
+  </div>
+</template>
+
+<script setup>
+import { ref, useTemplateRef } from "vue";
+
+import DefaultTable from "src/components/defaults/DefaultTable.vue";
+import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
+
+const tableRef = useTemplateRef("tableRef");
+const rows = ref([])
+
+const columns = [
+  {
+    name: "ticket",
+    label: "Ticket",
+    field: "ticket",
+    align: "left",
+    sortable: true,
+    required: true,
+  },
+  {
+    name: "prioridade",
+    label: "Prioridade",
+    field: "prioridade",
+    align: "left",
+    sortable: true,
+  },
+  {
+    name: "data",
+    label: "Data",
+    field: "data",
+    align: "left",
+    sortable: true,
+  },
+  {
+    name: "setor",
+    label: "Setor",
+    field: "setor",
+    align: "left",
+    sortable: true,
+  },
+  {
+    name: "descricao",
+    label: "Descrição",
+    field: "descricao",
+    align: "left",
+  },
+  {
+    name: "status",
+    label: "Status",
+    field: "status",
+    align: "left",
+    sortable: true,
+  },
+  {
+    name: "actions",
+    label: "Ações",
+    field: "actions",
+    align: "center",
+    required: true,
+  },
+];
+
+const handleEdit = () => {
+  // TODO: implement edit
+};
+
+const handleDelete = () => {
+  // TODO: implement delete
+};
+</script>

+ 21 - 0
src/router/routes/support.route.js

@@ -0,0 +1,21 @@
+export default [
+  {
+    path: "/support",
+    name: "SupportPage",
+    component: () => import("pages/support/SupportPage.vue"),
+    meta: {
+      title: {
+        value: "Suporte",
+        translate: false,
+      },
+      requireAuth: true,
+      requiredPermission: "dashboard",
+      breadcrumbs: [
+        {
+          name: "SupportPage",
+          title: "Suporte",
+        },
+      ],
+    },
+  },
+];

+ 9 - 0
src/stores/navigation.js

@@ -49,6 +49,15 @@ export const navigationStore = defineStore("navigation", () => {
       permission: false,
       permissionScope: "dashboard",
     },
+    {
+      type: "single",
+      title: "Suporte",
+      name: "SupportPage",
+      icon: "mdi-headset",
+      disable: false,
+      permission: false,
+      permissionScope: "dashboard",
+    },
     {
       type: "single",
       title: "Cadastros",