feat/49-provenance #54

Merged
mono merged 22 commits from feat/49-provenance into main 2026-08-16 22:21:13 -05:00
Owner

Descripción

Implementa un mapa interactivo de Leaflet en el resumen público de pedidos que muestra la ubicación geográfica de origen de cada producto junto con un recuadro lateral de navegación.

2026-08-16_12_00_39.png

2026-08-16_12_00_58.png

2026-08-16_21_26_20.png

Cambios principales

Mapa Leaflet con geolocalización de productos (src/components/provenance/ProvenanceMap.vue):

  • Marcador por producto en el municipio de origen, usando municipality.latitude/longitude del payload del backend
  • Ícono de persona roja en la posición de la tienda (vía settings store + getStoreSettings)
  • Líneas discontinuas de hover: sobre un producto dibuja una línea hasta la tienda; sobre la tienda dibuja las de todos
  • Marcadores superpuestos en el mismo punto se agrupan con contador; al hacer clic se despliega la lista de productos internos
  • Popup de detalle de producto (imagen + proveedor + organización + territorio) anclado al ícono del mapa, reemplazando el modal web para productos con geolocalización

Panel lateral izquierdo estilo:

  • Lista todos los productos del payload, incluidos los sin proveedor o sin geolocalización ("Sin geolocalización")
  • Clic en un producto con ubicación hace flyTo y abre el popup en el marcador
  • Clic en un producto sin ubicación abre ProvenanceRelationModal con la info disponible
  • Botón mdi-fit-to-page en el título del panel para volver al zoom general

Componente modal para sin geolocalización (src/components/provenance/ProvenanceRelationModal.vue):

  • Soporta productos sin proveedor vinculado (nota "Aún no se ha vinculado un proveedor...")
  • Soporta relaciones sin municipio (nota "Aún sin geolocalización registrada.")

Pruebas

  • 132 tests, 17 archivos, todos verdes
  • Tests del mapa: agrupamiento, popups de grupo/detalle, hover de tienda, panel lateral, zoom general, sin geolocalización
  • Tests del modal: notas para sin proveedor y sin geolocalización
  • Lint limpio y build OK
## Descripción Implementa un mapa interactivo de Leaflet en el resumen público de pedidos que muestra la ubicación geográfica de origen de cada producto junto con un recuadro lateral de navegación. ![2026-08-16_12_00_39.png](/attachments/13af55df-36a0-4032-87b5-2881cf772ee3) ![2026-08-16_12_00_58.png](/attachments/2008838e-81ee-44f2-8ba1-1fb6f00488ac) ![2026-08-16_21_26_20.png](/attachments/97c29022-695c-439e-ba5b-4e2f78c2ffd0) ## Cambios principales **Mapa Leaflet con geolocalización de productos** (`src/components/provenance/ProvenanceMap.vue`): - Marcador por producto en el municipio de origen, usando `municipality.latitude/longitude` del payload del backend - Ícono de persona roja en la posición de la tienda (vía `settings store` + `getStoreSettings`) - Líneas discontinuas de hover: sobre un producto dibuja una línea hasta la tienda; sobre la tienda dibuja las de todos - Marcadores superpuestos en el mismo punto se agrupan con contador; al hacer clic se despliega la lista de productos internos - Popup de detalle de producto (imagen + proveedor + organización + territorio) anclado al ícono del mapa, reemplazando el modal web para productos con geolocalización **Panel lateral izquierdo** estilo: - Lista todos los productos del payload, incluidos los sin proveedor o sin geolocalización ("Sin geolocalización") - Clic en un producto con ubicación hace `flyTo` y abre el popup en el marcador - Clic en un producto sin ubicación abre `ProvenanceRelationModal` con la info disponible - Botón `mdi-fit-to-page` en el título del panel para volver al zoom general **Componente modal para sin geolocalización** (`src/components/provenance/ProvenanceRelationModal.vue`): - Soporta productos sin proveedor vinculado (nota "Aún no se ha vinculado un proveedor...") - Soporta relaciones sin municipio (nota "Aún sin geolocalización registrada.") ## Pruebas - **132 tests**, 17 archivos, todos verdes - Tests del mapa: agrupamiento, popups de grupo/detalle, hover de tienda, panel lateral, zoom general, sin geolocalización - Tests del modal: notas para sin proveedor y sin geolocalización - Lint limpio y build OK
mono self-assigned this 2026-08-16 04:24:38 -05:00
mono added 16 commits 2026-08-16 04:24:38 -05:00
mono added 3 commits 2026-08-16 12:36:07 -05:00
mono added 3 commits 2026-08-16 21:28:20 -05:00
mono merged commit e81dbb8154 into main 2026-08-16 22:21:13 -05:00
mono deleted branch feat/49-provenance 2026-08-16 22:21:13 -05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OneTeam/don_confiao_frontend#54
No description provided.