Commit b2eac77025cfa04f0c3a3a676a972d3eeecf8953

Authored by Antigravity AI
1 parent c5120d94

Hito: Optimización visual de interfaz completada y registro legal SIGEM (Manual v1.1)

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: '&copy; CartoDB' 396 + attribution: '&copy; 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)
GitLab Appliance - Powered by TurnKey Linux