270 lines
24 KiB
Plaintext
270 lines
24 KiB
Plaintext
<%@ Page Title="Catálogo de metas para vendedores" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatMetasVendedores.aspx.vb" Inherits="CatMetasVendedores" %>
|
||
|
||
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||
</asp:Content>
|
||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||
</asp:Content>
|
||
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
||
</asp:Content>
|
||
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||
Catálogo de metas para vendedores
|
||
</asp:Content>
|
||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||
<ContentTemplate>
|
||
<li>
|
||
<asp:LinkButton ID="LnkAgregar" runat="server"> Agregar Meta</asp:LinkButton>
|
||
</li>
|
||
</ContentTemplate>
|
||
</asp:UpdatePanel>
|
||
<li>
|
||
<asp:HyperLink ID="HlAgregarExcel" NavigateUrl="#" Visible="True" data-toggle="modal" data-target="#DivCargaExcel" runat="server"><i class='fa fa-server'></i> Importar Listado</asp:HyperLink>
|
||
</li>
|
||
</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" id="idnecesaria">
|
||
<div class="portlet-title portlet-filterT smalltitle">
|
||
<div class="tools">
|
||
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnConsultar_Click" />
|
||
<a href="javascript:;" class="expand"></a>
|
||
</div>
|
||
<div class="titlefiltros caption">
|
||
<div class="row">
|
||
<label class="col-md-1 truncate" id="DivLblSucursal" runat="server">Sucursal:</label>
|
||
<div class="col-md-2" id="DivSucursal" runat="server">
|
||
<asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||
</asp:DropDownList>
|
||
</div>
|
||
<label class="col-md-1 truncate" id="DivLblMes" runat="server">Mes/Año:</label>
|
||
<div class="col-md-1" style="min-width: 115px" id="DivMes" runat="server">
|
||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||
<asp:TextBox Width="80px" ID="txtMesAnio" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||
<span class="input-group-btn ">
|
||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||
</span>
|
||
</div>
|
||
<ajax:MaskedEditExtender ID="MEEMesAnio" runat="server" TargetControlID="txtMesAnio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtMesAnio" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||
</div>
|
||
<label title="Vendedor" data-toggle="tooltip" class="col-md-1 truncate">Vendedor:</label>
|
||
<div class="col-md-2">
|
||
<asp:DropDownList ID="DdlVendedor" runat="server" Width="100%" DataTextField="Vendedor" DataValueField="CveVendedor" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||
</asp:DropDownList>
|
||
</div>
|
||
<label title="Marca" data-toggle="tooltip" class="col-md-1 truncate" id="DivLblMarca" runat="server">Marca:</label>
|
||
<div class="col-md-2" id="DivMarca" runat="server">
|
||
<asp:DropDownList ID="DdlMarca" runat="server" Width="100%" DataTextField="Marca" DataValueField="CveMarca" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||
</asp:DropDownList>
|
||
</div>
|
||
<div class="col-md-1"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="portlet-body" style="display: none">
|
||
</div>
|
||
</div>
|
||
</ContentTemplate>
|
||
</asp:UpdatePanel>
|
||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||
<ContentTemplate>
|
||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveMeta,CveVendedor,CveMarca,CveClasificacion,CveClasificacionSup,Vendedor,MesAño,Marca,Clasificacion,MetaCantidad,MetaImporte" EmptyDataText="No se encontraron metas registradas" ToolTip="Listado de Metas Vendedor" CssClass="table table-striped table-advance table-hover" Style="width: 100%" GridLines="None">
|
||
<Columns>
|
||
<asp:TemplateField HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlVendedor" runat="server" Text='<%# Eval("Vendedor") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtVendedor" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Vendedor") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVVendedor" runat="server" ControlToValidate="TxtVendedor" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Vendedor''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCVendedor" runat="server" HighlightCssClass="vco" TargetControlID="RFVVendedor" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="Clasificación superior">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlClasificacionSup" runat="server" Text='<%# Eval("ClasificacionSup") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtClasificacionSup" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("ClasificacionSup") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVClasificacionSup" runat="server" ControlToValidate="TxtClasificacionSup" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCClasificacionSup" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacionSup" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="Clasificacion">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlClasificacion" runat="server" Text='<%# Eval("Clasificacion", "{0}") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtClasificacion" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Clasificacion") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVClasificacion" runat="server" ControlToValidate="TxtClasificacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCClasificacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="Marca" ItemStyle-HorizontalAlign="Left">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlMarca" runat="server" Text='<%# Eval("Marca", "{0}") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtMarca" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Marca") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVMarca" runat="server" ControlToValidate="TxtMarca" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Marca''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCMarca" runat="server" HighlightCssClass="vco" TargetControlID="RFVMarca" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="Mes/Año">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlMesAño" runat="server" Text='<%# Eval("MesAño", "{0:MM/yyyy}") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtMesAño" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MesAño") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVMesAño" runat="server" ControlToValidate="TxtMesAño" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MesAño''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCMesAño" runat="server" HighlightCssClass="vco" TargetControlID="RFVMesAño" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="Meta" ItemStyle-HorizontalAlign="Right">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlMetaCantidad" runat="server" Text='<%# Eval("MetaCantidad", "{0}") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtMetaCantidad" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaCantidad") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVMetaCantidad" runat="server" ControlToValidate="TxtMetaCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaCantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCMetaCantidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField HeaderText="$ Meta" ItemStyle-HorizontalAlign="Right">
|
||
<ItemTemplate>
|
||
<asp:Literal ID="LtlMetaImporte" runat="server" Text='<%# Eval("MetaImporte", "{0:N2}") %>'></asp:Literal>
|
||
</ItemTemplate>
|
||
<EditItemTemplate>
|
||
<asp:TextBox ID="TxtMetaImporte" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaImporte") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
|
||
<asp:RequiredFieldValidator ID="RFVMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaImporte''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
|
||
<ajax:ValidatorCalloutExtender ID="VCMetaImporte" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaImporte" Width="300px"></ajax:ValidatorCalloutExtender>
|
||
</EditItemTemplate>
|
||
</asp:TemplateField>
|
||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
|
||
<ItemTemplate>
|
||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-xs green" OnClick="GvDatos_RowEditing" Text="<i class='fa fa-pencil'></i>" />
|
||
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
|
||
</ItemTemplate>
|
||
</asp:TemplateField>
|
||
</Columns>
|
||
</asp:GridView>
|
||
</ContentTemplate>
|
||
</asp:UpdatePanel>
|
||
<div id="DivAgregarTiposD" class="modal ADS fade" role="dialog">
|
||
<div class="modal-dialog" style="width: 450px;">
|
||
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
|
||
<ContentTemplate>
|
||
<div class="modal-header ">
|
||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||
<h4 class="modal-title">
|
||
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Metas Vendedores</asp:Literal></h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;">
|
||
<div class="col-md-2 truncate">Vendedor</div>
|
||
<div class="col-md-10">
|
||
<asp:DropDownList ID="DdlVendedores" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me" Width="100%"></asp:DropDownList>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;">
|
||
<div class="col-md-2 truncate">Mes y Año</div>
|
||
<div class="col-md-4">
|
||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
|
||
<asp:TextBox Style="width: 110px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||
<span class="input-group-btn ">
|
||
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||
</span>
|
||
</div>
|
||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;" id="Div3" runat="server" visible="false">
|
||
<div class="col-md-2 truncate">Marca</div>
|
||
<div class="col-md-10">
|
||
<asp:DropDownList ID="DdlMarcas" runat="server" DataTextField="Marca" DataValueField="CveMarca" CssClass="form-control input-sm select2me" Width="100%"></asp:DropDownList>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;" id="Div2" runat="server" visible="false">
|
||
<div class="col-md-2">Clasificación Superior</div>
|
||
<div class="col-md-10">
|
||
<asp:DropDownList ID="DdlClasificacionSup" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me" Width="100%"></asp:DropDownList>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;" id="Div1" runat="server" visible="false">
|
||
<label class="col-md-2 truncate">Clasificación</label>
|
||
<div class="col-md-10">
|
||
<asp:DropDownList ID="DdlClasificacion" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me" Width="100%"></asp:DropDownList>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="display: flex; align-items: center; margin-bottom: 10px;">
|
||
<div class="col-md-2">Cantidad meta</div>
|
||
<div class="col-md-4">
|
||
<asp:TextBox ID="TxtMetaCantidad" CssClass="form-control" runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||
<asp:CompareValidator ID="CVCantidad" runat="server" ControlToValidate="TxtMetaCantidad" Display="None" ErrorMessage="El campo <b>''Cantidad meta''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." Operator="DataTypeCheck" Type="Double" ValidationGroup="GrpTiposD"></asp:CompareValidator>
|
||
<asp:RequiredFieldValidator ID="RFVTxtMetaCantidad" runat="server" ControlToValidate="TxtMetaCantidad" Display="None" ErrorMessage="El campo <b>''Cantidad meta''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||
</div>
|
||
<div class="col-md-2">Importe meta</div>
|
||
<div class="col-md-4">
|
||
<asp:TextBox ID="TxtMetaImporte" CssClass="form-control" runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||
<asp:CompareValidator ID="CVImporte" runat="server" ControlToValidate="TxtMetaImporte" Display="None" ErrorMessage="El campo <b>''Cantidad meta''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." Operator="DataTypeCheck" Type="Double" ValidationGroup="GrpTiposD"></asp:CompareValidator>
|
||
<asp:RequiredFieldValidator ID="RFVTxtMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" Display="None" ErrorMessage="El campo <b>''Importe meta''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<asp:Button ID="BtnAgregarMetaVendedor" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||
</div>
|
||
</ContentTemplate>
|
||
</asp:UpdatePanel>
|
||
</div>
|
||
</div>
|
||
<%--CARGA EXCEL--%>
|
||
<div id="DivCargaExcel" class="modal ADS fade" role="dialog">
|
||
<div class="modal-dialog">
|
||
<!-- Modal content-->
|
||
<div class="modal-content">
|
||
<div class="modal-header ">
|
||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||
<h4 class="modal-title">Agregar Excel</h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="row">
|
||
<div class="col-md-12">
|
||
<h3>Arraste o haga click para subir el archivo Excel</h3>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-md-11" style="margin-left: 30px; margin-right: 30px;">
|
||
<asp:TextBox ID="TxtExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<div class="row">
|
||
<div class="col-md-2" style="text-align: left">
|
||
<asp:UpdatePanel ID="UpDescargar" runat="server" UpdateMode="Conditional">
|
||
<ContentTemplate>
|
||
<asp:Button ID="BtnDescargarFormato" runat="server" CssClass="btn btn-warning" Text="Descargar Formato" />
|
||
</ContentTemplate>
|
||
<Triggers>
|
||
<asp:PostBackTrigger ControlID="BtnDescargarFormato" />
|
||
</Triggers>
|
||
</asp:UpdatePanel>
|
||
</div>
|
||
<div class="col-md-10" style="text-align: right">
|
||
<asp:Button ID="BtnCargaExcel" runat="server" CssClass="btn btn-success" Text="Aceptar" ValidationGroup="GrpCargarExcel"></asp:Button>
|
||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</asp:Content>
|
||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||
</asp:Content>
|