352 lines
22 KiB
Plaintext
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">×</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">×</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>
|