Files
Plataforma-de-desarrolladores/SIG.Web/Pages/Fraccionamientos/FraccionamientoDetalle.aspx
Jorge Luis caudillo esparza bb4934a031 Correccion de nmbres en español
2026-08-28 07:36:31 -07:00

2214 lines
116 KiB
Plaintext

<%@ Page Title="Detalle de fraccionamiento"
Language="C#"
MasterPageFile="~/Site.master"
AutoEventWireup="true"
CodeFile="FraccionamientoDetalle.aspx.cs"
Inherits="SIG.Web.Pages.Fraccionamientos.FraccionamientoDetalle" %>
<asp:Content ID="ContentHead" ContentPlaceHolderID="H" runat="server">
<link href='<%= ResolveUrl("~/Styles/FraccionamientoDetalle.css?v=20260814-5") %>'
rel="stylesheet"
type="text/css" />
<link href='<%= ResolveUrl("~/Styles/CatalogosTramites.css") %>'
rel="stylesheet"
type="text/css" />
<link href='<%= ResolveUrl("~/Styles/fraccionamiento-gis.css?v=20260818-2") %>'
rel="stylesheet"
type="text/css" />
</asp:Content>
<asp:Content ID="ContentActions" ContentPlaceHolderID="A" runat="server">
<li>
<asp:HyperLink ID="LnkBack"
runat="server"
NavigateUrl="~/Pages/Fraccionamientos/Fraccionamientos.aspx">
<i class="fa fa-arrow-left"></i>
Volver al catálogo
</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="BtnAddProcedure"
runat="server"
CausesValidation="false"
OnClick="BtnAddProcedure_Click">
<i class="fa fa-plus-circle"></i>
Agregar trámite
</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="BtnEditStageProgress"
runat="server"
CausesValidation="false"
OnClick="BtnEditStageProgress_Click">
<i class="fa fa-line-chart"></i>
Editar avance
</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="ContentMain" ContentPlaceHolderID="C" runat="server">
<asp:UpdatePanel ID="UpSummary"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<section class="fraction-summary-card">
<div class="fraction-summary-heading">
<div class="fraction-title-group">
<div class="fraction-building-icon" aria-hidden="true">
<i class="fa fa-building-o"></i>
</div>
<div class="fraction-title-copy">
<div class="fraction-title-row">
<h2>
<asp:Literal ID="LitDevelopmentName" runat="server" />
</h2>
<asp:Label ID="LblDevelopmentActive"
runat="server"
CssClass="fraction-status-badge" />
</div>
</div>
</div>
<div class="fraction-summary-actions">
<button type="button"
class="btn blue fraction-edit-button"
onclick="window.SIGDetail.showEdit();">
<i class="fa fa-pencil"></i>
Editar fraccionamiento
</button>
<div class="btn-group">
<button type="button"
class="btn default dropdown-toggle fraction-options-button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
title="Más opciones">
<i class="fa fa-ellipsis-h"></i>
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<asp:LinkButton ID="BtnDelete"
runat="server"
CausesValidation="false"
OnClick="BtnDelete_Click"
OnClientClick="return window.SIGAlerts.confirmPostBack(this, '¿Desea eliminar el fraccionamiento y sus etapas?');">
<i class="fa fa-trash-o"></i>
Eliminar fraccionamiento
</asp:LinkButton>
</li>
</ul>
</div>
</div>
</div>
<div class="fraction-summary-data">
<div class="fraction-data-item">
<span class="fraction-data-label">Cliente</span>
<span class="fraction-data-value">
<asp:Literal ID="LitSummaryClient" runat="server" />
</span>
</div>
<div class="fraction-data-item">
<span class="fraction-data-label">Hectáreas</span>
<span class="fraction-data-value">
<asp:Literal ID="LitSummaryHectares" runat="server" />
</span>
</div>
<div class="fraction-data-item">
<span class="fraction-data-label">Ubicación</span>
<span class="fraction-data-value">
<asp:Literal ID="LitSummaryLocation" runat="server" />
</span>
</div>
<div class="fraction-data-item fraction-data-icon-item">
<i class="fa fa-calendar"></i>
<div>
<span class="fraction-data-label">Apertura</span>
<span class="fraction-data-value">
<asp:Literal ID="LitSummaryOpeningDate" runat="server" />
</span>
</div>
</div>
<div class="fraction-data-item fraction-data-icon-item">
<i class="fa fa-user"></i>
<div>
<span class="fraction-data-label">Vendedor</span>
<span class="fraction-data-value">—</span>
</div>
</div>
<div class="fraction-data-item fraction-data-icon-item">
<i class="fa fa-bullhorn"></i>
<div>
<span class="fraction-data-label">Medio de captación</span>
<span class="fraction-data-value">—</span>
</div>
</div>
<div class="fraction-data-item fraction-progress-data-item">
<span class="fraction-data-label">Avance global</span>
<div class="fraction-summary-progress">
<strong class="fraction-progress-value">
<asp:Literal ID="LitSummaryGlobalProgress"
runat="server" />
</strong>
<div class="progress fraction-progress-track">
<asp:Panel ID="PnlSummaryGlobalProgressBar"
runat="server"
CssClass="progress-bar fraction-progress-bar"
role="progressbar"
aria-label="Avance global"
aria-valuemin="0"
aria-valuemax="100" />
</div>
</div>
</div>
<div class="fraction-data-item">
<span class="fraction-data-label">Estatus</span>
<asp:Label ID="LblSummaryStatus"
runat="server"
CssClass="fraction-status-value" />
</div>
</div>
</section>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnDelete" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<div class="fraction-tabs-layout">
<div class="fraction-main-content">
<asp:UpdatePanel ID="UpDetailTabs"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="true">
<ContentTemplate>
<ajax:TabContainer ID="TabsFractionDetail"
runat="server"
ActiveTabIndex="0"
Width="100%">
<ajax:TabPanel ID="TabStages"
runat="server">
<HeaderTemplate>
<i class="fa fa-building-o"></i>
Etapas
<span class="badge">
<asp:Literal ID="LitStageCount" runat="server" />
</span>
</HeaderTemplate>
<ContentTemplate>
<section class="fraction-content-card">
<div class="fraction-card-heading">
<h3>Etapas del fraccionamiento</h3>
<asp:LinkButton ID="BtnNewStage"
runat="server"
CssClass="btn btn-outline blue"
CausesValidation="false"
OnClick="BtnNewStage_Click">
<i class="fa fa-plus"></i>
Agregar etapa
</asp:LinkButton>
</div>
<div class="fraction-table-scroll">
<asp:GridView ID="GvStages"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
CssClass="table table-hover Widthall"
OnRowCommand="GvStages_RowCommand">
<Columns>
<asp:TemplateField HeaderText="" ItemStyle-CssClass="tra-order-cell">
<ItemTemplate>
<span class="tra-order-handle"
data-sig-order-id='<%# Eval("CveFraccionamientoEtapa") %>'
title="Arrastrar para cambiar el orden">
<i class="fa fa-bars"></i>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Etapa" HeaderText="Etapa" />
<asp:BoundField DataField="Hectareas"
HeaderText="Hectáreas"
DataFormatString="{0:N4}" />
<asp:TemplateField HeaderText="Avance" ItemStyle-Width="220">
<ItemTemplate>
<div class="fraction-stage-progress">
<span class="fraction-progress-value">
<%#: GetProgressText(Eval("Avance")) %>
</span>
<div class="progress fraction-progress-track"
role="progressbar"
aria-label="Avance de la etapa"
aria-valuemin="0"
aria-valuemax="100"
aria-valuenow='<%# GetProgressAriaValue(Eval("Avance")) %>'>
<span class="progress-bar fraction-progress-bar"
style='<%# GetProgressWidthStyle(Eval("Avance")) %>'>
</span>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<span class='<%# GetStageStatusCss(Eval("EsActivo")) %>'>
<%# GetStageStatusText(Eval("EsActivo")) %>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Acciones" ItemStyle-Width="120">
<ItemTemplate>
<asp:LinkButton ID="BtnAddLots"
runat="server"
CssClass="btn btn-circle btn-sm blue"
CausesValidation="false"
CommandName="AddLots"
CommandArgument='<%# Eval("CveFraccionamientoEtapa") %>'
ToolTip="Agregar lotes"
data-toggle="tooltip"
data-placement="top"
aria-label="Agregar lotes">
<i class="fa fa-plus"></i>
</asp:LinkButton>
<asp:LinkButton ID="BtnEditStage"
runat="server"
CssClass="btn btn-circle btn-sm green"
CausesValidation="false"
CommandName="EditStage"
CommandArgument='<%# Eval("CveFraccionamientoEtapa") %>'
ToolTip="Editar etapa"
data-toggle="tooltip"
data-placement="top"
aria-label="Editar etapa">
<i class="fa fa-pencil"></i>
</asp:LinkButton>
<asp:LinkButton ID="BtnDeleteStage"
runat="server"
CssClass="btn btn-circle btn-sm red"
CausesValidation="false"
CommandName="DeleteStage"
CommandArgument='<%# Eval("CveFraccionamientoEtapa") %>'
data-toggle="confirmation"
data-popout="true"
data-original-title="Confirmar"
data-btn-ok-label="Sí"
data-btn-cancel-label="No"
aria-label="Eliminar etapa">
<i class="icon-trash"></i>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-list-ul"></i>
</span>
<span>El fraccionamiento todavía no tiene etapas.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
<asp:HiddenField ID="HfStageOrderMove" runat="server" />
<asp:LinkButton ID="BtnStageOrderMove"
runat="server"
CausesValidation="false"
Style="display: none;"
OnClick="BtnStageOrderMove_Click" />
</div>
</section>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabLots"
runat="server">
<HeaderTemplate>
<i class="fa fa-th"></i>
Lotes
<span class="badge">
<asp:Literal ID="LitLotCount" runat="server" />
</span>
</HeaderTemplate>
<ContentTemplate>
<section class="fraction-content-card">
<div class="fraction-card-heading fraction-lot-heading">
<h3>Lotes por etapa</h3>
<div class="fraction-lot-toolbar">
<div class="fraction-lot-filter">
<label for="DdlLotsStage">Etapa</label>
<asp:DropDownList ID="DdlLotsStage"
runat="server"
ClientIDMode="Static"
CssClass="form-control select2me"
Width="260px"
AutoPostBack="true"
OnSelectedIndexChanged="DdlLotsStage_SelectedIndexChanged" />
</div>
<asp:LinkButton ID="BtnClearStageLots"
runat="server"
CssClass="btn btn-outline red"
CausesValidation="false"
OnClick="BtnClearStageLots_Click"
data-toggle="confirmation"
data-popout="true"
data-original-title="¿Eliminar todos los lotes de la etapa seleccionada?"
data-btn-ok-label="Sí"
data-btn-cancel-label="No">
<i class="fa fa-trash-o"></i>
Vaciar etapa
</asp:LinkButton>
</div>
</div>
<asp:Panel ID="PnlLotsStageRequired"
runat="server"
CssClass="fraction-lot-stage-required">
<span class="fraction-empty-icon" aria-hidden="true">
<i class="fa fa-map-marker"></i>
</span>
<div>
<strong>Seleccione una etapa</strong>
<p>El GIS, el avance y los lotes se consultan por etapa.</p>
</div>
</asp:Panel>
<asp:Panel ID="PnlLotsStageContext"
runat="server"
CssClass="fraction-lot-stage-context"
Visible="false">
<div class="fraction-selected-stage-overview">
<div class="fraction-selected-stage-name">
<span>Etapa seleccionada</span>
<strong>
<asp:Literal ID="LitLotsSelectedStage"
runat="server" />
</strong>
</div>
<div class="fraction-selected-stage-progress">
<span>Avance de la etapa</span>
<div class="fraction-stage-progress">
<strong class="fraction-progress-value">
<asp:Literal ID="LitLotsSelectedStageProgress"
runat="server" />
</strong>
<div class="progress fraction-progress-track">
<asp:Panel ID="PnlLotsSelectedStageProgressBar"
runat="server"
CssClass="progress-bar fraction-progress-bar"
role="progressbar"
aria-label="Avance de la etapa seleccionada"
aria-valuemin="0"
aria-valuemax="100" />
</div>
</div>
</div>
<div class="fraction-stage-gis-actions">
<asp:PlaceHolder ID="PhStageGisMissing"
runat="server"
Visible="false">
<asp:LinkButton ID="BtnAddStageGis"
runat="server"
CssClass="btn btn-outline blue"
CausesValidation="false"
OnClick="BtnAddStageGis_Click">
<i class="fa fa-map-o"></i>
Agregar GIS
</asp:LinkButton>
</asp:PlaceHolder>
<asp:PlaceHolder ID="PhStageGisExistingActions"
runat="server"
Visible="false">
<asp:LinkButton ID="BtnManageStageGis"
runat="server"
CssClass="btn btn-outline blue"
CausesValidation="false"
OnClick="BtnManageStageGis_Click">
<i class="fa fa-cog"></i>
Administrar GIS
</asp:LinkButton>
</asp:PlaceHolder>
</div>
</div>
<asp:Panel ID="PnlStageGisExisting"
runat="server"
CssClass="fraction-gis-card"
Visible="false">
<div class="fraction-gis-heading">
<div>
<span>GIS de la etapa</span>
<strong>
<asp:Literal ID="LitStageGisName"
runat="server" />
</strong>
<small>
<asp:Literal ID="LitStageGisUpdatedAt"
runat="server" />
</small>
</div>
<asp:HyperLink ID="LnkStageGisOpen"
runat="server"
CssClass="btn btn-default btn-sm">
<i class="fa fa-download"></i>
Descargar GIS
</asp:HyperLink>
</div>
</asp:Panel>
<div class="fraction-table-scroll fraction-lots-table">
<asp:GridView ID="GvLots"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
CssClass="table table-hover Widthall"
OnRowCommand="GvLots_RowCommand">
<Columns>
<asp:BoundField DataField="Etapa" HeaderText="Etapa" />
<asp:BoundField DataField="Nombre" HeaderText="Nombre" />
<asp:BoundField DataField="Tipo" HeaderText="Tipo" />
<asp:BoundField DataField="Calle" HeaderText="Calle" />
<asp:BoundField DataField="Catastro" HeaderText="Catastro" />
<asp:BoundField DataField="MetrosCuadrados"
HeaderText="Metros cuadrados"
DataFormatString="{0:N4}" />
<asp:BoundField DataField="Duplicador" HeaderText="Duplicador" />
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<span class='<%# GetLotStatusCss(Eval("EsActivo")) %>'>
<%# GetLotStatusText(Eval("EsActivo")) %>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Acciones" ItemStyle-Width="90">
<ItemTemplate>
<asp:LinkButton ID="BtnEditLot"
runat="server"
CssClass="btn btn-circle btn-sm green"
CausesValidation="false"
CommandName="EditLot"
CommandArgument='<%# Eval("CveFraccionamientoLote") %>'
ToolTip="Editar lote"
data-toggle="tooltip"
data-placement="top"
aria-label="Editar lote">
<i class="fa fa-pencil"></i>
</asp:LinkButton>
<asp:LinkButton ID="BtnDeleteLot"
runat="server"
CssClass="btn btn-circle btn-sm red"
CausesValidation="false"
CommandName="DeleteLot"
CommandArgument='<%# Eval("CveFraccionamientoLote") %>'
data-toggle="confirmation"
data-popout="true"
data-original-title="¿Eliminar este lote?"
data-btn-ok-label="Sí"
data-btn-cancel-label="No"
aria-label="Eliminar lote">
<i class="icon-trash"></i>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-th"></i>
</span>
<span>No hay lotes registrados para la etapa seleccionada.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
</div>
</asp:Panel>
</section>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabProcedures"
runat="server">
<HeaderTemplate>
<i class="fa fa-clipboard"></i>
Trámites
<span class="badge">
<asp:Literal ID="LitProcedureCount" runat="server" />
</span>
</HeaderTemplate>
<ContentTemplate>
<section class="fraction-content-card">
<div class="fraction-card-heading">
<h3>Trámites del fraccionamiento</h3>
</div>
<sig:Filtros ID="UcProcedureFilters"
runat="server"
EmptyText="No hay filtros aplicados"
OnMostrarFiltrosClick="UcProcedureFilters_MostrarFiltrosClick"
OnFiltrosChanged="UcProcedureFilters_FiltrosChanged"
OnConsultar="UcProcedureFilters_Consultar" />
<div class="fraction-table-scroll">
<asp:GridView ID="GvProcedures"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
DataKeyNames="CveSolicitud"
CssClass="table table-hover Widthall"
OnRowCommand="GvProcedures_RowCommand">
<Columns>
<asp:BoundField
DataField="Folio"
HeaderText="Folio" />
<asp:BoundField
DataField="TipoTramite"
HeaderText="Tipo de trámite" />
<asp:BoundField
DataField="Etapa"
HeaderText="Etapa" />
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<%#: GetProcedureStatusText(Eval("EstatusSolicitud")) %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField
DataField="FechaInicio"
HeaderText="Fecha inicio"
DataFormatString="{0:dd/MM/yyyy HH:mm}"
HtmlEncode="false" />
<asp:BoundField
DataField="FechaAutorizacion"
HeaderText="Fecha autorización"
DataFormatString="{0:dd/MM/yyyy HH:mm}"
HtmlEncode="false" />
<asp:TemplateField
HeaderText="Acciones"
ItemStyle-Width="150">
<ItemTemplate>
<asp:LinkButton ID="BtnChangeProcedureStatus"
runat="server"
CssClass="btn btn-sm blue"
CausesValidation="false"
Visible='<%# ConvertToBoolean(Eval("PuedeCambiarEstatus")) %>'
CommandName="ChangeStatus"
CommandArgument='<%# Eval("CveSolicitud") %>'>
<i class="fa fa-exchange"></i>
Cambiar estatus
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-clipboard"></i>
</span>
<span>No hay trámites que coincidan con los filtros seleccionados.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
</div>
</section>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabPayments"
runat="server">
<HeaderTemplate>
<i class="fa fa-credit-card"></i>
Pagos
<span class="badge">
<asp:Literal ID="LitCantidadPagos" runat="server" />
</span>
</HeaderTemplate>
<ContentTemplate>
<section class="fraction-content-card">
<div class="fraction-card-heading">
<div>
<h3>Pagos pendientes</h3>
<p>Pagos configurados para los trámites del fraccionamiento que todavía no tienen una venta relacionada.</p>
</div>
</div>
<div class="fraction-table-scroll">
<asp:GridView ID="GvPagosPendientes"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
CssClass="table table-striped table-hover Widthall">
<Columns>
<asp:BoundField
DataField="FolioSolicitud"
HeaderText="Solicitud" />
<asp:BoundField
DataField="Etapa"
HeaderText="Etapa" />
<asp:BoundField
DataField="TipoTramite"
HeaderText="Trámite" />
<asp:BoundField
DataField="NombrePago"
HeaderText="Pago" />
<asp:BoundField
DataField="NumeroConceptos"
HeaderText="Conceptos" />
<asp:BoundField
DataField="SubTotal"
HeaderText="Subtotal"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:BoundField
DataField="IVA"
HeaderText="IVA"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:BoundField
DataField="Total"
HeaderText="Total"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:TemplateField HeaderText="Acciones">
<ItemTemplate>
<asp:HyperLink ID="LnkGenerar"
runat="server"
CssClass="btn btn-xs blue"
Visible='<%# !ConvertToBoolean(Eval("VentaGenerada")) %>'
NavigateUrl='<%# ObtenerUrlVentaTramite(Eval("CveSolicitud"), Eval("CveTramitePago")) %>'>
<i class="fa fa-file-text-o"></i>
Generar
</asp:HyperLink>
<asp:HyperLink ID="LnkPagar"
runat="server"
CssClass="btn btn-xs green"
Visible='<%# ConvertToBoolean(Eval("VentaGenerada")) %>'
NavigateUrl='<%# ObtenerUrlVentaTramite(Eval("CveSolicitud"), Eval("CveTramitePago")) %>'>
<i class="fa fa-credit-card"></i>
Pagar
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-check-circle"></i>
</span>
<span>No hay pagos pendientes.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
</div>
</section>
<section class="fraction-content-card">
<div class="fraction-card-heading">
<div>
<h3>Pagos realizados</h3>
<p>Ventas relacionadas de forma explícita con una solicitud y su grupo de pago.</p>
</div>
</div>
<div class="fraction-table-scroll">
<asp:GridView ID="GvPagosRealizados"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
CssClass="table table-striped table-hover Widthall">
<Columns>
<asp:BoundField
DataField="SerieFolio"
HeaderText="Venta" />
<asp:BoundField
DataField="FechaPago"
HeaderText="Fecha"
DataFormatString="{0:dd/MM/yyyy HH:mm}" />
<asp:BoundField
DataField="FolioSolicitud"
HeaderText="Solicitud" />
<asp:BoundField
DataField="Etapa"
HeaderText="Etapa" />
<asp:BoundField
DataField="TipoTramite"
HeaderText="Trámite" />
<asp:BoundField
DataField="NombrePago"
HeaderText="Pago" />
<asp:BoundField
DataField="SubTotal"
HeaderText="Subtotal"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:BoundField
DataField="IVA"
HeaderText="IVA"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:BoundField
DataField="Total"
HeaderText="Total"
DataFormatString="{0:C2}"
HtmlEncode="false" />
<asp:TemplateField HeaderText="Autorización">
<ItemTemplate>
<asp:Label runat="server"
CssClass='<%# Convert.ToBoolean(Eval("Autorizado")) ? "label label-success" : "label label-warning" %>'
Text='<%# Convert.ToBoolean(Eval("Autorizado")) ? "Autorizado" : "Pendiente" %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-credit-card"></i>
</span>
<span>No hay ventas relacionadas con pagos de trámites.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
</div>
</section>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabDocuments"
runat="server">
<HeaderTemplate>
<i class="fa fa-file-text-o"></i>
Documentos
<span class="badge">
<asp:Literal ID="LitDocumentCount" runat="server" />
</span>
</HeaderTemplate>
<ContentTemplate>
<section class="fraction-content-card">
<div class="fraction-card-heading">
<h3>Documentos del fraccionamiento</h3>
</div>
<sig:Filtros ID="UcDocumentFilters"
runat="server"
EmptyText="No hay filtros aplicados"
OnMostrarFiltrosClick="UcDocumentFilters_MostrarFiltrosClick"
OnFiltrosChanged="UcDocumentFilters_FiltrosChanged"
OnConsultar="UcDocumentFilters_Consultar" />
<div class="fraction-table-scroll">
<asp:GridView ID="GvDocuments"
runat="server"
AutoGenerateColumns="false"
GridLines="None"
CssClass="table table-hover Widthall"
OnRowCommand="GvDocuments_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Archivo">
<ItemTemplate>
<asp:HyperLink ID="LnkDocumentDownload"
runat="server"
Visible='<%# ConvertToBoolean(Eval("TieneArchivo")) %>'
NavigateUrl='<%# GetDocumentDownloadUrl(Eval("CveDocumentoSolicitud")) %>'
Text='<%# EncodeDisplayValue(Convert.ToString(Eval("NombreArchivo"))) %>' />
<asp:Literal ID="LitDocumentMissing"
runat="server"
Visible='<%# !ConvertToBoolean(Eval("TieneArchivo")) %>'
Text="Sin cargar" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField
DataField="TipoDocumento"
HeaderText="Tipo de documento" />
<asp:BoundField
DataField="TipoTramite"
HeaderText="Trámite" />
<asp:BoundField
DataField="Etapa"
HeaderText="Etapa" />
<asp:TemplateField HeaderText="Es aprobado">
<ItemTemplate>
<span class='<%# GetDocumentStatusCss(Eval("EstadoDocumento")) %>'>
<%#: Convert.ToString(Eval("EstadoDocumento")) %>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nota">
<ItemTemplate>
<%#: GetDocumentNoteText(Eval("Nota")) %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField
DataField="FechaRevision"
HeaderText="Fecha revisión"
DataFormatString="{0:dd/MM/yyyy HH:mm}"
HtmlEncode="false" />
<asp:TemplateField HeaderText="Acciones" ItemStyle-Width="330">
<ItemTemplate>
<asp:LinkButton ID="BtnDocumentUpload"
runat="server"
CssClass="btn btn-sm blue"
CausesValidation="false"
Visible='<%# ConvertToBoolean(Eval("PuedeActualizarArchivo")) %>'
CommandName="Upload"
CommandArgument='<%# string.Format("{0}|{1}", Eval("CveSolicitud"), Eval("CveTipoDocumento")) %>'>
<i class="fa fa-upload"></i>
<%#: GetDocumentUploadButtonText(Eval("TieneArchivo")) %>
</asp:LinkButton>
<asp:LinkButton ID="BtnDocumentGis"
runat="server"
CssClass="btn btn-sm blue"
CausesValidation="false"
Visible='<%# ConvertToBoolean(Eval("PuedeAdministrarGis")) %>'
CommandName="ManageGis"
CommandArgument='<%# Eval("CveFraccionamientoEtapa") %>'>
<i class="fa fa-map-o"></i>
Administrar GIS
</asp:LinkButton>
<asp:LinkButton ID="BtnDocumentApprove"
runat="server"
CssClass="btn btn-sm green"
CausesValidation="false"
Visible='<%# ConvertToBoolean(Eval("PuedeRevisar")) %>'
CommandName="Approve"
CommandArgument='<%# Eval("CveDocumentoSolicitud") %>'
OnClientClick="return confirm('¿Aprobar este documento?');">
<i class="fa fa-check"></i>
Aprobar
</asp:LinkButton>
<asp:LinkButton ID="BtnDocumentReject"
runat="server"
CssClass="btn btn-sm red"
CausesValidation="false"
Visible='<%# ConvertToBoolean(Eval("PuedeRevisar")) %>'
CommandName="Reject"
CommandArgument='<%# Eval("CveDocumentoSolicitud") %>'>
<i class="fa fa-times"></i>
Rechazar
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="fraction-empty-state">
<span class="fraction-empty-icon">
<i class="fa fa-file-text-o"></i>
</span>
<span>No hay documentos que coincidan con los filtros seleccionados.</span>
</div>
</EmptyDataTemplate>
</asp:GridView>
</div>
</section>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabNotes"
runat="server">
<HeaderTemplate>
<i class="fa fa-sticky-note-o"></i>
Notas
</HeaderTemplate>
<ContentTemplate>
<div class="fraction-empty-panel">
<i class="fa fa-sticky-note-o"></i>
<p>No hay notas registradas.</p>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalAddProcedure"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpAddProcedureModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">
<i class="fa fa-plus-circle"></i>
Agregar trámite
</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblAddProcedureMessage"
runat="server"
CssClass="alert alert-danger"
Visible="false" />
<div class="form-group">
<label>Etapa</label>
<asp:DropDownList ID="DdlAddProcedureStage"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;"
AutoPostBack="true"
OnSelectedIndexChanged="DdlAddProcedureStage_SelectedIndexChanged" />
</div>
<div class="form-group">
<label>Tipo de trámite</label>
<asp:DropDownList ID="DdlAddProcedureType"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
<span class="help-block">
Sólo se muestran los trámites que todavía no tienen una solicitud en la etapa seleccionada.
</span>
</div>
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveAddProcedure"
runat="server"
CssClass="btn blue"
Text="Agregar trámite"
CausesValidation="false"
OnClick="BtnSaveAddProcedure_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="DdlAddProcedureStage"
EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger
ControlID="BtnSaveAddProcedure"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalProcedureFilters"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpProcedureFiltersModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">
<i class="fa fa-filter"></i>
Filtros de trámites
</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label>Estatus</label>
<asp:DropDownList ID="DdlProcedureStatus"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
</div>
<div class="form-group">
<label>Tipo de trámite</label>
<asp:DropDownList ID="DdlProcedureType"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
</div>
<div class="form-group">
<label>Etapa</label>
<asp:DropDownList ID="DdlProcedureStage"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
</div>
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:LinkButton ID="BtnApplyProcedureFilters"
runat="server"
CssClass="btn blue"
CausesValidation="false"
OnClick="BtnApplyProcedureFilters_Click">
<i class="fa fa-filter"></i>
Filtrar
</asp:LinkButton>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="BtnApplyProcedureFilters"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalDocumentFilters"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpDocumentFiltersModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar">&times;</button>
<h4 class="modal-title"><i class="fa fa-filter"></i> Filtros de documentos</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label>Tipo de trámite</label>
<asp:DropDownList ID="DdlDocumentProcedureType"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
</div>
<div class="form-group">
<label>Etapa</label>
<asp:DropDownList ID="DdlDocumentStage"
runat="server"
CssClass="form-control select2me Widthall"
Style="width:100%;" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
<asp:LinkButton ID="BtnApplyDocumentFilters"
runat="server"
CssClass="btn blue"
CausesValidation="false"
OnClick="BtnApplyDocumentFilters_Click">
<i class="fa fa-filter"></i> Filtrar
</asp:LinkButton>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnApplyDocumentFilters" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalDocumentUpload"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpDocumentUploadModal"
runat="server"
UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar">&times;</button>
<h4 class="modal-title">
<i class="fa fa-upload"></i>
<asp:Literal ID="LitDocumentUploadTitle" runat="server" />
</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblDocumentUploadMessage"
runat="server"
CssClass="alert alert-danger"
Visible="false" />
<div class="well well-sm">
<strong><asp:Literal ID="LitDocumentUploadType" runat="server" /></strong><br />
<span><asp:Literal ID="LitDocumentUploadContext" runat="server" /></span>
</div>
<div class="form-group">
<label>Archivo</label>
<asp:FileUpload ID="FuDocument"
runat="server"
CssClass="form-control" />
<span class="help-block">
<asp:Literal ID="LitDocumentUploadRules" runat="server" />
</span>
</div>
<div class="form-group">
<label>Comentario</label>
<asp:TextBox ID="TxtDocumentClientComment"
runat="server"
CssClass="form-control"
TextMode="MultiLine"
Rows="3"
MaxLength="1000" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnSaveDocumentUpload"
runat="server"
CssClass="btn blue"
Text="Guardar archivo"
OnClick="BtnSaveDocumentUpload_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="BtnSaveDocumentUpload" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalDocumentReject"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpDocumentRejectModal"
runat="server"
UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar">&times;</button>
<h4 class="modal-title"><i class="fa fa-times"></i> Rechazar documento</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblDocumentRejectMessage"
runat="server"
CssClass="alert alert-danger"
Visible="false" />
<p>Capture la nota o motivo del rechazo. Esta nota se mostrará en la lista de documentos.</p>
<div class="form-group">
<label>Nota</label>
<asp:TextBox ID="TxtDocumentRejectNote"
runat="server"
CssClass="form-control"
TextMode="MultiLine"
Rows="4"
MaxLength="1000" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
<asp:LinkButton ID="BtnConfirmDocumentReject"
runat="server"
CssClass="btn red"
CausesValidation="false"
OnClick="BtnConfirmDocumentReject_Click">
<i class="fa fa-times"></i> Rechazar
</asp:LinkButton>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<sig:BitacoraGrid ID="UcBitacoraDetalle"
runat="server"
Titulo="Bitácora"
Descripcion="Historial del fraccionamiento, sus etapas, lotes, trámites y documentos"
TextoVacio="No hay movimientos registrados para este fraccionamiento."
RegistrosPorPagina="10"
ScrollsParaCambiarPagina="3" />
<div id="ModalEditDevelopment"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpDevelopmentModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">Editar fraccionamiento</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblEditMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message sig-edit-message"
role="alert"
Visible="false" />
<div class="form-group">
<label>Cliente *</label>
<asp:DropDownList ID="DdlClient"
runat="server"
CssClass="form-control select2me"
Width="100%" />
</div>
<div class="form-group">
<label>Fraccionamiento *</label>
<asp:TextBox ID="TxtDevelopment"
runat="server"
CssClass="form-control"
MaxLength="200" />
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Hectáreas</label>
<asp:TextBox ID="TxtHectares"
runat="server"
CssClass="form-control" TextMode="Number"
MaxLength="30" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Estatus *</label>
<asp:DropDownList ID="DdlStatus"
runat="server"
CssClass="form-control select2me"
Width="100%" />
</div>
</div>
</div>
<div class="form-group">
<label>Ubicación</label>
<asp:TextBox ID="TxtLocation"
runat="server"
CssClass="form-control"
MaxLength="500"
TextMode="MultiLine"
Rows="3" />
</div>
<asp:CheckBox ID="ChkActive"
runat="server"
Text=" Fraccionamiento activo" />
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSave"
runat="server"
CssClass="btn blue"
Text="Guardar cambios"
OnClick="BtnSave_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnSave" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalStage"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpStageModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">
<asp:Literal ID="LitStageTitle" runat="server" />
</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblStageMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message"
role="alert"
Visible="false" />
<div class="form-group">
<label>Etapa *</label>
<asp:TextBox ID="TxtStage"
runat="server"
CssClass="form-control"
MaxLength="150" />
</div>
<div class="form-group">
<label>Hectáreas</label>
<asp:TextBox ID="TxtStageHectares"
runat="server"
CssClass="form-control"
MaxLength="30" />
</div>
<asp:CheckBox ID="ChkStageActive"
runat="server"
Text=" Etapa activa" />
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveStage"
runat="server"
CssClass="btn blue"
Text="Guardar etapa"
OnClick="BtnSaveStage_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnSaveStage" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalStageProgress"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpStageProgressModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">Editar avance</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblStageProgressMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message sig-stage-progress-message"
role="alert"
Visible="false" />
<div class="form-group">
<label for="DdlStageProgress">Etapa *</label>
<asp:DropDownList ID="DdlStageProgress"
runat="server"
ClientIDMode="Static"
CssClass="form-control select2me"
Width="100%"
AutoPostBack="true"
OnSelectedIndexChanged="DdlStageProgress_SelectedIndexChanged" />
</div>
<asp:Panel ID="PnlStageProgressCapture"
runat="server"
Visible="false">
<div class="form-group">
<label for="TxtStageProgress">Porcentaje de avance *</label>
<div class="input-group">
<asp:TextBox ID="TxtStageProgress"
runat="server"
ClientIDMode="Static"
CssClass="form-control"
TextMode="Number"
MaxLength="6"
min="0"
max="100"
step="0.01" />
<span class="input-group-addon">%</span>
</div>
<span class="help-block">
Capture un valor entre 0.00 y 100.00.
</span>
</div>
</asp:Panel>
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveStageProgress"
runat="server"
CssClass="btn blue"
Text="Guardar avance"
CausesValidation="false"
OnClick="BtnSaveStageProgress_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="DdlStageProgress"
EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger
ControlID="BtnSaveStageProgress"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalProcedureStatus"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpProcedureStatusModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">Cambiar estatus del trámite</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblProcedureStatusMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message"
role="alert"
Visible="false" />
<div class="fraction-selected-stage">
<span>Solicitud</span>
<strong>
<asp:Literal ID="LitProcedureStatusFolio"
runat="server" />
</strong>
</div>
<div class="form-group">
<label>Estatus *</label>
<asp:DropDownList ID="DdlProcedureNewStatus"
runat="server"
CssClass="form-control" />
</div>
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveProcedureStatus"
runat="server"
CssClass="btn blue"
Text="Guardar estatus"
CausesValidation="false"
OnClick="BtnSaveProcedureStatus_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="BtnSaveProcedureStatus"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalStageGis"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpStageGisModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">
<asp:Literal ID="LitStageGisModalTitle"
runat="server" />
</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblStageGisMessage"
ClientIDMode="Static"
runat="server"
CssClass="alert alert-danger sig-modal-message sig-stage-gis-message"
role="alert"
Visible="true"
style="display:none;" />
<div class="fraction-selected-stage">
<span>Etapa</span>
<strong>
<asp:Literal ID="LitStageGisStageName"
runat="server" />
</strong>
</div>
<asp:HiddenField ID="HdStageGisId"
ClientIDMode="Static"
runat="server" />
<div class="sig-gis-layout">
<div class="sig-gis-panel sig-gis-panel-files">
<div class="form-group">
<label>Archivo GIS</label>
<input
type="hidden"
id="TxtGISLocal"
class="ADSdropzoneLocal"
data-maxFile="1"
data-maxfilesize="30"
data-acceptedfiles=".gis"
data-message="Arrastra aquí un archivo .gis o haz clic para seleccionarlo." />
<span class="help-block">
El archivo permanece local hasta que presione Guardar GIS.
Si ya existe un GIS puede conservarlo y modificar únicamente los vínculos.
</span>
</div>
<div id="GisVinculosStatus"
class="sig-gis-link-status"></div>
<div id="GisVinculos"
class="sig-gis-links"></div>
</div>
<div class="sig-gis-panel sig-gis-panel-map">
<div id="MapGIS"
class="sig-gis-map"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button"
id="BtnDeleteStageGis"
class="btn red"
style="display:none;">
<i class="fa fa-trash"></i>
Eliminar GIS
</button>
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<button type="button"
id="BtnSaveStageGis"
class="btn blue"
disabled="disabled">
<i class="fa fa-save"></i>
Guardar GIS
</button>
<asp:Button ID="BtnRefreshStageGis"
ClientIDMode="Static"
runat="server"
CssClass="hidden"
CausesValidation="false"
UseSubmitBehavior="false"
OnClick="BtnRefreshStageGis_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="BtnRefreshStageGis"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalLots"
class="modal fade fraction-modal fraction-lot-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpLotsModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">Agregar lotes</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblLotMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message sig-lot-message"
role="alert"
Visible="false" />
<div class="fraction-selected-stage">
<span>Etapa seleccionada</span>
<strong>
<asp:Literal ID="LitLotStageName" runat="server" />
</strong>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Cantidad de lotes *</label>
<asp:TextBox ID="TxtLotQuantity"
runat="server"
ClientIDMode="Static"
CssClass="form-control js-lot-preview-field"
TextMode="Number"
Text="1" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Nombre base</label>
<asp:TextBox ID="TxtLotBaseName"
runat="server"
ClientIDMode="Static"
CssClass="form-control js-lot-preview-field"
MaxLength="50"
placeholder="Ejemplo: Lote-" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group fraction-lot-check">
<asp:CheckBox ID="ChkLotAddIdentifier"
runat="server"
ClientIDMode="Static"
Checked="true"
Text=" Agregar número identificador" />
</div>
</div>
<div class="col-sm-6" id="LotStartNumberGroup">
<div class="form-group">
<label>Número inicial *</label>
<asp:TextBox ID="TxtLotStartNumber"
runat="server"
ClientIDMode="Static"
CssClass="form-control js-lot-preview-field"
TextMode="Number"
Text="1" />
</div>
</div>
</div>
<div class="fraction-lot-preview">
<span>Vista previa</span>
<strong id="LotNamePreview">1</strong>
</div>
<div class="fraction-excel-box">
<div class="fraction-excel-copy">
<i class="fa fa-file-excel-o"></i>
<div>
<strong>Carga desde Excel</strong>
<span>Descargue la plantilla, capture los lotes y cárguela para esta etapa.</span>
</div>
</div>
<asp:HyperLink ID="LnkDownloadLotTemplate"
runat="server"
CssClass="btn btn-outline green"
NavigateUrl="~/Pages/Fraccionamientos/PlantillaLotes.ashx">
<i class="fa fa-download"></i>
Descargar plantilla
</asp:HyperLink>
<asp:FileUpload ID="FileLots"
runat="server"
CssClass="form-control fraction-lot-upload" />
<asp:Button ID="BtnImportLots"
runat="server"
CssClass="btn green"
Text="Cargar Excel"
CausesValidation="false"
OnClick="BtnImportLots_Click" />
</div>
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveLots"
runat="server"
CssClass="btn blue"
Text="Guardar lotes"
CausesValidation="false"
OnClick="BtnSaveLots_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnSaveLots" EventName="Click" />
<asp:PostBackTrigger ControlID="BtnImportLots" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalEditLot"
class="modal fade fraction-modal"
tabindex="-1"
role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpEditLotModal"
runat="server"
UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Cerrar">
&times;
</button>
<h4 class="modal-title">Editar lote</h4>
</div>
<div class="modal-body">
<asp:Label ID="LblEditLotMessage"
runat="server"
CssClass="alert alert-danger sig-modal-message sig-edit-lot-message"
role="alert"
Visible="false" />
<div class="fraction-selected-stage">
<span>Etapa</span>
<strong>
<asp:Literal ID="LitEditLotStage" runat="server" />
</strong>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Nombre *</label>
<asp:TextBox ID="TxtEditLotName"
runat="server"
CssClass="form-control"
MaxLength="50" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Tipo</label>
<asp:TextBox ID="TxtEditLotType"
runat="server"
CssClass="form-control"
MaxLength="100" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Calle</label>
<asp:TextBox ID="TxtEditLotStreet"
runat="server"
CssClass="form-control"
MaxLength="200" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Catastro</label>
<asp:TextBox ID="TxtEditLotCadastre"
runat="server"
CssClass="form-control"
MaxLength="100" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Metros cuadrados</label>
<asp:TextBox ID="TxtEditLotSquareMeters"
runat="server"
CssClass="form-control"
MaxLength="30" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Duplicador</label>
<asp:TextBox ID="TxtEditLotDuplicate"
runat="server"
CssClass="form-control"
MaxLength="50" />
</div>
</div>
</div>
<asp:CheckBox ID="ChkEditLotActive"
runat="server"
Text=" Lote activo" />
</div>
<div class="modal-footer">
<button type="button"
class="btn default"
data-dismiss="modal">
Cancelar
</button>
<asp:Button ID="BtnSaveLot"
runat="server"
CssClass="btn blue"
Text="Guardar lote"
CausesValidation="false"
OnClick="BtnSaveLot_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnSaveLot" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="ContentScripts" ContentPlaceHolderID="J" runat="server">
<script src='<%= ResolveUrl("~/Scripts/CatalogosTramites.js") %>'
type="text/javascript"></script>
<script src='<%= ResolveUrl("~/Scripts/fraccionamiento-gis.js?v=20260818-2") %>'
type="text/javascript"></script>
<script>
window.FraccionamientoGISOptions = {
modalId: 'ModalStageGis',
stageInputId: 'HdStageGisId',
fileInputId: 'TxtGISLocal',
mapId: 'MapGIS',
linksTableId: 'GisVinculos',
statusId: 'GisVinculosStatus',
saveButtonId: 'BtnSaveStageGis',
deleteButtonId: 'BtnDeleteStageGis',
refreshButtonId: 'BtnRefreshStageGis',
handlerUrl: '<%= ResolveUrl("~/Pages/Fraccionamientos/FraccionamientoGis.ashx") %>'
};
window.SIGDetail = window.SIGDetail || {};
window.SIGDetail.initialize = function (root) {
};
window.SIGDetail.initializeModal = function (modalSelector) {
var modal = $(modalSelector);
modal.modal('show');
window.SIGDetail.initialize(modal[0]);
if (window.App && App.initAjax) {
App.initAjax();
}
};
window.SIGDetail.hideModal = function (modalSelector) {
$(modalSelector).modal('hide');
};
window.SIGDetail.showEdit = function () {
window.SIGDetail.initializeModal('#ModalEditDevelopment');
};
window.SIGDetail.hideEdit = function () {
window.SIGDetail.hideModal('#ModalEditDevelopment');
};
window.SIGDetail.showStage = function () {
window.SIGDetail.initializeModal('#ModalStage');
};
window.SIGDetail.hideStage = function () {
window.SIGDetail.hideModal('#ModalStage');
};
window.SIGDetail.showStageProgress = function () {
window.SIGDetail.initializeModal('#ModalStageProgress');
};
window.SIGDetail.hideStageProgress = function () {
window.SIGDetail.hideModal('#ModalStageProgress');
};
window.SIGDetail.showProcedureStatus = function () {
window.SIGDetail.initializeModal('#ModalProcedureStatus');
};
window.SIGDetail.hideProcedureStatus = function () {
window.SIGDetail.hideModal('#ModalProcedureStatus');
};
window.SIGDetail.showStageGis = function () {
window.SIGDetail.initializeModal('#ModalStageGis');
};
window.SIGDetail.hideStageGis = function () {
window.SIGDetail.hideModal('#ModalStageGis');
};
window.SIGDetail.showEditLot = function () {
window.SIGDetail.initializeModal('#ModalEditLot');
};
window.SIGDetail.hideEditLot = function () {
window.SIGDetail.hideModal('#ModalEditLot');
};
window.SIGDetail.updateLotPreview = function () {
var quantity = parseInt($('#TxtLotQuantity').val(), 10) || 1;
var baseName = $('#TxtLotBaseName').val() || '';
var addIdentifier = $('#ChkLotAddIdentifier').is(':checked');
var startNumber = parseInt($('#TxtLotStartNumber').val(), 10) || 0;
var firstName = addIdentifier
? baseName + startNumber
: baseName;
var lastName = addIdentifier
? baseName + (startNumber + Math.max(0, quantity - 1))
: baseName;
var preview = firstName || 'Capture un nombre';
if (quantity > 1 && lastName !== firstName) {
preview += ' … ' + lastName;
}
$('#LotStartNumberGroup').toggle(addIdentifier);
$('#LotNamePreview').text(preview);
};
window.SIGDetail.showLots = function () {
window.SIGDetail.initializeModal('#ModalLots');
window.SIGDetail.updateLotPreview();
};
window.SIGDetail.hideLots = function () {
window.SIGDetail.hideModal('#ModalLots');
};
if (window.SIG_DETAIL_INITIALIZATION_REGISTERED !== true) {
window.SIG_DETAIL_INITIALIZATION_REGISTERED = true;
if (window.Sys && Sys.Application) {
Sys.Application.add_load(function () {
window.SIGDetail.initialize(document);
});
} else {
$(function () {
window.SIGDetail.initialize(document);
});
}
}
if (window.SIG_DETAIL_EVENTS_REGISTERED !== true) {
window.SIG_DETAIL_EVENTS_REGISTERED = true;
$(document).on(
'input change',
'#ModalLots .js-lot-preview-field, #ChkLotAddIdentifier',
window.SIGDetail.updateLotPreview);
$(document).on(
'shown.bs.modal.sigFractionDetail',
'#ModalLots',
window.SIGDetail.updateLotPreview);
$(document).on(
'hidden.bs.modal.sigFractionDetail',
'#ModalLots',
function () {
$(this).find('.sig-lot-message').hide();
});
$(document).on(
'hidden.bs.modal.sigFractionDetail',
'#ModalEditDevelopment',
function () {
$(this).find('.sig-edit-message').hide();
});
$(document).on(
'hidden.bs.modal.sigFractionDetail',
'#ModalEditLot',
function () {
$(this).find('.sig-edit-lot-message').hide();
});
$(document).on(
'hidden.bs.modal.sigFractionDetail',
'#ModalStageProgress',
function () {
$(this).find('.sig-stage-progress-message').hide();
});
$(document).on(
'hidden.bs.modal.sigFractionDetail',
'#ModalStageGis',
function () {
$(this).find('.sig-stage-gis-message').hide();
});
}
</script>
</asp:Content>