Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
AVIDOTAPP
/
views
/
inventario
:
verificar.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Verificar Ingreso – Inventario Nuevo</title> <link rel="icon" type="image/png" href="assets/img/icono.png"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> body { background:linear-gradient(225deg,#d0101d,#752b2a); min-height:100vh; padding:20px; } .card { border-radius:20px; box-shadow:0 5px 20px rgba(0,0,0,.25); } .card-header { background:linear-gradient(225deg,#d0101d,#752b2a); color:#fff; border-radius:20px 20px 0 0!important; } .card-info { background:#f8f9fa; border-left:4px solid #d0101d; border-radius:8px; padding:12px 16px; margin-top:10px; } .badge-total { background:linear-gradient(225deg,#d0101d,#752b2a); color:#fff; font-size:1rem; padding:6px 14px; border-radius:20px; } .btn-rojo { background:linear-gradient(225deg,#d0101d,#752b2a); color:#fff; border:none; } .btn-rojo:hover { background:linear-gradient(225deg,#b00e1a,#632422); color:#fff; } .info-row input { font-size:.85rem; } .saved-badge { display:none; color:green; font-size:.8rem; margin-top:4px; } </style> </head> <body> <div class="container"> <div class="row justify-content-center"> <div class="col-lg-10"> <div class="card"> <div class="card-header"> <div class="d-flex justify-content-between align-items-center"> <h4 class="mb-0"><i class="fas fa-clipboard-check me-2"></i>Verificar Ingreso – Inventario Nuevo</h4> <small class="text-white-50">Usuario: <?= htmlspecialchars($_SESSION['DIGITA'] ?? '') ?></small> </div> </div> <div class="card-body"> <?php if ($msg_ok): ?> <div class="alert alert-success"><i class="fas fa-check-circle me-2"></i><?= $msg_ok ?></div> <?php endif; ?> <?php if ($msg_err): ?> <div class="alert alert-danger"><i class="fas fa-exclamation-triangle me-2"></i><?= $msg_err ?></div> <?php endif; ?> <p class="text-muted"><i class="fas fa-info-circle me-1"></i>Si el item ya existe, la cantidad se <strong>sumará</strong> a la existente.</p> <?php if (!empty($elementos_mostrar)): ?> <!-- Tabla de elementos --> <div class="table-responsive mb-4"> <table class="table table-bordered align-middle"> <thead class="table-dark"> <tr> <th>Código</th><th>Descripción</th> <th class="text-center">Actual</th> <th class="text-center">Añadir</th> <th class="text-center">Total</th> <th class="text-center" style="width:200px">Factura / Proveedor / Precio</th> <th></th> </tr> </thead> <tbody> <?php foreach ($elementos_mostrar as $el): $info_prev = $info_elementos[$el['codigo']] ?? []; ?> <tr> <td class="fw-bold"><?= htmlspecialchars($el['codigo']) ?></td> <td><?= htmlspecialchars($el['descripcion']) ?></td> <td class="text-center"><?= $el['cantidad_actual'] ?></td> <td class="text-center text-primary fw-bold">+<?= $el['cantidad'] ?></td> <td class="text-center"> <span class="badge-total"><?= $el['cantidad_total'] ?></span> </td> <td> <div class="info-row" data-codigo="<?= htmlspecialchars($el['codigo']) ?>"> <input class="form-control form-control-sm mb-1 inp-factura" type="text" placeholder="N° Factura *" value="<?= htmlspecialchars($info_prev['nfactura'] ?? '') ?>"> <input class="form-control form-control-sm mb-1 inp-proveedor" type="text" placeholder="Proveedor *" value="<?= htmlspecialchars($info_prev['provedor'] ?? '') ?>"> <input class="form-control form-control-sm inp-precio" type="number" min="0" step="0.01" placeholder="Precio (opcional)" value="<?= htmlspecialchars($info_prev['precio'] ?? '') ?>"> <button type="button" class="btn btn-sm btn-outline-success mt-1 btn-guardar-info"> <i class="fas fa-save me-1"></i>Guardar info </button> <div class="saved-badge"><i class="fas fa-check-circle me-1"></i>Guardado</div> </div> </td> <td class="text-center"> <a href="index.php?controller=Inventario&action=verificar&eliminar=<?= urlencode($el['codigo']) ?>" class="btn btn-sm btn-outline-danger" title="Quitar de la lista"> <i class="fas fa-trash-can"></i> </a> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> <!-- Botones de acción --> <form method="post" action="index.php?controller=Inventario&action=verificar" id="formConfirmar"> <div class="d-flex gap-2 flex-wrap"> <a href="index.php?controller=Inventario&action=index" class="btn btn-secondary btn-lg"> <i class="fas fa-arrow-left me-2"></i>Atrás </a> <button type="submit" name="CONFIRMA" class="btn btn-rojo btn-lg" id="btnConfirmar"> <i class="fas fa-check me-2"></i>Confirmar Ingreso </button> </div> </form> <?php else: ?> <div class="alert alert-warning text-center"> <i class="fas fa-exclamation-triangle me-2"></i>No hay elementos seleccionados. <a href="index.php?controller=Inventario&action=index" class="btn btn-rojo btn-sm ms-3">Ir a seleccionar</a> </div> <?php endif; ?> </div> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.7.5/sweetalert2.all.min.js"></script> <script> $(function() { // Guardar info factura/proveedor/precio vía AJAX $('.btn-guardar-info').on('click', function() { const row = $(this).closest('.info-row'); const codigo = row.data('codigo'); const nfactura = row.find('.inp-factura').val().trim(); const provedor = row.find('.inp-proveedor').val().trim(); const precio = row.find('.inp-precio').val(); if (!nfactura || !provedor) { Swal.fire('Atención','Factura y proveedor son obligatorios','warning'); return; } $.post('index.php?controller=Inventario&action=verificar', { guardar_info: 1, codigo, nfactura, provedor, precio }, function(res) { const r = JSON.parse(res); if (r.ok) { row.find('.saved-badge').fadeIn().delay(2500).fadeOut(); } }); }); // Validar antes de confirmar $('#formConfirmar').on('submit', function(e) { const sinGuardar = []; $('.info-row').each(function() { const f = $(this).find('.inp-factura').val().trim(); const p = $(this).find('.inp-proveedor').val().trim(); if (!f || !p) sinGuardar.push($(this).data('codigo')); }); if (sinGuardar.length > 0) { e.preventDefault(); Swal.fire('Atención', 'Guarda la información de factura y proveedor para todos los items antes de confirmar.<br><br>Pendientes: <strong>' + sinGuardar.join(', ') + '</strong>', 'warning'); } }); }); </script> </body> </html>