@extends('header_new')
@section('main')
<link href="{{asset('/css/fancy.min.css')}}" rel="stylesheet">
<style>
    .fancy-grid-cell {
        cursor: pointer;
    }
    html body main.container-fluid.mt-5.pt-5 div#seccion_control_api.container-fluid.contenedores-navegador.mb-4 div.row.justify-content-center div#result div#fancy-gen-38.fancy.fancy-panel.fancy-theme-bootstrap.fancy-panel-shadow.fancy-panel-grid-inside div.fancy-panel-body div.fancy-panel-body-inner div#tabla-altas.fancy.fancy-grid.fancy-grid-unselectable div.fancy-grid-center div.fancy-grid-body div.fancy-grid-column.fancy-grid-column-ellipsis div.fancy-grid-cell div.fancy-grid-cell-inner {
        cursor: pointer;
    }
</style>

@section('main')

<main class="container-fluid mt-1 pt-3">
    <!-- SECCION DATOS DEL CLIENTE -->
    <div class="container-fluid contenedores-navegador" id="seccion_datos_cliente">
        <div class="row justify-content-center">
            <div class="col-12 col-lg-10 my-4">
                 <div class='text-center my-2 pt-0 pt-xxl-5'>
                    <h5 id="tituloMod">@traducir('Facturación Manual','Facturación Manual')</h5>
                </div>
                    <!-- Datos del cliente -->
                    <form id="formulario_factura">
                        {{ csrf_field() }}
                        <input type="hidden" name="cliente" id="cliente" value="{{ $datos_cliente->cliente }}">
                        <input type="hidden" name="domicilio"  value="{{ $datos_cliente->domicilio }}">
                        <input type="hidden" name="localidad"  value="{{ $datos_cliente->localidad }}">
                        <input type="hidden" name="provincia"  value="{{ $datos_cliente->provincia }}">
                        <input type="hidden" name="cod_postal" value="{{ $datos_cliente->cod_postal }}">
                        <input type="hidden" name="pai_codigo_ifx" value="{{ $datos_cliente->pai_codigo_ifx }}">
                        <input type="hidden" name="pai_nombre" value="{{ $datos_cliente->pai_nombre }}">
                        <input type="hidden" name="email" value="{{ $cliente_condiciones->e_mail_factura }}">
                        <input type="hidden" name="ven_codigo" value="{{ $datos_cliente->ven_codigo }}">
                        <!-- fila de datos cliente -->
                        <div class="row justify-content-center">
                            <div class="col-12 col-lg-3 form-group pt-lg-0 pt-sm-3">
                                <label for="cli_codigo" class="text-fidelitas fst-italic">@traducir('Código de cliente (facturación tango)','Código de cliente (facturación tango)')</label>
                                <input type="text" name="cli_codigo" id="cli_codigo" class="form-control required" placeholder="Codigo Cliente *" data-format="numero" value="{{$datos_cliente->cli_codigo ?? '' }}"  readonly>
                                <div class="invalid-feedback"></div>
                            </div>
                            <div class="col-12 col-lg-7 form-group pt-lg-0 pt-sm-7">
                                <label for="cli_nombre" class="text-fidelitas fst-italic">@traducir('Razón Social','Razón Social')</label>
                                <input type="text" name="cli_nombre" id="cli_nombre" class="form-control required" placeholder="Razón Social *" data-format="razon_social" value="{{$datos_cliente->nombre ?? '' }}"  readonly>
                                <div class="invalid-feedback"></div>
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-0 pt-sm-2">
                                <label for="cli_nombre" class="text-fidelitas fst-italic"><br></label>
                                <button type="button" class="btn btn-primary btn-fidelitas form-control" id="btn-condiciones" style="border:0;" 
                                                    data-toggle="modal" 
                                                    data-target="#modalCondiciones">Ver/Editar condiciones
                                                  </button>

                            </div>
                        </div>
                        <div class="row justify-content-center">
                            <div class="col-12 col-lg-2 form-group pt-lg-2 pt-sm-2">
                                <label for="cli_cuit" class="text-fidelitas fst-italic">C.U.I.T.</label>
                                <input type="text" name="cli_cuit" id="cli_cuit" class="form-control required" value="{{$datos_cliente->cuit ?? '' }}"  readonly @if ( $datos_cliente->tipo_identificador == 'CUIT' || $datos_cliente->tipo_identificador == 'CUIL'  )  data-format="cuit" @else data-format="razon_social" @endif>
                                <input type="hidden" name="cli_identificador" id="cli_identificador" value="{{ $datos_cliente->tipo_identificador }}">
                                <div class="invalid-feedback"></div>
                            </div>
                            <div class="col-12 col-lg-4 form-group pt-lg-2 pt-sm-4">
                                <label for="resiva" class="text-fidelitas fst-italic">@traducir('Condición IVA','Condición IVA')</label>
                                <select id="iva" name="iva" class='form-select required' required>
                                <option value="">Seleccione...</option>
                                 @foreach ($resiva as $iva)
                                    <option @if((isset($datos_cliente->cli_resiva) && $datos_cliente->cli_resiva==$iva->codigo)) selected=true @endif value="{{$iva->codigo}}">{{$iva->descripcion}}</option>
                                @endforeach 
                                </select> 
                            </div>
                             <div class="col-12 col-lg-2 form-group pt-lg-2 pt-sm-2">
                                <label for="moneda" class="text-fidelitas fst-italic">@traducir('Moneda','Moneda')</label>
                              
                                <select id="moneda" name="moneda" class='form-select moneda' required>
                                    <option value="ARS" @if((isset($cliente_condiciones->moneda) && $cliente_condiciones->moneda=='ARS')) selected=true @endif>Pesos Argentinos</option>
                                    <option value="USD" @if((isset($cliente_condiciones->moneda) && $cliente_condiciones->moneda=='USD')) selected=true @endif>Dólares U.S.A.</option>
                                </select>

                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-2 pt-sm-2">
                                <label for="cotizacion" class="text-fidelitas fst-italic">@traducir('Cotización','Cotización')</label>
                                <input type="text" name="cotizacion" class="text-left form-control cotizacion" style="padding-left:1px;text-align: right;" @if((isset($cliente_condiciones->moneda) && $cliente_condiciones->moneda!=='ARS')) value="" @else value="1" disabled @endif required>
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-2 pt-sm-2">
                                <label for="tiporecargo" class="text-fidelitas fst-italic" style="font-weight: bold;">@traducir('Nro. pedido','Nro. pedido')</label>
                                <input type="text" name="nro_pedido" id="nro_pedido" class="form-control" style="font-weight: bold;" value="{{$nro_pedido}}" readonly>
                            </div> 
                        </div>
                        <!--Datos de la factura -->
                        <div class="row justify-content-center">
                            <!---->
                            <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="periodo" class="text-fidelitas fst-italic">@traducir('Período a Facturar','Período a Facturar')</label>
                                <select id="periodo" name="periodo" class='form-select required' required>
                                    <option value="{{$periodo[0]}}">{{$periodo[0]}}</option>
                                    <option value="{{$periodo[1]}}" selected>{{$periodo[1]}}</option>
                                    <option value="{{$periodo[2]}}">{{$periodo[2]}}</option>
                                    <option value="{{$periodo[3]}}">{{$periodo[3]}}</option>
                                </select>                            
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="comprobante" class="text-fidelitas fst-italic">@traducir('Tipo de comprobante','Tipo de comprobante')</label>
                                <select id="comprobante" name="comprobante" class='form-select required' required>
                                    <option value="FAC" selected>FACTURA</option>
                                    <!--option value="NC1">NOTA DE CREDITO</option>
                                    <option value="ND">NOTA DE DEBITO</option-->
                                </select>
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="fecha" class="text-fidelitas fst-italic">@traducir('Fecha de factura','Fecha de factura')</label>
                                <input type="date" class="form-control" id="fecha" name="fecha" required value="{{$fecha_actual}}">
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="vencimiento" class="text-fidelitas fst-italic">@traducir('Fecha de vencimiento','Fecha de vencimiento')</label>
                                <input type="date" class="form-control" id="vencimiento" name="vencimiento" value="{{$fecha_vencimiento}}" required>

                            </div>
                             <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="recargo" class="text-fidelitas fst-italic">@traducir('Recargo','Recargo')</label>
                                 <select id="recargo" name="recargo" class='form-select  form-select required' style="padding-left:1px;text-align: right;" required>
                                    @for ($i = 1; $i <= 100; $i++)
                                    <option value="{{ $i }}" @if ($i == 5) selected @endif > {{ $i }} %</option>
                                    @endfor
                                    
                                </select>
                            </div>
                            <div class="col-12 col-lg-2 form-group pt-lg-3 pt-sm-2">
                                <label for="tiporecargo" class="text-fidelitas fst-italic">@traducir('Tipo de recargo','Tipo de recargo')</label>
                                 <select id="tiporecargo" name="tiporecargo" class='form-select required' required>
                                    <option value="D"> Diario</option>
                                    <option value="M" selected> Mensual</option>
                                    <option value="A"> Anual</option>
                                </select>
                            </div>    
                                                      
                        </div>
                    <!-- Productos a facturar-->
                        <div class="row justify-content-center">

                        <div class="col-12 col-lg-12 form-group pt-lg-3  pt-sm-2">
                            <label class="text-fidelitas fst-italic">@traducir('Items a facturar:','Items a facturar:')</label> 
                        </div>
                        <div class="col-12 col-lg-12 form-group pt-lg-1  pt-sm-2">
                         
                        <table width="100%">
                            <tr class="text-center">
                                <td class="text-fidelitas fst-italic" width='10%'>@traducir('Cantidad','Cantidad')</td>
                                <td class="text-fidelitas fst-italic" width='49%'>@traducir('Detalle','Detalle')</td>
                                <td class="text-fidelitas fst-italic" width='10%'>@traducir('Precio unitario','Precio unitario')</td>
                                <td class="text-fidelitas fst-italic" width='10%'>@traducir('% Descuento','% Descuento')</td>
                                <td class="text-fidelitas fst-italic" width='10%'>@traducir('Total','Total')</td>
                                <td class="text-fidelitas fst-italic" width='10%'>@traducir('Total con descuento','Total con descuento')</td>
                                <td class="text-fidelitas fst-italic" width='1%'></td>
                            </tr>
                            @for ($i = 0; $i <= 6; $i++)
                            <tr class="tr_{{$i}} @if ($i > 0) d-none @endif">
                                <td><input type="text" name="cant[]" class="text-right form-control form-control-sm cantidad cantidad_{{$i}}" style="padding-left:1px;text-align: right;" pattern="[0-9]{1,10}"></td>
                                <td><input type="text" name="detalle[]" maxlength="50" class="text-left form-control form-control-sm detalle detalle_{{$i}}"></td>
                                <td><input type="text" name="precio[]" class="text-right form-control form-control-sm precio precio_{{$i}}" style="padding-left:1px;text-align: right;" pattern="-?\d+(.\d{1,2})?"></td>
                                <td><input type="text" name="descuento[]" class="text-right form-control form-control-sm descuento descuento_{{$i}}" style="padding-left:1px;text-align: right;" pattern="-?\d+(.\d{1,2})?"></td>
                                <td><input type="text" name="total[]" class="text-right form-control form-control-sm totalsd tot1_{{$i}}" style="padding-left:1px;text-align: right;" readonly ></td>
                                <td><input type="text" name="totalcondescuento[]" class="text-right form-control form-control-sm total tot2_{{$i}}" style="padding-left:1px;text-align: right;" readonly ></td>
                                @if ($i < 6)
                                <td><a class="mas mas_{{$i}} d-none" href="#" title="Agregar otro item a la factura"><i class="fa fa-plus-circle"></i></a></td>
                                @else
                                <td></td>
                                @endif
                            </tr>
                            @endfor     
                            <tr>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td><input type="text" name="totalescondescuento" class="form-control form-control-sm totalgral" style="padding-left:1px;text-align: right;" readonly ></td>
                                <td>&nbsp;</td>
                            </tr>
                        </table>
                         

                    </div>
                    </div>
                    <div class="row justify-content-end my-3">
                    <div class="col-xl-4 d-none">
                        <img id="loading" src="/images/loading.gif" class="hidden" width="50px"> Preparando pedido de facturación..
                    </div>
                    <div class="col-xl-4"></div>
                    <div class="col-xl-4 text-end">
                        <button type="submit" class="btn btn-primary" id="btn-guardar-factura" disabled>Confirmar Factura</button>       
                        <a href="/fact/facturacion-manual"><button type="button" class="btn btn-primary" id="btn-cancelar-factura">Cancelar</button></a>
                    </div>
                    </div>
                    </form>

            </div>
        </div>
    </div>
</main>









<div class="modal fade" id="modalCondiciones" data-bs-backdrop="static" data-keyboard="false" role="dialog">
    <div class="modal-dialog modal-xl">
    <div class="modal-content">
        <div class="modal-header">
            <h6 class="modal-title">@traducir('Condiciones del cliente','Condiciones del cliente')</h6>
            <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
        </div>
        <form id="form_condiciones" class="form-signin">
        <div class="modal-body">
              {{csrf_field()}}
              <input type="hidden" name="cliente"    value="{{$datos_cliente->cliente}}">      
              <input type="hidden" name="cli_codigo" value="{{$datos_cliente->cli_codigo}}">      
              <input type="hidden" name="fecha_factura" value="">      
              <div class="row justify-content-center">
                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">
                        <label for="cond_iva" class="text-fidelitas fst-italic">@traducir('Condición IVA','Condición IVA')</label>
                        <select id="cond_iva" name="cond_iva" class='form-select required' required>
                         <option value="">Seleccione...</option>

                         @foreach ($resiva as $iva)
                            <option @if((isset($datos_cliente->cli_resiva) && $datos_cliente->cli_resiva==$iva->codigo)) selected=true @endif value="{{$iva->codigo}}">{{$iva->descripcion}}</option>
                        @endforeach 
                        </select> 
                    </div>
                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">            
                    </div>
                </div>
                <div class="row justify-content-center">
                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">
                        <label for="cond_moneda" class="text-fidelitas fst-italic">@traducir('Moneda de facturación','Moneda de facturación')</label>
                        <select id="cond_moneda" name="cond_moneda" class='form-select cond_moneda' required>
                            <option value="">Seleccione...</option>
                            <option value="ARS" @if((isset($cliente_condiciones->moneda) && $cliente_condiciones->moneda=='ARS')) selected=true @endif>Pesos Argentinos</option>
                            <option value="USD" @if((isset($cliente_condiciones->moneda) && $cliente_condiciones->moneda=='USD')) selected=true @endif>Dólares U.S.A.</option>
                        </select>
                    </div>
                  
                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">
                        <label for="cond_forma_cobro" class="text-fidelitas fst-italic">@traducir('Forma de cobro','Forma de cobro')</label> 
                        <select id="cond_forma_cobro" name="cond_forma_cobro" class='form-select forma_cobro' required>
                            <option value="">Seleccione...</option>
                            <option value="V" @if((isset($cliente_condiciones->forma_cobro) && $cliente_condiciones->forma_cobro=='V')) selected=true @endif>Mes vencido</option>
                            <option value="A" @if((isset($cliente_condiciones->forma_cobro) && $cliente_condiciones->forma_cobro=='A')) selected=true @endif>Mes adelantado</option>
                        </select>
                    </div>
                </div>
                <div class="row justify-content-center">
                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">
                        <label for="cond_dias_vto_factura" class="text-fidelitas fst-italic">@traducir('Días vencimiento factura','Días vencimiento factura')</label> 
                        <input type="text" id="cond_dias_vto_factura" name="cond_dias_vto_factura" class="form-control cond_dias_vto_factura" required value="{{$cliente_condiciones->dias_vto_factura ?? '7'}}">
                    </div>
                    

                    <div class="col-12 col-lg-6 form-group pt-lg-2 pt-sm-6">
                        <label for="cond_tolerancia_mora" class="text-fidelitas fst-italic">@traducir('Días tolerancia mora','Días tolerancia mora')</label> 
                        <input type="text" id="cond_tolerancia_mora" name="cond_tolerancia_mora" class='form-control cond_tolerancia_mora' required value="{{$cliente_condiciones->tolerancia_mora ?? '30'}}">
                    </div>

                    <div class="col-12 col-lg-12 form-group pt-lg-2 pt-sm-12">
                        <label for="cond_tolerancia_mora" class="text-fidelitas fst-italic">@traducir('El domicilio del cliente y la dirección de email a donde se enviará la factura debe estar correctamente cargada en el sistema Tango','El domicilio del cliente y la dirección de email a donde se enviará la factura debe estar correctamente cargada en el sistema Tango')</label> 
                    </div>
                </div>
        </div>

        <div class="modal-footer text-center">
          <div class="col-md-12">
            <button type="submit" class="btn btn-primary">Grabar</button>
            <button type="button" class="cerrar btn btn-primary" onclick='$("#modalCondiciones").modal("toggle");'  aria-label="Close">Cerrar</button>
          </div>
        </div>
        </form>     
    </div>
    </div>
</div>

@endsection
<!-- -->
@section('funcionesJs')
<script type="text/javascript" language="javascript">

  


$(document).on('keypress',".cantidad,.precio,.descuento,.cotizacion,#cond_dias_vto_factura,#cond_tolerancia_mora",function(e){
    tecla = (document.all) ? e.keyCode : e.which;
    //Tecla de retroceso para borrar, siempre la permite
    if (tecla == 8) {
        return true;
    }
    campo  = this.attributes["name"].value;
    
    valor = $(this).val();
    if (valor.includes('.') || campo == 'cant[]' || campo == 'cond_dias_vto_factura' || campo == 'cond_tolerancia_mora')
        { patron = /[0-9]/; }
    else
        { patron = /[0-9.]/;}
    tecla_final = String.fromCharCode(tecla);
    return patron.test(tecla_final);
});

$(document).on('change',".moneda",function(e){
    e.preventDefault();
    if ($(".moneda").val() == 'ARS')
    {
        $(".cotizacion").prop('disabled', true);   
        $(".cotizacion").val('1');  
    }
    else
    {
        $(".cotizacion").prop('disabled', false);   
        $(".cotizacion").val('');      
    }

});

$(document).on('change',"#fecha,#vencimiento",function(e){
    e.preventDefault();
    var fecha = $("#fecha").val();
    var vencimiento = $("#vencimiento").val();
    if (vencimiento !== null && fecha !== null)
    if (vencimiento < fecha)
    {
        var campo = this.attributes["name"].value;
        if (campo == 'fecha')
        {
            $("#fecha").val('');
        }
        else 
        {
            $("#vencimiento").val('');
        }
        alert ("La fecha de vencimiento no puede ser anterior a la fecha de la factura");
    }
});

$(document).on('change',".cantidad,.precio,.descuento",function(e){
    e.preventDefault();
   
    item = this.attributes["class"].value;
    item = item.substring(item.length - 1); 
   
    var cantidad = $(".cantidad_"+item).val();
    var precio   = $(".precio_"+item).val();
    var descuento = $(".descuento_"+item).val();
  
    if (cantidad !== '' && precio !== '' && descuento !== '')
    {
        var total = parseFloat(cantidad) * parseFloat(precio);
        var conDescuento = (parseFloat(descuento) * parseFloat(total)) / 100;
        var totalConDescuento = (parseFloat(total)-parseFloat(conDescuento)).toFixed(2);
        var totalSinDescuento = parseFloat(total).toFixed(2);

        $(".tot1_"+item).val(totalSinDescuento);
        $(".tot2_"+item).val(totalConDescuento);

        var totalGral = 0;
        $(".total").each(function(){
            var nro = $(this).val();
            if (nro=="") { nro = 0;}
            totalGral = parseFloat(totalGral) + parseFloat(nro);
        })
        var totalGral = parseFloat(totalGral).toFixed(2);
        $(".totalgral").val(totalGral);
        $(".mas_"+item).removeClass('d-none');
        $("#btn-guardar-factura").removeAttr('disabled');

    }
});

$(document).on('click',".mas",function(e){
     e.preventDefault();
     item = this.attributes["class"].value;
     item = item.substring(item.length - 1);
     item = parseInt(item) + 1;
     $(".tr_"+item).removeClass('d-none');
});


$(document).on('submit',"#formulario_factura",function(e){
     e.preventDefault();
     var ok = 'si';
     for (let item = 0; item <= 9; item++) {
        var cantidad  = $(".cantidad_"+item).val() ?? '';
        var detalle   = $(".detalle_"+item).val() ?? '';
        var precio    = $(".precio_"+item).val() ?? '';
        var descuento = $(".descuento_"+item).val() ?? '';
        if ((cantidad=='' && detalle=='' && precio=='' && descuento=='') ||
           (cantidad!=='' && detalle!=='' && precio!=='' && descuento!==''))
        {
            ok = 'si';
        }
        else
        {
            ok = 'no';
            nro = item + 1;
            break;
        }
    }
    if (ok == 'no')
    {
        alert('Falta completar datos en el Item nro. ' + nro); 
    }
    else
    {
        if ($("#comprobante").val() == 'FAC')
        {
            $.ajax({
            method: "POST",
            url: "/fact/hacer-pedido",
            data: $('#formulario_factura').serialize(),

            beforeSend: function(){
                $('#loading').removeClass('hidden').show(); 
            },
            success: function(data){ 
                alert('Se ha creado el pedido de facturación Nro. ' + $('#nro_pedido').val());
                $('#btn-cancelar-factura').trigger('click');

            },
            error: function(err){
                alert('Ha ocurrido un error en el pedido de facturación Nro. ' + $('#nro_pedido').val());
                $('#btn-cancelar-factura').trigger('click');

            }
            }); 
        }
    }

}); 
   
$('#btn-condiciones').on('click', function(e) {
        $("#modalCondiciones #fecha_factura").val($("#fecha").val());
        $('#modalCondiciones').modal('show');   
});

$('#modalCondiciones #form_condiciones').on('submit', function(e) {
      e.preventDefault();
      $.ajax({
        method: 'POST',
        url: "/fact/cliente-condiciones",
        data: $(this).serialize(), 
        beforeSend : function() {
                },
        success: function(data) {
          var data = JSON.parse(data);
          if (data.procesado == true) {
            if ($('.moneda').val() !== $('.cond_moneda').val())
            {
                $('.moneda').val($('.cond_moneda').val());
                if ($(".cond_moneda").val() == 'ARS')
                {
                    $(".cotizacion").prop('disabled', true);   
                    $(".cotizacion").val('1');  
                }
                else
                {
                    $(".cotizacion").prop('disabled', false);   
                    $(".cotizacion").val('');      
                }
            }
            $("#vencimiento").val(data.fecha_vencimiento);
            $('#modalCondiciones').modal('toggle');
          } else {
                alert('Ocurrió un error al grabar las condiciones');
                $('#modalCondiciones').modal('toggle');
          }
        },
        error: function(error) {
          alert('Ocurrió un error al grabar las condiciones');
          $('#modalCondiciones').modal('toggle');
        }
      });
  });






</script>
@endsection