landing.html 8.85 KB
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>SIGEMWEB - Dashboard</title>

  <!-- Google Font: Source Sans Pro -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
  <style>
      .content-wrapper { padding: 0; margin-left: 250px; height: calc(100vh - 57px); overflow: hidden; }
      iframe#main-iframe { width: 100%; height: 100%; border: none; }
      .brand-link { background-color: #0056b3 !important; color: white !important; font-weight: bold;}
      .main-header { background-color: #006ddb !important; border-bottom: none; }
      .navbar-light .navbar-nav .nav-link { color: white; font-weight: 600;}
      /* Treeview in popup */
      .modal-treeview ul { list-style-type: none; padding-left: 20px; }
      .modal-treeview li { margin-bottom: 5px; cursor: default;}
      .modal-treeview li span { font-size: 14px; font-weight: 500; }
      .modal-treeview li span.clickable:hover { color: #0056b3; cursor: pointer; font-weight: bold; }
  </style>
</head>
<body class="hold-transition sidebar-mini layout-fixed">
<div class="wrapper">

  <!-- Navbar -->
  <nav class="main-header navbar navbar-expand navbar-light">
    <!-- Left navbar links -->
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <div class="nav-link p-0" style="color: white; margin-left:15px; display: flex; align-items: center; height: 100%;">
            <!-- Logo Dinámico -->
            <img id="nav-entidad-logo" src="" alt="" style="height: 40px; margin-right: 12px; display: none; filter: drop-shadow(0px 0px 1px rgba(0,0,0,0.5));">
            
            <div style="display: flex; flex-direction: column; justify-content: center;">
                <div style="line-height: 1.2;">
                    <span style="font-size: 18px;">Municipalidad de <span id="nav-entidad-text" style="font-weight: 800;">...</span> <span id="nav-eslogan-text" style="font-weight: 400; margin-left: 5px;"></span></span>
                </div>
                <div style="line-height: 1.2; font-size: 13px; font-weight: 300; opacity: 0.9;">
                    <span id="nav-responsable-text">Administración: ...</span>
                </div>
            </div>
        </div>
      </li>
    </ul>

    <!-- Right navbar links -->
    <ul class="navbar-nav ml-auto">
      <li class="nav-item dropdown">
        <a class="nav-link" data-toggle="dropdown" href="#" style="color: white;">
          <i class="far fa-user mr-2"></i> <span id="nav-user-text">Cargando...</span>
        </a>
        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
          <a href="#" class="dropdown-item" onclick="cerrarSesion(); return false;">
            <i class="fas fa-sign-out-alt mr-2 text-danger"></i> Cerrar Sesión
          </a>
        </div>
      </li>
    </ul>
  </nav>
  <!-- /.navbar -->

  <!-- Main Sidebar Container -->
  <aside class="main-sidebar sidebar-dark-primary elevation-4">
    <!-- Brand Logo -->
    <a href="#" class="brand-link text-center mb-2">
      <span class="brand-text"><b>SIGEM</b>WEB</span>
    </a>

    <!-- Sidebar Menu -->
    <nav class="mt-2">
      <ul class="nav nav-pills nav-sidebar flex-column text-sm" data-widget="treeview" role="menu" data-accordion="false">
        
        <li class="nav-item">
          <a href="#" class="nav-link" onclick="loadContent('/gis-geoserver/widgets')">
            <i class="nav-icon fas fa-tachometer-alt"></i>
            <p>Dashboard <span class="right badge badge-primary">New</span></p>
          </a>
        </li>

        <!-- Legacy Tree -->
        <li class="nav-item menu-open">
          <a href="#" class="nav-link active" style="background-color: #343a40;">
            <i class="nav-icon fas fa-chart-line"></i>
            <p>
              Control de Gestión
              <i class="right fas fa-angle-left"></i>
            </p>
          </a>
          <ul class="nav nav-treeview">
            <li class="nav-item menu-open">
              <a href="#" class="nav-link">
                <i class="far fa-dot-circle nav-icon"></i>
                <p>Mapas <i class="right fas fa-angle-left"></i></p>
              </a>
              <ul class="nav nav-treeview" style="margin-left: 10px;">
                <li class="nav-item menu-open">
                  <a href="#" class="nav-link">
                    <i class="fas fa-map nav-icon text-info"></i>
                    <p>Tributarios <i class="right fas fa-angle-left"></i></p>
                  </a>
                  <ul class="nav nav-treeview" style="margin-left: 10px;">
                    <li class="nav-item">
                      <a href="#" class="nav-link" onclick="loadMap()">
                        <i class="fas fa-layer-group nav-icon text-warning"></i>
                        <p>Mapa Morosidad/Pago</p>
                      </a>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </li>

        <!-- Dummy Options -->
        <li class="nav-header">OTRAS OPCIONES</li>
        <li class="nav-item">
          <a href="#" class="nav-link" onclick="notImplemented()">
            <i class="nav-icon fas fa-file-invoice-dollar text-muted"></i>
            <p>Liquidaciones</p>
          </a>
        </li>
        <li class="nav-item">
          <a href="#" class="nav-link" onclick="notImplemented()">
            <i class="nav-icon fas fa-users text-muted"></i>
            <p>Contribuyentes</p>
          </a>
        </li>

      </ul>
    </nav>
    <!-- /.sidebar-menu -->
  </aside>

  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <iframe id="main-iframe" src="/gis-geoserver/widgets"></iframe>
  </div>

  <!-- Main Footer -->
  <footer class="main-footer" style="padding: 10px; font-size: 13px; background-color: #f4f6f9;">
    <div class="float-right d-none d-sm-inline-block">
      <b>YVYAPE/SIGEM - Registro MIC/DINAPI 593</b>
    </div>
    Copyright &copy; 2026 <b>YVAGA</b>. Todos los derechos reservados.
  </footer>
</div>
<!-- ./wrapper -->



<!-- jQuery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- Bootstrap 4 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- AdminLTE App -->
<script src="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/js/adminlte.min.js"></script>

<script>
    // Recuperar datos de sesión
    const token = localStorage.getItem('jwt');
    const userName = localStorage.getItem('user_name');
    const entidad = localStorage.getItem('entidad');

    if (!token) {
        window.location.href = "/gis-geoserver/login";
    }

    document.getElementById('nav-user-text').innerText = userName || 'Operador Local';
    const entNombre = localStorage.getItem('entidad_nombre') || (entidad || 'N/D');
    const entEslogan = localStorage.getItem('eslogan') || '';
    const entResponsable = localStorage.getItem('responsable') || 'Gestión Municipal';
    const entLogoBase64 = localStorage.getItem('entidad_logo');
    
    document.getElementById('nav-entidad-text').innerText = entNombre;
    document.getElementById('nav-responsable-text').innerText = `Administración: ${entResponsable}`;
    
    // Configurar Logo
    const logoImg = document.getElementById('nav-entidad-logo');
    if (entLogoBase64 && entLogoBase64 !== 'null' && entLogoBase64.length > 100) {
        // Si no tiene el prefijo de data image, se lo agregamos
        logoImg.src = entLogoBase64.startsWith('data:') ? entLogoBase64 : `data:image/png;base64,${entLogoBase64}`;
        logoImg.style.display = 'block';
    }
    
    // Si el eslogan no está ya contenido en el nombre (para evitar duplicados), mostrarlo
    const navEslogan = document.getElementById('nav-eslogan-text');
    if (entEslogan && !entNombre.toLowerCase().includes(entEslogan.toLowerCase())) {
        navEslogan.innerText = entEslogan;
    } else {
        navEslogan.innerText = '';
    }

    function notImplemented() {
        alert("OPCIÓN NO IMPLEMENTADA");
    }

    function loadContent(url) {
        document.getElementById('main-iframe').src = url;
    }

    function loadMap() {
        // Redirige el iframe central hacia nuestro visor de mapas
        loadContent('/gis-geoserver/mapas');
    }

    function cerrarSesion() {
        localStorage.clear();
        window.location.replace("/gis-geoserver/login");
    }
</script>
</body>
</html>
GitLab Appliance - Powered by TurnKey Linux