Actualizar servicios2.html
This commit is contained in:
@@ -178,7 +178,15 @@
|
||||
<span class="text-xs font-black text-slate-700 uppercase">¿Es de Compañía de Seguros?</span>
|
||||
</label>
|
||||
<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">
|
||||
<p id="refAlert" class="hidden text-[10px] text-red-600 font-bold mt-1 uppercase">⚠️ Referencia ya existente</p>
|
||||
</div>
|
||||
@@ -1198,6 +1206,38 @@
|
||||
} 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) {
|
||||
const fields = document.getElementById('companyFields');
|
||||
fields.classList.toggle('hidden', !show);
|
||||
|
||||
Reference in New Issue
Block a user