FranchiseePage.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div>
  3. <DefaultHeaderPage title="Franqueados" show-filter-icon />
  4. <div class="q-px-sm">
  5. <DefaultTable
  6. title="Lista de Unidades"
  7. descricao="unidades"
  8. :feminino="false"
  9. :columns
  10. add-item
  11. open-item
  12. open-item-route="UnitEditPage"
  13. :api-call="getUnits"
  14. add-item-route="UnitAddPage"
  15. />
  16. </div>
  17. </div>
  18. </template>
  19. <script setup>
  20. import { getUnits } from "src/api/unit";
  21. import DefaultTable from "src/components/defaults/DefaultTable.vue";
  22. import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
  23. import { ref } from "vue";
  24. const columns = ref([
  25. {
  26. name: "fantasy_name",
  27. label: "Unidade",
  28. field: "fantasy_name",
  29. align: "left",
  30. sortable: true,
  31. },
  32. {
  33. name: "name_responsible",
  34. label: "Responsável",
  35. field: "name_responsible",
  36. align: "left",
  37. sortable: true,
  38. },
  39. {
  40. name: "location",
  41. label: "Cidade / Estado",
  42. field: (row) =>
  43. row.city && row.state
  44. ? `${row.city.name} / ${row.state.code}`
  45. : "—",
  46. align: "left",
  47. },
  48. {
  49. name: "phone_number",
  50. label: "Telefone",
  51. field: "phone_number",
  52. align: "left",
  53. },
  54. {
  55. name: "email",
  56. label: "E-mail",
  57. field: "email",
  58. align: "left",
  59. },
  60. {
  61. name: "created_at",
  62. label: "Cadastrado em",
  63. field: "created_at",
  64. align: "left",
  65. sortable: true,
  66. },
  67. {
  68. name: "actions",
  69. label: "Ações",
  70. field: null,
  71. align: "center",
  72. },
  73. ]);
  74. </script>