validacion atleta

This commit is contained in:
Fernando Escobar Robles 2025-06-10 18:02:46 -06:00
parent e6a45a0369
commit b8513f370b
1 changed files with 40 additions and 25 deletions

View File

@ -263,34 +263,49 @@ tipoPiscinaSelect.addEventListener('change', async () => {
let currentAtleta = null; let currentAtleta = null;
const maxAtletas = modalidad === 'solo' ? 1 : modalidad === 'duo' ? 2 : 8; const maxAtletas = modalidad === 'solo' ? 1 : modalidad === 'duo' ? 2 : 8;
document.getElementById('btnAgregarAtleta').addEventListener('click', () => { document.getElementById('btnAgregarAtleta').addEventListener('click', () => {
if (formacionActual.length >= maxAtletas) { if (formacionActual.length >= maxAtletas) {
alert(`Modalidad "${modalidad}" permite un máximo de ${maxAtletas} atletas.`); alert(`Modalidad "${modalidad}" permite un máximo de ${maxAtletas} atletas.`);
return; return;
} }
const idAtleta = select.dataset.id; const idAtleta = select.dataset.id;
const rol = document.getElementById('rolAtleta').value.trim().toLowerCase(); const idPersonalizado = document.getElementById('idPersonalizado').value.trim();
const idPersonalizado = document.getElementById('idPersonalizado').value.trim();
const figura = inputFigura?.value.trim();
const tipoElemento = document.getElementById('tipoElemento').value;
const codigoElemento = document.getElementById('codigoElemento').value.trim();
if (!idAtleta || !rol || !idPersonalizado) { // 🚫 Validación para evitar duplicados
alert('Faltan datos del atleta'); const yaExiste = formacionActual.some(a => a.atletaId === idAtleta || a.idPersonalizado === idPersonalizado);
return; if (yaExiste) {
} Swal.fire({
icon: 'warning',
title: 'Atleta ya asignado',
text: 'Este atleta ya fue agregado a esta formación.',
confirmButtonText: 'Entendido'
});
return;
}
const rol = document.getElementById('rolAtleta').value.trim().toLowerCase();
const figura = inputFigura?.value.trim();
const tipoElemento = document.getElementById('tipoElemento').value;
const codigoElemento = document.getElementById('codigoElemento').value.trim();
if (!idAtleta || !rol || !idPersonalizado) {
alert('Faltan datos del atleta');
return;
}
currentAtleta = {
atletaId: idAtleta,
rol,
idPersonalizado,
figura,
tipoElemento,
codigoElemento
};
alert('Haz clic en la piscina para colocarlo');
});
currentAtleta = {
atletaId: idAtleta,
rol,
idPersonalizado,
figura,
tipoElemento,
codigoElemento
};
alert('Haz clic en la piscina para colocarlo');
});
stage.on('click', () => { stage.on('click', () => {
if (!currentAtleta || modoDireccion) return; if (!currentAtleta || modoDireccion) return;