898 lines
52 KiB
Plaintext
898 lines
52 KiB
Plaintext
<%@ Page Title="Reporte Servicio a Domicilio" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepServicioDomicilio.aspx.vb" Inherits="OS_RepServicioDomicilio" %>
|
|
|
|
<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %>
|
|
|
|
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
|
|
|
|
|
<style type="text/css">
|
|
.unoaunoold {
|
|
color: #999b9b;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.Dia {
|
|
background-image: url(/Imagenes/FondoCal.jpg);
|
|
background-repeat: repeat-x;
|
|
height: 17px;
|
|
font-size: 10px;
|
|
text-align: right;
|
|
}
|
|
|
|
.Hora {
|
|
background-color: #E3EFFF;
|
|
height: 30px;
|
|
font-size: 10px;
|
|
border-right: solid 1px #5D8CC9;
|
|
border-bottom: solid 1px #5D8CC9;
|
|
}
|
|
|
|
.Mes {
|
|
background-image: url(/Imagenes/Caption.jpg);
|
|
height: 27px;
|
|
}
|
|
|
|
.Link {
|
|
color: #0000b9;
|
|
}
|
|
|
|
.calendariopanel {
|
|
z-index: 999;
|
|
width: 100%;
|
|
height: 100%;
|
|
top: 0px;
|
|
left: 0px;
|
|
border: 0px;
|
|
background-color: transparent;
|
|
position: absolute;
|
|
}
|
|
|
|
.calendarioback {
|
|
background-color: #000;
|
|
z-index: -90;
|
|
top: 0px;
|
|
opacity: 0.3;
|
|
position: fixed;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.calendariobody {
|
|
width: 520px;
|
|
display: table;
|
|
background-color: #fff;
|
|
margin-top: 7%;
|
|
margin-left: 28%;
|
|
}
|
|
|
|
.calendariobody label {
|
|
font-size: 12px;
|
|
}
|
|
|
|
|
|
.tareasinicio tr td:nth-child(1) {
|
|
}
|
|
|
|
.portlet.light > .portlet-title > .caption > .caption-subject {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.fix > div {
|
|
height: inherit !important;
|
|
width: inherit !important;
|
|
}
|
|
|
|
|
|
.fix > div > .ajax__html_editor_extender_texteditor {
|
|
height: 150px !important;
|
|
}
|
|
|
|
|
|
|
|
#moopio a {
|
|
display: block;
|
|
}
|
|
|
|
#moopio a:hover {
|
|
background-color: rgba(0,0,0,0.5);
|
|
transform: scale(1.2);
|
|
cursor: default;
|
|
}
|
|
|
|
|
|
.MultiLineTextBox {
|
|
resize: none;
|
|
}
|
|
|
|
|
|
.select2-container--open {
|
|
z-index: 1000 !important;
|
|
}
|
|
</style>
|
|
|
|
|
|
</asp:Content>
|
|
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
|
|
|
|
|
|
|
</asp:Content>
|
|
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
|
Reporte Servicios a Domicilio
|
|
</asp:Content>
|
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
|
|
|
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet solid grey-cascade portlet-filter">
|
|
<div class="portlet-title portlet-filterT smalltitle">
|
|
<div class="tools">
|
|
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" CssClass="btn btn-primary" />
|
|
<a href="javascript:;" class="expand"></a>
|
|
</div>
|
|
<div class="titlefiltros caption">
|
|
<div class="row">
|
|
|
|
<label class="col-md-1 ">Técnico:</label>
|
|
<div class="col-md-2">
|
|
<asp:DropDownList ID="DdlTecnico" ClientIDMode="Static" CssClass="form-control input-sm select2me" runat="server" DataTextField="Nombre" Visible="true" DataValueField="CveUsuario"></asp:DropDownList>
|
|
</div>
|
|
|
|
<label class="col-md-1 "><asp:Label runat="server" ID="LblSubProyectoFiltro"></asp:Label>:</label>
|
|
|
|
<div class="col-md-2">
|
|
<asp:DropDownList ID="DdlSubProyecto" ClientIDMode="Static" DataValueField="CveSubProyecto" DataTextField="SubProyecto" runat="server" CssClass="form-control select2me" Width="150px" AppendDataBoundItems="true"></asp:DropDownList>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<br />
|
|
|
|
|
|
<asp:UpdatePanel runat="server" ID="UpOrdenesSinAsignar" UpdateMode="Conditional" >
|
|
<ContentTemplate>
|
|
<div class="row" runat="server" id="DVOSPendientes" visible="false">
|
|
<div class="col-md-1">
|
|
Orden de Servicio:
|
|
</div>
|
|
<div class="col-md-4">
|
|
<asp:DropDownList runat="server" ID="DdlOrdenesSinAsignar" CssClass="select2me" DataValueField="CveOSDetalle" DataTextField="ConceptoDdl" Width="100%"></asp:DropDownList>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<asp:LinkButton runat="server" ID="LnkOrdenesSinAsignarMostarModal" CssClass="Texto" OnClick="LnkOrdenesSinAsignarMostarModal_Click">Asignar</asp:LinkButton>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-md-12 col-sm-12">
|
|
|
|
<div class="portlet light calendar ">
|
|
<div class="portlet-title ">
|
|
<div class="caption">
|
|
<i class="icon-calendar font-green-sharp"></i>
|
|
<span class="caption-subject font-green-sharp bold uppercase">Servicios a Domicilio</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
|
|
<div id="calendar">
|
|
</div>
|
|
|
|
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<asp:Button Text="" runat="server" ID="BtnActualizaAdd" ClientIDMode="Static" Style="display: none;" OnClick="BtnActualizaAdd_Click" />
|
|
<asp:HiddenField runat="server" ID="HdnU" ClientIDMode="Static" />
|
|
<asp:HiddenField runat="server" ID="HdnE" ClientIDMode="Static" />
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
<div id="ModalAgenda" class="modal ADS fade" role="dialog">
|
|
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAgenda" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header ">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
<h4 class="modal-title"><span id="SpanTituloAgenda">Servicios a Domicilio</span></h4>
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
<div class="row">
|
|
<div class="col-md-12" style="text-align: center;">
|
|
<asp:Label ID="LblEmpresaCRM" runat="server" Text="" Style="font-size: 16px; display: none; text-align: center;"></asp:Label>
|
|
</div>
|
|
</div>
|
|
<div class="row" style="display:none!important">
|
|
<div class="form-group col-md-6 form-md-line-input input-iconright selectmodal">
|
|
<asp:DropDownList ID="DdlAgedaTipo" ClientIDMode="Static" Width="100%" Enabled="false" DataTextField="AgendaTipo" DataValueField="CveAgendaTipo" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true">
|
|
</asp:DropDownList>
|
|
<asp:RequiredFieldValidator ID="RFVAgendaTipo" InitialValue="-1" runat="server" ControlToValidate="DdlAgedaTipo" CssClass="help-block errorimput" ErrorMessage="<span style='font-size: 11px;'><b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de agenda''</b> es necesario.</span>" ValidationGroup="VGGuardarAgenda"></asp:RequiredFieldValidator>
|
|
<label style="width: 90%;" for="<%=DdlAgedaTipo.ClientID.ToString()%>">Tipo de Asunto:</label>
|
|
</div>
|
|
|
|
<div class="form-group col-md-6 form-md-line-input input-iconright selectmodal">
|
|
<asp:DropDownList ID="DdlPrioridad" ClientIDMode="Static" Width="100%" runat="server" CssClass="form-control input-sm select2me" Enabled="false">
|
|
<asp:ListItem Selected="True" Text="Baja" Value="1"></asp:ListItem>
|
|
<asp:ListItem Text="Media" Value="2"></asp:ListItem>
|
|
<asp:ListItem Text="Alta" Value="3"></asp:ListItem>
|
|
</asp:DropDownList>
|
|
<label for="<%=DdlPrioridad.ClientID.ToString()%>">Prioridad:</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group form-md-line-input input-iconright">
|
|
<asp:TextBox ID="TxtAsuntoAgenda" ClientIDMode="Static" MaxLength="100" CssClass="form-control" runat="server" CausesValidation="true"></asp:TextBox>
|
|
<asp:RequiredFieldValidator ID="RFVAsuntoAgenda" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtAsuntoAgenda" ErrorMessage="<span style='font-size: 11px;'><b><span style='text-decoration: underline'>ERROR</span></b>: El campo <b>''Asunto''</b> es necesario.</span>" ValidationGroup="VGGuardarAgenda"></asp:RequiredFieldValidator>
|
|
<label for="<%= TxtAsuntoAgenda.ClientID.ToString()%>">Asunto:</label>
|
|
</div>
|
|
<div class="form-group form-md-line-input input-iconright">
|
|
<div id="DivDescripcionUpdate" style="width: 400px; height: 75px; padding-top: 10px; font-size: 14px; display: none;"></div>
|
|
<asp:TextBox ID="TxtDescripcionAgenda" ClientIDMode="Static" MaxLength="5000" runat="server" TextMode="MultiLine" Rows="2" CausesValidation="true" Width="100%" CssClass="form-control MultiLineTextBox"></asp:TextBox>
|
|
<asp:RequiredFieldValidator ID="RFVDescripcionAgenda" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDescripcionAgenda" ErrorMessage="<span style='font-size: 11px;'><b><span style='text-decoration: underline'>ERROR</span></b>: El campo <b>''Descripción''</b> es necesario.</span>" ValidationGroup="VGGuardarAgenda"></asp:RequiredFieldValidator>
|
|
<label for="<%= TxtDescripcionAgenda.ClientID.ToString()%>" style="height: 60px;">Descripción:</label>
|
|
</div>
|
|
|
|
<div class="form-group form-md-line-input input-iconright">
|
|
<asp:Label runat="server" ClientIDMode="Static" ID="LblDireccion" CssClass="form-control"></asp:Label>
|
|
<label for="<%= LblDireccion.ClientID.ToString()%>" style="height: 60px;">Dirección:</label>
|
|
</div>
|
|
|
|
<div class="form-group form-md-line-input input-iconright">
|
|
<asp:Label runat="server" ClientIDMode="Static" ID="LblSubProyecto" CssClass="form-control"></asp:Label>
|
|
<label for="<%= LblSubProyecto.ClientID.ToString()%>" style="height: 60px;"><asp:Label runat="server" ID="LblSubProyectoEtiqueta"></asp:Label>:</label>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
|
<div class="form-group col-md-6 form-md-line-input input-iconright" style="padding-left: 0px !important;">
|
|
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy hh:mm" style="width: 70%;">
|
|
<asp:TextBox ID="TxtFechaInicioAgenda" Enabled="false" ClientIDMode="Static" runat="server" Width="100%" CssClass="form-control input-sm " CausesValidation="true" MaxLength="18"></asp:TextBox>
|
|
<label style="margin-left: -3px; padding-bottom: 30px; width: 70%;" for="<%= TxtFechaInicioAgenda.ClientID.ToString()%>">Fecha de Inicio:</label>
|
|
</div>
|
|
<asp:RequiredFieldValidator ID="RFVFechaInicioAdd" Display="None" CssClass="help-block errorimput" runat="server" ControlToValidate="TxtFechaInicioAgenda" ErrorMessage="<b><span style='text-decoration: underline'>ERROR</span></b>:<br>El campo <b>''Fecha de Inicio''</b> es necesario." ValidationGroup="VGGuardarAgenda"></asp:RequiredFieldValidator>
|
|
</div>
|
|
<div class="form-group col-md-6 form-md-line-input input-iconright" style="padding-left: 0px !important;">
|
|
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy hh:mm" style="width: 70%;">
|
|
<asp:TextBox ID="TxtFechaFinAgenda" Enabled="false" ClientIDMode="Static" runat="server" Width="100%" CssClass="form-control input-sm " CausesValidation="true" MaxLength="18"></asp:TextBox>
|
|
<label style="margin-left: -3px; padding-bottom: 30px; width: 70%;" for="<%= TxtFechaFinAgenda.ClientID.ToString()%>">Fecha de Fin:</label>
|
|
</div>
|
|
<asp:RequiredFieldValidator ID="RFVFechaFinAdd" Display="None" CssClass="help-block errorimput" runat="server" ControlToValidate="TxtFechaFinAgenda" ErrorMessage="<b><span style='text-decoration: underline'>ERROR</span></b>: El campo <b>''Fecha de Fin''</b> es necesario." ValidationGroup="VGGuardarAgenda"></asp:RequiredFieldValidator>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display:none">
|
|
<asp:CheckBox Text="Recurrencia" ClientIDMode="Static" runat="server" ID="CheckRecurrencia" />
|
|
</div>
|
|
|
|
|
|
<asp:UpdatePanel runat="server" ClientIDMode="Static" UpdateMode="Conditional" ID="UpRecurrencia">
|
|
<ContentTemplate>
|
|
|
|
<div style="width: 100%; float: left; margin-bottom: 10px; margin-left: 0px;">
|
|
<hr style="margin-top: 0px; margin-bottom: 15px;" />
|
|
<div style="float: left; width: 20%; height: 130px;">
|
|
<asp:RadioButtonList runat="server" CssClass="tablenopadding" RepeatDirection="Vertical" ID="RBLRecurrencia" AutoPostBack="true" OnSelectedIndexChanged="RBLRecurrencia_SelectedIndexChanged">
|
|
<asp:ListItem Text="1- Hora" Value="1" Selected="True" />
|
|
<asp:ListItem Text="2- Diario" Value="2" />
|
|
<asp:ListItem Text="3- Semanal" Value="3" />
|
|
<asp:ListItem Text="4- Mensual" Value="4" />
|
|
<asp:ListItem Text="5- Anual" Value="5" />
|
|
</asp:RadioButtonList>
|
|
</div>
|
|
<div style="float: left; width: 80%; height: 130px;">
|
|
<div runat="server" id="DivRecurrencia" visible="true" style="width: 100%; height: 100%;">
|
|
<asp:HiddenField runat="server" ID="HdnDiasSemanaAgendar" ClientIDMode="Static" Value="" />
|
|
<div class="col-md-12"></div>
|
|
<div class="row">
|
|
<div class="col-md-2" style="padding-right: 0px; text-align: right;">Cada:</div>
|
|
<div class="form-group col-md-1 form-md-line-input input-iconright" style="padding-left: 0px !important; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-top: -6px;">
|
|
<div class="input-group input-sm" style="padding-top: 0px;">
|
|
<asp:TextBox ID="TxtFrecuencia" ClientIDMode="Static" Text="1" runat="server" Style="padding-top: 0px; padding-bottom: 0px;" Width="20px" CssClass="form-control input-sm" CausesValidation="true" TextMode="Number"></asp:TextBox>
|
|
<label style="margin-top: -3px; margin-left: -5px; width: 20px;" for="<%= TxtFechaFinAgenda.ClientID.ToString()%>"></label>
|
|
</div>
|
|
</div>
|
|
<%--<td>
|
|
<asp:TextBox runat="server" ClientIDMode="Static" ID="TxtFrecuencia" Text="1" Width="20px" />
|
|
</td>--%>
|
|
<div class="col-md-2" style="padding-left: 0px;">
|
|
<asp:Label Text="Hora(s)" runat="server" ID="LblTextoFrecuencia" />
|
|
</div>
|
|
</div>
|
|
<div class="row" id="TrDiasSemanaAdd" runat="server" style="display: none;">
|
|
<div class="col-md-12">
|
|
<asp:CheckBoxList runat="server" ID="CheckDiasSemana" ClientIDMode="Static" RepeatColumns="5" RepeatDirection="Horizontal">
|
|
<asp:ListItem Text="Lunes" Value="2" />
|
|
<asp:ListItem Text="Martes" Value="3" />
|
|
<asp:ListItem Text="Miercoles" Value="4" />
|
|
<asp:ListItem Text="Jueves" Value="5" />
|
|
<asp:ListItem Text="Viernes" Value="6" />
|
|
<asp:ListItem Text="Sabado" Value="7" />
|
|
<asp:ListItem Text="Domingo" Value="1" />
|
|
</asp:CheckBoxList>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="row" style="width: 100%; float: left; margin-bottom: 10px; margin-left: 0px;display:none"">
|
|
<hr style="margin-top: 0px; margin-bottom: 15px;" />
|
|
<div class="col-md-6" style="padding-left: 0px !important;">
|
|
<div class="col-md-8" style="padding-left: 0px; padding-right: 0px;">
|
|
<asp:RadioButton Text="Terminar despues de:" ID="RBNumeroOcurrencias" ClientIDMode="Static" GroupName="GNFrecuenciaFinAdd" runat="server" />
|
|
</div>
|
|
<div class="form-group col-md-1 form-md-line-input input-iconright" style="padding: 0px !important; margin-top: -5px; margin-left: -10px">
|
|
<div class="input-group input-sm" style="padding-top: 0px; padding-left: 0px; padding-right: 0px;">
|
|
<asp:TextBox runat="server" onclick="FechaFinSet('RBNumeroOcurrencias','TxtFechaFinRecurrencia');" ClientIDMode="Static" CssClass="form-control" TextMode="Number" ID="TxtNumeroOcurrencias" Width="20px" />
|
|
<label style="margin-top: 5px; margin-left: -15px; width: 20px;" for="<%= TxtNumeroOcurrencias.ClientID.ToString()%>"></label>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-2" style="margin-top: 5px; padding-left: 5px;">Veces</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="row">
|
|
<div class="col-md-5" style="padding-left: 0px !important;">
|
|
<asp:RadioButton Text="Terminar en:" ID="RBFechaFin" ClientIDMode="Static" GroupName="GNFrecuenciaFinAdd" runat="server" Width="85px" />
|
|
</div>
|
|
<div class="col-md-6" style="padding-left: 0px !important;">
|
|
<div class="form-group form-md-line-input input-iconright" style="padding: 0px !important; margin-top: -5px; margin-left: -10px">
|
|
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 108px!important; padding-top: 0px;">
|
|
<asp:TextBox ID="TxtFechaFinRecurrencia" ClientIDMode="Static" runat="server" CssClass="form-control" Height="28px" Width="80px" Font-Size="13px"></asp:TextBox>
|
|
<label style="margin-left: 10px; width: 85%;" for="<%= TxtFechaFinRecurrencia.ClientID.ToString()%>"></label>
|
|
<span class="input-group-btn " style="width: 28px">
|
|
<asp:LinkButton ID="imgFechaFinRecurrenciaAdd" class="btn default" runat="server" Style="padding-left: 8px; padding-top: 5px;" Height="28px" Width="28px"><i class="fa fa-calendar"></i></asp:LinkButton>
|
|
</span>
|
|
<ajax:MaskedEditExtender ID="MEEFechaFinRecurrenciaAdd" runat="server" TargetControlID="TxtFechaFinRecurrencia" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CalendarioFechaFinRecurrenciaAdd" TargetControlID="TxtFechaFinRecurrencia" PopupButtonID="ImgFechaFinRecurrenciaAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
|
<%--<asp:RequiredFieldValidator ID="RFVFechaFinRecurrenciaAdd" runat="server" ControlToValidate="TxtFechaFinRecurrencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo."></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="VCEFechaFinRecurrenciaAdd" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFinRecurrenciaAdd" Width="300px"></ajax:ValidatorCalloutExtender>--%>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" style="width: 100%; float: left; margin-bottom: 10px; margin-left: 0px;display:none">
|
|
<hr style="margin-top: 5px; margin-bottom: 10px;" />
|
|
<div class="col-md-3" style="padding-left: 0px; padding-right: 0px;">
|
|
<asp:CheckBox Text="Gasto Recurrente:" ClientIDMode="Static" runat="server" ID="ChkGastoRecurrente" />
|
|
</div>
|
|
<div class="form-group col-md-4 form-md-line-input input-iconright" style="padding: 0px !important; margin-top: -5px; margin-left: 0px">
|
|
<div class="input-group input-sm" style="padding-top: 0px; padding-left: 0px; padding-right: 0px;">
|
|
<asp:TextBox runat="server" ClientIDMode="Static" CssClass="form-control" ID="TxtImporteGastoRecurrente" Width="100px" onkeyup="FormatoMoneda(this)" />
|
|
<label style="margin-top: 5px; margin-left: -15px;" for="<%= TxtImporteGastoRecurrente.ClientID.ToString()%>"></label>
|
|
<%--<ajax:MaskedEditExtender ID="MEEgastoRecurrente" runat="server" TargetControlID="TxtImporteGastoRecurrente" Mask="999,999.99" MaskType="Number" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
<asp:HiddenField runat="server" ID="HdnCveEvento" ClientIDMode="Static" Value="-1" />
|
|
|
|
<%--<div style="display:none">
|
|
<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="VGGuardarAgenda" />
|
|
<asp:Button ID="BtnEliminar" runat="server" CssClass="btn btn-danger" OnClick="BtnEliminar_Click" Text="Eliminar" Style="display: none" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea continuar?" data-btn-ok-label="si" />
|
|
</div>--%>
|
|
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div id="DVModalOSAsginar" class="modal ADS fade" role="dialog">
|
|
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalOSAsginar" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="modal-content">
|
|
<div class="modal-header ">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
<h4 class="modal-title">Asignar Orden de Servicio</h4>
|
|
</div>
|
|
<div class="modal-body" >
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="form-group form-md-line-input">
|
|
<asp:Label runat="server" ID="LblModalCliente" Text="" CssClass="form-control"></asp:Label>
|
|
<label for="<%= LblModalCliente.ClientID.ToString()%>">Cliente: </label>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="form-group form-md-line-input">
|
|
<asp:Label runat="server" ID="LblModalConcepto" Text="" CssClass="form-control"></asp:Label>
|
|
<label for="<%= LblModalConcepto.ClientID.ToString()%>">Concepto: </label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="form-group form-md-line-input">
|
|
<asp:Label runat="server" ID="LblModalSubProyecto" Text="" CssClass="form-control"></asp:Label>
|
|
<label for="<%= LblModalSubProyecto.ClientID.ToString()%>"><asp:Label runat="server" ID="LblModalSubProyectoLabel"></asp:Label>: </label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group form-md-line-input">
|
|
<asp:DropDownList ID="DdlTecnicoAsignar" Width="100%" runat="server" CssClass="form-control select2me" DataTextField="Nombre" Visible="true" DataValueField="CveUsuario">
|
|
</asp:DropDownList>
|
|
|
|
<asp:RequiredFieldValidator ID="RfvDdlTecnicoAsignar" InitialValue="-1" runat="server" ControlToValidate="DdlTecnicoAsignar" Display="None"
|
|
ErrorMessage="El campo <b>''Técnico''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="VCERfvDdlTecnicoAsignar" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlTecnicoAsignar" Width="350px"></ajax:ValidatorCalloutExtender>
|
|
|
|
<label for="<%= DdlTecnicoAsignar.ClientID.ToString()%>">Técnico: </label>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="width:150px">
|
|
<asp:TextBox ID="TxtModalFechaOS" CssClass="form-control" runat="server" Width="150px"></asp:TextBox>
|
|
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
|
|
<asp:LinkButton ID="LnkTxtModalFechaOS" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
|
</span>
|
|
<ajax:MaskedEditExtender ID="METxtModalFechaOS" runat="server" TargetControlID="TxtModalFechaOS" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CETxtModalFechaOS" TargetControlID="TxtModalFechaOS" PopupButtonID="LnkTxtModalFechaOS" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
|
|
|
<asp:RequiredFieldValidator ID="RfvTxtModalFechaOS" runat="server" ControlToValidate="TxtModalFechaOS" Display="None"
|
|
ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="VceRfvTxtModalFechaOS" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtModalFechaOS" Width="350px"></ajax:ValidatorCalloutExtender>
|
|
|
|
<label for="<%= TxtModalFechaOS.ClientID.ToString()%>">Fecha: </label>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group form-md-line-input">
|
|
<cc1:TimeSelector ID="TSTimeSelector" runat="server" DisplaySeconds="false" DisplayButtons="false" Visible="true" CssClass="form-control" Font-Size="13pt"></cc1:TimeSelector>
|
|
<label for="<%= TSTimeSelector.ClientID.ToString()%>">Hora Servicio: </label>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<asp:LinkButton runat="server" ID="LnkModalAsignar" CssClass="btn btn-success" Text="Asignar" OnClick="LnkModalAsignar_Click" ValidationGroup="GrpAsignar" ></asp:LinkButton>
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
|
|
</asp:Content>
|
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
|
|
|
|
|
|
|
<script>
|
|
|
|
function FechaFinSet(RB, TXT) {
|
|
RB = "#" + RB
|
|
TXT = "#" + TXT
|
|
$(RB).prop('checked', true);
|
|
$(TXT).val('');
|
|
}
|
|
|
|
|
|
function AyudaHora(txt) {
|
|
Hora = txt;
|
|
var opt = $get("HdnHora").value;
|
|
|
|
if (opt == "1") {
|
|
$("#TxtHoraInicioAdd").val(txt);
|
|
$("#TxtHoraFinAdd").val(txt);
|
|
} else if (opt == "2") {
|
|
$("#TxtHoraFinAdd").val(txt);
|
|
} else if (opt == "3") {
|
|
$("#TxtHoraInicioUpdate").val(txt);
|
|
$("#TxtHoraFinUpdate").val(txt);
|
|
} else if (opt == "4") {
|
|
$("#TxtHoraFinUpdate").val(txt);
|
|
}
|
|
|
|
$get('DivHora').style.display = 'none';
|
|
}
|
|
|
|
var currentUpdateEvent;
|
|
var addStartDate;
|
|
var addEndDate;
|
|
var globalAllDay;
|
|
|
|
|
|
function selectDate(start, end, allDay) {
|
|
$('#ModalAgenda').modal('show');
|
|
$("#SpanTituloAgenda").html("Agregar Evento");
|
|
|
|
$("#HdnCveEvento").val(-1);
|
|
|
|
$("#DdlAgedaTipo").val("-1");
|
|
$("#DdlPrioridad").val("1");
|
|
|
|
$("#TxtAsuntoAgenda").val("");
|
|
$("#TxtDescripcionAgenda").val("");
|
|
$("#TxtFechaInicioAgenda").val("" + start.format("DD/MM/YYYY 08:00"));
|
|
$("#TxtFechaFinAgenda").val("" + start.format("DD/MM/YYYY 09:00"));
|
|
|
|
$("#UpRecurrencia").hide();
|
|
$("#CheckRecurrencia").prop('checked', false);
|
|
|
|
$get("HdnDiasSemanaAgendar").value = -1;
|
|
|
|
$('#<%=RBLRecurrencia.ClientID %>').find("input[value='1']").prop("checked", true);
|
|
$('#<%=TrDiasSemanaAdd.ClientID %>').css("display", "none");
|
|
$("#DivDescripcionUpdate").css("display", "none");
|
|
$("#<%=TxtDescripcionAgenda.ClientID%>").css("display", "block");
|
|
$('#<%=LblTextoFrecuencia.ClientID%>').html("Hora(s)");
|
|
|
|
$("#TxtFrecuencia").val("1");
|
|
$("#TxtNumeroOcurrencias").val("");
|
|
$("#TxtFechaFinRecurrencia").val("");
|
|
|
|
$("#ChkGastoRecurrente").prop('checked', false);
|
|
$("#TxtImporteGastoRecurrente").val("");
|
|
}
|
|
|
|
function updateEvent(event, element) {
|
|
$('#ModalAgenda').modal('show');
|
|
|
|
|
|
$("#DivDescripcionUpdate").css("display", "block");
|
|
$("#<%=TxtDescripcionAgenda.ClientID%>").css("display", "none");
|
|
$("#HdnCveEvento").val(event.id);
|
|
|
|
$("#TxtNumeroOcurrencias").val('');
|
|
$("#TxtFechaFinRecurrencia").val('');
|
|
$("#TxtFrecuencia").val('');
|
|
|
|
$("#TxtAsuntoAgenda").val(event.title);
|
|
//SE MUESTRA EL TEXTO HTML EN EL DIV DE LA DESCRIPCION SIN PERMITIR EDITAR,
|
|
//SE ASIGNA -1 EN EL TEXBOX PARA QUE NO REALICE CAMBIOS EN BD
|
|
$("#DivDescripcionUpdate").html(event.description);
|
|
$("#TxtDescripcionAgenda").val("-1");
|
|
|
|
$("#DdlAgedaTipo").val(event.cveagendatipo);
|
|
$("#DdlPrioridad").val(event.prioridad);
|
|
$('#LblSubProyecto').text(event.SubProyecto);
|
|
$('#LblDireccion').text(event.Direccion);
|
|
|
|
|
|
|
|
$("#TxtFechaInicioAgenda").val("" + event.start.format("DD/MM/YYYY HH:mm"));
|
|
|
|
$("#TxtFechaFinAgenda").val("" + event.end.format("DD/MM/YYYY HH:mm"));
|
|
|
|
//Identifica el tipo de Fecha Termino de la Recurrencia
|
|
if (event.recurrenciafin == 0) {
|
|
$("#TxtFrecuencia").val('0');
|
|
} else if (!isNaN(event.recurrenciafin)) {
|
|
$("#RBNumeroOcurrencias").prop('checked', true);
|
|
$("#TxtNumeroOcurrencias").val(event.recurrenciafin);
|
|
} else {
|
|
$("#RBFechaFin").prop('checked', true);
|
|
$("#TxtFechaFinRecurrencia").val("" + event.recurrenciafin);
|
|
}
|
|
|
|
//GASTO RECURRENTE
|
|
//Si el evento es tipo 10 = Gasto Mes, activa gasto recurrente
|
|
if (event.CveTipoEvento == 10) {
|
|
$("#ChkGastoRecurrente").prop('checked', true);
|
|
$("#TxtImporteGastoRecurrente").val(event.Importe);
|
|
} else {
|
|
$("#ChkGastoRecurrente").prop('checked', false);
|
|
$("#TxtImporteGastoRecurrente").val('');
|
|
}
|
|
|
|
//Verifica que hay Recurrencia para activar los campos y poner sus valores respectivos
|
|
if (event.recurrenciatipo > 0) {
|
|
$("#CheckRecurrencia").prop('checked', true);
|
|
|
|
// CHECKEA EL TIPO DE RECURRENCIA QUE TENGA EL EVENTO
|
|
var text = event.recurrenciatipo;
|
|
var radio = $("[id*=RBLRecurrencia] label:contains('" + text + "')").closest("td").find("input");
|
|
radio.attr("checked", "checked");
|
|
|
|
// CHECKEA LOS DIAS SELECCIONADOS DE LA RECURRENCIA DE SEMANA
|
|
$get("HdnDiasSemanaAgendar").value = event.diassemana;
|
|
|
|
//LLENA TEXTO DE FRECUENCIA DE RECURRENCIA
|
|
$("#TxtFrecuencia").val("" + event.frecuencia);
|
|
} else {
|
|
$("#CheckRecurrencia").prop('checked', false);
|
|
}
|
|
|
|
|
|
//ESCONDE O MUESTRA EL DIV DE LAS OPCIONES DE RECURRENCIA
|
|
if ($get('CheckRecurrencia').checked) {
|
|
$("#UpRecurrencia").show();
|
|
} else {
|
|
$("#UpRecurrencia").hide();
|
|
}
|
|
|
|
//LLAMA EL INDEXCHANGED DEL RADIOBUTTONLIST DE LOS TIPOS DE RECURRENCIA
|
|
$("#BtnActualizaAdd").click();
|
|
|
|
//Muestra nombre de la empresa si esta tarea sea asigno desde EmpresaCRM
|
|
if (event.EmpresaCRM != "") {
|
|
$("#<%=LblEmpresaCRM.ClientID%>").css("display", "")
|
|
$("#<%=LblEmpresaCRM.ClientID%>").text(event.EmpresaCRM);
|
|
} else {
|
|
$("#<%=LblEmpresaCRM.ClientID%>").css("display", "none")
|
|
}
|
|
|
|
}
|
|
function RadionButtonSelectedValueSet(name, SelectdValue) {
|
|
$('input[name="' + name + '"][value="' + SelectdValue + '"]').prop('checked', true);
|
|
}
|
|
|
|
|
|
function CheckUpdate(check) {
|
|
if (check.checked) {
|
|
$("#UpRecurrenciaUpdate").show("slow");
|
|
} else {
|
|
$("#UpRecurrenciaUpdate").hide("slow");
|
|
}
|
|
}
|
|
|
|
function CheckAdd(check) {
|
|
if (check.checked) {
|
|
$("#UpRecurrencia").show("slow");
|
|
} else {
|
|
$("#UpRecurrencia").hide("slow");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function deleteEvent() {
|
|
//var id = $get('HdnId').val;
|
|
//PageMethods.EliminaEvento(id, deleteSuccess);
|
|
}
|
|
|
|
function updateSuccess(updateResult) {
|
|
//alert(updateResult);
|
|
}
|
|
|
|
function deleteSuccess(deleteResult) {
|
|
//alert("eliminado exitosamente: " + deleteResult);
|
|
}
|
|
|
|
function addSuccess(addResult) {
|
|
// if addresult is -1, means event was not added
|
|
// alert("added key: " + addResult);
|
|
|
|
if (addResult != -1) {
|
|
|
|
$('#calendar').fullCalendar('renderEvent',
|
|
{
|
|
title: $("#addEventName").val(),
|
|
start: addStartDate,
|
|
end: addEndDate,
|
|
id: addResult,
|
|
description: $("#addEventDesc").val(),
|
|
allDay: globalAllDay
|
|
},
|
|
true // make the event "stick"
|
|
);
|
|
|
|
$('#calendar').fullCalendar('option', 'minTime', '06:00:00');
|
|
$('#calendar').fullCalendar('option', 'maxTime', '17:00:00');
|
|
|
|
$('#calendar').fullCalendar('unselect');
|
|
|
|
|
|
}
|
|
}
|
|
|
|
function UpdateTimeSuccess(updateResult, userContext, methodName) {
|
|
//alert(userContext);
|
|
}
|
|
|
|
function updateEventOnDropResize(event, allDay) {
|
|
|
|
//alert("allday: " + allDay);
|
|
var eventToUpdate = {
|
|
id: event.id,
|
|
start: event.start
|
|
};
|
|
|
|
// FullCalendar 1.x
|
|
//if (allDay) {
|
|
// eventToUpdate.start.setHours(0, 0, 0);
|
|
//}
|
|
|
|
if (event.end === null) {
|
|
eventToUpdate.end = eventToUpdate.start;
|
|
}
|
|
else {
|
|
eventToUpdate.end = event.end;
|
|
}
|
|
|
|
// FullCalendar 2.x
|
|
var endDate;
|
|
if (!event.allDay) {
|
|
endDate = new Date(eventToUpdate.end + 60 * 60000);
|
|
endDate = endDate.toJSON();
|
|
}
|
|
else {
|
|
endDate = eventToUpdate.end.toJSON();
|
|
}
|
|
|
|
eventToUpdate.start = eventToUpdate.start.toJSON();
|
|
eventToUpdate.end = eventToUpdate.end.toJSON(); //endDate;
|
|
eventToUpdate.allDay = event.allDay;
|
|
|
|
PageMethods.ActualizaEvento(eventToUpdate, UpdateTimeSuccess);
|
|
}
|
|
|
|
function eventDropped(event, dayDelta, minuteDelta, allDay, revertFunc) {
|
|
if ($(this).data("qtip")) $(this).qtip("destroy");
|
|
|
|
updateEventOnDropResize(event);
|
|
}
|
|
|
|
function eventResized(event, dayDelta, minuteDelta, revertFunc) {
|
|
if ($(this).data("qtip")) $(this).qtip("destroy");
|
|
|
|
updateEventOnDropResize(event);
|
|
}
|
|
|
|
function checkForSpecialChars(stringToCheck) {
|
|
var pattern = /[^A-Za-z0-9 ]/;
|
|
return pattern.test(stringToCheck);
|
|
}
|
|
|
|
function isAllDay(startDate, endDate) {
|
|
var allDay;
|
|
|
|
if (startDate.format("HH:mm:ss") == "00:00:00" && endDate.format("HH:mm:ss") == "00:00:00") {
|
|
allDay = true;
|
|
globalAllDay = true;
|
|
}
|
|
else {
|
|
allDay = false;
|
|
globalAllDay = false;
|
|
}
|
|
|
|
return allDay;
|
|
}
|
|
|
|
var view = null;
|
|
var date = null;
|
|
function GetView() {
|
|
view = $('#calendar').fullCalendar('getView');
|
|
date = $('#calendar').fullCalendar('getDate');
|
|
}
|
|
|
|
function SetView() {
|
|
$('#calendar').fullCalendar('gotoDate', date.format());
|
|
$('#calendar').fullCalendar('changeView', view.name);
|
|
}
|
|
|
|
function Calendario() {
|
|
//$get('DivActualizarEvento').style.display = 'none';
|
|
//$get('DivAgregarEvento').style.display = 'none';
|
|
|
|
|
|
|
|
var date = new Date();
|
|
var d = date.getDate();
|
|
var m = date.getMonth();
|
|
var y = date.getFullYear();
|
|
|
|
var h = {};
|
|
|
|
if ($('#calendar').width() <= 400) {
|
|
$('#calendar').addClass("mobile");
|
|
h = {
|
|
left: 'title, prev, next',
|
|
center: '',
|
|
right: 'today,month,agendaWeek,agendaDay'
|
|
};
|
|
} else {
|
|
$('#calendar').removeClass("mobile");
|
|
|
|
h = {
|
|
left: 'title',
|
|
center: '',
|
|
right: 'prev,next,today,month,agendaWeek,agendaDay'
|
|
};
|
|
}
|
|
|
|
$('#calendar').fullCalendar('destroy'); // destroy the calendar
|
|
$('#calendar').fullCalendar({ //re-initialize the calendar
|
|
header: h,
|
|
monthNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
|
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
|
|
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
|
|
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],
|
|
buttonText: {
|
|
today: 'Hoy',
|
|
week: 'Semana',
|
|
month: 'Mes',
|
|
day: 'Día'
|
|
},
|
|
eventClick: updateEvent,
|
|
selectable: true,
|
|
selectHelper: true,
|
|
select: selectDate,
|
|
editable: true,
|
|
minTime: "08:00:00",
|
|
maxTime: "19:00:00",
|
|
events: {
|
|
url: '/Ashx/CargaEventos.ashx',
|
|
type: 'GET',
|
|
data: {
|
|
U: ' <%= UsuarioActual.CveUsuario %>',
|
|
E: '<%= UsuarioActual.CveEmpresa %>',
|
|
METODO: 'servicio_domicilio',
|
|
CveUsuarioPara: $('#DdlTecnico').val(),
|
|
CveSubProyecto: $('#DdlSubProyecto').val()
|
|
}
|
|
},
|
|
eventDrop: eventDropped,
|
|
eventResize: eventResized
|
|
});
|
|
}
|
|
|
|
function InitCalendar() {
|
|
$(document).ready(function () {
|
|
Calendario();
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
</asp:Content>
|