|
|
@@ -11,7 +11,6 @@
|
|
|
label="Unidade"
|
|
|
style="width: 250px; flex-shrink: 0"
|
|
|
color="secondary"
|
|
|
- label-color="secondary"
|
|
|
hide-dropdown-icon
|
|
|
>
|
|
|
<template #append>
|
|
|
@@ -164,7 +163,7 @@
|
|
|
<div class="stat-cards-row">
|
|
|
<DashboardStatCard
|
|
|
title="Total alunos (contratos ativos)"
|
|
|
- icon="mdi-account-multiple"
|
|
|
+ icon="mdi-account-multiple-outline"
|
|
|
value="4.527"
|
|
|
badge="3.200 ativos"
|
|
|
/>
|
|
|
@@ -206,6 +205,9 @@
|
|
|
:datasets="matriculasChart.datasets"
|
|
|
:bar-radius="50"
|
|
|
:show-datalabels="true"
|
|
|
+ :max-bar-thickness="44"
|
|
|
+ :category-percentage="0.6"
|
|
|
+ :bar-percentage="0.85"
|
|
|
class="full-width full-height"
|
|
|
/>
|
|
|
</DashboardChartCard>
|
|
|
@@ -219,7 +221,8 @@
|
|
|
icon="mdi-account-multiple-outline"
|
|
|
value="87%"
|
|
|
badge="Alta"
|
|
|
- badge-color="positive"
|
|
|
+ badge-color="approved"
|
|
|
+ custom-style="padding: 6px 24px"
|
|
|
/>
|
|
|
<DashboardStatCard
|
|
|
title="Estoque Geral de Produtos"
|
|
|
@@ -275,16 +278,15 @@ const periodOptions = [
|
|
|
{ label: "Personalizado", value: "custom" },
|
|
|
];
|
|
|
|
|
|
-// --- Aniversariantes do Mês (hardcoded) ---
|
|
|
const aniversariantes = [
|
|
|
{ day: 10, name: "Heloisa Faria" },
|
|
|
- { day: 7, name: "Juliana Costa" },
|
|
|
- { day: 24, name: "Fernando Almeida" },
|
|
|
- { day: 28, name: "Patrícia Lima" },
|
|
|
+ { day: 11, name: "Juliana Costa" },
|
|
|
+ { day: 16, name: "Juliana Costa" },
|
|
|
+ { day: 23, name: "Fernando Almeida" },
|
|
|
+ { day: 29, name: "Lucas Pereira" },
|
|
|
+ { day: 34, name: "Sofia Martins" },
|
|
|
];
|
|
|
-// -------------------------------------------
|
|
|
|
|
|
-// --- Matrículas por Período (hardcoded) ---
|
|
|
const matriculasChart = {
|
|
|
labels: ["JAN", "FEV", "MAR", "ABR", "MAI", "JUN"],
|
|
|
datasets: [
|
|
|
@@ -295,21 +297,32 @@ const matriculasChart = {
|
|
|
},
|
|
|
],
|
|
|
};
|
|
|
-// ---------------------------------------------------
|
|
|
|
|
|
-// --- Faturamento Serviço / Materiais (hardcoded) ---
|
|
|
const faturamentoChart = {
|
|
|
- labels: ["17/02", "20/02", "23/02", "26/02"],
|
|
|
+ labels: [
|
|
|
+ "17/02",
|
|
|
+ "18/02",
|
|
|
+ "19/02",
|
|
|
+ "20/02",
|
|
|
+ "21/02",
|
|
|
+ "22/02",
|
|
|
+ "23/02",
|
|
|
+ "24/02",
|
|
|
+ "25/02",
|
|
|
+ "26/02",
|
|
|
+ ],
|
|
|
datasets: [
|
|
|
{
|
|
|
label: "Serviço",
|
|
|
- data: [18500, 22300, 15800, 27600],
|
|
|
- color: "#7C3AED",
|
|
|
+ data: [
|
|
|
+ 18500, 21000, 16400, 22300, 19800, 17200, 15800, 24100, 20500, 27600,
|
|
|
+ ],
|
|
|
+ color: "#a274f1",
|
|
|
},
|
|
|
{
|
|
|
label: "Materiais",
|
|
|
- data: [9200, 11400, 8700, 13100],
|
|
|
- color: "#EC4899",
|
|
|
+ data: [9200, 10500, 8100, 11400, 9800, 8400, 8700, 12200, 10100, 13100],
|
|
|
+ color: "#ff9999",
|
|
|
},
|
|
|
],
|
|
|
};
|
|
|
@@ -323,7 +336,6 @@ const formatCurrencyTooltip = (context) => {
|
|
|
const value = context.parsed.y;
|
|
|
return ` ${context.dataset.label}: R$ ${value.toLocaleString("pt-BR", { minimumFractionDigits: 2 })}`;
|
|
|
};
|
|
|
-// ---------------------------------------------------
|
|
|
|
|
|
const ordersChart = ref({});
|
|
|
const participantsChart = ref({});
|
|
|
@@ -500,18 +512,21 @@ onMounted(async () => {
|
|
|
|
|
|
.stat-cards-row {
|
|
|
display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
+ flex-wrap: nowrap;
|
|
|
gap: 16px;
|
|
|
}
|
|
|
|
|
|
.stat-cards-row > * {
|
|
|
- flex: 1 1 200px;
|
|
|
- min-width: 180px;
|
|
|
+ flex: 1 1 0;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
@media (max-width: 599px) {
|
|
|
+ .stat-cards-row {
|
|
|
+ flex-wrap: wrap;
|
|
|
+ }
|
|
|
.stat-cards-row > * {
|
|
|
- flex: 1 1 100%;
|
|
|
+ flex: 1 1 calc(50% - 8px);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -521,14 +536,19 @@ onMounted(async () => {
|
|
|
gap: 16px;
|
|
|
}
|
|
|
|
|
|
-.charts-row > * {
|
|
|
- flex: 1 1 350px;
|
|
|
- min-width: 280px;
|
|
|
+.charts-row > *:nth-child(1) {
|
|
|
+ flex: 0 0 calc(41.6667% - 11px);
|
|
|
+ min-width: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.charts-row > *:nth-child(2) {
|
|
|
+ flex: 0 0 calc(33.3333% - 11px);
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
-.charts-row > *:last-child {
|
|
|
- flex: 0 1 240px;
|
|
|
- min-width: 200px;
|
|
|
+.charts-row > *:nth-child(3) {
|
|
|
+ flex: 0 0 calc(25% - 11px);
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
@media (max-width: 599px) {
|