Actualizar servicios2.html

This commit is contained in:
2026-03-22 16:28:34 +00:00
parent 8298593206
commit 397d094114

View File

@@ -178,7 +178,15 @@
<span class="text-xs font-black text-slate-700 uppercase">¿Es de Compañía de Seguros?</span> <span class="text-xs font-black text-slate-700 uppercase">¿Es de Compañía de Seguros?</span>
</label> </label>
<div id="companyFields" class="hidden space-y-4 p-4 bg-blue-50/30 rounded-xl border border-blue-100"> <div id="companyFields" class="hidden space-y-4 p-4 bg-blue-50/30 rounded-xl border border-blue-100">
<select id="nCompanySelect" class="input-modern bg-white"><option value="">Seleccionar compañía...</option></select> <div class="flex items-center gap-2">
<div class="relative flex-1">
<select id="nCompanySelect" class="input-modern bg-white appearance-none cursor-pointer pr-8"><option value="">Seleccionar compañía...</option></select>
<i data-lucide="chevron-down" class="w-4 h-4 absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 pointer-events-none"></i>
</div>
<button type="button" onclick="promptNewCompany()" class="bg-blue-600 hover:bg-blue-700 text-white p-3 rounded-xl shadow-sm transition-all active:scale-95" title="Añadir Nueva Compañía a la Base de Datos">
<i data-lucide="plus" class="w-5 h-5"></i>
</button>
</div>
<input type="text" id="nExpRef" onblur="checkDuplicateRef(this.value)" placeholder="Nº Expediente" class="input-modern bg-white uppercase"> <input type="text" id="nExpRef" onblur="checkDuplicateRef(this.value)" placeholder="Nº Expediente" class="input-modern bg-white uppercase">
<p id="refAlert" class="hidden text-[10px] text-red-600 font-bold mt-1 uppercase">⚠️ Referencia ya existente</p> <p id="refAlert" class="hidden text-[10px] text-red-600 font-bold mt-1 uppercase">⚠️ Referencia ya existente</p>
</div> </div>
@@ -1198,6 +1206,38 @@
} catch(e) {} } catch(e) {}
} }
// 🛑 NUEVO: Función para registrar compañías "al vuelo"
async function promptNewCompany() {
const newName = prompt("Escribe el nombre de la NUEVA COMPAÑÍA a registrar:");
if (!newName || newName.trim() === "") return;
try {
const res = await fetch(`${API_URL}/companies`, {
method: 'POST',
headers: { "Content-Type": "application/json", "Authorization": `Bearer ${localStorage.getItem("token")}` },
body: JSON.stringify({ name: newName.trim().toUpperCase() })
});
if (res.ok) {
showToast("✅ Compañía registrada con éxito");
await loadCompaniesForManual(); // Recargamos la lista silenciosamente
// Auto-seleccionamos la nueva compañía en el desplegable
const sel = document.getElementById('nCompanySelect');
for (let i = 0; i < sel.options.length; i++) {
if (sel.options[i].value === newName.trim().toUpperCase()) {
sel.selectedIndex = i;
break;
}
}
} else {
alert("Error al añadir la compañía a la base de datos.");
}
} catch (e) {
alert("Error de conexión al guardar.");
}
}
function toggleCompanyFields(show) { function toggleCompanyFields(show) {
const fields = document.getElementById('companyFields'); const fields = document.getElementById('companyFields');
fields.classList.toggle('hidden', !show); fields.classList.toggle('hidden', !show);