Facebook
From Caique Alves, 3 Years ago, written in JavaScript.
Embed
Download Paste or View Raw
Hits: 69
  1. function aoEscolherComplemento(target, idProd, comp_uuid, grupo_uuid){
  2.  
  3.   let somaAtual = 0;
  4.   idLimpo = idProd.replace('_c_input', '');
  5.   let valorComplemento =  toDouble($(target).attr('data-price'));
  6.   let qtd =  $('#' + idTemplate(idLimpo, 'c_input')).val();
  7.   let vlProdutoDouble = $('#' + idTemplate(idLimpo, 'precoProd')).val();
  8.  
  9.   idAdd = idLimpo + '_c_adicionar';
  10.  
  11.   $('#' + idAdd).attr('complemento-uid', $(target).attr('id'));
  12.   $('#' + idAdd).attr('subtotal', monetario(valorComplemento * qtd));
  13.   $('#' + idAdd).attr('qtde', qtd);
  14.   $('#' + idAdd).attr('valor', $(target).attr('valor'));
  15.  
  16.   if(target){
  17.     produtoOpcionais = document.opcionaisSelecionado;
  18.    // console.log('produtoOpcionais-> ' + JSON.stringify(produtoOpcionais));
  19.  
  20.     if (!produtoOpcionais){
  21.       produtoOpcionais = {};
  22.       produtoOpcionais.totSel = 0;
  23.     }
  24.  
  25.     if(target.checked){
  26.        produtoOpcionais[comp_uuid] = document.complementos[grupo_uuid][comp_uuid];
  27.        produtoOpcionais.totSel += 1;
  28.      //  console.log('produtoOpcionais[comp_uuid] -> ' + JSON.stringify(produtoOpcionais[comp_uuid]))
  29.     }else{
  30.       delete produtoOpcionais[comp_uuid];
  31.       produtoOpcionais.totSel -= 1;
  32.     }
  33.  
  34.     let opc = produtoOpcionais;
  35.    // console.log('opcionais -> ' + JSON.stringify(opcionais));
  36.     let somaOpcionais = 0;
  37.     let vtextoOpcionais = '';
  38.     let qtde_opc_free = document.todosOsGrupos[grupo_uuid]['gru_qtde_complementos'];
  39.  
  40.  
  41.     for (const key in opc) {
  42.       if (opc.hasOwnProperty(key)) {
  43.         const element = opc[key];
  44.         if (element.com_tipo !== undefined) {
  45.           console.log('OPC KEY-> ' + key + ' -- >> ' + element.com_tipo);
  46.           console.log("qtde_opc_free " + qtde_opc_free);
  47.          
  48.           OpcionalCheck = produtoOpcionais.totSel;
  49.           console.log('OpcionalCheck -> ' + OpcionalCheck);
  50.             if ( OpcionalCheck > qtde_opc_free )  {
  51.               somaOpcionais += qtd * toDouble(element.com_valor);  
  52.               console.log('somaOpcionais add -> ' + somaOpcionais)        
  53.             }else {
  54.               somaOpcionais += qtd * toDouble(0.00);
  55.               console.log('somaOpcionais tira -> ' + somaOpcionais);
  56.             }
  57.          
  58.  
  59.           vtextoOpcionais += element.com_descricao + '; ';
  60.         }
  61.       }
  62.     }
  63.  
  64.     somaAtual = (vlProdutoDouble * qtd) + (somaOpcionais);
  65.     setaValorMonetarioBotaoAddComplemento('#' + idTemplate(idLimpo, 'subtotal'), somaAtual);
  66.  
  67.     produtoOpcionais.textoOpcionais = vtextoOpcionais;
  68.     produtoOpcionais.somaOpcionais = somaOpcionais;
  69.     produtoOpcionais.subTotalDouble = toDouble( (produtoOpcionais.qtde * produtoOpcionais.valorDouble) + somaOpcionais );
  70.     produtoOpcionais.subtotal = monetario((produtoOpcionais.qtde * produtoOpcionais.valorDouble) + somaOpcionais);
  71.     carrinho[idLimpo] = produtoOpcionais;
  72.     atualizarCarrinho(produtoOpcionais);
  73.     adicionarNoResumo(produtoOpcionais);
  74.    // cestaTotalizar();
  75.  
  76.     document.opcionaisSelecionado = produtoOpcionais;
  77.   }
  78. }