<div class="content-wrapper">
    <section class="content-header">
        <h1>Detalle Comprobante Proveedor</h1>
    </section>

    <section class="content">
        <div class="row">
            <div class="col-md-12">

                <!-- DATOS GENERALES -->
                <div class="panel panel-info">
                    <div class="panel-heading"><strong>Datos del comprobante</strong></div>
                    <div class="panel-body">
                        <?php
                            $tipos = array('F'=>'Factura','B'=>'Boleta','RH'=>'Rec. Honorarios','O'=>'Otro');
                            $tipoLabel = isset($tipos[$comprobante->tipo_comprobante]) ? $tipos[$comprobante->tipo_comprobante] : $comprobante->tipo_comprobante;
                        ?>
                        <div class="row">
                            <div class="col-md-2">
                                <strong>Tipo:</strong><br><?php echo $tipoLabel; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>N° Comprobante:</strong><br>
                                <strong><?php echo $comprobante->serie . '-' . $comprobante->numero; ?></strong>
                            </div>
                            <div class="col-md-2">
                                <strong>F. Emisión:</strong><br>
                                <?php echo date('d/m/Y', strtotime($comprobante->fecha_emision)); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>F. Vencimiento:</strong><br>
                                <?php echo !empty($comprobante->fecha_vencimiento) ? date('d/m/Y', strtotime($comprobante->fecha_vencimiento)) : '-'; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Moneda:</strong><br>
                                <?php echo $comprobante->moneda; ?>
                                <?php if(!empty($comprobante->tipocambio)): ?>
                                    <small>(TC: <?php echo $comprobante->tipocambio; ?>)</small>
                                <?php endif; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Estado:</strong><br>
                                <?php if($comprobante->estado == 1): ?>
                                    <span class="label label-warning">PENDIENTE</span>
                                <?php elseif($comprobante->estado == 2): ?>
                                    <span class="label label-success">PAGADO</span>
                                <?php else: ?>
                                    <span class="label label-default">ANULADO</span>
                                <?php endif; ?>
                            </div>
                        </div>
                        <hr>
                        <div class="row">
                            <div class="col-md-4">
                                <strong>Proveedor:</strong><br>
                                <?php echo $comprobante->proveedor; ?>
                                <small class="text-muted">(<?php echo $comprobante->proveedor_ruc; ?>)</small>
                            </div>
                            <div class="col-md-2">
                                <strong>Condición pago:</strong><br>
                                <?php echo $comprobante->forma_pago ?? '-'; ?>
                            </div>
                            <?php if(!empty($comprobante->ordc_id)): ?>
                            <div class="col-md-2">
                                <strong>OC Referencia:</strong><br>
                                <a href="<?php echo base_url('index.php/logistica/orden_compra/ver/'.$comprobante->ordc_id); ?>">
                                    OC #<?php echo $comprobante->ordc_id; ?>
                                </a>
                            </div>
                            <?php endif; ?>
                            <?php if(!empty($comprobante->pi_id)): ?>
                            <div class="col-md-2">
                                <strong>Parte Ingreso:</strong><br>
                                PI-<?php echo str_pad($comprobante->pi_id, 5, '0', STR_PAD_LEFT); ?>
                            </div>
                            <?php endif; ?>
                        </div>
                        <hr>
                        <div class="row">
                            <div class="col-md-2">
                                <strong>Subtotal:</strong><br>
                                <?php echo number_format((float)$comprobante->subtotal, 2); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>IGV (<?php echo $comprobante->igv_porcentaje; ?>%):</strong><br>
                                <?php echo number_format((float)$comprobante->igv, 2); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Total:</strong><br>
                                <strong><?php echo number_format((float)$comprobante->total, 2); ?></strong>
                            </div>
                            <div class="col-md-2">
                                <strong>Saldo pendiente:</strong><br>
                                <strong class="<?php echo (float)$comprobante->saldo > 0 ? 'text-danger' : 'text-success'; ?>">
                                    <?php echo number_format((float)$comprobante->saldo, 2); ?>
                                </strong>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- CUOTAS -->
                <?php if(!empty($cuotas)): ?>
                <div class="panel panel-default">
                    <div class="panel-heading"><strong>Cuotas de pago</strong></div>
                    <div class="panel-body">
                        <table class="table table-bordered table-striped">
                            <thead>
                                <tr>
                                    <th>N° Cuota</th>
                                    <th>F. Vencimiento</th>
                                    <th class="text-right">Importe</th>
                                    <th class="text-right">Saldo</th>
                                    <th>Estado</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach($cuotas as $cuota): ?>
                                    <tr>
                                        <td><?php echo $cuota->nro_cuota; ?></td>
                                        <td><?php echo date('d/m/Y', strtotime($cuota->fecha_vencimiento)); ?></td>
                                        <td class="text-right"><?php echo number_format((float)$cuota->importe, 2); ?></td>
                                        <td class="text-right"><?php echo number_format((float)$cuota->saldo, 2); ?></td>
                                        <td>
                                            <?php if($cuota->estado == 1): ?>
                                                <span class="label label-success">Pagada</span>
                                            <?php else: ?>
                                                <span class="label label-warning">Pendiente</span>
                                            <?php endif; ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                </div>
                <?php endif; ?>

                <!-- PAGOS REGISTRADOS -->
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <strong>Pagos registrados</strong>
                        <?php if(tiene_permiso('comprobante_proveedor_pagar') && $comprobante->estado == 1): ?>
                            <button type="button" class="btn btn-success btn-xs pull-right" id="btnNuevoPago">
                                <i class="fa fa-plus"></i> Registrar pago
                            </button>
                        <?php endif; ?>
                    </div>
                    <div class="panel-body">
                        <?php if(empty($pagos)): ?>
                            <p class="text-muted text-center">No hay pagos registrados aún.</p>
                        <?php else: ?>
                            <table class="table table-bordered table-striped" id="tablaPagos">
                                <thead>
                                    <tr>
                                        <th>Fecha</th>
                                        <th>Medio de pago</th>
                                        <th>Cuenta bancaria</th>
                                        <th>Referencia</th>
                                        <th class="text-right">Importe</th>
                                        <th>Usuario</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php foreach($pagos as $pago): ?>
                                        <tr>
                                            <td><?php echo date('d/m/Y', strtotime($pago->fecha_pago)); ?></td>
                                            <td><?php echo $pago->medio_pago; ?></td>
                                            <td><?php echo !empty($pago->cuenta_bancaria) ? $pago->cuenta_bancaria : '-'; ?></td>
                                            <td><?php echo !empty($pago->referencia) ? $pago->referencia : '-'; ?></td>
                                            <td class="text-right"><strong><?php echo number_format((float)$pago->importe, 2); ?></strong></td>
                                            <td><?php echo $pago->usuario_pago ?? '-'; ?></td>
                                        </tr>
                                    <?php endforeach; ?>
                                </tbody>
                                <tfoot>
                                    <tr>
                                        <th colspan="4" class="text-right">Total pagado:</th>
                                        <th class="text-right">
                                            <?php echo number_format((float)$comprobante->total - (float)$comprobante->saldo, 2); ?>
                                        </th>
                                        <th></th>
                                    </tr>
                                </tfoot>
                            </table>
                        <?php endif; ?>
                    </div>
                </div>

                <!-- BOTONES -->
                <a href="<?php echo base_url('index.php/logistica/comprobante_proveedor'); ?>" class="btn btn-default">
                    <i class="fa fa-arrow-left"></i> Volver
                </a>

                <?php if(tiene_permiso('comprobante_proveedor_anular') && $comprobante->estado == 1): ?>
                    <button type="button" class="btn btn-danger btn-anular"
                            data-url="<?php echo base_url('index.php/logistica/comprobante_proveedor/anular/'.$comprobante->id); ?>">
                        <i class="fa fa-times"></i> Anular
                    </button>
                <?php endif; ?>

            </div>
        </div>
    </section>
</div>

<!-- MODAL PAGO -->
<div class="modal fade" id="modalPago" tabindex="-1" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header" style="background:#00a65a; color:#fff;">
                <button type="button" class="close" data-dismiss="modal" style="color:#fff;">&times;</button>
                <h4 class="modal-title"><i class="fa fa-money"></i> Registrar Pago</h4>
            </div>
            <div class="modal-body">
                <div class="form-group">
                    <label>Cuota (opcional)</label>
                    <select id="pago_cuota_id" class="form-control">
                        <option value="">Sin cuota específica</option>
                        <?php foreach($cuotas as $cuota): ?>
                            <?php if($cuota->estado == 0): ?>
                                <option value="<?php echo $cuota->id; ?>">
                                    Cuota <?php echo $cuota->nro_cuota; ?>
                                    — Vence: <?php echo date('d/m/Y', strtotime($cuota->fecha_vencimiento)); ?>
                                    — S/ <?php echo number_format((float)$cuota->saldo, 2); ?>
                                </option>
                            <?php endif; ?>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="row">
                    <div class="col-md-6 form-group">
                        <label>Fecha de pago <span class="text-danger">*</span></label>
                        <input type="date" id="pago_fecha" class="form-control" value="<?php echo date('Y-m-d'); ?>">
                    </div>
                    <div class="col-md-6 form-group">
                        <label>Importe <span class="text-danger">*</span></label>
                        <input type="number" step="0.01" min="0.01" id="pago_importe" class="form-control text-right"
                               value="<?php echo number_format((float)$comprobante->saldo, 2, '.', ''); ?>">
                    </div>
                </div>
                <div class="form-group">
                    <label>Medio de pago <span class="text-danger">*</span></label>
                    <select id="pago_medio_pago_id" class="form-control">
                        <option value="">Seleccione</option>
                        <?php foreach($medios_pago as $mp): ?>
                            <option value="<?php echo $mp->id; ?>"><?php echo $mp->nombre; ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="form-group" id="bloqueCuenta" style="display:none;">
                    <label>Cuenta bancaria</label>
                    <select id="pago_banco_cuenta_id" class="form-control">
                        <option value="">Seleccione cuenta</option>
                        <?php foreach($cuentas as $cuenta): ?>
                            <option value="<?php echo $cuenta->id; ?>">
                                <?php echo $cuenta->banco . ' — ' . $cuenta->descripcion . ' — ' . $cuenta->numero_cuenta; ?>
                                (<?php echo $cuenta->moneda; ?>)
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="form-group">
                    <label>N° Operación / Referencia</label>
                    <input type="text" id="pago_referencia" class="form-control" maxlength="60"
                           placeholder="Nro. operación, cheque, etc.">
                </div>
                <div class="form-group">
                    <label>Observaciones</label>
                    <input type="text" id="pago_observaciones" class="form-control" maxlength="150">
                </div>
                <div class="alert alert-info" style="padding:8px;">
                    Saldo pendiente: <strong id="saldoPendiente">
                        <?php echo number_format((float)$comprobante->saldo, 2); ?>
                    </strong>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-success" id="btnConfirmarPago">
                    <i class="fa fa-check"></i> Confirmar pago
                </button>
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
            </div>
        </div>
    </div>
</div>

<script>
window.addEventListener('load', function () {

    // Mostrar/ocultar cuenta bancaria según medio de pago
    $('#pago_medio_pago_id').on('change', function() {
        var nombre = $(this).find('option:selected').text().toUpperCase();
        if (nombre.indexOf('EFECTIVO') === -1) {
            $('#bloqueCuenta').show();
        } else {
            $('#bloqueCuenta').hide();
            $('#pago_banco_cuenta_id').val('');
        }
    });

    $('#btnNuevoPago').on('click', function() {
        $('#modalPago').modal('show');
    });

    $('#btnConfirmarPago').on('click', function() {
        var fecha       = $('#pago_fecha').val();
        var importe     = parseFloat($('#pago_importe').val() || 0);
        var medioPagoId = $('#pago_medio_pago_id').val();

        if (!fecha || importe <= 0 || !medioPagoId) {
            Swal.fire({ icon: 'warning', title: 'Atención', text: 'Fecha, importe y medio de pago son obligatorios' });
            return;
        }

        $.ajax({
            url: '<?php echo base_url("index.php/logistica/comprobante_proveedor/registrar_pago"); ?>',
            type: 'POST',
            data: {
                cp_id:           <?php echo $comprobante->id; ?>,
                cuota_id:        $('#pago_cuota_id').val(),
                fecha_pago:      fecha,
                medio_pago_id:   medioPagoId,
                banco_cuenta_id: $('#pago_banco_cuenta_id').val(),
                importe:         importe,
                referencia:      $('#pago_referencia').val(),
                observaciones:   $('#pago_observaciones').val()
            },
            dataType: 'json',
            success: function(resp) {
                if (resp.status) {
                    $('#modalPago').modal('hide');
                    Swal.fire({
                        icon: 'success', title: 'Pago registrado',
                        text: resp.message, timer: 1800, showConfirmButton: false
                    }).then(function() {
                        location.reload();
                    });
                } else {
                    Swal.fire({ icon: 'error', title: 'Error', text: resp.message });
                }
            }
        });
    });

    $(document).on('click', '.btn-anular', function() {
        var url = $(this).data('url');
        Swal.fire({
            title: '¿Anular comprobante?', text: 'Esta acción no se puede revertir.',
            icon: 'warning', showCancelButton: true,
            confirmButtonText: 'Sí, anular', cancelButtonText: 'Cancelar',
            confirmButtonColor: '#d33'
        }).then(function(result) {
            if (result.isConfirmed) window.location.href = url;
        });
    });

});
</script>
