Commit b2eac77025cfa04f0c3a3a676a972d3eeecf8953
1 parent
c5120d94
Hito: Optimización visual de interfaz completada y registro legal SIGEM (Manual v1.1)
Showing
2 changed files
with
36 additions
and
46 deletions
VERSION.txt
| 1 | -PROYECTO GIS-GEOSERVER - 2026.04.02.13.00.00 | 1 | +PROYECTO GIS-GEOSERVER - 2026.04.02.13.00.00 |
| 2 | PROYECTO GIS-GEOSERVER - 2026.04.03.11.58.33 | 2 | PROYECTO GIS-GEOSERVER - 2026.04.03.11.58.33 |
| 3 | PROYECTO GIS-GEOSERVER - 2026.04.03.16.10.00 | 3 | PROYECTO GIS-GEOSERVER - 2026.04.03.16.10.00 |
| 4 | PROYECTO GIS-GEOSERVER - 2026.04.04.20.43.27 ID DOCKER: 932819b9d2da | 4 | PROYECTO GIS-GEOSERVER - 2026.04.04.20.43.27 ID DOCKER: 932819b9d2da |
| @@ -7,4 +7,5 @@ PROYECTO GIS-GEOSERVER - 2026.04.05.04.28.49 ID DOCKER: c68e229b6d94. Observacià | @@ -7,4 +7,5 @@ PROYECTO GIS-GEOSERVER - 2026.04.05.04.28.49 ID DOCKER: c68e229b6d94. Observacià | ||
| 7 | PROYECTO GIS-GEOSERVER - 2026.04.05.06.31.00 ID DOCKER: c68e229b6d94. Observación: Reestructuración pura de BaseMap y soporte Google auto-escalado satelital. | 7 | PROYECTO GIS-GEOSERVER - 2026.04.05.06.31.00 ID DOCKER: c68e229b6d94. Observación: Reestructuración pura de BaseMap y soporte Google auto-escalado satelital. |
| 8 | PROYECTO GIS-GEOSERVER - 2026.04.06.01.13.00 ID DOCKER: d983a409769d. Observación: Integración exitosa de Landing Page AdminLTE 3 con aislamiento de iFrame para Visor GIS. | 8 | PROYECTO GIS-GEOSERVER - 2026.04.06.01.13.00 ID DOCKER: d983a409769d. Observación: Integración exitosa de Landing Page AdminLTE 3 con aislamiento de iFrame para Visor GIS. |
| 9 | PROYECTO GIS-GEOSERVER - 2026.04.06.12.44.00 ID DOCKER: d983a409769d. Observación: Backup completo preventivo de la versión con estructura de Git corregida y Landing Page AdminLTE. | 9 | PROYECTO GIS-GEOSERVER - 2026.04.06.12.44.00 ID DOCKER: d983a409769d. Observación: Backup completo preventivo de la versión con estructura de Git corregida y Landing Page AdminLTE. |
| 10 | -PROYECTO GIS-GEOSERVER - 2026.04.06.13.31.00 ID DOCKER: d983a409769d. Observación: Prueba de funcionamiento del Manual v1.1 tras estandarización de prefijos y manual de recuperación. | ||
| 11 | \ No newline at end of file | 10 | \ No newline at end of file |
| 11 | +PROYECTO GIS-GEOSERVER - 2026.04.06.13.31.00 ID DOCKER: d983a409769d. Observación: Prueba de funcionamiento del Manual v1.1 tras estandarización de prefijos y manual de recuperación. | ||
| 12 | +PROYECTO GIS-GEOSERVER - 2026.04.07.08.18.07 ID DOCKER: d983a409769d. Observación: Optimización visual de interfaz completada: unificación de anchos al 100%, limpieza de barra superior, traslado de controles al sidebar y registro legal SIGEM-MIC/DINAPI. | ||
| 12 | \ No newline at end of file | 13 | \ No newline at end of file |
src/main/resources/static/mapas.html
| @@ -14,6 +14,9 @@ | @@ -14,6 +14,9 @@ | ||
| 14 | <script src="https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.js"></script> | 14 | <script src="https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.js"></script> |
| 15 | <link href="https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.css" rel="stylesheet" /> | 15 | <link href="https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.css" rel="stylesheet" /> |
| 16 | <style> | 16 | <style> |
| 17 | + * { | ||
| 18 | + box-sizing: border-box; | ||
| 19 | + } | ||
| 17 | body, | 20 | body, |
| 18 | html { | 21 | html { |
| 19 | height: 100%; | 22 | height: 100%; |
| @@ -29,10 +32,10 @@ | @@ -29,10 +32,10 @@ | ||
| 29 | background: #1e293b; | 32 | background: #1e293b; |
| 30 | display: flex; | 33 | display: flex; |
| 31 | align-items: center; | 34 | align-items: center; |
| 35 | + justify-content: center; | ||
| 32 | padding: 0 20px; | 36 | padding: 0 20px; |
| 33 | box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); | 37 | box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); |
| 34 | font-weight: bold; | 38 | font-weight: bold; |
| 35 | - justify-content: space-between; | ||
| 36 | position: relative; | 39 | position: relative; |
| 37 | z-index: 1001; | 40 | z-index: 1001; |
| 38 | } | 41 | } |
| @@ -58,7 +61,7 @@ | @@ -58,7 +61,7 @@ | ||
| 58 | } | 61 | } |
| 59 | 62 | ||
| 60 | .sidebar { | 63 | .sidebar { |
| 61 | - width: 340px; | 64 | + width: 170px; |
| 62 | background: #0f172a; | 65 | background: #0f172a; |
| 63 | border-right: 1px solid rgba(255, 255, 255, 0.1); | 66 | border-right: 1px solid rgba(255, 255, 255, 0.1); |
| 64 | overflow-y: auto; | 67 | overflow-y: auto; |
| @@ -87,6 +90,7 @@ | @@ -87,6 +90,7 @@ | ||
| 87 | margin-bottom: 4px; | 90 | margin-bottom: 4px; |
| 88 | border: 1px solid transparent; | 91 | border: 1px solid transparent; |
| 89 | text-decoration: none; | 92 | text-decoration: none; |
| 93 | + font-size: 11px; | ||
| 90 | } | 94 | } |
| 91 | 95 | ||
| 92 | .menu-item:hover { | 96 | .menu-item:hover { |
| @@ -139,21 +143,11 @@ | @@ -139,21 +143,11 @@ | ||
| 139 | margin-top: 5px; | 143 | margin-top: 5px; |
| 140 | } | 144 | } |
| 141 | 145 | ||
| 142 | - /* Map Title Overlay */ | ||
| 143 | - .map-title-overlay { | ||
| 144 | - position: absolute; | ||
| 145 | - top: 20px; | ||
| 146 | - left: 50%; | ||
| 147 | - transform: translateX(-50%); | ||
| 148 | - background: rgba(15, 23, 42, 0.9); | ||
| 149 | - padding: 8px 24px; | ||
| 150 | - border-radius: 50px; | ||
| 151 | - border: 1px solid rgba(255, 255, 255, 0.1); | 146 | + /* Map Title in Header */ |
| 147 | + .header-title { | ||
| 152 | color: #fff; | 148 | color: #fff; |
| 153 | font-weight: 700; | 149 | font-weight: 700; |
| 154 | - font-size: 13px; | ||
| 155 | - z-index: 1000; | ||
| 156 | - backdrop-filter: blur(8px); | 150 | + font-size: 14px; |
| 157 | text-transform: uppercase; | 151 | text-transform: uppercase; |
| 158 | letter-spacing: 1px; | 152 | letter-spacing: 1px; |
| 159 | } | 153 | } |
| @@ -314,28 +308,32 @@ | @@ -314,28 +308,32 @@ | ||
| 314 | 308 | ||
| 315 | <body> | 309 | <body> |
| 316 | <div class="header"> | 310 | <div class="header"> |
| 317 | - <div>SIGEM GIS <span id="user-greeting" | ||
| 318 | - style="font-size: 13px; font-weight: normal; margin-left: 10px; opacity: 0.7;"></span></div> | ||
| 319 | - <button class="logout-btn" onclick="logout()">Cerrar Sesión</button> | 311 | + <div id="map-title" class="header-title">Vista Cartográfica General</div> |
| 320 | </div> | 312 | </div> |
| 321 | <div class="app-container"> | 313 | <div class="app-container"> |
| 322 | <div class="sidebar"> | 314 | <div class="sidebar"> |
| 323 | <div id="stats-dashboard"> | 315 | <div id="stats-dashboard"> |
| 324 | <div class="menu-title">Resumen Municipal</div> | 316 | <div class="menu-title">Resumen Municipal</div> |
| 325 | - <div class="stats-grid"> | ||
| 326 | - <div class="stat-card"> | ||
| 327 | - <div class="stat-label">Total Lotes</div> | ||
| 328 | - <div id="stat-lotes" class="stat-value">...</div> | ||
| 329 | - </div> | ||
| 330 | - <div class="stat-card" style="display: none;"> | ||
| 331 | - <div class="stat-label">Morosidad</div> | ||
| 332 | - <div id="stat-morosos" class="stat-value" style="color: #f87171;">...</div> | ||
| 333 | - </div> | 317 | + |
| 318 | + <div class="stat-card" style="width: 100%; padding: 12px 16px; border-radius: 10px; margin-bottom: 20px;"> | ||
| 319 | + <div class="stat-label">Total Lotes</div> | ||
| 320 | + <div id="stat-lotes" class="stat-value" style="font-size: 14px;">...</div> | ||
| 334 | </div> | 321 | </div> |
| 322 | + | ||
| 323 | + | ||
| 335 | </div> | 324 | </div> |
| 336 | 325 | ||
| 337 | <div class="menu-title">Control de Gestión</div> | 326 | <div class="menu-title">Control de Gestión</div> |
| 338 | - <div id="menu-reset" class="menu-item active" onclick="resetMap()">Capas Base</div> | 327 | + <div id="menu-reset" class="menu-item active" onclick="resetMap()" style="width: 100%;">Capas Base</div> |
| 328 | + <div style="margin-top: 5px; width: 100%;"> | ||
| 329 | + <select id="base-layer-select" | ||
| 330 | + style="background: rgba(255, 255, 255, 0.05); color: #94a3b8; border: 1px solid rgba(255,255,255,0.1); padding: 8px 12px; border-radius: 6px; font-size: 10px; cursor: pointer; width: 100%; height: 35px;"> | ||
| 331 | + <option value="dark">CartoDB Dark</option> | ||
| 332 | + <option value="streets">OpenStreetMap</option> | ||
| 333 | + <option value="satellite">Esri Satélite</option> | ||
| 334 | + <option value="google">Google Satélite</option> | ||
| 335 | + </select> | ||
| 336 | + </div> | ||
| 339 | 337 | ||
| 340 | <div class="menu-title">Mapas Tributarios</div> | 338 | <div class="menu-title">Mapas Tributarios</div> |
| 341 | <div class="submenu"> | 339 | <div class="submenu"> |
| @@ -344,7 +342,7 @@ | @@ -344,7 +342,7 @@ | ||
| 344 | <div id="menu-percentiles" class="menu-item" onclick="setHeatmap('percentiles')">Por Monto Adeudado</div> | 342 | <div id="menu-percentiles" class="menu-item" onclick="setHeatmap('percentiles')">Por Monto Adeudado</div> |
| 345 | <div id="menu-wms-test" class="menu-item" onclick="toggleWmsLayer()" | 343 | <div id="menu-wms-test" class="menu-item" onclick="toggleWmsLayer()" |
| 346 | style="color: #fbbf24; border-top: 1px dashed #444; margin-top: 5px; font-weight: bold; display: none;"> | 344 | style="color: #fbbf24; border-top: 1px dashed #444; margin-top: 5px; font-weight: bold; display: none;"> |
| 347 | - Vista PNG (Full) <span id="wms-status" style="font-size: 9px; opacity: 0.6;">[OFF]</span> | 345 | + Vista Lotes <span id="wms-status" style="font-size: 9px; opacity: 0.6;">[OFF]</span> |
| 348 | </div> | 346 | </div> |
| 349 | </div> | 347 | </div> |
| 350 | 348 | ||
| @@ -364,23 +362,13 @@ | @@ -364,23 +362,13 @@ | ||
| 364 | Fuente: Sistema SIGEM</div> | 362 | Fuente: Sistema SIGEM</div> |
| 365 | </div> | 363 | </div> |
| 366 | 364 | ||
| 367 | - <!-- Selector de Capas Base --> | ||
| 368 | - <div class="layer-switcher" style="position: absolute; top: 15px; left: 15px; z-index: 1000;"> | ||
| 369 | - <select id="base-layer-select" | ||
| 370 | - style="background: rgba(15, 23, 42, 0.9); color: white; border: 1px solid rgba(255,255,255,0.2); padding: 5px 10px; border-radius: 8px; font-size: 11px; cursor: pointer; backdrop-filter: blur(8px);"> | ||
| 371 | - <option value="dark">CartoDB Dark</option> | ||
| 372 | - <option value="streets">OpenStreetMap</option> | ||
| 373 | - <option value="satellite">Esri Satélite</option> | ||
| 374 | - <option value="google">Google Satélite</option> | ||
| 375 | - </select> | ||
| 376 | - </div> | ||
| 377 | - <div id="map-title" class="map-title-overlay">Vista Cartográfica General</div> | 365 | + |
| 366 | + | ||
| 378 | </div> | 367 | </div> |
| 379 | </div> | 368 | </div> |
| 380 | 369 | ||
| 381 | <script> | 370 | <script> |
| 382 | - const userName = localStorage.getItem('user_name'); | ||
| 383 | - if (userName) document.getElementById('user-greeting').innerText = `| Bienvenido, ${userName}`; | 371 | + |
| 384 | 372 | ||
| 385 | const entidad = localStorage.getItem('entidad') || '505'; | 373 | const entidad = localStorage.getItem('entidad') || '505'; |
| 386 | const token = localStorage.getItem('jwt'); | 374 | const token = localStorage.getItem('jwt'); |
| @@ -405,7 +393,7 @@ | @@ -405,7 +393,7 @@ | ||
| 405 | type: 'raster', | 393 | type: 'raster', |
| 406 | tiles: ['https://a.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png'], | 394 | tiles: ['https://a.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png'], |
| 407 | tileSize: 256, | 395 | tileSize: 256, |
| 408 | - attribution: '© CartoDB' | 396 | + attribution: '© CartoDB - SIGEM-REGISTRO MIC/DINAPI 593-7/Julio/2016' |
| 409 | } | 397 | } |
| 410 | }, | 398 | }, |
| 411 | layers: [{ | 399 | layers: [{ |
| @@ -524,7 +512,8 @@ | @@ -524,7 +512,8 @@ | ||
| 524 | type: 'raster', | 512 | type: 'raster', |
| 525 | tiles: [config.url], | 513 | tiles: [config.url], |
| 526 | tileSize: 256, | 514 | tileSize: 256, |
| 527 | - maxzoom: config.sourceMax // Limite del satélite, a partir de acá MapLibre estirará la foto | 515 | + maxzoom: config.sourceMax, |
| 516 | + attribution: 'SIGEM-REGISTRO MIC/DINAPI 593-7/Julio/2016' | ||
| 528 | }); | 517 | }); |
| 529 | 518 | ||
| 530 | // Empujar el fondo debajo de todas las capas existentes (cero interferencia visual) | 519 | // Empujar el fondo debajo de todas las capas existentes (cero interferencia visual) |