Actualizar servicios.html

This commit is contained in:
2026-03-28 19:58:53 +00:00
parent 09ea55441a
commit 36874efd63

View File

@@ -1137,20 +1137,20 @@
const id = document.getElementById('detId').value;
const date = document.getElementById('dateInput').value;
const time = document.getElementById('timeInput').value;
let statusMap = document.getElementById('detStatusMap').value; // 👈 CAMBIADO A LET
let statusMap = document.getElementById('detStatusMap').value;
// 🛑 EL FIX MÁGICO: Si pones fecha pero el desplegable se quedó en "Asignado", lo pasamos a "Citado" automáticamente.
// Auto-Citado Mágico
const currentSt = systemStatuses.find(st => String(st.id) === String(statusMap));
if (date && currentSt && currentSt.name.toLowerCase() === 'asignado') {
if (date && currentSt && currentSt.name.toLowerCase().includes('asignado')) {
const citadoSt = systemStatuses.find(st => st.name.toLowerCase().includes('citado'));
if (citadoSt) {
statusMap = String(citadoSt.id);
}
if (citadoSt) statusMap = String(citadoSt.id);
}
const selectedSt = systemStatuses.find(st => String(st.id) === String(statusMap));
if (selectedSt && !selectedSt.is_final && !date && !selectedSt.name.toLowerCase().includes('pausa') && !selectedSt.name.toLowerCase().includes('asignar')) {
if(!confirm("No has asignado Fecha para este estado. ¿Deseas continuar?")) return;
// 🛑 SOLO avisamos si intenta poner "Citado" sin fecha
if (selectedSt && selectedSt.name.toLowerCase().includes('citado') && !date) {
if(!confirm("⚠️ Estás marcando el servicio como CITADO pero no has puesto la fecha. ¿Deseas continuar?")) return;
}
const btn = document.getElementById('btnSaveAppt');
@@ -1159,17 +1159,28 @@
btn.disabled = true;
try {
await fetch(`${API_URL}/services/set-appointment/${id}`, {
const res = await fetch(`${API_URL}/services/set-appointment/${id}`, {
method: 'PUT',
headers: { "Content-Type": "application/json", "Authorization": `Bearer ${localStorage.getItem("token")}` },
body: JSON.stringify({ date, time, status_operativo: statusMap })
});
closeDetailModal(); showToast("Estado actualizado"); refreshData();
if (res.ok) {
closeDetailModal();
showToast("Estado actualizado");
refreshData();
} else {
alert("Error en el servidor al guardar.");
}
} catch (e) {
alert("🔍 ERROR DETECTADO:\n" + e.message);
console.error("Traza completa del error:", e);
alert("🔍 ERROR JAVASCRIPT: " + e.message);
console.error(e);
}
finally { btn.innerHTML = originalContent; btn.disabled = false; }
finally {
btn.innerHTML = originalContent;
btn.disabled = false;
lucide.createIcons();
}
}
async function sendToAutomate() {