81 lines
2.8 KiB
JavaScript
81 lines
2.8 KiB
JavaScript
|
|
document.addEventListener("DOMContentLoaded", function () {
|
||
|
|
// Récupérer les données du formulaire depuis l'URL
|
||
|
|
const urlParams = new URLSearchParams(window.location.search);
|
||
|
|
const formData = JSON.parse(decodeURIComponent(urlParams.get("data")));
|
||
|
|
|
||
|
|
// Afficher les informations du destinataire
|
||
|
|
const recipientInfo = document.getElementById("recipientInfo");
|
||
|
|
recipientInfo.innerHTML = `
|
||
|
|
<p>${formData.recipient_name}</p>
|
||
|
|
<p>${formData.recipient_address}</p>
|
||
|
|
<p>${formData.recipient_postal_code} ${formData.recipient_town}</p>
|
||
|
|
<p>${formData.recipient_country}</p>
|
||
|
|
${
|
||
|
|
formData.recipient_vat_number
|
||
|
|
? `<p>TVA: ${formData.recipient_vat_number}</p>`
|
||
|
|
: ""
|
||
|
|
}
|
||
|
|
`;
|
||
|
|
|
||
|
|
// Afficher les détails de la facture
|
||
|
|
const invoiceDetails = document.getElementById("invoiceDetails");
|
||
|
|
invoiceDetails.innerHTML = `
|
||
|
|
<div class="grid grid-cols-2 gap-4">
|
||
|
|
<div>
|
||
|
|
<p class="text-gray-600">Numéro de facture</p>
|
||
|
|
<p class="font-semibold">${formData.invoice_number}</p>
|
||
|
|
</div>
|
||
|
|
<div>
|
||
|
|
<p class="text-gray-600">Date</p>
|
||
|
|
<p class="font-semibold">${new Date().toLocaleDateString()}</p>
|
||
|
|
</div>
|
||
|
|
<div>
|
||
|
|
<p class="text-gray-600">Langue</p>
|
||
|
|
<p class="font-semibold">${formData.language}</p>
|
||
|
|
</div>
|
||
|
|
<div>
|
||
|
|
<p class="text-gray-600">Montant</p>
|
||
|
|
<p class="font-semibold">${formData.amount} ${
|
||
|
|
formData.currency
|
||
|
|
}</p>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
`;
|
||
|
|
|
||
|
|
// Gérer la validation de la facture
|
||
|
|
document
|
||
|
|
.getElementById("validateInvoice")
|
||
|
|
.addEventListener("click", async function () {
|
||
|
|
try {
|
||
|
|
console.log("Envoi des données à l'API:", formData);
|
||
|
|
|
||
|
|
const response = await fetch("/api/invoices", {
|
||
|
|
method: "POST",
|
||
|
|
headers: {
|
||
|
|
"Content-Type": "application/json",
|
||
|
|
},
|
||
|
|
body: JSON.stringify(formData),
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log("Réponse reçue:", response.status);
|
||
|
|
|
||
|
|
if (response.ok) {
|
||
|
|
const result = await response.json();
|
||
|
|
console.log("Facture créée avec succès:", result);
|
||
|
|
alert("Facture créée avec succès !");
|
||
|
|
window.location.href = "/dashboard";
|
||
|
|
} else {
|
||
|
|
const error = await response.json();
|
||
|
|
console.error("Erreur API:", error);
|
||
|
|
alert(
|
||
|
|
"Erreur lors de la création de la facture : " +
|
||
|
|
(error.error || "Erreur inconnue")
|
||
|
|
);
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
console.error("Erreur lors de la requête:", error);
|
||
|
|
alert("Erreur lors de la création de la facture : " + error.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
});
|