Actualizar index2.html
This commit is contained in:
28
index2.html
28
index2.html
@@ -446,12 +446,15 @@
|
||||
}
|
||||
|
||||
// --- LÓGICA DE PDF AÑADIDA ---
|
||||
let allServicesGlobalBackup = []; // <--- Variable para no perder los datos del cliente
|
||||
|
||||
async function generatePDF(id) {
|
||||
const budget = currentQuotes.find(b => b.id === id);
|
||||
if(!budget) return showToast("❌ Error: Presupuesto no encontrado");
|
||||
|
||||
showToast("⏳ Generando PDF, espera unos segundos...");
|
||||
|
||||
// 1. CARGAMOS DATOS FISCALES DE LA EMPRESA (IBAN, OBS, CIF)
|
||||
let empNombre = globalCompanyData?.name || "Empresa Reparadora";
|
||||
let empLogo = globalCompanyData?.logo || null;
|
||||
let empDni = globalCompanyData?.billing_settings?.dni ? `CIF/NIF: ${globalCompanyData.billing_settings.dni}` : "";
|
||||
@@ -485,9 +488,27 @@
|
||||
if(fDate && fDate.includes('T')) fDate = fDate.split('T')[0].split('-').reverse().join('/');
|
||||
document.getElementById('pdf-date').innerText = fDate;
|
||||
|
||||
document.getElementById('pdf-client-name').innerText = budget.client_name || document.getElementById('clientName').innerText || "Cliente";
|
||||
document.getElementById('pdf-client-phone').innerText = budget.client_phone || "-";
|
||||
document.getElementById('pdf-client-address').innerText = budget.client_address || "-";
|
||||
// 2. 🛑 FIX CRÍTICO: RESCATAMOS DATOS DEL CLIENTE SI EL PRESUPUESTO ESTÁ VACÍO
|
||||
let fallbackClient = allServicesGlobalBackup[0]?.raw_data || {};
|
||||
|
||||
let finalName = budget.client_name;
|
||||
if(!finalName || finalName.trim() === "") finalName = fallbackClient["Nombre Cliente"] || fallbackClient["CLIENTE"] || document.getElementById('clientName').innerText;
|
||||
|
||||
let finalPhone = budget.client_phone;
|
||||
if(!finalPhone || finalPhone.trim() === "") finalPhone = fallbackClient["Teléfono"] || fallbackClient["TELEFONO"] || "-";
|
||||
|
||||
let finalAddress = budget.client_address;
|
||||
if(!finalAddress || finalAddress.trim() === "") {
|
||||
let fallbackAddr = fallbackClient["Dirección"] || fallbackClient["DOMICILIO"] || "";
|
||||
let fallbackCp = fallbackClient["Código Postal"] || fallbackClient["C.P."] || "";
|
||||
let fallbackPob = fallbackClient["Población"] || fallbackClient["POBLACION-PROVINCIA"] || "";
|
||||
finalAddress = `${fallbackAddr}, ${fallbackCp} ${fallbackPob}`.trim();
|
||||
if (finalAddress === ",") finalAddress = "Dirección no especificada";
|
||||
}
|
||||
|
||||
document.getElementById('pdf-client-name').innerText = finalName;
|
||||
document.getElementById('pdf-client-phone').innerText = finalPhone;
|
||||
document.getElementById('pdf-client-address').innerText = finalAddress;
|
||||
|
||||
const itemsArr = budget.items || [];
|
||||
let itemsHtml = '';
|
||||
@@ -646,6 +667,7 @@
|
||||
function renderPortal(client, company, allServices) {
|
||||
|
||||
globalCompanyData = company; // 🛑 NUEVO: Guardamos la empresa
|
||||
allServicesGlobalBackup = allServices; // 🛑 NUEVO: Guardamos una copia de los avisos para el PDF
|
||||
|
||||
if (company.name) document.title = `Portal - ${company.name}`;
|
||||
if (company.logo) {
|
||||
|
||||
Reference in New Issue
Block a user