浏览代码

feat: add actions to Accounts Receivable page and implement data loading from API; temporarily remove Financial menu from navigation

ebagabee 1 月之前
父节点
当前提交
f3f0be00cd
共有 2 个文件被更改,包括 34 次插入32 次删除
  1. 33 4
      src/pages/financial/AccountsReceivablePage.vue
  2. 1 28
      src/stores/navigation.js

+ 33 - 4
src/pages/financial/AccountsReceivablePage.vue

@@ -47,6 +47,7 @@
         description="contas"
         :female="true"
         :columns="columns"
+        :actions="tableActions"
         @on-add-item="handleAddItem"
       />
       <DefaultTable
@@ -65,7 +66,8 @@
 </template>
 
 <script setup>
-import { ref } from "vue";
+import { ref, onMounted } from "vue";
+import api from "src/api";
 import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
 import DefaultTable from "src/components/defaults/DefaultTable.vue";
 import FinancialCard from "src/components/financial/FinancialCard.vue";
@@ -74,12 +76,26 @@ const showMovimentacoes = ref(false);
 const rows = ref([]);
 const movimentacoesRows = ref([]);
 
+// Para controlar as Actions e o Link do Asaas
+const tableActions = [
+  {
+    label: "Ver Boleto/Pix",
+    icon: "mdi-barcode",
+    color: "primary",
+    onClick: (row) => {
+      if (row.invoice_url) window.open(row.invoice_url, "_blank");
+      else alert("Ainda não possui link de cobrança gerado no Asaas.");
+    },
+  },
+];
+
 const columns = [
-  { name: "description", label: "Descrição", field: "description", align: "left" },
-  { name: "category", label: "Categoria", field: "category", align: "left" },
-  { name: "value", label: "Valor", field: "value", align: "left" },
+  { name: "history", label: "Descrição", field: "history", align: "left" },
+  { name: "type", label: "Categoria", field: "type", align: "left" },
+  { name: "value", label: "Valor", field: "value", align: "left", format: val => `R$ ${val}` },
   { name: "due_date", label: "Vencimento", field: "due_date", align: "left" },
   { name: "status", label: "Status", field: "status", align: "left" },
+  { name: "actions", label: "Ações", field: "actions", align: "right" }
 ];
 
 const movimentacoesColumns = [
@@ -89,5 +105,18 @@ const movimentacoesColumns = [
   { name: "status", label: "Status", field: "status", align: "left" },
 ];
 
+const loadData = async () => {
+  try {
+    const res = await api.get('/franchisee-receivable');
+    rows.value = res.data.payload;
+  } catch (error) {
+    console.error("Erro ao buscar contas a receber:", error);
+  }
+};
+
+onMounted(() => {
+  loadData();
+});
+
 const handleAddItem = () => {};
 </script>

+ 1 - 28
src/stores/navigation.js

@@ -28,34 +28,7 @@ export const navigationStore = defineStore("navigation", () => {
       disable: false,
       permission: true,
     },
-    {
-      type: "expansive",
-      title: "Financeiro",
-      name: "FinancialPage",
-      icon: "mdi-cash-multiple",
-      disable: false,
-      permission: true,
-      childrens: [
-        {
-          title: "Visão Geral",
-          name: "FinancialPage",
-          icon: "mdi-chart-line",
-          permission: true,
-        },
-        {
-          title: "Contas a Pagar",
-          name: "AccountsPayablePage",
-          icon: "mdi-cash-minus",
-          permission: true,
-        },
-        {
-          title: "Contas a Receber",
-          name: "AccountsReceivablePage",
-          icon: "mdi-cash-plus",
-          permission: true,
-        },
-      ],
-    },
+    // Menu Financeiro removido temporariamente — será refeito no módulo financeiro do Franchisee.
     {
       type: "single",
       title: "Pacotes",