Advertisement
yesamarcos

Preciso adicionar o carregamento de unidades

Dec 11th, 2017
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function(){
  2.  
  3.     'use strict';
  4.  
  5.     var empresas_id         = "#ajax_empresa";
  6.     var local_id            = "#ajax_local";
  7.     var servicos_id         = "#ajax_servico";
  8.     var pesquisadores_id    = "#ajax_persquisador";
  9.     var pesquisa_id         = "#ajax_pesquisa";
  10.     var clean_button_id     = "#removeselecaodoform";
  11.     var send_button_id      = "#submit_form";
  12.  
  13.     var empresas_data;
  14.     var local_data;
  15.     var servicos_data;
  16.     var pesquisadores_data;
  17.     var pesquisa_data;
  18.  
  19.     make_all_mult_select();
  20.  
  21.     $.when(empresa_set(), local_set(), pesquisadores_set(), servicos_set(), pesquisa_set()).done(function(){
  22.         add_options(empresas_id, empresas_data);
  23.         select_if_can();
  24.  
  25.         $('#ajax_empresa').multiselect({
  26.             includeSelectAllOption: true,
  27.             nSelectedText: 'selecionados ..',
  28.             nonSelectedText:'Nenhum selecionado ..',
  29.             allSelectedText: 'Todos selecionados ..',
  30.             selectAllText: 'Selecionar todos ..',
  31.             numberDisplayed: 1,
  32.             onDropdownHide: function(option, checked){
  33.                 select_if_can(false);
  34.             }
  35.         });
  36.     });
  37.  
  38.     function empresa_set(){
  39.         return $.ajax({
  40.             url: 'http://pesquisa.wshare.com.br/filtro/test/get.php',
  41.             type: 'POST',
  42.             dataType: 'JSON',
  43.             data: {qual: "getempresas"},
  44.             success: function(resposta){
  45.                 empresas_data = resposta;
  46.             }
  47.         });
  48.     }
  49.  
  50.     function pesquisa_set(){
  51.         return $.ajax({
  52.             url: 'http://pesquisa.wshare.com.br/filtro/test/get.php',
  53.             type: 'POST', dataType: 'json',
  54.             data: {qual: "getpesquisas"},
  55.             success: function(retorno){
  56.                 pesquisa_data = retorno;
  57.             }
  58.         });
  59.     }
  60.  
  61.     function local_set(){
  62.         return $.ajax({
  63.             url: 'http://pesquisa.wshare.com.br/filtro/test/get.php',
  64.             type: 'POST', dataType: 'json',
  65.             data: {qual: "requestlocals"},
  66.             success: function(retorno){
  67.                 local_data = retorno;
  68.             }
  69.         });
  70.     }
  71.  
  72.     function pesquisadores_set(){
  73.         return $.ajax({
  74.             url: 'http://pesquisa.wshare.com.br/filtro/test/get.php',
  75.             type: 'POST', dataType: 'json',
  76.             data: {qual: "getpesquisadores"},
  77.             success: function(retorno){
  78.                 pesquisadores_data = retorno;
  79.             }
  80.         });
  81.     }
  82.  
  83.     function servicos_set(){
  84.         return $.ajax({
  85.             url: 'http://pesquisa.wshare.com.br/filtro/test/get.php',
  86.             type: 'POST', dataType: 'json',
  87.             data: {qual: "requestservicos"},
  88.             success: function(retorno){
  89.                 servicos_data = retorno;
  90.             }
  91.         });
  92.     }
  93.  
  94.     $(send_button_id).click(function(event) {
  95.         save_selecteds();
  96.     });
  97.  
  98.     $(clean_button_id).click(function(event) {
  99.         event.preventDefault();
  100.         clean_campos();
  101.     });
  102.  
  103.     function select_if_can(mudar_empresas = true){
  104.         var empresas_selecionas = get_selects(empresas_id);
  105.         var Local_selecionas = null;
  106.         var Servicos_selecionas = null;
  107.         var Pesquisador_selecionas = null;
  108.         var Pesquisas_selecionas = null;
  109.  
  110.         if( window.localStorage.getItem("Saved_selects") !== null ){
  111.             var data = window.localStorage.getItem("Saved_selects");
  112.                 data = $.parseJSON(data);
  113.            
  114.             empresas_selecionas = data.Empresas_field;
  115.             Local_selecionas = data.Local_field;
  116.             Servicos_selecionas = data.Servicos_field;
  117.             Pesquisador_selecionas = data.Pesquisador_field;
  118.             Pesquisas_selecionas = data.Pesquisas_field;
  119.         }
  120.  
  121.         if( mudar_empresas == true ){
  122.             $(empresas_id).html("");
  123.             add_options(empresas_id, empresas_data, empresas_selecionas);
  124.         }
  125.        
  126.         preenche_campos(Local_selecionas, Servicos_selecionas, Pesquisador_selecionas, Pesquisas_selecionas);
  127.     }
  128.  
  129.     function clean_campos(){
  130.         window.localStorage.removeItem("Saved_selects");
  131.  
  132.         $(empresas_id).multiselect('destroy');
  133.         $(local_id).multiselect('destroy');
  134.         $(servicos_id).multiselect('destroy');
  135.         $(pesquisadores_id).multiselect('destroy');
  136.         $(pesquisa_id).multiselect('destroy');
  137.         $(empresas_id).html("");
  138.         $(local_id).html("");
  139.         $(servicos_id).html("");
  140.         $(pesquisadores_id).html("");
  141.         $(pesquisa_id).html("");
  142.  
  143.         add_options(empresas_id, empresas_data);
  144.  
  145.         make_all_mult_select();
  146.         $('#ajax_empresa').multiselect({
  147.             includeSelectAllOption: true,
  148.             nSelectedText: 'selecionados ..',
  149.             nonSelectedText:'Nenhum selecionado ..',
  150.             allSelectedText: 'Todos selecionados ..',
  151.             selectAllText: 'Selecionar todos ..',
  152.             numberDisplayed: 1,
  153.             onDropdownHide: function(option, checked){
  154.                 select_if_can(false);
  155.             }
  156.         });
  157.     }
  158.  
  159.     function save_selecteds(){
  160.         var data = {
  161.             "Empresas_field": get_selects(empresas_id),
  162.             "Local_field": get_selects(local_id),
  163.             "Servicos_field": get_selects(servicos_id),
  164.             "Pesquisador_field": get_selects(pesquisadores_id),
  165.             "Pesquisas_field": get_selects(pesquisa_id)
  166.         }
  167.  
  168.         window.localStorage.setItem("Saved_selects", JSON.stringify(data));
  169.     }
  170.  
  171.     function preenche_campos(local_options = null, servicos_options = null, pesquisadores_options = null, pesquisas_options = null){
  172.         var empresas = get_selects(empresas_id);
  173.         if( jQuery.isEmptyObject(empresas) ){
  174.             empresas = [];
  175.             $(empresas_id+" option").each(function(){
  176.                 var item = $(this).val();
  177.                 empresas.push(item);
  178.             });
  179.         }
  180.  
  181.         var data_append_servicos        = servicos_data;
  182.         var data_append_local           = get_data(empresas, local_id, local_data);
  183.         var data_append_pesquisadores   = get_data(empresas, pesquisadores_id, pesquisadores_data);
  184.         var data_append_pesquisas       = pesquisa_data;
  185.  
  186.         add_options_multiselect(local_id, data_append_local, local_options);
  187.         add_options_multiselect(servicos_id, data_append_servicos, servicos_options);
  188.         add_options_multiselect(pesquisadores_id, data_append_pesquisadores, pesquisadores_options);
  189.         add_options_multiselect(pesquisa_id, data_append_pesquisas, pesquisas_options);
  190.     }
  191.  
  192.     function get_data(data, variavel, data_to_consult){
  193.         var return_data = [];
  194.  
  195.         for (var i = 0; i < data.length; i++) {
  196.             var id_empresa = data[i];
  197.             for (var e = 0; e < data_to_consult.length; e++) {
  198.                 var item = data_to_consult[e];
  199.                 var id = item.PESQUISADOR_EMP_ID;
  200.                 if( variavel == local_id ){
  201.                     id = item.LOCAL_EMP_ID;
  202.                 }
  203.                 if( id == id_empresa ){
  204.                     return_data.push(item);
  205.                 }
  206.             }
  207.         }
  208.  
  209.         return return_data;
  210.     }
  211.  
  212.     function add_options_multiselect(id, options, selectec_ones = null){
  213.         $(id).multiselect('destroy');
  214.         $(id).html("");
  215.  
  216.         for (var i = 0; i < options.length; i++) {
  217.             var option = document.createElement("option");
  218.  
  219.             var text = get_text(id, options[i]);
  220.             var value = get_value(id, options[i]);
  221.  
  222.             option.text  = text;
  223.             option.value = value;
  224.             if( selectec_ones != null ){
  225.                 for (var e = 0; e < selectec_ones.length; e++) {
  226.                     var select = selectec_ones[e];
  227.                     if( value == select ){
  228.                         option.setAttribute('selected', 'selected');
  229.                     }
  230.                 }
  231.             }
  232.             $(id).append(option);
  233.         }
  234.  
  235.         $(id).multiselect({
  236.             includeSelectAllOption: true,
  237.             nSelectedText: 'selecionados ..',
  238.             nonSelectedText:'Nenhum selecionado ..',
  239.             allSelectedText: 'Todos selecionados ..',
  240.             selectAllText: 'Selecionar todos ..',
  241.             numberDisplayed: 1,  
  242.         });
  243.     }
  244.  
  245.     function add_options(id, options, selectec_ones = null){
  246.         for (var i = 0; i < options.length; i++) {
  247.             var option = document.createElement("option");
  248.            
  249.             var text = get_text(id, options[i]);
  250.             var value = get_value(id, options[i]);
  251.  
  252.             option.text  = text;
  253.             option.value = value;
  254.            
  255.             if( selectec_ones !== null ){
  256.                 for (var e = 0; e < selectec_ones.length; e++) {
  257.                     var select = selectec_ones[e];
  258.                     if( value == select ){
  259.                         option.setAttribute('selected', 'selected');
  260.                     }
  261.                 }
  262.             }
  263.  
  264.             $(id).append(option);
  265.         }
  266.     }
  267.  
  268.     function get_text(id, data){
  269.         if( id == empresas_id ){
  270.             return data.EMP_NOME;
  271.         }
  272.         if( id == local_id ){
  273.             return data.LOCAL_DESCRICAO;
  274.         }
  275.         if( id == servicos_id ){
  276.             return data.SERV_DESC;
  277.         }
  278.         if( id == pesquisadores_id ){
  279.             return data.PESQUISADOR_NOME;
  280.         }
  281.         if( id == pesquisa_id ){
  282.             return data.PESQ_TIT;
  283.         }
  284.     }
  285.  
  286.     function get_value(id, data){
  287.         if( id == empresas_id ){
  288.             return data.ID;
  289.         }
  290.         if( id == local_id ){
  291.             return data.LOCAL_ID;
  292.         }
  293.         if( id == servicos_id ){
  294.             return data.SERV_ID;
  295.         }
  296.         if( id == pesquisadores_id ){
  297.             return data.PESQUISADOR_ID;
  298.         }
  299.         if( id == pesquisa_id ){
  300.             return data.ID;
  301.         }
  302.     }
  303.  
  304.     function make_all_mult_select(){
  305.         $(local_id+", "+servicos_id+", "+pesquisadores_id+", "+pesquisa_id).multiselect({
  306.             includeSelectAllOption: true,
  307.             nSelectedText: 'selecionados ..',
  308.             nonSelectedText:'Nenhum selecionado ..',
  309.             allSelectedText: 'Todos selecionados ..',
  310.             selectAllText: 'Selecionar todos ..',
  311.             numberDisplayed: 1,
  312.         });
  313.     }
  314.  
  315.     function get_selects(id){
  316.         var return_data = [];
  317.  
  318.         $(id+" option:selected").each(function(){
  319.             var item = $(this).val();
  320.             return_data.push(item);
  321.         });
  322.        
  323.         return return_data;
  324.     }
  325.    
  326. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement