Files
bolsa/js/ordreGF.js
T

101 lines
3.7 KiB
JavaScript
Raw Normal View History

2026-07-05 14:19:13 +00:00
document.addEventListener("DOMContentLoaded", () => {
2026-07-06 13:37:50 +00:00
// --- 1. GESTION DES MODALS ET FORMULAIRES (SI PRÉSENTS) ---
2026-07-05 14:19:13 +00:00
2026-07-06 13:37:50 +00:00
// Modal Créer Ordre
const modalCreerOrdre = document.getElementById("modalCreerOrdre");
const btnCreer = document.querySelector(".ordregf-btn-creer");
if (modalCreerOrdre && btnCreer) {
btnCreer.addEventListener("click", () => modalCreerOrdre.showModal());
document.getElementById("btnAnnuler")?.addEventListener("click", () => {
document.getElementById("formCreerOrdre").reset();
modalCreerOrdre.close();
document.getElementById("btnValider").disabled = true;
});
}
2026-07-05 14:19:13 +00:00
2026-07-06 13:37:50 +00:00
// Recherche Action
const btnRechercher = document.getElementById("btnRechercher");
btnRechercher?.addEventListener("click", async () => {
2026-07-05 14:19:13 +00:00
const isin = document.getElementById("isinRecherche").value;
const response = await fetch(`/php/api_rechercher_action.php?isin=${isin}`);
const data = await response.json();
if (data.success) {
document.getElementById("Nom").value = data.company_name;
document.getElementById("ticker").value = data.ticker;
document.getElementById("code_yahoo").value = data.yahoo_code;
document.getElementById("btnValider").disabled = false;
} else {
alert("Action non trouvée");
}
});
2026-07-06 13:37:50 +00:00
// Enregistrement Ordre
document
.getElementById("formCreerOrdre")
?.addEventListener("submit", async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
formData.append("isin", document.getElementById("isinRecherche").value);
const response = await fetch("/php/api_enregistrer_ordre.php", {
method: "POST",
body: formData,
});
if ((await response.json()).success) location.reload();
});
2026-07-05 14:19:13 +00:00
2026-07-06 13:37:50 +00:00
// Enregistrement Detail
document
.getElementById("formCreerDetail")
?.addEventListener("submit", async (e) => {
e.preventDefault();
const response = await fetch("/php/api_enregistrer_detail.php", {
method: "POST",
body: new FormData(e.target),
});
if ((await response.json()).success) location.reload();
else alert("Erreur lors de l'enregistrement du détail");
2026-07-05 14:19:13 +00:00
});
2026-07-06 13:37:50 +00:00
// --- 2. GESTION MODIFICATION (DÉLÉGATION D'ÉVÉNEMENT) ---
document.addEventListener("click", (e) => {
// Ouverture Modal Modifier
const button = e.target.closest(".ordregf-btn-modifier-petit");
if (button) {
const detail = JSON.parse(button.getAttribute("data-detail"));
const modal = document.getElementById("modalModifierDetail");
if (modal) {
document.getElementById("edit_id").value = detail.Id;
document.getElementById("edit_Id_entete").value = detail.Id_entete;
document.getElementById("edit_date").value = detail.Date_op;
document.getElementById("edit_quantite").value = detail.Quantite;
document.getElementById("edit_prix").value = detail.Prix_brut;
document.getElementById("edit_frais_broker").value =
detail.Frais_brocker || 0;
document.getElementById("edit_frais_etat").value =
detail.Frais_etat || 0;
document.getElementById("edit_frais_autre").value =
detail.Frais_autre || 0;
document.getElementById("edit_ordre").value = detail.Ordre;
modal.showModal();
}
2026-07-05 14:19:13 +00:00
}
});
2026-07-05 18:21:13 +00:00
2026-07-06 13:37:50 +00:00
// Soumission Modification
const formModif = document.getElementById("formModifierDetail");
formModif?.addEventListener("submit", async (e) => {
2026-07-05 18:21:13 +00:00
e.preventDefault();
2026-07-06 13:37:50 +00:00
const response = await fetch("/php/api_modifier_detail.php", {
2026-07-05 18:21:13 +00:00
method: "POST",
2026-07-06 13:37:50 +00:00
body: new FormData(e.target),
2026-07-05 18:21:13 +00:00
});
2026-07-06 13:37:50 +00:00
const result = await response.json();
if (result.success) {
2026-07-05 18:21:13 +00:00
location.reload();
} else {
2026-07-06 13:37:50 +00:00
alert("Erreur : " + result.message);
2026-07-05 18:21:13 +00:00
}
});
2026-07-06 13:37:50 +00:00
});