.contenedor-busqueda {
display:flex;
align-items:flex-start;
gap:30px;
}
.formulario-busqueda {
width:280px;
}
#dni,
#nombre {
width:250px;
padding:8px;
font-size:16px;
background:#ffffff !important;
color:#000000 !important;
border:1px solid #ccc;
border-radius:4px;
}
#dni:disabled,
#nombre:disabled {
background:#eeeeee !important;
cursor:not-allowed;
}
#nombre::placeholder {
color:#999999;
}
.separador {
width:250px;
text-align:center;
font-weight:bold;
margin:8px 0;
}
.btn-continuar {
background:#001f5b;
color:#ffffff;
border:none;
padding:10px 20px;
cursor:pointer;
border-radius:4px;
}
.btn-continuar:hover {
background:#003080;
}
#listaPacientes {
width:300px;
margin-top:0px;
}
.lista-contenido {
max-height:170px;
overflow-y:auto;
padding-right:5px;
}
.paciente-item {
padding:10px;
border:1px solid #ccc;
margin-bottom:8px;
cursor:pointer;
background:#ffffff !important;
color:#000000 !important;
border-radius:4px;
}
.paciente-item:hover {
background:#e6eefc !important;
}
function bloquearNombre(){
const dni = document.getElementById('dni');
const nombre = document.getElementById('nombre');
if(dni.value.length > 0){
nombre.disabled = true;
}else{
nombre.disabled = false;
}
}
function bloquearDNI(){
const dni = document.getElementById('dni');
const nombre = document.getElementById('nombre');
if(nombre.value.length > 0){
dni.disabled = true;
}else{
dni.disabled = false;
}
}
async function buscarPaciente(){
const dni = document.getElementById('dni').value.trim();
const nombre = document.getElementById('nombre').value.trim();
// quitar mensaje anterior
const errorAnterior = document.getElementById('errorDNI');
if(errorAnterior){
errorAnterior.remove();
}
if(!dni && !nombre){
alert('Ingrese DNI o Nombre');
return;
}
// Validación DNI mínimo 8 caracteres
if(dni && dni.length < 8){
document.getElementById('dni').insertAdjacentHTML(
'afterend',
'
DNI/CE incorrecto'
);
return;
}
const lista = document.getElementById('listaPacientes');
lista.innerHTML = '';
const formData = new FormData();
formData.append('action','buscar_paciente_dni');
formData.append('dni',dni);
formData.append('nombre',nombre);
const response = await fetch('/wp-admin/admin-ajax.php',{
method:'POST',
body:formData
});
const resultado = await response.json();
if(resultado.success){
if(resultado.data.multiple){
lista.innerHTML =
'
Seleccione paciente:' +
'
';
const contenedorLista =
lista.querySelector('.lista-contenido');
resultado.data.pacientes.forEach(function(paciente){
let div = document.createElement('div');
div.className = 'paciente-item';
div.innerHTML =
paciente.nombre +
'
DNI: ' +
paciente.dni +
'';
div.onclick = function(){
document.getElementById('dni').value = paciente.dni;
document.getElementById('nombre').value = '';
buscarPaciente();
};
contenedorLista.appendChild(div);
});
} else {
window.location.href = resultado.data.url;
}
} else {
alert('Error en la búsqueda');
}
}