// Admin panel functionality function showTab(tabName) { document.querySelectorAll('.tab').forEach(t => t.classList.remove('active')); document.querySelectorAll('.tab-content').forEach(t => t.classList.remove('active')); event.target.classList.add('active'); document.getElementById(`tab-${tabName}`).classList.add('active'); if (tabName === 'albaranes') { loadAlbaranes(); } else if (tabName === 'clasificacion') { loadClasificacion(); } } async function loadAlbaranes() { try { const data = await apiRequest('/albaranes/'); const albaranes = Array.isArray(data) ? data : (data.results || []); renderAlbaranes(albaranes); } catch (error) { console.error('Error al cargar albaranes:', error); } } async function loadClasificacion() { try { const data = await apiRequest('/albaranes/?estado_procesado=clasificacion'); const albaranes = Array.isArray(data) ? data : (data.results || []); renderClasificacion(albaranes); } catch (error) { console.error('Error al cargar clasificación:', error); } } function renderAlbaranes(albaranes) { const container = document.getElementById('albaranes-container'); if (!container) return; container.innerHTML = ''; albaranes.forEach(albaran => { const card = document.createElement('div'); card.className = 'albaran-card'; const estadoClass = albaran.estado_procesado === 'procesado' ? 'procesado' : albaran.estado_procesado === 'clasificacion' ? 'clasificacion' : 'pendiente'; card.innerHTML = `
| Referencia | Descripción | Unidades | Precio | IVA |
|---|---|---|---|---|
| ${ref.referencia} | ${ref.denominacion} | ${ref.unidades} | ${ref.precio_unitario}€ | ${ref.impuesto_tipo}% |