391 lines
22 KiB
Plaintext
391 lines
22 KiB
Plaintext
<%@ Page Title="Trámites" Language="C#" MasterPageFile="~/Site.master"
|
|
AutoEventWireup="true" CodeFile="Tramites.aspx.cs"
|
|
Inherits="SIG.Web.Pages.Desarrolladores.Tramites" %>
|
|
<asp:Content ID="ContenidoEncabezado" ContentPlaceHolderID="H" runat="server">
|
|
<style>.sig-tablero-tramites {
|
|
background: #fff;
|
|
border: 1px solid #e7ecf1;
|
|
padding: 12px;
|
|
}
|
|
|
|
|
|
.sig-tablero-tramites tr[data-nivel="1"] > td:first-child {
|
|
border-left: 4px solid #fff;
|
|
}
|
|
.sig-tablero-tramites tr.sig-proceso-1 > td:first-child {
|
|
border-left-color: #89c4f4;
|
|
}
|
|
.sig-tablero-tramites tr.sig-proceso-2 > td:first-child {
|
|
border-left-color: #d9534f;
|
|
}
|
|
.sig-tablero-tramites tr.sig-proceso-3 > td:first-child,
|
|
.sig-tablero-tramites tr.sig-proceso-4 > td:first-child {
|
|
border-left-color: #3c763d;
|
|
}
|
|
.sig-tablero-tramites tr.sig-proceso-4 > td {
|
|
background-color: #dff0d8;
|
|
}
|
|
|
|
.sig-tablero-tramites .sig-tramites-columna-grupo {
|
|
display: none;
|
|
}
|
|
|
|
.sig-tablero-tramites .sig-tramites-agrupacion {
|
|
position: relative;
|
|
height: 42px;
|
|
}
|
|
|
|
.sig-tablero-tramites .sig-tramites-agrupacion > td.sig-tramites-columna-grupo {
|
|
display: block;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
min-height: 42px;
|
|
padding: 0;
|
|
background: #eef3f7;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sig-tablero-tramites .sig-tramites-agrupacion > td.sig-tramites-columna-normal {
|
|
display: none;
|
|
}
|
|
|
|
.sig-tramites-alternar-grupo {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
padding: 12px;
|
|
border: 0;
|
|
background: transparent;
|
|
color: #34495e;
|
|
font-weight: 600;
|
|
text-align: left;
|
|
}
|
|
|
|
.sig-tramites-alternar-grupo:focus {
|
|
outline: 2px solid #3598dc;
|
|
outline-offset: -2px;
|
|
}
|
|
|
|
.sig-tablero-tramites .sig-tramites-fila-oculta {
|
|
display: none;
|
|
}
|
|
|
|
.sig-tramites-comentario {
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
</style>
|
|
</asp:Content>
|
|
<asp:Content ID="ContenidoPrincipal" ContentPlaceHolderID="C" runat="server">
|
|
<asp:UpdatePanel ID="UpTablero" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<sig:Filtros ID="UcFiltros" runat="server" OnMostrarFiltros="UcFiltros_MostrarFiltros"
|
|
OnConsultar="UcFiltros_Consultar" OnFiltrosChanged="UcFiltros_FiltrosCambiados" />
|
|
<div id="PortletTramites" runat="server" class="portlet light xspadding bordered">
|
|
<div class="portlet-title">
|
|
<div class="caption">
|
|
Trámites
|
|
</div>
|
|
<div class="tools">
|
|
<a href="javascript:;" class="collapse" title="Ocultar o mostrar contenido" aria-label="Ocultar o mostrar contenido">
|
|
</a>
|
|
</div>
|
|
<asp:Panel ID="PanelFiltroDepartamento" runat="server" CssClass="pull-right" Style="min-width: 180px; margin-right: 12px;">
|
|
<asp:DropDownList ID="DdlDepartamentoTramites" runat="server" CssClass="form-control input-sm"
|
|
AutoPostBack="true" CausesValidation="false" ToolTip="Filtrar trámites por departamento"
|
|
OnSelectedIndexChanged="DdlDepartamentoTramites_Cambio" />
|
|
</asp:Panel>
|
|
<div id="BuscadorTramites" runat="server" ClientIDMode="Static" class="portlet-buscador">
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<div class="table-responsive sig-tablero-tramites">
|
|
<asp:GridView ID="GvTramites" runat="server" AutoGenerateColumns="false" EnableViewState="false"
|
|
DataKeyNames="CveSolicitud,Nivel" GridLines="None" CssClass="table table-hover Widthall filtrosig scrollsig"
|
|
data-scrollmargintop="350" OnRowDataBound="GvTramites_FilaEnlazada" OnRowCommand="GvTramites_Comando"
|
|
EmptyDataText="No hay solicitudes para los filtros seleccionados." data-id-container="BuscadorTramites">
|
|
<Columns>
|
|
<asp:TemplateField HeaderStyle-CssClass="sig-tramites-columna-grupo" ItemStyle-CssClass="sig-tramites-columna-grupo">
|
|
<ItemTemplate>
|
|
<button type="button" class="sig-tramites-alternar-grupo" aria-expanded="true">
|
|
<span>
|
|
<%#: Eval("Agrupacion") %>
|
|
</span>
|
|
<i class="fa fa-chevron-up" aria-hidden="true">
|
|
</i>
|
|
</button>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
<asp:BoundField DataField="Cliente" HeaderText="Cliente" />
|
|
<asp:TemplateField HeaderText="Trámite">
|
|
<ItemTemplate>
|
|
<asp:Label ID="EtiquetaTipoTramite" runat="server" Text='<%#: Eval("Tramite") %>' />
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="Fraccionamiento · Etapa">
|
|
<ItemTemplate>
|
|
<asp:HyperLink ID="EnlaceFraccionamiento" runat="server" ToolTip="Ver detalle del fraccionamiento">
|
|
<asp:Literal ID="NombreFraccionamientoEtapa" runat="server" Mode="Encode" />
|
|
</asp:HyperLink>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
<asp:BoundField DataField="Avance" HeaderText="Avance" DataFormatString="{0:0.##} %" />
|
|
<asp:BoundField DataField="NombreEstatusProceso" HeaderText="Proceso" />
|
|
<asp:BoundField DataField="Estatus" HeaderText="Estatus" />
|
|
<asp:BoundField DataField="FechaApertura" HeaderText="Fecha apertura" DataFormatString="{0:dd/MM/yyyy}" />
|
|
<asp:BoundField DataField="FechaEnvioARevision" HeaderText="Fecha inicio" DataFormatString="{0:dd/MM/yyyy}" />
|
|
<asp:TemplateField HeaderText="Acciones" HeaderStyle-CssClass="sig-col_acciones" ItemStyle-CssClass="sig-col_acciones">
|
|
<ItemTemplate>
|
|
<asp:LinkButton ID="BtnEditarEstatus" runat="server" CssClass="btn btn-circle btn-sm blue btn-sm-sig"
|
|
CausesValidation="false" CommandName="EditarEstatus" ToolTip="Editar estatus" aria-label="Editar estatus">
|
|
<i class="fa fa-pencil" aria-hidden="true">
|
|
</i>
|
|
</asp:LinkButton>
|
|
<asp:LinkButton ID="BtnDocumentos" runat="server" CssClass="btn btn-circle btn-sm blue btn-sm-sig"
|
|
CausesValidation="false" CommandName="Documentos" ToolTip="Documentos" aria-label="Documentos">
|
|
<i class="fa fa-folder-open-o" aria-hidden="true">
|
|
</i>
|
|
</asp:LinkButton>
|
|
<asp:LinkButton ID="BtnComentarios" runat="server" CssClass="btn btn-circle btn-sm blue btn-sm-sig"
|
|
CausesValidation="false" CommandName="Comentarios" ToolTip="Comentarios" aria-label="Comentarios">
|
|
<i class="fa fa-comment-o" aria-hidden="true">
|
|
</i>
|
|
</asp:LinkButton>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<asp:UpdateProgress ID="AvanceTablero" runat="server" DisplayAfter="250">
|
|
<ProgressTemplate>
|
|
<div class="text-center">
|
|
<i class="fa fa-circle-o-notch fa-spin" aria-hidden="true">
|
|
</i>
|
|
Consultando trámites...
|
|
</div>
|
|
</ProgressTemplate>
|
|
</asp:UpdateProgress>
|
|
<div id="ModalFiltrosTramites" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="TituloFiltrosTramites">
|
|
<div class="modal-dialog">
|
|
<asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
|
<ContentTemplate>
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar">
|
|
×
|
|
</button>
|
|
<h4 id="TituloFiltrosTramites" class="modal-title">
|
|
Filtros
|
|
</h4>
|
|
</div>
|
|
<div class="modal-body sig-filtros-estatus">
|
|
<div class="form-group">
|
|
<asp:Label runat="server" AssociatedControlID="DdlAgrupacion" Text="Agrupación" />
|
|
<asp:DropDownList ID="DdlAgrupacion" runat="server" CssClass="form-control select2me" Width="100%" />
|
|
</div>
|
|
<div class="form-group">
|
|
<asp:Label runat="server" AssociatedControlID="DdlFraccionamiento" Text="Fraccionamiento" />
|
|
<asp:DropDownList ID="DdlFraccionamiento" runat="server" CssClass="form-control select2me" Width="100%" />
|
|
</div>
|
|
<div class="form-group">
|
|
<asp:Label runat="server" AssociatedControlID="LstEstatus" Text="Estatus de los trámites" />
|
|
<asp:ListBox ID="LstEstatus" runat="server" SelectionMode="Multiple" Rows="7" CssClass="form-control select2me sig-estatus-seleccionados" Width="100%" />
|
|
</div>
|
|
<div class="form-group">
|
|
<asp:CheckBox ID="ChkMostrarAutorizados" runat="server" CssClass="sig-mostrar-autorizados" Text=" Mostrar autorizados" />
|
|
<asp:CheckBox ID="ChkMostrarCancelados" runat="server" CssClass="sig-mostrar-cancelados" Text=" Mostrar cancelados" />
|
|
</div>
|
|
<div class="form-group">
|
|
<asp:CheckBox ID="ChkSoloActivos" runat="server" Checked="true" Text=" Solo activos" />
|
|
</div>
|
|
<div id="CampoSoloBloqueados" runat="server" class="form-group">
|
|
<asp:CheckBox ID="ChkSoloBloqueados" runat="server" Text=" Solo bloqueados" />
|
|
<p class="help-block">
|
|
El filtro de bloqueados está pendiente de habilitar.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn default" data-dismiss="modal">
|
|
Cancelar
|
|
</button>
|
|
<asp:Button ID="BtnAplicarFiltros" runat="server" Text="Aplicar filtros" CssClass="btn blue" CausesValidation="false" OnClick="BtnAplicarFiltros_Click" />
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
<asp:Panel ID="PanelSeguimiento" runat="server" CssClass="sig_panel_lateral sig_panel_derecho" role="dialog"
|
|
aria-modal="true" aria-hidden="true" tabindex="-1" aria-label="Seguimiento de solicitud">
|
|
<div class="sig_panel_contenido">
|
|
<asp:UpdatePanel ID="UpEncabezadoSeguimiento" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
|
<ContentTemplate>
|
|
<div class="sig_panel_cabecera">
|
|
<div>
|
|
<h4>
|
|
<asp:Literal ID="TituloSeguimiento" runat="server" Mode="Encode" />
|
|
</h4>
|
|
<p>
|
|
<asp:HyperLink ID="EnlaceFraccionamientoSeguimiento" runat="server" ToolTip="Ver detalle del fraccionamiento">
|
|
<asp:Literal ID="NombreFraccionamientoEtapaSeguimiento" runat="server" Mode="Encode" />
|
|
</asp:HyperLink>
|
|
</p>
|
|
</div>
|
|
<button type="button" class="btn default" data-sig-panel-cerrar="" aria-label="Cerrar seguimiento">
|
|
Cerrar
|
|
</button>
|
|
</div>
|
|
<asp:Panel ID="SeccionAccionesPendientesSeguimiento" runat="server" CssClass="sig-seguimiento-seccion" Visible="false">
|
|
<div id="PortletAccionesPendientesSeguimiento" runat="server" class="portlet light xspadding bordered">
|
|
<div class="portlet-title">
|
|
<div class="caption">
|
|
Acciones pendientes
|
|
</div>
|
|
<div class="tools">
|
|
<a href="javascript:;" class="collapse" title="Ocultar o mostrar contenido" aria-label="Ocultar o mostrar contenido">
|
|
</a>
|
|
</div>
|
|
<div id="BuscadorAccionesPendientesSeguimiento" runat="server" ClientIDMode="Static" class="portlet-buscador">
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<div class="table-responsive">
|
|
<asp:GridView ID="AccionesPendientesSeguimiento" runat="server" AutoGenerateColumns="false" GridLines="None"
|
|
CssClass="table table-striped table-hover Widthall filtrosig" EmptyDataText=""
|
|
data-id-container="BuscadorAccionesPendientesSeguimiento">
|
|
<Columns>
|
|
<asp:BoundField DataField="Descripcion" HeaderText="Acción pendiente" HtmlEncode="true" />
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</asp:Panel>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<div class="sig_panel_cuerpo">
|
|
<ajax:TabContainer ID="PestanasSeguimiento" runat="server" Width="100%" AutoPostBack="false" >
|
|
<Tabs>
|
|
<ajax:TabPanel ID="PestanaSeguimientoEstatus" runat="server" HeaderText="Estatus">
|
|
<ContentTemplate>
|
|
<sig:EstatusSolicitud ID="UcEstatusSolicitud" runat="server" OnCambiado="EstatusSeguimiento_Cambiado"
|
|
OnSeleccionCambiada="EstatusSeguimiento_SeleccionCambiada"
|
|
OnRequisitosPendientes="EstatusSeguimiento_RequisitosPendientes" />
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
<ajax:TabPanel ID="PestanaSeguimientoCondiciones" runat="server" HeaderText="Condiciones">
|
|
<ContentTemplate>
|
|
<sig:CondicionesSolicitud ID="UcCondicionesSolicitud" runat="server" OnCambiado="CondicionesSeguimiento_Cambiado" />
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
<ajax:TabPanel ID="PestanaSeguimientoDocumentos" runat="server" HeaderText="Documentos">
|
|
<ContentTemplate>
|
|
<sig:DocumentosSolicitud ID="UcDocumentosSolicitud" runat="server" OnCambiado="DocumentosSeguimiento_Cambiados"
|
|
OnMostrarSolicitado="DocumentosSeguimiento_MostrarSolicitado"/>
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
<ajax:TabPanel ID="PestanaSeguimientoComentarios" runat="server" HeaderText="Comentarios">
|
|
<ContentTemplate>
|
|
<sig:ComentariosSolicitud ID="UcComentariosSolicitud" runat="server" OnCambiado="ComentariosSeguimiento_Cambiado"
|
|
OnMostrarSolicitado="ComentariosSeguimiento_MostrarSolicitado" />
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
<ajax:TabPanel ID="PestanaSeguimientoSupervisiones" runat="server" HeaderText="Supervisiones">
|
|
<ContentTemplate>
|
|
<sig:SupervisionesEtapa ID="UcSupervisionesSolicitud" runat="server" />
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
</Tabs>
|
|
</ajax:TabContainer>
|
|
</div>
|
|
</div>
|
|
</asp:Panel>
|
|
</asp:Content>
|
|
<asp:Content ID="ContenidoScripts" ContentPlaceHolderID="J" runat="server">
|
|
<script >
|
|
(function (ventana, documento, $) {
|
|
"use strict";
|
|
|
|
ventana.SIGTableroTramites = ventana.SIGTableroTramites || {};
|
|
|
|
ventana.SIGTableroTramites.mostrarModal = function (identificadorModal) {
|
|
$(documento.getElementById(identificadorModal)).modal("show");
|
|
};
|
|
|
|
ventana.SIGTableroTramites.ocultarModal = function (identificadorModal) {
|
|
$(documento.getElementById(identificadorModal)).modal("hide");
|
|
};
|
|
|
|
// La delegación conserva el comportamiento al reemplazar el UpdatePanel.
|
|
if (ventana.SIG_EVENTOS_TABLERO_TRAMITES_REGISTRADOS === true) {
|
|
return;
|
|
}
|
|
|
|
$(documento).on("click.sigTableroTramites", ".sig-tramites-alternar-grupo", function () {
|
|
var boton = $(this);
|
|
var tabla = boton.closest("table");
|
|
var cveAgrupacion = boton.closest("tr").attr("data-cve-agrupacion");
|
|
var expandir = boton.attr("aria-expanded") !== "true";
|
|
|
|
tabla.find('tr[data-nivel="1"]').filter(function () {
|
|
return $(this).attr("data-cve-agrupacion") === cveAgrupacion;
|
|
}).toggleClass("sig-tramites-fila-oculta", !expandir);
|
|
|
|
boton.attr("aria-expanded", expandir ? "true" : "false");
|
|
boton.find(".fa")
|
|
.toggleClass("fa-chevron-up", expandir)
|
|
.toggleClass("fa-chevron-down", !expandir);
|
|
});
|
|
|
|
// Al agregar una selección se sincroniza su check. Las eliminaciones son
|
|
// independientes: no se fuerza nuevamente la opción que el usuario quitó.
|
|
$(documento).on("change.sigTableroTramites", ".sig-estatus-seleccionados", function () {
|
|
var lista = $(this);
|
|
var contenedor = lista.closest(".sig-filtros-estatus");
|
|
var anteriores = (lista.attr("data-sig-estatus-anteriores") || "").split(",");
|
|
["Autorizado", "Cancelado"].forEach(function (codigo) {
|
|
var seleccionada = lista.find("option:selected").filter(function () {
|
|
return $(this).attr("data-codigo-estatus") === codigo &&
|
|
anteriores.indexOf(this.value) < 0;
|
|
}).length > 0;
|
|
if (seleccionada) {
|
|
var clase = codigo === "Autorizado" ? ".sig-mostrar-autorizados" :
|
|
".sig-mostrar-cancelados";
|
|
contenedor.find(clase + " input").prop("checked", true);
|
|
}
|
|
});
|
|
lista.attr("data-sig-estatus-anteriores", (lista.val() || []).join(","));
|
|
if ($.uniform && $.uniform.update) {
|
|
$.uniform.update(contenedor.find('input[type="checkbox"]'));
|
|
}
|
|
});
|
|
|
|
$(documento).on("change.sigTableroTramites",
|
|
".sig-mostrar-autorizados input, .sig-mostrar-cancelados input", function () {
|
|
if (!this.checked) {
|
|
return;
|
|
}
|
|
var casilla = $(this);
|
|
var codigo = casilla.closest(".sig-mostrar-autorizados").length ?
|
|
"Autorizado" : "Cancelado";
|
|
var lista = casilla.closest(".sig-filtros-estatus").find(".sig-estatus-seleccionados");
|
|
lista.find("option").filter(function () {
|
|
return $(this).attr("data-codigo-estatus") === codigo;
|
|
}).prop("selected", true);
|
|
lista.trigger("change");
|
|
});
|
|
|
|
ventana.SIG_EVENTOS_TABLERO_TRAMITES_REGISTRADOS = true;
|
|
}(window, document, jQuery));
|
|
|
|
</script>
|
|
</asp:Content>
|