mejoras de ui UX demasido intensas
This commit is contained in:
@@ -58,6 +58,17 @@
|
||||
|
||||
<!-- Main Content -->
|
||||
<template v-else>
|
||||
<!-- Metadatos de Resumen de Ingresos -->
|
||||
<UCard class="brand-card border border-transparent">
|
||||
<template #header>
|
||||
<div class="flex items-center gap-2">
|
||||
<UIcon name="i-lucide-database" class="size-5 text-[#c08040]" />
|
||||
<h3 class="text-base font-semibold text-[var(--brand-text)]">Fuente de Datos: Resumen Diario de Ingresos</h3>
|
||||
</div>
|
||||
</template>
|
||||
<MetadatosCard v-if="resumenIngresosMetadata" :metadata="resumenIngresosMetadata" :compact="true" />
|
||||
</UCard>
|
||||
|
||||
<!-- Selector de Cosechas -->
|
||||
<UCard class="brand-card border border-transparent">
|
||||
<template #header>
|
||||
@@ -105,32 +116,6 @@
|
||||
</div>
|
||||
</UCard>
|
||||
|
||||
<!-- Metadatos de Resumen de Ingresos -->
|
||||
<div v-if="cosechasSeleccionadas.length > 0" class="grid grid-cols-1 gap-5">
|
||||
<UCard class="brand-card border border-transparent">
|
||||
<template #header>
|
||||
<div class="flex items-center gap-2">
|
||||
<UIcon name="i-lucide-database" class="size-5 text-[#c08040]" />
|
||||
<h3 class="text-base font-semibold text-[var(--brand-text)]">Fuente de Datos: Resumen Diario de Ingresos</h3>
|
||||
</div>
|
||||
</template>
|
||||
<div class="flex flex-col gap-3">
|
||||
<MetadatosCard v-if="resumenIngresosMetadata" :metadata="resumenIngresosMetadata" :compact="true" />
|
||||
<div class="text-xs text-[var(--brand-text-muted)] p-3 rounded-lg bg-[var(--brand-bg-secondary)] border border-[var(--brand-border)]">
|
||||
<p class="font-semibold mb-2">Métricas utilizadas (registros diarios):</p>
|
||||
<ul class="list-disc list-inside space-y-1 ml-2">
|
||||
<li><strong>total_peso_seco</strong> (qq)</li>
|
||||
<li><strong>peso_neto_uva</strong> (qq)</li>
|
||||
<li><strong>peso_neto_verde</strong> (qq)</li>
|
||||
<li><strong>sacos_total_dia</strong></li>
|
||||
<li><strong>Lempiras por tipo:</strong> uva, verde, mojado+oreado (combinados)</li>
|
||||
</ul>
|
||||
<p class="mt-2 text-[10px] italic">Todas las cosechas inician el 8 de septiembre y terminan el 7 de septiembre del siguiente año.</p>
|
||||
</div>
|
||||
</div>
|
||||
</UCard>
|
||||
</div>
|
||||
|
||||
<!-- Vista Heatmap -->
|
||||
<div v-if="cosechasSeleccionadas.length > 0 && pageSections.heatmap">
|
||||
<ComparativaCosechasHeatmap :ingresos="resumenIngresos" :cosechas-seleccionadas="cosechasSeleccionadas" />
|
||||
@@ -377,7 +362,7 @@ const estilosGraficasDefault = {
|
||||
|
||||
// Cargar configuración desde cookies
|
||||
function cargarConfiguracionDesdeCookies() {
|
||||
const cookie = useCookie('estilos-graficas', {
|
||||
const cookie = useCookie<typeof estilosGraficasDefault>('estilos-graficas', {
|
||||
maxAge: 60 * 60 * 24 * 365, // 1 año
|
||||
sameSite: 'lax'
|
||||
})
|
||||
@@ -399,7 +384,7 @@ const estilosGraficas = ref(cargarConfiguracionDesdeCookies())
|
||||
|
||||
// Guardar en cookies cuando cambie la configuración
|
||||
watch(estilosGraficas, (newValue) => {
|
||||
const cookie = useCookie('estilos-graficas', {
|
||||
const cookie = useCookie<typeof estilosGraficasDefault>('estilos-graficas', {
|
||||
maxAge: 60 * 60 * 24 * 365, // 1 año
|
||||
sameSite: 'lax'
|
||||
})
|
||||
@@ -425,7 +410,7 @@ const cosechasDefiniciones = [
|
||||
{ id: 'cosecha-23-24', label: 'Cosecha 23-24', periodo: '8 Sep 2023 - 7 Sep 2024', fechaInicio: '2023-09-08', fechaFin: '2024-09-07' },
|
||||
{ id: 'cosecha-24-25', label: 'Cosecha 24-25', periodo: '8 Sep 2024 - 7 Sep 2025', fechaInicio: '2024-09-08', fechaFin: '2025-09-07' },
|
||||
{ id: 'cosecha-25-26', label: 'Cosecha 25-26', periodo: '8 Sep 2025 - Hoy', fechaInicio: '2025-09-08', fechaFin: new Date().toISOString().split('T')[0] }
|
||||
]
|
||||
] as const satisfies readonly { id: string; label: string; periodo: string; fechaInicio: string; fechaFin: string }[]
|
||||
|
||||
// Calcular cuántos registros tiene cada cosecha
|
||||
const registrosPorCosecha = computed(() => {
|
||||
@@ -453,8 +438,12 @@ const cosechasDisponibles = computed(() => {
|
||||
}))
|
||||
})
|
||||
|
||||
// Cosechas seleccionadas (por defecto las más recientes con datos)
|
||||
const cosechasSeleccionadas = ref<string[]>([])
|
||||
// Cosechas seleccionadas (persistir en cookies)
|
||||
const cosechasSeleccionadas = useCookie<string[]>('comparativa-cosechas-seleccionadas', {
|
||||
default: () => [],
|
||||
maxAge: 60 * 60 * 24 * 365, // 1 año
|
||||
sameSite: 'lax'
|
||||
})
|
||||
|
||||
// Watch para filtrar cosechas deshabilitadas y seleccionar las más recientes con datos
|
||||
watch(cosechasDisponibles, (disponibles) => {
|
||||
|
||||
Reference in New Issue
Block a user