Conjunto dfd4efb en seiven


Ignorar:
Fecha y hora:
30/08/2017 11:09:50 (hace 7 años)
Autor:
Luis Barrios <nikeven@…>
Branches:
master
Children:
98c5f0b
Parents:
50cc503
Mensaje:

estabilizando consultas - precios

Ficheros:
3 editados

Leyenda

No modificado
Añadido
Eliminado
  • base/templates/base.tabs.html

    r7050f45 rdfd4efb  
    44{% block content_header_title %}{% trans 'CONSULTAR DATOS' %}{% endblock %}
    55{% block content_header_roadmap %}{% endblock %}
    6 {% block contenido %}
     6{% block content %}
    77    <div class="row">
    88        <div class="panel panel-primary">
     
    2626                            <div class="tab-pane active" id="vars">
    2727                                <div class="row border-between row-same-height">
    28                                     <div class="col-md-6 margen-top-bottom-10 nav-tabs-height">
     28                                    <div id="tree_view" class="col-md-6 margen-top-bottom-10 nav-tabs-height">
    2929                                        <h4>{% trans 'Seleccione' %}</h4>
    3030                                        <div id="col-variables" class="col-md-12">
  • economico/templates/consulta/economico.consulta.menu.area.html

    r50cc503 rdfd4efb  
    66    <script type="text/javascript">
    77        $(document).ready(function() {
    8 
     8            $("#url_precios").attr("href", "precios");
    99        });
    1010    </script>
  • economico/templates/consulta/economico.consulta.precios.html

    r50cc503 rdfd4efb  
    22{% load i18n %}
    33{% load static from staticfiles %}
     4{% block content_header_title %}{% trans 'CONSULTAR DATOS' %}{% endblock %}
    45{% block content_header_roadmap %}
    56    <li><a href="{% url 'economico-consultar-datos' %}">{% trans 'Economía - Consultar Datos' %}</a></li>
    67    <li class="active">{% block active_link %}{% trans 'Real - Precios' %}{% endblock %}</li>
    78{% endblock %}
     9
    810{% block consult_params %}
    911    <div class="panel-body">
    10     <div class="row">
    11         <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
    12             <div class="row">
    13                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    14                     <label for="form.dominio.auto_id" class="control-label">{{ form.dominio.label }}</label>
     12        <div class="row separador-row">
     13            <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
     14                <div class="row separador-row">
     15                    <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
     16                        <label for="form.dominio.auto_id" class="control-label">{{ form.dominio.label }}</label>
     17                    </div>
     18                    <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">{{ form.dominio }}</div>
     19                    <div class="col-xs-4 col-sm-4 col-md-4 col-lg-2">
     20                        <label for="form.anho_base.auto_id" class="control-label">{{ form.anho_base.label }}</label>
     21                    </div>
     22                    <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">{{ form.anho_base }}</div>
    1523                </div>
    16                 <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">{{ form.dominio }}</div>
    17                 <div class="col-xs-4 col-sm-4 col-md-4 col-lg-2">
    18                     <label for="form.anho_base.auto_id" class="control-label">{{ form.anho_base.label }}</label>
    19                 </div>
    20                 <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">{{ form.anho_base }}</div>
    21             </div>
    22         </div>
    23     </div>
    24     <div class="row">
    25         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    26             <label class="control-label">{{ form.elementos.label }}</label>
    27         </div>
    28         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.elementos }}</div>
    29     </div>
    30     <div class="row">
    31         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    32             <label class="control-label">{{ form.periodicidad.label }}</label>
    33         </div>
    34         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodicidad }}</div>
    35     </div>
    36     <div class="row">
    37         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xs-offset-4 col-sm-offset-4 col-md-offset-4 col-lg-offset-4">
    38             <label class="control-label">{% trans 'Mes' %}</label>
    39         </div>
    40         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    41             <label class="control-label">{% trans 'Año' %}</label>
    42         </div>
    43     </div>
    44     <div class="row">
    45         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    46             <label class="control-label">{{ form.periodo_mes_ini.label }}</label>
    47         </div>
    48         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_mes_ini }}</div>
    49         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_anho_ini }}</div>
    50     </div>
    51     <div class="row separador-row">
    52         <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    53             <label class="control-label">{{ form.periodo_mes_fin.label }}</label>
    54         </div>
    55         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_mes_fin }}</div>
    56         <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_anho_fin }}</div>
    57     </div>
    58     <button type="submit" class="btn btn-info pull-left">Consultar</button>
     24            </div>
     25        </div>
     26        <div class="row separador-row">
     27            <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
     28                <label class="control-label">{{ form.elementos.label }}</label>
     29            </div>
     30            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.elementos }}</div>
     31        </div>
     32        <div class="row separador-row">
     33            <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
     34                <label class="control-label">{{ form.periodicidad.label }}</label>
     35            </div>
     36            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodicidad }}</div>
     37        </div>
     38        <div class="row separador-row">
     39            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 col-xs-offset-3 col-sm-offset-3 col-md-offset-3 col-lg-offset-3">
     40                <label class="control-label">{% trans 'Mes' %}</label>
     41            </div>
     42            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
     43                <label class="control-label">{% trans 'Año' %}</label>
     44            </div>
     45        </div>
     46        <div class="row separador-row">
     47            <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
     48                <label class="control-label">{{ form.periodo_mes_ini.label }}</label>
     49            </div>
     50            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_mes_ini }}</div>
     51            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_anho_ini }}</div>
     52        </div>
     53        <div class="row separador-row">
     54            <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
     55                <label class="control-label">{{ form.periodo_mes_fin.label }}</label>
     56            </div>
     57            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_mes_fin }}</div>
     58            <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">{{ form.periodo_anho_fin }}</div>
     59        </div>
     60        <div id='oculto' style='display:none;'>
     61            <button type="submit" class="btn btn-info pull-left separador-row">Consultar</button>
     62        </div>
    5963{% endblock %}
    6064
    6165{% block extra_footer %}
    62         {{ block.super }}
     66    {{ block.super }}
    6367    <script>
    64         var tree = [
    65             {text: "Índice Nacional de Precios al Consumidor"},
    66             {
    67                 text: "1. Por",
     68        /*Manejo cada nodo como arbol independiente*/
     69        $("#tree_view").append("<div id='col-variables1' class='col-md-12'></div>");
     70        $("#tree_view").append("<div id='col-variables2' class='col-md-12'></div>");
     71        $("#tree_view").append("<div id='col-variables3' class='col-md-12'></div>");
     72        $("#tree_view").append("<div id='col-variables4' class='col-md-12'></div>");
     73        $("#tree_view").append("<div id='col-variables5' class='col-md-12'></div>");
     74        $("#tree_view").append("<div id='col-variables6' class='col-md-12'></div>");
     75       
     76        /*Especifico cada arbol*/
     77        var raiz = [
     78            {text: "Índice Nacional de Precios al Consumidor"}
     79            ];
     80        var nodo1 = [   
     81            {
     82                text: "1. Por Naturaleza",
    6883                nodes: [
    6984                    {text: 'Bienes'},
     
    7388                    {text: 'Productos manufacturados'}
    7489                ]
    75             },
     90            }
     91            ];
     92        var nodo2 = [
    7693            {
    7794                text: "2. Por sector de origen",
     
    8198                    {text: "Bienes no durables"}
    8299                ]
    83             },
     100            }
     101            ];
     102        var nodo3 = [
    84103            {
    85104                text: "3. Por Grupo",
     
    99118                    {text: "Bienes y servicios diversos"}
    100119                ]
    101             },
     120            }
     121            ];
     122        var nodo4 = [
    102123            {
    103124                text: "4. Por Servicios",
     
    107128                    {text: "Otros Servicios"}
    108129                ]
    109             },
     130            }
     131            ];
     132        var nodo5 = [
    110133            {
    111134                text: "5. Por Productos Controlados",
     
    114137                    {text: "No Controlados"}
    115138                ]
    116             },
     139            }
     140            ];
     141        var nodo6 = [
    117142            {
    118143                text: "6. Índice del Núcleo Inflacionario",
     
    126151            }
    127152        ];
    128         $('#col-variables').treeview({data: tree, showBorder: false, showCheckbox: true, levels: 1});
     153        /*genero cada arbol segun las especificaicones descritas en el item anterior*/
     154        $('#col-variables').treeview({data: raiz, showBorder: false, showCheckbox: true, levels: 1});
     155        $('#col-variables1').treeview({data: nodo1, showBorder: false, showCheckbox: true, levels: 1});
     156        $('#col-variables2').treeview({data: nodo2, showBorder: false, showCheckbox: true, levels: 1});
     157        $('#col-variables3').treeview({data: nodo3, showBorder: false, showCheckbox: true, levels: 1});
     158        $('#col-variables4').treeview({data: nodo4, showBorder: false, showCheckbox: true, levels: 1});
     159        $('#col-variables5').treeview({data: nodo5, showBorder: false, showCheckbox: true, levels: 1});
     160        $('#col-variables6').treeview({data: nodo6, showBorder: false, showCheckbox: true, levels: 1});
     161
     162        /*variables para manejar la tabla de los parametros a consultar*/
     163        var dominio = $('#{{ form.dominio.auto_id }}');
     164        var anho_base = $("#{{ form.anho_base.auto_id }}");
     165        var periodo_mes_ini = $("#{{ form.periodo_mes_ini.auto_id }}");
     166        var periodo_mes_fin = $("#{{ form.periodo_mes_fin.auto_id }}");
     167        var periodo_anho_ini = $("#{{ form.periodo_anho_ini.auto_id }}");
     168        var periodo_anho_fin = $("#{{ form.periodo_anho_fin.auto_id }}");
     169
     170        /**
     171         * Función que configura los filtros de acuerdo a la selección del usuario
     172         */
     173        function set_filters(tree= 0,check=false,nodo) {
     174            /*validaciones sobre cada arbol*/
     175            if (check==false)
     176                for (var i=1; i<7; i++) {
     177                    if (i!=tree)
     178                        $('#col-variables'+i).treeview('disableAll');
     179                }
     180            else{
     181                if ($('#col-variables'+tree).treeview('getParent',nodo)['nodeId']!=0){
     182                    for (var i=1; i<7; i++) {
     183                        if (i!=tree){                           
     184                            $('#col-variables'+i).treeview('enableAll');                           
     185                        }
     186                    }
     187                }
     188            }
     189            /*validaciones sobre los parametros de consulta OJO -falta anadir validacion sobre periodicidad y elementos a espera de JULIE*/
     190            if (dominio.val()!='' && anho_base.val()!='' && periodo_mes_ini.val()!='' && periodo_mes_fin.val()!='' && periodo_anho_ini.val()!='' && periodo_anho_fin.val()!=''){
     191
     192                if (parseInt(periodo_anho_fin.val()) == parseInt(periodo_anho_ini.val()) && parseInt(periodo_mes_ini.val()) <= parseInt(periodo_mes_fin.val())){
     193                   
     194                    document.getElementById('oculto').style.display = 'block';
     195                }
     196                else if (parseInt(periodo_anho_fin.val()) > parseInt(periodo_anho_ini.val())){
     197                    document.getElementById('oculto').style.display = 'block'; 
     198                }
     199                else{
     200                    document.getElementById('oculto').style.display = 'none';
     201                }
     202            }
     203        }
     204        $(document).ready(function() {
     205            /*cada vez que se genere un cambio en alguno de los item se verifica toda la plantilla y solo cuando cunpla con los filtros apertura el boton de consulta*/
     206           
     207            dominio.on('change', function() { set_filters() });
     208            anho_base.on('change', function() { set_filters() });
     209            periodo_mes_ini.on('change', function() { set_filters() });
     210            periodo_mes_fin.on('change', function() { set_filters() });
     211            periodo_anho_ini.on('change', function() { set_filters() });
     212            periodo_anho_fin.on('change', function() { set_filters() });
     213
     214            $('#col-variables1').on('nodeChecked', function(event, data) {set_filters(1,false,data)});
     215            $('#col-variables2').on('nodeChecked', function(event, data) {set_filters(2,false,data)});
     216            $('#col-variables3').on('nodeChecked', function(event, data) {set_filters(3,false,data)});
     217            $('#col-variables4').on('nodeChecked', function(event, data) {set_filters(4,false,data)});
     218            $('#col-variables5').on('nodeChecked', function(event, data) {set_filters(5,false,data)});
     219            $('#col-variables6').on('nodeChecked', function(event, data) {set_filters(6,false,data)});           
     220            $('#col-variables1').on('nodeUnchecked', function(event, data) {set_filters(1,true,data)});
     221            $('#col-variables2').on('nodeUnchecked', function(event, data) {set_filters(2,true,data)});
     222            $('#col-variables3').on('nodeUnchecked', function(event, data) {set_filters(3,true,data)});
     223            $('#col-variables4').on('nodeUnchecked', function(event, data) {set_filters(4,true,data)});
     224            $('#col-variables5').on('nodeUnchecked', function(event, data) {set_filters(5,true,data)});
     225            $('#col-variables6').on('nodeUnchecked', function(event, data) {set_filters(6,true,data)});
     226           
     227           
     228           
     229           
     230        });
    129231    </script>
    130232
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.