Files
Plataforma-de-desarrolladores/SIG.Web/Pages/Desarrolladores/DesarrolladorDetalle.aspx
Jorge Luis caudillo esparza a2bde9e920 Ajustes visualizacion
2026-09-29 09:38:51 -07:00

352 lines
22 KiB
Plaintext

<%@ Page Title="Detalle de desarrollador" Language="C#" MasterPageFile="~/Site.master"
AutoEventWireup="true" CodeFile="DesarrolladorDetalle.aspx.cs"
Inherits="SIG.Web.Pages.Desarrolladores.DesarrolladorDetalle" %>
<%@ Register TagPrefix="sig" TagName="CapturaEtapas" Src="~/UserControl/CapturaEtapas.ascx" %>
<%@ Register TagPrefix="sig" TagName="ConveniosListado" Src="~/UserControl/ConveniosListado.ascx" %>
<asp:Content ID="ContenidoEncabezado" ContentPlaceHolderID="H" runat="server">
<style>
.desarrollador-formulario {
padding: 20px 0;
}
.desarrollador-pie {
padding: 15px 20px;
border-top: 1px solid #e7ecf1;
text-align: right;
}
.desarrollador-acciones {
margin-bottom: 15px;
}
.desarrollador-listado > tbody > tr.desarrollador-grupo > td {
background: #edf4f8;
padding: 10px 12px;
}
.desarrollador-cabecera {
display: flex;
align-items: center;
gap: 12px;
}
.desarrollador-descripcion {
flex: 1;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 20px;
}
.desarrollador-alternar {
background: transparent;
}
.desarrollador-credenciales {
overflow-wrap: anywhere;
padding: 15px;
background: #f1f8ff;
}
.sig-columna-acciones {
width: 1%;
white-space: nowrap;
text-align: center;
}
</style>
</asp:Content>
<asp:Content ID="ContenidoAcciones" ContentPlaceHolderID="A" runat="server">
<li>
<asp:HyperLink runat="server" NavigateUrl="~/Pages/Desarrolladores/Desarrolladores.aspx"
Text="Volver a desarrolladores" />
</li>
</asp:Content>
<asp:Content ID="ContenidoPrincipal" ContentPlaceHolderID="C" runat="server">
<asp:UpdatePanel ID="UpBuscadorDesarrolladores" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<sig:BuscadorCatalogo ID="BuscadorDesarrolladores" runat="server"
Columnas="RFC|RFC;Nombre|Razón social" CamposFiltros="Estatus|Estatus;AsociadoCanadevi|Asociado CANADEVI"
IndicacionBusqueda="Buscar desarrollador..." IndicacionSeleccion="Desarrollador seleccionado" CampoClave="Clave" CampoDescripcion="Descripcion"
OnConsultar="BuscarDesarrolladores" OnSeleccionCambiada="SeleccionarDesarrollador" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="PnlDetalle" runat="server" Visible="false">
<ajax:TabContainer ID="PestanasDesarrollador" runat="server" ActiveTabIndex="1">
<ajax:TabPanel ID="PestanaDatos" runat="server" HeaderText="Datos generales">
<ContentTemplate>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<div class="desarrollador-formulario">
<div class="row">
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtRFC" Text="RFC" />
<asp:TextBox ID="TxtRFC" runat="server" MaxLength="15" CssClass="form-control" />
</div>
<div class="form-group col-md-12">
<asp:Label runat="server" AssociatedControlID="TxtNombre" Text="Nombre / razón social" />
<asp:TextBox ID="TxtNombre" runat="server" MaxLength="200" CssClass="form-control" />
</div>
<div class="form-group col-md-12">
<asp:Label runat="server" AssociatedControlID="TxtDireccion" Text="Calle" />
<asp:TextBox ID="TxtDireccion" runat="server" MaxLength="90" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtNoExt" Text="Número" />
<asp:TextBox ID="TxtNoExt" runat="server" MaxLength="20" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtDuplicador" Text="Duplicador" />
<asp:TextBox ID="TxtDuplicador" runat="server" MaxLength="50" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtCP" Text="Código postal" />
<div class="input-group">
<asp:TextBox ID="TxtCP" runat="server" MaxLength="5" CssClass="form-control" />
<span class="input-group-btn">
<asp:Button ID="BtnConsultarCP" runat="server" Text="Consultar"
CssClass="btn default" CausesValidation="false" OnClick="ConsultarCP_Click" />
</span>
</div>
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="DdlColonia" Text="Colonia" />
<asp:DropDownList ID="DdlColonia" runat="server" CssClass="form-control select2me" Width="100%" />
</div>
<div class="col-md-12">
<asp:Literal ID="LitUbicacionPostal" runat="server" Mode="Encode" />
</div>
<div class="form-group col-md-12">
<asp:Label runat="server" AssociatedControlID="TxtReferencia" Text="Referencia" />
<asp:TextBox ID="TxtReferencia" runat="server" MaxLength="200" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtTelefono" Text="Teléfono / celular" />
<asp:TextBox ID="TxtTelefono" runat="server" MaxLength="25" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtMail" Text="Correo" />
<asp:TextBox ID="TxtMail" runat="server" MaxLength="255" CssClass="form-control" />
</div>
<div class="form-group col-md-6">
<asp:Label runat="server" AssociatedControlID="TxtAdherente" Text="Adherente" />
<asp:TextBox ID="TxtAdherente" runat="server" MaxLength="200" CssClass="form-control" />
</div>
<div class="form-group col-md-12">
<asp:Panel ID="PnlEditarCanadevi" runat="server">
<asp:CheckBox ID="ChkCanadevi" runat="server" Text=" Asociado CANADEVI" />
</asp:Panel>
<asp:Panel ID="PnlConsultarCanadevi" runat="server">
<asp:Literal ID="LitCanadevi" runat="server" Mode="Encode" />
<p class="help-block">Sólo los usuarios de Agua de Hermosillo pueden cambiar este dato.</p>
</asp:Panel>
</div>
</div>
<asp:Button ID="BtnGuardarDatos" runat="server" Text="Guardar cambios"
CssClass="btn blue" OnClick="GuardarDatos_Click" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="PestanaDesarrollos" runat="server" HeaderText="Desarrollos">
<ContentTemplate>
<div class="desarrollador-formulario">
<div class="desarrollador-acciones">
<button type="button" class="btn blue" data-toggle="modal" data-target="#ModalFraccionamiento">
<i class="fa fa-plus" aria-hidden="true"></i>Agregar fraccionamiento
</button>
</div>
<asp:UpdatePanel ID="UpFraccionamientos" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<div class="table-responsive">
<asp:GridView ID="GvFraccionamientos" runat="server" AutoGenerateColumns="false"
GridLines="None" CssClass="table table-hover Widthall desarrollador-listado"
DataKeyNames="CveFraccionamiento,CveFraccionamientoEtapa"
OnRowCommand="Fraccionamientos_Comando"
OnRowDataBound="Fraccionamientos_FilaEnlazada"
EmptyDataText="Este desarrollador no tiene fraccionamientos activos.">
<Columns>
<asp:TemplateField HeaderText="Etapa">
<ItemTemplate>
<asp:Panel runat="server" CssClass="desarrollador-cabecera"
Visible='<%# Convert.ToBoolean(Eval("EsFraccionamiento")) %>'>
<div class="desarrollador-descripcion">
<asp:HyperLink runat="server"
Text='<%# Server.HtmlEncode(Convert.ToString(Eval("Fraccionamiento"))) %>'
NavigateUrl='<%# ObtenerUrlFraccionamiento(Eval("CveFraccionamiento")) %>' />
<span>
<asp:Literal runat="server" Mode="Encode"
Text='<%# DescribirFraccionamiento(Container.DataItem) %>' />
</span>
</div>
<asp:LinkButton runat="server" CommandName="AgregarEtapa"
CausesValidation="false" CssClass="btn btn-primary btn-circle btn-sm"
ToolTip="Agregar etapa" aria-label="Agregar etapa">
<i class="fa fa-plus" aria-hidden="true"></i>
</asp:LinkButton>
<button type="button" class="btn default desarrollador-alternar"
title="Mostrar u ocultar etapas" aria-label="Mostrar u ocultar etapas"
aria-expanded="true">
<i class="fa fa-chevron-up" aria-hidden="true"></i>
</button>
</asp:Panel>
<asp:Literal runat="server" Mode="Encode" Text='<%# Eval("Etapa") %>'
Visible='<%# !Convert.ToBoolean(Eval("EsFraccionamiento")) %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Hectareas" HeaderText="Hectáreas de la etapa" DataFormatString="{0:N2}" />
<asp:CheckBoxField DataField="Fideicomiso" HeaderText="Fideicomiso" />
<asp:CheckBoxField DataField="EsActivo" HeaderText="Activa" />
<asp:TemplateField HeaderText="Acciones"
HeaderStyle-CssClass="sig-columna-acciones"
ItemStyle-CssClass="sig-columna-acciones">
<ItemTemplate>
<asp:HyperLink runat="server"
CssClass="btn btn-circle btn-sm primary sig-accion-icono"
ToolTip="Ver etapa"
aria-label="Ver etapa"
NavigateUrl='<%# ObtenerUrlEtapa(Eval("CveFraccionamientoEtapa")) %>'
Visible='<%# !Convert.ToBoolean(Eval("EsFraccionamiento")) %>'>
<i class="fa fa-eye" aria-hidden="true"></i>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="PestanaConvenios" runat="server" HeaderText="Convenios">
<ContentTemplate>
<sig:ConveniosListado ID="UcConveniosDesarrollador" runat="server" />
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="PestanaDocumentacion" runat="server" HeaderText="Documentación">
<ContentTemplate>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="PestanaRepresentantes" runat="server" HeaderText="Representantes">
<ContentTemplate>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</asp:Panel>
<asp:UpdateProgress ID="Avance" runat="server" DisplayAfter="300">
<ProgressTemplate>
<p class="text-center">Procesando...</p>
</ProgressTemplate>
</asp:UpdateProgress>
<div id="ModalFraccionamiento" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="TituloModalFraccionamiento">
<div class="modal-dialog modal-lg">
<asp:UpdatePanel ID="UpModalFraccionamiento" 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">&times;</button>
<h4 id="TituloModalFraccionamiento" class="modal-title">Agregar fraccionamiento</h4>
</div>
<div class="modal-body">
<p>Se registrará para el desarrollador de esta pantalla.</p>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="TxtFraccionamiento" Text="Fraccionamiento" />
<asp:TextBox ID="TxtFraccionamiento" runat="server" MaxLength="200" CssClass="form-control" />
</div>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="TxtUbicacion" Text="Ubicación" />
<asp:TextBox ID="TxtUbicacion" runat="server" MaxLength="500" CssClass="form-control" />
</div>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="TxtHectareasFraccionamiento" Text="Hectáreas" />
<asp:TextBox ID="TxtHectareasFraccionamiento" runat="server" MaxLength="15" CssClass="form-control" />
</div>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="DdlEstatus" Text="Estatus" />
<asp:DropDownList ID="DdlEstatus" runat="server" CssClass="form-control select2me" Width="100%" />
</div>
<sig:CapturaEtapas ID="UcCapturaEtapas" runat="server" />
</div>
<div class="modal-footer">
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnGuardarFraccionamiento" runat="server" Text="Guardar" CssClass="btn blue" OnClick="GuardarFraccionamiento_Click" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalEtapa" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="TituloModalEtapa">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalEtapa" 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">&times;</button>
<h4 id="TituloModalEtapa" class="modal-title">Agregar etapa</h4>
</div>
<div class="modal-body">
<p>Fraccionamiento: <strong>
<asp:Literal ID="LitFraccionamientoEtapa" runat="server" Mode="Encode" /></strong></p>
<p class="help-block">Fideicomiso se heredará de la última etapa creada. Podrá editarlo en el detalle de la etapa.</p>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="TxtEtapa" Text="Etapa" />
<asp:TextBox ID="TxtEtapa" runat="server" MaxLength="150" CssClass="form-control" />
</div>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="TxtHectareasEtapa" Text="Hectáreas" />
<asp:TextBox ID="TxtHectareasEtapa" runat="server" MaxLength="15" CssClass="form-control" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnGuardarEtapa" runat="server" Text="Guardar" CssClass="btn blue" OnClick="GuardarEtapa_Click" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="ContenidoScripts" ContentPlaceHolderID="J" runat="server">
<script>
(function () {
var gruposContraidos = {};
function aplicarGrupo(tabla, boton, contraido) {
var clave = boton.closest("tr").getAttribute("data-fraccionamiento");
boton.setAttribute("aria-expanded", contraido ? "false" : "true");
boton.querySelector("i").className = contraido ? "fa fa-chevron-down" : "fa fa-chevron-up";
tabla.querySelectorAll('tr[data-cabecera="0"]').forEach(function (fila) {
if (fila.getAttribute("data-fraccionamiento") === clave) {
fila.style.display = contraido ? "none" : "";
}
});
}
function iniciarDesarrollos() {
document.querySelectorAll(".desarrollador-listado").forEach(function (tabla) {
if (tabla.getAttribute("data-desarrollos-inicializado") === "1") {
return;
}
tabla.setAttribute("data-desarrollos-inicializado", "1");
tabla.querySelectorAll(".desarrollador-alternar").forEach(function (boton) {
var clave = boton.closest("tr").getAttribute("data-fraccionamiento");
aplicarGrupo(tabla, boton, gruposContraidos[clave] === true);
boton.addEventListener("click", function () {
gruposContraidos[clave] = boton.getAttribute("aria-expanded") === "true";
aplicarGrupo(tabla, boton, gruposContraidos[clave]);
});
});
});
}
if (window.Sys && Sys.Application) {
Sys.Application.add_load(iniciarDesarrollos);
} else {
document.addEventListener("DOMContentLoaded", iniciarDesarrollos);
}
}());
</script>
</asp:Content>