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