Autosave: 20260708-194007

This commit is contained in:
Flatlogic Bot 2026-07-08 19:39:06 +00:00
parent 6c3b83d672
commit 31e763bfe7
6 changed files with 99 additions and 11 deletions

View File

@ -306,6 +306,15 @@ h1, .h1 {
font-size: 0.85rem; /* Fuente más pequeña como en Pedidos Rotulados */
line-height: 1.2;
}
/* Ruta Contraentrega: aumentar un poco el tamaño de letra para que sea más legible */
.cc-ruta-contraentrega-container th {
font-size: 0.9rem;
}
.cc-ruta-contraentrega-container td {
font-size: 0.95rem;
}
.excel-container tr:nth-of-type(odd) td {
background-color: #f9f9f9;
}

View File

@ -57,6 +57,8 @@ $sql .= " ORDER BY p.created_at DESC";
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$pedidos = $stmt->fetchAll();
$label_generated_date = date('d/m');
?>
<!DOCTYPE html>
<html lang="es">
@ -136,6 +138,27 @@ $pedidos = $stmt->fetchAll();
margin-bottom: 1mm;
gap: 2mm;
}
.variant-row {
align-items: flex-start;
}
.variant-text {
flex: 1;
min-width: 0;
word-break: break-word;
}
.variant-date {
white-space: nowrap;
font-size: 14pt;
font-weight: 900;
}
.nota-adicional {
font-size: 9pt;
line-height: 1.1;
margin-top: 0.5mm;
text-align: center;
word-break: break-word;
font-weight: 500;
}
.footer-msg {
text-align: center;
font-size: 14pt;
@ -214,6 +237,23 @@ $pedidos = $stmt->fetchAll();
}
$variante_text = !empty($display_variants) ? implode(' + ', $display_variants) : 'S/V';
// Nota adicional (dedicatorias/observaciones): mostrar en tamaño pequeño solo la primera palabra
$nota_adicional_raw = trim((string)($pedido['nota_adicional'] ?? ''));
if ($nota_adicional_raw === '') {
$nota_adicional_raw = trim((string)($pedido['descargo'] ?? ''));
}
$nota_adicional_raw = preg_replace('/\s+/u', ' ', $nota_adicional_raw);
if (strcasecmp($nota_adicional_raw, 'N/A') === 0) {
$nota_adicional_raw = '';
}
// Mostrar únicamente la primera palabra para que no quede largo
$nota_adicional_display = '';
if (!empty($nota_adicional_raw)) {
$nota_adicional_parts = preg_split('/\s+/u', trim($nota_adicional_raw), -1, PREG_SPLIT_NO_EMPTY);
$nota_adicional_display = $nota_adicional_parts[0] ?? '';
}
?>
<div class="label-page">
<div class="header">
@ -226,8 +266,9 @@ $pedidos = $stmt->fetchAll();
</div>
<div class="details">
<div class="details-row">
<span>VARIANTE: <?php echo htmlspecialchars($variante_text); ?></span>
<div class="details-row variant-row">
<span class="variant-text">VARIANTE: <?php echo htmlspecialchars($variante_text); ?></span>
<span class="variant-date">F: <?php echo htmlspecialchars($label_generated_date); ?></span>
</div>
<div class="details-row">
<span><?php
@ -261,6 +302,12 @@ $pedidos = $stmt->fetchAll();
echo 'SEDE: ' . htmlspecialchars($sede_val);
?></span>
</div>
<?php if (!empty($nota_adicional_display)): ?>
<div class="nota-adicional">
<?php echo htmlspecialchars($nota_adicional_display); ?>
</div>
<?php endif; ?>
</div>
<div class="footer-msg">

View File

@ -174,9 +174,9 @@ include 'layout_header.php';
</div>
<div class="card">
<div class="card-body">
<div class="card-body p-0">
<div class="table-responsive">
<div class="excel-container cc-pedidos-rotulados-container">
<table class="table table-striped">
<thead>
<tr>

View File

@ -176,8 +176,8 @@ include 'layout_header.php';
</div>
<div class="card">
<div class="card-body">
<div class="table-responsive">
<div class="card-body p-0">
<div class="excel-container cc-pedidos-rotulados-container">
<table id="pedidos-table" class="table table-striped">
<thead>
<tr>

View File

@ -172,8 +172,8 @@ include 'layout_header.php';
</div>
<div class="card">
<div class="card-body">
<div class="table-responsive">
<div class="card-body p-0">
<div class="excel-container cc-pedidos-rotulados-container">
<table id="pedidos-table" class="table table-striped">
<thead>
<tr>
@ -270,7 +270,7 @@ include 'layout_header.php';
<?php echo $canSeeClave ? htmlspecialchars($pedido['clave'] ?? 'N/A') : '<i class="fas fa-eye-slash text-muted" title="Suba el número de operación y seleccione el banco para ver la clave"></i> <span class="text-muted" style="font-size: 0.8rem;">Oculto</span>'; ?>
</td>
<td><span class="badge" style="<?php echo getStatusStyle($pedido['estado']); ?>"><?php echo ($pedido['estado'] == 'Gestion') ? 'GESTIONES ⚙️' : htmlspecialchars($pedido['estado']); ?></span></td>
<td id="live-status-<?php echo $pedido['id']; ?>"><span class="badge bg-light text-dark">Pendiente</span></td>
<td id="live-status-<?php echo $pedido['id']; ?>"><span class="badge bg-warning text-dark">VERIFICAR</span></td>
<?php if ($user_role !== 'Asesor'): ?><td><?php echo htmlspecialchars($pedido['asesor_nombre'] ?? 'N/A'); ?></td><?php endif; ?>
<td><?php echo htmlspecialchars($pedido['created_at']); ?></td>
<td>
@ -324,6 +324,9 @@ $(document).ready(function() {
document.addEventListener('DOMContentLoaded', function() {
const table = document.querySelector('.table');
// Shalom API temporalmente desactivada: por ahora solo mostramos “VERIFICAR”
const SHALOM_API_ENABLED = false;
// Logic for editable cells (existing logic)
table.addEventListener('click', function(e) {
if (e.target && e.target.classList.contains('editable')) {
@ -347,6 +350,11 @@ document.addEventListener('DOMContentLoaded', function() {
modalOrderCodeSpan.textContent = orderCode;
modalStatusDiv.innerHTML = '<p class="text-center">Consultando estado en Shalom...</p>';
if (!SHALOM_API_ENABLED) {
modalStatusDiv.innerHTML = '<p class="text-warning text-center"><strong>VERIFICAR</strong>: Estado Shalom requiere confirmación manual por el momento.</p>';
return;
}
if (orderNumber === 'N/A' || orderCode === 'N/A' || !orderNumber || !orderCode) {
modalStatusDiv.innerHTML = '<p class="text-danger text-center">No hay suficientes datos (Nº de Orden o Código de Orden) para consultar.</p>';
return;
@ -524,6 +532,22 @@ document.addEventListener('DOMContentLoaded', function() {
function verificarEstados() {
const rows = document.querySelectorAll('tr[data-order-number][data-order-code]');
const verifyButton = document.getElementById('verify-statuses-btn');
if (!SHALOM_API_ENABLED) {
rows.forEach((row) => {
const pedidoId = row.id.split('-')[1];
const statusCell = document.getElementById(`live-status-${pedidoId}`);
if (!statusCell) return;
statusCell.innerHTML = '<span class="badge bg-warning text-dark">VERIFICAR</span>';
});
if (verifyButton) {
verifyButton.disabled = false;
verifyButton.innerHTML = 'Verificar Estados Ahora';
}
return;
}
if(verifyButton) {
verifyButton.disabled = true;
verifyButton.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Verificando...';

View File

@ -355,7 +355,7 @@ include 'layout_header.php';
<div class="card">
<div class="card-body p-0">
<div class="excel-container">
<div class="excel-container cc-ruta-contraentrega-container">
<table id="pedidos-table" class="table table-striped table-hover">
<thead>
<tr>
@ -405,6 +405,7 @@ include 'layout_header.php';
data-bs-toggle="modal" data-bs-target="#contraentregaVerificacionModal"
data-pedido-id="<?php echo htmlspecialchars((string)$pedido['id'], ENT_QUOTES, 'UTF-8'); ?>"
data-nombre-completo="<?php echo htmlspecialchars((string)($pedido['nombre_completo'] ?? ''), ENT_QUOTES, 'UTF-8'); ?>"
data-celular="<?php echo htmlspecialchars((string)($pedido['celular'] ?? ''), ENT_QUOTES, 'UTF-8'); ?>"
data-verificacion-tracking="<?php echo htmlspecialchars($ccVerifTracking, ENT_QUOTES, 'UTF-8'); ?>"
data-verificacion-imagen="<?php echo htmlspecialchars($ccVerifImg, ENT_QUOTES, 'UTF-8'); ?>"
data-seguimiento="<?php echo htmlspecialchars($ccSeguimiento, ENT_QUOTES, 'UTF-8'); ?>"
@ -537,12 +538,16 @@ include 'layout_header.php';
<div class="col-md-7">
<div class="mb-2">
<div class="text-muted small">Pedido #<span id="ccVerifPedidoIdText"></span></div>
<div class="fw-semibold" id="ccVerifNombreDestinatario"></div>
</div>
<div class="mb-3">
<img id="ccVerifPreviewImg" class="cc-verificacion-img-preview" src="" alt="Imagen de verificación" style="display:none;">
<div id="ccVerifNoImg" class="text-muted" style="display:none;">Sin imagen cargada todavía.</div>
<div class="mt-2">
<div class="fw-semibold fs-3" id="ccVerifNombreDestinatario"></div>
<div class="text-muted fs-3" id="ccVerifNumeroDestinatario"></div>
</div>
</div>
<div class="alert alert-info mb-0" role="alert" style="padding: 0.6rem 0.85rem;">
@ -610,6 +615,7 @@ include 'layout_header.php';
const pedidoIdText = document.getElementById('ccVerifPedidoIdText');
const pedidoIdHidden = document.getElementById('ccVerifPedidoIdHidden');
const nombreEl = document.getElementById('ccVerifNombreDestinatario');
const numeroEl = document.getElementById('ccVerifNumeroDestinatario');
const previewImg = document.getElementById('ccVerifPreviewImg');
const noImgEl = document.getElementById('ccVerifNoImg');
@ -658,6 +664,7 @@ include 'layout_header.php';
const pedidoId = btn.getAttribute('data-pedido-id') || '';
const nombre = btn.getAttribute('data-nombre-completo') || '';
const celular = btn.getAttribute('data-celular') || '';
const verifTracking = btn.getAttribute('data-verificacion-tracking') || '';
const verifImg = btn.getAttribute('data-verificacion-imagen') || '';
const seguimiento = btn.getAttribute('data-seguimiento') || '';
@ -665,6 +672,7 @@ include 'layout_header.php';
pedidoIdHidden.value = pedidoId;
if (pedidoIdText) pedidoIdText.textContent = pedidoId;
if (nombreEl) nombreEl.textContent = nombre;
if (numeroEl) numeroEl.textContent = celular || 'N/A';
trackingSavedEl.textContent = verifTracking || 'N/A';
seguimientoActualEl.textContent = seguimiento || 'N/A';