2026-07-05 14:19:13 +00:00
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
2026-07-06 14:18:36 +00:00
|
|
|
// --- 1. GESTION DES MODALS ET FORMULAIRES ---
|
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");
|
2026-07-06 14:18:36 +00:00
|
|
|
|
2026-07-06 13:37:50 +00:00
|
|
|
if (modalCreerOrdre && btnCreer) {
|
|
|
|
|
btnCreer.addEventListener("click", () => modalCreerOrdre.showModal());
|
2026-07-06 14:18:36 +00:00
|
|
|
|
2026-07-06 13:37:50 +00:00
|
|
|
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;
|
2026-07-06 14:18:36 +00:00
|
|
|
if (!isin) return alert("Veuillez entrer un code ISIN");
|
|
|
|
|
|
|
|
|
|
const response = await fetch(
|
|
|
|
|
`/php/api_rechercher_action.php?isin=${encodeURIComponent(isin)}`,
|
|
|
|
|
);
|
2026-07-05 14:19:13 +00:00
|
|
|
const data = await response.json();
|
2026-07-06 14:18:36 +00:00
|
|
|
|
2026-07-05 14:19:13 +00:00
|
|
|
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();
|
2026-07-06 14:18:36 +00:00
|
|
|
// FormData récupère automatiquement tous les champs ayant un attribut "name"
|
2026-07-06 13:37:50 +00:00
|
|
|
const formData = new FormData(e.target);
|
2026-07-06 14:18:36 +00:00
|
|
|
|
2026-07-06 13:37:50 +00:00
|
|
|
const response = await fetch("/php/api_enregistrer_ordre.php", {
|
|
|
|
|
method: "POST",
|
|
|
|
|
body: formData,
|
|
|
|
|
});
|
2026-07-06 14:18:36 +00:00
|
|
|
|
|
|
|
|
const result = await response.json();
|
|
|
|
|
if (result.success) {
|
|
|
|
|
location.reload();
|
|
|
|
|
} else {
|
|
|
|
|
alert(
|
|
|
|
|
"Erreur lors de l'enregistrement : " +
|
|
|
|
|
(result.message || "Erreur inconnue"),
|
|
|
|
|
);
|
|
|
|
|
}
|
2026-07-06 13:37:50 +00:00
|
|
|
});
|
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),
|
|
|
|
|
});
|
2026-07-06 14:18:36 +00:00
|
|
|
const result = await response.json();
|
|
|
|
|
if (result.success) location.reload();
|
|
|
|
|
else
|
|
|
|
|
alert(
|
|
|
|
|
"Erreur lors de l'enregistrement du détail : " +
|
|
|
|
|
(result.message || ""),
|
|
|
|
|
);
|
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) => {
|
|
|
|
|
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
|
|
|
});
|