diff --git a/nuxt4-app/app/pages/informe-ingresos.vue b/nuxt4-app/app/pages/informe-ingresos.vue
index 0032fff..09d955e 100644
--- a/nuxt4-app/app/pages/informe-ingresos.vue
+++ b/nuxt4-app/app/pages/informe-ingresos.vue
@@ -73,51 +73,58 @@
-
-
-
-
-
-
-
+
@@ -239,51 +246,58 @@
-
-
-
-
-
-
-
+
@@ -423,23 +437,12 @@ const selectedPreset = ref('cosecha-25-26')
const fechaDesde = ref(null)
const fechaHasta = ref(null)
-// Filtros avanzados - clientes y ubicaciones
+// Filtros avanzados - todos usando arrays para CheckboxGroup
const selectedClienteIds = ref([])
const selectedUbicaciones = ref([])
const selectedCalidades = ref([])
-
-// Filtros avanzados - usando checkboxes separados
-const filterTipos = ref({
- uva: false,
- mojado: false,
- oreado: false,
- verde: false
-})
-
-const filterEstados = ref({
- pagado: false,
- pendiente: false
-})
+const selectedTipos = ref([])
+const selectedEstados = ref([])
// Opciones de filtros disponibles (desde Metabase)
const opcionesFiltros = ref({
@@ -449,22 +452,19 @@ const opcionesFiltros = ref({
estados: [] as string[]
})
-// Convertir checkboxes a arrays para el API
-const tiposArray = computed(() => {
- const tipos: string[] = []
- if (filterTipos.value.uva) tipos.push('uva')
- if (filterTipos.value.mojado) tipos.push('mojado')
- if (filterTipos.value.oreado) tipos.push('oreado')
- if (filterTipos.value.verde) tipos.push('verde')
- return tipos
-})
+// Items para CheckboxGroup de Tipos
+const tiposItems = computed(() => [
+ { label: 'Uva', value: 'uva' },
+ { label: 'Mojado', value: 'mojado' },
+ { label: 'Oreado', value: 'oreado' },
+ { label: 'Verde', value: 'verde' }
+])
-const estadosArray = computed(() => {
- const estados: string[] = []
- if (filterEstados.value.pagado) estados.push('pagado')
- if (filterEstados.value.pendiente) estados.push('pendiente')
- return estados
-})
+// Items para CheckboxGroup de Estados
+const estadosItems = computed(() => [
+ { label: 'Pagado', value: 'pagado' },
+ { label: 'Pendiente', value: 'pendiente' }
+])
// Filtros aplicados (los que se usaron en la última carga de datos)
const appliedFilters = ref<{
@@ -499,8 +499,8 @@ const hasPendingChanges = computed(() => {
JSON.stringify(selectedClienteIds.value) !== JSON.stringify(appliedFilters.value.clienteIds) ||
JSON.stringify(selectedUbicaciones.value) !== JSON.stringify(appliedFilters.value.ubicaciones) ||
JSON.stringify(selectedCalidades.value) !== JSON.stringify(appliedFilters.value.calidades) ||
- JSON.stringify(tiposArray.value) !== JSON.stringify(appliedFilters.value.tipos) ||
- JSON.stringify(estadosArray.value) !== JSON.stringify(appliedFilters.value.estados)
+ JSON.stringify(selectedTipos.value) !== JSON.stringify(appliedFilters.value.tipos) ||
+ JSON.stringify(selectedEstados.value) !== JSON.stringify(appliedFilters.value.estados)
)
})
@@ -521,8 +521,8 @@ async function loadData() {
fecha_hasta: fechaHasta.value,
incluir_anulados: includeAnulados.value,
cliente_ids: selectedClienteIds.value,
- tipos: tiposArray.value,
- estados: estadosArray.value,
+ tipos: selectedTipos.value,
+ estados: selectedEstados.value,
ubicaciones: selectedUbicaciones.value,
calidades: selectedCalidades.value,
granularidad: 'dia' // Default granularity
@@ -551,8 +551,8 @@ async function loadData() {
clienteIds: [...selectedClienteIds.value],
ubicaciones: [...selectedUbicaciones.value],
calidades: [...selectedCalidades.value],
- tipos: [...tiposArray.value],
- estados: [...estadosArray.value]
+ tipos: [...selectedTipos.value],
+ estados: [...selectedEstados.value]
}
console.log('[Informe] Datos cargados:', result)