Commit c5e8edf7 authored by Gabriel Alves's avatar Gabriel Alves
Browse files

ajuste parametrizacao aumentado para 17 e quantidade de metas relativo a card

parent 58464758
...@@ -59,14 +59,14 @@ ...@@ -59,14 +59,14 @@
@enderror @enderror
</div> </div>
{{-- <div class="col-sm-2"> <div class="col-sm-2">
<label for="quantidade_ods" class="col-form-label">{{ __('Quantidade de ODS\'s:') }}<span style="color:red; font-weight:bold;">*</span></label> <label for="quantidade_ods" class="col-form-label">{{ __('Quantidade de ODS\'s:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select id="quantidade_ods" class="form-control" name="quantidade_ods" required> <select id="quantidade_ods" class="form-control" name="quantidade_ods" required>
@for ($i = 1; $i <= 5; $i++) @for ($i = 1; $i <= 17; $i++)
<option value="{{ $i }}" @if(old('quantidade_ods') == $i) selected @endif>{{ $i }}</option> <option value="{{ $i }}" @if(old('quantidade_ods') == $i) selected @endif>{{ $i }}</option>
@endfor @endfor
</select> </select>
</div> --}} </div>
<div class="col-sm-3"> <div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label> <label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label>
......
...@@ -814,56 +814,78 @@ ...@@ -814,56 +814,78 @@
}, 5000); }, 5000);
} }
// Form dinâmico da ODS // Form dinâmico da ODS
$(document).ready(function(){ $(document).ready(function () {
var selectedOds = []; var selectedOds = [];
$('.form-check-input').change(function(){
$('.form-check-input').change(function () {
selectedOds = []; selectedOds = [];
$('#metas-container').empty(); $('#metas-container').empty();
$('.form-check-input:checked').each(function(){ $('.form-check-input:checked').each(function () {
selectedOds.push($(this).val()); selectedOds.push($(this).val());
}); });
if(selectedOds.length > quantidadeOds){ if (selectedOds.length > quantidadeOds) {
showAlert('#notificacao-erro',`Você atingiu o limite maximo de ODS\'s selecionadas(${quantidadeOds})`) showAlert('#notificacao-erro', `Você atingiu o limite máximo de ODS's selecionadas (${quantidadeOds})`);
$(this).prop('checked', false); $(this).prop('checked', false);
selectedOds.pop() selectedOds.pop();
} }
selectedOds.forEach(function(odsId){ selectedOds.forEach(function (odsId) {
$.ajax({ $.ajax({
url: '/metas/' + odsId, url: '/metas/' + odsId,
method: 'GET', method: 'GET',
success: function(response){ success: function (response) {
var metaOptions = '<hr><div class="col-12"><div class="row subtitulo"><div class="col-sm-12"><p>Metas para ' + response.ods + '</p></div></div></div></div>' + '<div class="form-group">'; var metaOptions =
response.metas.forEach(function(meta){ '<hr><div class="col-12"><div class="row subtitulo"><div class="col-sm-12"><p>Metas para ' +
metaOptions += '<div class=" card form-check meta-item" style="margin-bottom : 1 rem "><div class="card-body">' + response.ods +
'<input type="checkbox" name="metas[' + odsId + '][]" value="' + meta.id + '" class="form-check-input meta-checkbox" id="meta' + meta.id + '">' + '</p></div></div></div>' +
'<label class="form-check-label" for="meta' + meta.id + '">' + meta.nome + '</label>' + '<div class="form-group" data-ods-id="' + odsId + '">';
'<p class="form-text text-muted">' + meta.descricao + '</p>' + response.metas.forEach(function (meta) {
metaOptions +=
'<div class=" card form-check meta-item" style="margin-bottom : 1rem;"><div class="card-body">' +
'<input type="checkbox" name="metas[' +
odsId +
'][]" value="' +
meta.id +
'" class="form-check-input meta-checkbox" data-ods-id="' +
odsId +
'" id="meta' +
meta.id +
'">' +
'<label class="form-check-label" for="meta' +
meta.id +
'">' +
meta.nome +
'</label>' +
'<p class="form-text text-muted">' +
meta.descricao +
'</p>' +
'</div></div>'; '</div></div>';
}); });
metaOptions += '</div>' metaOptions += '</div>';
$('#metas-container').append(metaOptions); $('#metas-container').append(metaOptions);
}, },
error: function(jqXHR, textStatus, errorThrown){ error: function (jqXHR, textStatus, errorThrown) {
console.error('Erro ao carregar as metas:', textStatus, errorThrown); console.error('Erro ao carregar as metas:', textStatus, errorThrown);
alert('Erro ao carregar as metas.'); alert('Erro ao carregar as metas.');
} },
}); });
}); });
}); });
$(document).on('change', '.meta-checkbox', function() { $(document).on('change', '.meta-checkbox', function () {
totalSelectedMetas = $('.meta-checkbox:checked').length; // Get the odsId from the checkbox
var odsId = $(this).data('ods-id');
// Count the number of selected checkboxes within the same group (odsId)
var totalSelectedMetas = $('.meta-checkbox[data-ods-id="' + odsId + '"]:checked').length;
if (totalSelectedMetas > 5) { if (totalSelectedMetas > 3) { // Change the limit here if needed
showAlert('#notificacao-erro','Você atingiu o limite maximo de metas selecionadas(5)') showAlert('#notificacao-erro', 'Você atingiu o limite máximo de metas selecionadas (3) para este grupo');
$(this).prop('checked', false); $(this).prop('checked', false);
return;
} }
}); });
}); });
</script> </script>
@endsection @endsection
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment