2855 lines
173 KiB
Plaintext
2855 lines
173 KiB
Plaintext
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Dashboard.aspx.vb" Inherits="General_Dashboard" %>
|
|
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
|
|
<li>
|
|
<asp:LinkButton ID="LnkExportarPDF" runat="server" OnClick="LnkExportarPDF_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Exportar PDF</asp:LinkButton>
|
|
</li>
|
|
</asp:Content>
|
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
|
<style type="text/css">
|
|
@import url("https://code.highcharts.com/css/highcharts.css");
|
|
@import url("https://code.highcharts.com/dashboards/css/datagrid.css");
|
|
@import url("https://code.highcharts.com/dashboards/css/dashboards.css");
|
|
|
|
.table-bordered thead th {
|
|
background-color: #f8f9fa;
|
|
vertical-align: middle;
|
|
text-align: center;
|
|
}
|
|
|
|
.table-striped tbody tr:nth-of-type(odd) {
|
|
background-color: rgba(0,0,0,.05);
|
|
}
|
|
|
|
.table td, .table th {
|
|
|
|
padding: 2px;
|
|
}
|
|
|
|
.dashboard-stat {
|
|
padding: 15px;
|
|
margin-bottom: 20px;
|
|
border-radius: 4px;
|
|
color: white;
|
|
}
|
|
|
|
.dashboard-stat .visual > i {
|
|
font-size: 35px;
|
|
opacity: 0.3;
|
|
}
|
|
|
|
.dashboard-stat .details {
|
|
padding-right: 15px;
|
|
}
|
|
|
|
.Link {
|
|
color: #0000b9;
|
|
}
|
|
|
|
.portlet.light > .portlet-title > .caption > .caption-subject {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.dashboard-container {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.resumen-grid {
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
}
|
|
|
|
|
|
|
|
.sucursal-header {
|
|
vertical-align: middle !important;
|
|
background-color: #f8f9fa;
|
|
}
|
|
|
|
.header-group {
|
|
display: block;
|
|
font-weight: bold;
|
|
padding: 2px;
|
|
}
|
|
|
|
|
|
.sub-columns {
|
|
display: flex !important;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.sub-columns > div {
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sub-header {
|
|
padding: 2px;
|
|
}
|
|
|
|
.sub-data {
|
|
padding: 2px;
|
|
text-align: right;
|
|
border-left: 1px solid #dee2e6;
|
|
}
|
|
|
|
.sub-data:first-child {
|
|
border-left: none;
|
|
}
|
|
|
|
|
|
|
|
.dashboard-stat {
|
|
padding: 1.5rem;
|
|
border-radius: 4px;
|
|
color: white;
|
|
}
|
|
|
|
|
|
.custom-grid {
|
|
-webkit-text-size-adjust: 100%;
|
|
line-height: 1.42857;
|
|
font-family: "Open Sans", sans-serif;
|
|
color: #333;
|
|
font-size: 14px;
|
|
box-sizing: border-box;
|
|
border-radius: 0 !important;
|
|
float: left;
|
|
position: relative;
|
|
min-height: 1px;
|
|
padding-left: 15px;
|
|
padding-right: 15px;
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
|
|
.custom-grid th {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.custom-grid th,
|
|
.custom-grid td {
|
|
border: none !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
.custom-grid thead th {
|
|
padding: 2px !important;
|
|
}
|
|
|
|
|
|
.custom-grid,
|
|
.resumen-grid {
|
|
border-collapse: collapse !important;
|
|
border: none !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
.custom-grid thead th,
|
|
.resumen-grid thead th {
|
|
border-bottom: 2px solid #dee2e6 !important;
|
|
}
|
|
|
|
|
|
.custom-grid tbody tr + tr td,
|
|
.resumen-grid tbody tr + tr td {
|
|
border-top: 1px solid #dee2e6 !important;
|
|
}
|
|
|
|
|
|
.custom-grid th,
|
|
.resumen-grid th {
|
|
text-transform: capitalize !important;
|
|
}
|
|
|
|
|
|
.custom-grid {
|
|
table-layout: fixed;
|
|
}
|
|
|
|
|
|
.custom-grid td,
|
|
.custom-grid th {
|
|
white-space: normal !important;
|
|
word-wrap: break-word !important;
|
|
}
|
|
|
|
.custom-grid,
|
|
.resumen-grid {
|
|
font-size: 8px !important;
|
|
}
|
|
|
|
|
|
.custom-grid th,
|
|
.custom-grid td {
|
|
padding: 2px !important;
|
|
}
|
|
|
|
|
|
|
|
.portlet {
|
|
height: 200px !important;
|
|
}
|
|
|
|
.row.gx-4.gy-4 {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.row,
|
|
.portlet,
|
|
.portlet-title,
|
|
.portlet-body,
|
|
.dashboard-stat,
|
|
.custom-grid,
|
|
.resumen-grid
|
|
.highcharts-container,
|
|
#divVentasMensuales {
|
|
padding: 2px !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
.resumen-grid,
|
|
.custom-grid {
|
|
border-collapse: collapse;
|
|
width: 100% !important;
|
|
table-layout: fixed;
|
|
font-size: 8px !important;
|
|
}
|
|
|
|
.resumen-grid th,
|
|
.resumen-grid td {
|
|
border: none !important;
|
|
padding: 2px !important;
|
|
white-space: normal !important;
|
|
word-wrap: break-word !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#gvResumenSucursales .sub-columns,
|
|
#gvResumenSucursales .sub-columns > div {
|
|
padding: 2px !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
|
|
.custom-grid td,
|
|
.custom-grid th,
|
|
.resumen-grid td,
|
|
.resumen-grid th {
|
|
padding: 2px !important;
|
|
vertical-align: middle !important;
|
|
}
|
|
|
|
|
|
.portlet-body {
|
|
padding: 2px !important;
|
|
max-height: 170px !important;
|
|
}
|
|
|
|
|
|
|
|
#gvResumenSucursales .sub-data {
|
|
padding: 2px !important;
|
|
border-left: 1px solid #dee2e6 !important;
|
|
}
|
|
|
|
|
|
#gvResumenSucursales .sub-columns > div {
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.custom-grid td:first-child,
|
|
.custom-grid th:first-child {
|
|
width: auto !important;
|
|
min-width: auto !important;
|
|
max-width: none !important;
|
|
}
|
|
|
|
.custom-grid td:nth-child(2),
|
|
.custom-grid td:nth-child(3),
|
|
.custom-grid td:nth-child(4),
|
|
.custom-grid td:nth-child(5) {
|
|
width: 125px !important;
|
|
min-width: 125px !important;
|
|
max-width: 125px !important;
|
|
text-align: right !important;
|
|
padding-right: 8px !important;
|
|
}
|
|
|
|
|
|
.custom-grid th:nth-child(2),
|
|
.custom-grid th:nth-child(3),
|
|
.custom-grid th:nth-child(4),
|
|
.custom-grid th:nth-child(5) {
|
|
text-align: center !important;
|
|
}
|
|
|
|
|
|
.custom-grid td:first-child,
|
|
.custom-grid th:first-child {
|
|
width: auto !important;
|
|
min-width: auto !important;
|
|
max-width: none !important;
|
|
}
|
|
|
|
.portlet-title {
|
|
margin-bottom: 0px !important;
|
|
padding: 2px 0 !important;
|
|
}
|
|
|
|
.portlet-title .caption-subject {
|
|
font-size: 14px !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
.portlet.light > .portlet-body.table-responsive {
|
|
padding-top: 0 !important;
|
|
margin-top: -16px !important;
|
|
}
|
|
|
|
|
|
.portlet.light > .portlet-title {
|
|
position: relative;
|
|
margin-bottom: 0 !important;
|
|
padding-bottom: 0 !important;
|
|
}
|
|
|
|
.portlet.light > .portlet-title::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 14px;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 2px;
|
|
background-color: #dee2e6;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
|
|
.portlet > .portlet-title {
|
|
border-bottom: none !important;
|
|
margin-bottom: 0 !important;
|
|
padding-bottom: 0 !important;
|
|
}
|
|
|
|
|
|
.kpi-titulo {
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
margin-bottom: 10px;
|
|
padding-left: 10px;
|
|
position: relative;
|
|
padding-right: 180px;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.kpi-valor {
|
|
font-size: 50px;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
line-height: 1.2;
|
|
margin: 15px 0;
|
|
}
|
|
|
|
.divContainerads {
|
|
max-height: 170px;
|
|
}
|
|
|
|
#containerC_gvResumenSucursales tr.stickyRow th{
|
|
white-space:nowrap !important;
|
|
}
|
|
|
|
|
|
/* Estilos para el header */
|
|
th {
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: middle !important;
|
|
padding: 8px 5px !important;
|
|
}
|
|
|
|
.grafica-icon {
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
color: #337ab7;
|
|
margin-left: 5px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.grafica-icon:hover {
|
|
color: #23527c;
|
|
}
|
|
|
|
.header-checkbox {
|
|
display: inline-block;
|
|
margin-left: 5px;
|
|
transform: scale(1.2);
|
|
}
|
|
|
|
/* Asegurar que los subheaders sean visibles */
|
|
th table th {
|
|
background-color: #f8f9fa !important;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.header-flex {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 6px;
|
|
}
|
|
|
|
element.style {
|
|
display: flex
|
|
;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
/*
|
|
.gvMaxHeight{
|
|
max-height: 160px;
|
|
overflow: auto;
|
|
}
|
|
*/
|
|
.thcenternowrap th{
|
|
text-align:center;
|
|
white-space:nowrap
|
|
}
|
|
.thcenternowrap th div{
|
|
display:inline-block !important;
|
|
text-align:center;
|
|
white-space:nowrap
|
|
}
|
|
</style>
|
|
</asp:Content>
|
|
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
|
<asp:UpdatePanel ID="UPDashboard" runat="server">
|
|
<ContentTemplate>
|
|
<div class="row filter-row">
|
|
<div class="col-md-2"></div>
|
|
<div class="col-md-3">
|
|
<div class="form-group row align-items-center">
|
|
<asp:Label ID="lblDashboardOption" runat="server"
|
|
Text="Opción"
|
|
CssClass="col-form-label col-md-2 mb-0"
|
|
AssociatedControlID="ddlDashboardOption"
|
|
Style="margin-right: 10px; vertical-align: middle;" />
|
|
<div class="col-md-9">
|
|
<asp:DropDownList ID="ddlDashboardOption" runat="server" AutoPostBack="True"
|
|
CssClass="form-control select2me"
|
|
OnSelectedIndexChanged="ddlDashboardOption_SelectedIndexChanged">
|
|
<asp:ListItem Value="1">Ingresos</asp:ListItem>
|
|
<asp:ListItem Value="2">Recuperación</asp:ListItem>
|
|
<asp:ListItem Value="3">Compras</asp:ListItem>
|
|
<asp:ListItem Value="4">Cuentas por Pagar</asp:ListItem>
|
|
<asp:ListItem Value="5">Inventario</asp:ListItem>
|
|
<asp:ListItem Value="6">Utilidad</asp:ListItem>
|
|
<asp:ListItem Value="7">Impuestos</asp:ListItem>
|
|
<asp:ListItem Value="8">CRM</asp:ListItem>
|
|
<asp:ListItem Value="9">RH</asp:ListItem>
|
|
<asp:ListItem Value="10">AF</asp:ListItem>
|
|
</asp:DropDownList>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<asp:Panel ID="pnlDashboard" runat="server">
|
|
<asp:MultiView ID="mvDashboard" runat="server" ActiveViewIndex="0">
|
|
<asp:View ID="viewIngresos" runat="server">
|
|
<div class="content">
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresIngresosLeft" runat="server"></div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresIngresosRight" runat="server"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<i class="icon-bar-chart font-dark hide"></i>
|
|
<span class="caption-subject font-dark bold">Utilidad</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
|
|
<asp:GridView ID="gvResumenSucursales" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-light custom-grid thcenternowrap"
|
|
data-rows="2"
|
|
data-cols="1"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvResumenSucursales_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl="javascript:void(0);" onclick="return generarGraficaSucursales();">
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction:row !important; flex-wrap: nowrap !important; white-space: nowrap;">
|
|
<span>Venta Anual</span>
|
|
<input type="checkbox" id="chkVentaAnual" class="header-checkbox" data-field="VentaAnual" style="margin-left: auto;" />
|
|
<%--<asp:CheckBox ID="chkVentaAnual" runat="server" CssClass="header-checkbox" data-field="VentaAnual" Style="margin-left: auto;" />--%>
|
|
<label for="chkVentaAnual" style="margin-bottom: 0; margin-left: 4px;">Graficar</label>
|
|
<span class="adssigrid-order" style="margin-left: 4px;"></span>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="Label2" runat="server" Text='<%# Bind("VentaAnual", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Utilidad Anual</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkUtilidadAnual" runat="server" CssClass="header-checkbox" data-field="UtilidadAnual" />
|
|
<label for="chkUtilidadAnual">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="Label3" runat="server" Text='<%# Bind("UtilidadAnual", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Venta Mensual</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkVentaMensual" runat="server" CssClass="header-checkbox" data-field="VentaMensual" />
|
|
<label for="chkVentaMensual">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="Label4" runat="server" Text='<%# Bind("VentaMensual", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Utilidad Mensual</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkUtilidadMensual" runat="server" CssClass="header-checkbox" data-field="UtilidadMensual" />
|
|
<label for="chkUtilidadMensual">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="Label5" runat="server" Text='<%# Bind("UtilidadMensual", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div id="divVentasMensuales" class="mt-3" style="width: 100%; height: 300px;"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por sucursal</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorSucursal"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorSucursal_RowCreated">
|
|
<Columns>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorSucursal.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por vendedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorVendedor"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorVendedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Vendedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorVendedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVendedor" runat="server" Text='<%# Bind("Vendedor") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por clasificación</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorClasificacion"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorClasificacion_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Clasificación</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorClasificacion.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblClasificacion" runat="server" Text='<%# Bind("Clasificacion") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por marca</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorMarca"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorMarca_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Marca</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorMarca.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMarca" runat="server" Text='<%# Bind("Marca") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por PS</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorPS"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorPS_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>PS</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorPS.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("ProductoServicio") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por Cliente</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorCliente"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorCliente_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Cliente</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorCliente.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("NombreCliente") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Ventas por Proveedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvVentasPorProveedor"
|
|
runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvVentasPorProveedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Proveedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvVentasPorProveedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("NombreProveedor") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Día", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewRecuperacion" runat="server">
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresRecuperacionLeft" runat="server"></div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresRecuperacionRight" runat="server"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div id="divCxCMensual" style="width: 204%; height: 300px;"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Cartera por Sucursal</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvCarteraPorSucursal" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvCarteraPorSucursal_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCarteraPorSucursal.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Total CxC</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkTotalCxC" runat="server" CssClass="header-checkbox"
|
|
data-field="TotalCxC" />
|
|
<label for="chkTotalCxC">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("TotalCxC", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Vencido</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
|
|
data-field="Vencido" />
|
|
<label for="chkVencido">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVencido" runat="server"
|
|
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Por Vencer</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
|
|
data-field="PorVencer" />
|
|
<label for="chkPorVencer">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPorVencer" runat="server"
|
|
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Cartera por Vendedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvCarteraPorVendedor" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvCarteraPorVendedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Vendedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCarteraPorVendedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVendedor" runat="server" Text='<%# Bind("Vendedor") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Total CxC</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkTotalCxC" runat="server" CssClass="header-checkbox"
|
|
data-field="TotalCxC" />
|
|
<label for="chkTotalCxC">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("TotalCxC", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Vencido</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
|
|
data-field="Vencido" />
|
|
<label for="chkVencido">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVencido" runat="server"
|
|
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Por Vencer</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
|
|
data-field="PorVencer" />
|
|
<label for="chkPorVencer">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPorVencer" runat="server"
|
|
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Recuperación por Sucursal</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvRecuperacionPorSucursal" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvRecuperacionPorSucursal_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvRecuperacionPorSucursal.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Recuperado</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="Recuperado" />
|
|
<label for="chkRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblRecuperado" runat="server"
|
|
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Avg. Días Recuperación</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="PromedioDiasRecuperacion" />
|
|
<label for="chkDiasRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDiasRecuperado" runat="server"
|
|
Text='<%# Bind("PromedioDiasRecuperacion", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Recuperación por Cliente</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvRecuperacionPorCliente" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvRecuperacionPorCliente_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Cliente</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvRecuperacionPorCliente.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblCliente" runat="server" Text='<%# Bind("Cliente") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Recuperado</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="Recuperado" />
|
|
<label for="chkRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblRecuperado" runat="server"
|
|
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Avg. Días Recuperación</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="PromedioDiasRecuperacion" />
|
|
<label for="chkDiasRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDiasRecuperado" runat="server"
|
|
Text='<%# Bind("PromedioDiasRecuperacion", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</asp:View>
|
|
|
|
<asp:View ID="viewCompras" runat="server">
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Compras por Clasificación</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvComprasPorClasificacion" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvComprasPorClasificacion_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Clasificación</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorClasificacion.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblClasificacion" runat="server" Text='<%# Bind("Clasificacion") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Compras por Marca</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvComprasPorMarca" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvComprasPorMarca_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Marca</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorMarca.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMarca" runat="server" Text='<%# Bind("Marca") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Compras por PS</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvComprasPorPS" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvComprasPorPS_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>PS</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorPS.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("ProductoServicio") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Compras por Proveedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvComprasPorProveedor" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvComprasPorProveedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Proveedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorProveedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("NombreProveedor") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Año</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
|
|
data-field="Año" />
|
|
<label for="chkAño">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblAño" runat="server"
|
|
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Mes</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
|
|
data-field="Mes" />
|
|
<label for="chkMes">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblMes" runat="server"
|
|
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Semana</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
|
|
data-field="Semana" />
|
|
<label for="chkSemana">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSemana" runat="server"
|
|
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Día</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
|
|
data-field="Dia" />
|
|
<label for="chkDia">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDia" runat="server"
|
|
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewCuentasPagar" runat="server">
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresCxPLeft" runat="server"></div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div id="DivIndicadoresCxPRight" runat="server"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div id="divCxPMensual" style="width: 204%; height: 300px;"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">CxP por Sucursal</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvCxPPorSucursal" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvCxPPorSucursal_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCxPPorSucursal.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Vencido</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
|
|
data-field="Vencido" />
|
|
<label for="chkVencido">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVencido" runat="server"
|
|
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Por Vencer</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
|
|
data-field="PorVencer" />
|
|
<label for="chkPorVencer">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPorVencer" runat="server"
|
|
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Total CxP</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkTotalCxC" runat="server" CssClass="header-checkbox"
|
|
data-field="Total" />
|
|
<label for="chkTotalCxC">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblTotal" runat="server"
|
|
Text='<%# Bind("Total", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">CxP por Proveedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvCxPPorProveedor" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvCxPPorProveedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Proveedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCxPPorProveedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblProveedor" runat="server" Text='<%# Bind("RazonSocial") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Vencido</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
|
|
data-field="Vencido" />
|
|
<label for="chkVencido">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblVencido" runat="server"
|
|
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Por Vencer</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
|
|
data-field="PorVencer" />
|
|
<label for="chkPorVencer">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblPorVencer" runat="server"
|
|
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Total CxP</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkTotalCxP" runat="server" CssClass="header-checkbox"
|
|
data-field="Total" />
|
|
<label for="chkTotalCxP">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblTotal" runat="server"
|
|
Text='<%# Bind("Total", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Pagos por Sucursal</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvPagosPorSucursal" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvPagosPorSucursal_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Sucursal</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvPagosPorSucursal.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Pagado</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="Recuperado" />
|
|
<label for="chkRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblRecuperado" runat="server"
|
|
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Avg. Días</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="PromedioDiasRecuperacion" />
|
|
<label for="chkDiasRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDiasRecuperado" runat="server"
|
|
Text='<%# Bind("PromedioDias", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="portlet light">
|
|
<div class="portlet-title">
|
|
<div class="caption caption-md">
|
|
<span class="caption-subject font-dark bold">Pagos por Proveedor</span>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body">
|
|
<asp:GridView ID="gvPagosPorProveedor" runat="server"
|
|
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
|
|
AutoGenerateColumns="false"
|
|
Width="100%"
|
|
OnRowCreated="gvPagosPorProveedor_RowCreated">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; align-items: center;">
|
|
<span>Proveedor</span>
|
|
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
|
|
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvPagosPorProveedor.ClientID & "\"");" %>'>
|
|
<i class="fa fa-bar-chart"></i>
|
|
</asp:HyperLink>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblProveedor" runat="server" Text='<%# Bind("RazonSocial") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Recuperado</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="Recuperado" />
|
|
<label for="chkRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblRecuperado" runat="server"
|
|
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
|
|
|
|
<asp:TemplateField>
|
|
<HeaderTemplate>
|
|
<div style="display: flex; flex-direction: column; align-items: center;">
|
|
<span>Avg. Días</span>
|
|
<div>
|
|
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
|
|
data-field="PromedioDiasRecuperacion" />
|
|
<label for="chkDiasRecuperado">Graficar</label>
|
|
</div>
|
|
</div>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lblDiasRecuperado" runat="server"
|
|
Text='<%# Bind("PromedioDias", "{0:N2}") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewInventario" runat="server">
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewUtilidad" runat="server">
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewImpuestos" runat="server">
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewCRM" runat="server">
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewRH" runat="server">
|
|
</asp:View>
|
|
|
|
|
|
<asp:View ID="viewAF" runat="server">
|
|
</asp:View>
|
|
</asp:MultiView>
|
|
</asp:Panel>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<div class="modal fade" id="DivModalGrafica" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
|
<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" id="modalTitulo">Comparativo de Sucursales</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<asp:DropDownList ID="ddlTipoGrafica" runat="server">
|
|
<asp:ListItem Value="line">Líneas</asp:ListItem>
|
|
<asp:ListItem Value="pie">Pastel</asp:ListItem>
|
|
</asp:DropDownList>
|
|
<div id="chartContainer" style="width: 100%; height: 400px;"></div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</asp:Content>
|
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
|
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
|
|
<script src="/Scripts/Highcharts/layout.js"></script>
|
|
<script type="text/javascript">
|
|
function pageLoad() {
|
|
$(document).ready(function () {
|
|
// Inicializar tooltips
|
|
$('.tooltips').tooltip();
|
|
});
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
console.log('Document ready - Configurando evento del dropdown');
|
|
|
|
// Función para asignar el evento al dropdown
|
|
function asignarEventoDropdown() {
|
|
// Buscar el dropdown usando un selector que funcione con WebForms
|
|
var $ddl = $('[id$="ddlTipoGrafica"]');
|
|
|
|
if ($ddl.length === 0) {
|
|
console.error('ERROR: No se encontró el dropdown con id que termine en ddlTipoGrafica');
|
|
return;
|
|
}
|
|
|
|
console.log('Dropdown encontrado, configurando evento...');
|
|
console.log('ID real del dropdown:', $ddl.attr('id'));
|
|
|
|
// Remover eventos anteriores y agregar el nuevo
|
|
$ddl.off('change').on('change', function () {
|
|
console.log('=== CAMBIO EN DROPDOWN ===');
|
|
console.log('Nuevo valor seleccionado:', $(this).val());
|
|
|
|
// Verificar qué función usar según el contexto
|
|
if ($('table[id$="gvResumenSucursales"]').length > 0) {
|
|
console.log('Usando generarGraficaSucursales()');
|
|
generarGraficaSucursales();
|
|
} else {
|
|
console.log('Usando generarGrafica() con gridId:', window.lastUsedGridId);
|
|
if (window.lastUsedGridId) {
|
|
generarGrafica(window.lastUsedGridId);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
// Asignar evento al cargar la página
|
|
asignarEventoDropdown();
|
|
|
|
// Re-asignar evento después de postbacks de AJAX (si usas UpdatePanel)
|
|
if (typeof Sys !== "undefined" && Sys.WebForms) {
|
|
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(asignarEventoDropdown);
|
|
}
|
|
});
|
|
|
|
function generarGraficaSucursales() {
|
|
|
|
// 1) Obtener la tabla completa
|
|
var $grid = $('table[id$="gvResumenSucursales"]');
|
|
|
|
// 2) Buscar TODOS los checkbox marcados
|
|
var $checks = $grid.find('input.header-checkbox:checked');
|
|
|
|
if ($checks.length === 0) {
|
|
alert('Por favor, seleccione al menos una columna para graficar.');
|
|
return false;
|
|
}
|
|
|
|
// 3) Filas de datos: todas las <tr> que tengan <td>
|
|
var $dataRows = $grid.find('tr').has('td');
|
|
|
|
// 4) Categorías = texto de la primera celda (Sucursal)
|
|
var categorias = $dataRows.map(function () {
|
|
return $(this).find('td').eq(0).text().trim();
|
|
}).get();
|
|
|
|
// 5) Localizar tus subheaders (segunda fila de encabezado)
|
|
var $headerRows = $grid.find('tr').filter(function () {
|
|
return $(this).find('th').length > 1;
|
|
});
|
|
var $subThs = $headerRows.eq(1).find('th');
|
|
|
|
// 6) Construir las series
|
|
var series = $checks.map(function () {
|
|
var $chk = $(this);
|
|
var $th = $chk.closest('th');
|
|
var idxSub = $subThs.index($th);
|
|
var colIndex = idxSub + 1;
|
|
var field = $chk.data('field');
|
|
var name = field.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
var data = $dataRows.map(function () {
|
|
var txt = $(this).find('td').eq(colIndex).text().replace(/,/g, '');
|
|
return parseFloat(txt) || 0;
|
|
}).get();
|
|
return { name: name, data: data };
|
|
}).get();
|
|
|
|
// 7) Obtener el tipo de gráfica seleccionado
|
|
var $ddl = $('[id$="ddlTipoGrafica"]');
|
|
var tipoGrafica = $ddl.length > 0 ? $ddl.val() : 'line';
|
|
|
|
// 8) Configuración base de Highcharts
|
|
var config = {
|
|
title: { text: 'Comparativo por Sucursal' },
|
|
series: series
|
|
};
|
|
|
|
// 9) Configuración específica para cada tipo de gráfica
|
|
if (tipoGrafica === 'line') {
|
|
config.chart = { type: 'line' };
|
|
config.xAxis = {
|
|
categories: categorias,
|
|
title: { text: 'Sucursal' }
|
|
};
|
|
config.yAxis = {
|
|
title: { text: 'Monto' },
|
|
labels: {
|
|
formatter: function () {
|
|
return '$' + Highcharts.numberFormat(this.value, 0);
|
|
}
|
|
}
|
|
};
|
|
config.tooltip = {
|
|
headerFormat: '<b>{series.name}</b><br />',
|
|
pointFormat: 'Sucursal: <b>{point.category}</b><br />Valor: <b>${point.y:,.2f}</b>'
|
|
};
|
|
config.plotOptions = { series: { marker: { enabled: true } } };
|
|
} else if (tipoGrafica === 'pie') {
|
|
config.chart = { type: 'pie' };
|
|
config.plotOptions = {
|
|
pie: {
|
|
allowPointSelect: true,
|
|
cursor: 'pointer',
|
|
dataLabels: {
|
|
enabled: true,
|
|
format: '<b>{point.name}</b>: {point.percentage:.1f}%'
|
|
}
|
|
}
|
|
};
|
|
config.tooltip = {
|
|
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
|
|
};
|
|
|
|
// Para gráfica de pastel, convertir las series a un formato diferente
|
|
if (series.length > 0) {
|
|
var firstSeries = series[0];
|
|
|
|
var pieData = categorias.map(function (categoria, index) {
|
|
return {
|
|
name: categoria,
|
|
y: firstSeries.data[index]
|
|
};
|
|
});
|
|
|
|
config.series = [{
|
|
name: firstSeries.name,
|
|
colorByPoint: true,
|
|
data: pieData
|
|
}];
|
|
}
|
|
}
|
|
|
|
// 10) Dibujar Highcharts
|
|
try {
|
|
Highcharts.chart('chartContainer', config);
|
|
console.log('Gráfica creada exitosamente');
|
|
} catch (error) {
|
|
console.error('Error al crear la gráfica:', error);
|
|
}
|
|
|
|
// 11) Mostrar el modal solo si no está visible
|
|
if (!$('#DivModalGrafica').hasClass('in') && !$('#DivModalGrafica').is(':visible')) {
|
|
$('#DivModalGrafica').modal('show');
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function generarGrafica(gridId) {
|
|
// Guardar el último grid usado para el evento del dropdown
|
|
window.lastUsedGridId = gridId;
|
|
|
|
var $grid = $('#' + gridId);
|
|
|
|
// Encuentra las filas de encabezado (donde están los checkboxes)
|
|
var $headerRows = $grid.find('tr:has(th)');
|
|
var $subHeader = $headerRows.length > 1 ? $headerRows.eq(1) : $headerRows.eq(0);
|
|
var $subThs = $subHeader.find('th');
|
|
|
|
// Buscar checkboxes marcados
|
|
var $checks = $grid.find('input.header-checkbox:checked');
|
|
|
|
if ($checks.length === 0) {
|
|
alert('Por favor, seleccione al menos una columna para graficar.');
|
|
return false;
|
|
}
|
|
|
|
// Filas de datos
|
|
var $dataRows = $grid.find('tr').has('td');
|
|
|
|
// Categorías (eje X)
|
|
var categorias = $dataRows.map(function () {
|
|
return $(this).find('td').eq(0).text().trim();
|
|
}).get();
|
|
|
|
// Construir series
|
|
var series = [];
|
|
$checks.each(function () {
|
|
var $chk = $(this);
|
|
var field = $chk.data('field');
|
|
|
|
// Buscar el índice de la columna que tiene ese data-field
|
|
var colIndex = -1;
|
|
$subThs.each(function (i) {
|
|
var $input = $(this).find('input.header-checkbox');
|
|
if ($input.length && $input.data('field') === field) {
|
|
colIndex = i + 1; // +1 porque la primera columna es la de las categorías
|
|
}
|
|
});
|
|
|
|
if (colIndex === -1) return; // No encontrado, saltar
|
|
|
|
var name = field.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
var data = $dataRows.map(function () {
|
|
var txt = $(this).find('td').eq(colIndex).text().replace(/,/g, '');
|
|
return parseFloat(txt) || 0;
|
|
}).get();
|
|
series.push({ name: name, data: data });
|
|
});
|
|
|
|
// Título dinámico
|
|
var titulo = $grid.closest('.portlet').find('.caption-subject').text();
|
|
var modalTitulo = document.getElementById('modalTitulo');
|
|
if (modalTitulo) modalTitulo.innerText = 'Comparativo: ' + titulo;
|
|
|
|
// Obtener el tipo de gráfica seleccionado
|
|
var $ddl = $('[id$="ddlTipoGrafica"]');
|
|
var tipoGrafica = $ddl.length > 0 ? $ddl.val() : 'line';
|
|
|
|
// Configuración base de Highcharts
|
|
var config = {
|
|
title: { text: titulo },
|
|
series: series
|
|
};
|
|
|
|
// Configuración específica para cada tipo de gráfica
|
|
if (tipoGrafica === 'line') {
|
|
config.chart = { type: 'line' };
|
|
config.xAxis = {
|
|
categories: categorias,
|
|
title: { text: 'Categoría' }
|
|
};
|
|
config.yAxis = {
|
|
title: { text: 'Monto (MXN)' },
|
|
labels: {
|
|
formatter: function () {
|
|
return '$' + Highcharts.numberFormat(this.value, 0);
|
|
}
|
|
}
|
|
};
|
|
config.tooltip = {
|
|
headerFormat: '<b>{series.name}</b><br />',
|
|
pointFormat: 'Categoría: <b>{point.category}</b><br />Valor: <b>${point.y:,.2f}</b>'
|
|
};
|
|
config.plotOptions = { series: { marker: { enabled: true } } };
|
|
} else if (tipoGrafica === 'pie') {
|
|
config.chart = { type: 'pie' };
|
|
config.plotOptions = {
|
|
pie: {
|
|
allowPointSelect: true,
|
|
cursor: 'pointer',
|
|
dataLabels: {
|
|
enabled: true,
|
|
format: '<b>{point.name}</b>: {point.percentage:.1f}%'
|
|
}
|
|
}
|
|
};
|
|
config.tooltip = {
|
|
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
|
|
};
|
|
|
|
// Para gráfica de pastel, usar solo la primera serie seleccionada
|
|
if (series.length > 0) {
|
|
var firstSeries = series[0];
|
|
console.log('Primera serie para pastel:', firstSeries);
|
|
|
|
var pieData = categorias.map(function (categoria, index) {
|
|
return {
|
|
name: categoria,
|
|
y: firstSeries.data[index]
|
|
};
|
|
});
|
|
|
|
console.log('Datos del pastel:', pieData);
|
|
|
|
config.series = [{
|
|
name: firstSeries.name,
|
|
colorByPoint: true,
|
|
data: pieData
|
|
}];
|
|
}
|
|
}
|
|
|
|
// Dibujar gráfica
|
|
try {
|
|
Highcharts.chart('chartContainer', config);
|
|
console.log('Gráfica creada exitosamente');
|
|
} catch (error) {
|
|
console.error('Error al crear la gráfica:', error);
|
|
}
|
|
|
|
// Mostrar el modal solo si no está visible
|
|
if (!$('#DivModalGrafica').hasClass('in') && !$('#DivModalGrafica').is(':visible')) {
|
|
$('#DivModalGrafica').modal('show');
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
</asp:Content>
|
|
|