Commit 16fc0a38 authored by carlvercosaa's avatar carlvercosaa
Browse files

Add tipo outro e Add checkbox por barema e lattes

parent 9aa0f1cd
......@@ -73,9 +73,10 @@ class EventoController extends Controller
$coordenadors = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife');
$ods = ObjetivoDeDesenvolvimentoSustentavel::with('metas')->get();
$yesterday = $yesterday->toDateString();
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas, 'ontem' => $yesterday]);
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas, 'ontem' => $yesterday, 'ods' => $ods]);
}
/**
......@@ -84,250 +85,186 @@ class EventoController extends Controller
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
/** @var Carbon */
$mytime = Carbon::now('America/Recife');
/** @var Carbon */
$yesterday = Carbon::yesterday('America/Recife');
/** @var string */
$yesterday = $yesterday->toDateString();
/** @var integer */
$user_id = Auth()->user()->id;
if(isset($request->docTutorial)){
$request->validate([
'docTutorial' => ['file', 'max:2048', new ExcelRule($request->file('docTutorial'))],
]);
}
//--Salvando os anexos da submissão temporariamente
$evento = $this->armazenarAnexosTemp($request);
// validar datas nulas antes, pois pode gerar um bug
if(!isset($request->inicioSubmissao) || !isset($request->fimSubmissao) || !isset($request->inicioRevisao) || !isset($request->fimRevisao) || !isset($request->resultado))
{
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'tipoAvaliacao' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'],
'fimRevisao' => ['required', 'date'],
'inicio_recurso' => ['required', 'date'],
'fim_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'dt_inicioRelatorioParcial' => $request->dt_inicioRelatorioParcial?['date']:[],
'dt_fimRelatorioParcial' => $request->dt_fimRelatorioParcial?['date']:[],
'dt_inicioRelatorioFinal' => $request->dt_inicioRelatorioFinal?['date']:[],
'dt_fimRelatorioFinal' => $request->dt_fimRelatorioFinal?['date']:[],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'nome_docExtra' => [Rule::requiredIf($request->check_docExtra != null), 'max:255'],
'pdfRecurso' => [($request->pdfRecursoPreenchido !== 'sim' ? 'required' : ''), 'file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => [($request->modeloDocumentoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
]);
}
//validacao normal
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string','max:1500'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'nome_docExtra' => [Rule::requiredIf($request->check_docExtra != null),'max:255'],
'inicioSubmissao' => ['required', 'date', 'after:yesterday'],
'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'inicioRevisao' => ['required', 'date', 'after:yesterday'],
'fimRevisao' => ['required', 'date', 'after:inicioRevisao', 'after:fimSubmissao'],
'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimRevisao'],
'inicio_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'],
'fim_recurso' => ['required', 'date', 'after:inicio_recurso'],
'resultado_final' => ['required', 'date', 'after:fim_recurso'],
'dt_inicioRelatorioParcial' => $request->dt_inicioRelatorioParcial?['date', 'after:resultado_preliminar']:[],
'dt_fimRelatorioParcial' => $request->dt_fimRelatorioParcial?['date', 'after_or_equal:dt_inicioRelatorioParcial']:[],
'dt_inicioRelatorioFinal' => $request->dt_inicioRelatorioFinal?['date', 'after:dt_fimRelatorioParcial']:[],
'dt_fimRelatorioFinal' => $request->dt_fimRelatorioFinal?['date', 'after_or_equal:dt_inicioRelatorioFinal']:[],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'pdfRecurso' => [($request->pdfRecursoPreenchido!=='sim'?'required':''), 'file', 'mimes:doc,docx,pdf', 'max:2048'],
'modeloDocumento' => [($request->modeloDocumentoPreenchido!=='sim'?'required':''), 'file', 'mimes:doc,docx,pdf', 'max:2048'],
]);
// Validação quando avaliação for por Barema
$validateCampo = $request->validate([
'inputField.*.nome' => ['required', 'string'],
'inputField.*.nota_maxima' => ['required'],
'inputField.*.prioridade' => ['required'],
'somaNotas' => ['required', 'numeric', 'max:' . $request->pontuacao, 'min:' . $request->pontuacao],
['somaNotas.*' => 'A soma das notas máximas deve ser igual a pontuação total definida.']
]);
// Mount Evento Array
$evento['nome'] = $request->nome;
$evento['descricao'] = $request->descricao;
$evento['tipo'] = $request->tipo;
$evento['natureza_id'] = $request->natureza;
if($request->check_docExtra != null){
$evento['nome_docExtra'] = $request->nome_docExtra;
}
$evento['inicioSubmissao'] = $request->inicioSubmissao;
$evento['fimSubmissao'] = $request->fimSubmissao;
$evento['inicioRevisao'] = $request->inicioRevisao;
$evento['fimRevisao'] = $request->fimRevisao;
$evento['inicio_recurso'] = $request->inicio_recurso;
$evento['fim_recurso'] = $request->fim_recurso;
$evento['resultado_preliminar']= $request->resultado_preliminar;
$evento['resultado_final'] = $request->resultado_final;
public function store(Request $request)
{
/** @var Carbon */
$mytime = Carbon::now('America/Recife');
/** @var Carbon */
$yesterday = Carbon::yesterday('America/Recife');
/** @var string */
$yesterday = $yesterday->toDateString();
/** @var integer */
$user_id = Auth()->user()->id;
if (isset($request->docTutorial)) {
$request->validate([
'docTutorial' => ['file', 'max:2048', new ExcelRule($request->file('docTutorial'))],
]);
}
// Validar campos comuns
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string', 'max:1500'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'nome_docExtra' => [Rule::requiredIf($request->check_docExtra != null), 'max:255'],
'inicioSubmissao' => ['required', 'date', 'after:yesterday'],
'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'inicioRevisao' => ['required', 'date', 'after:yesterday'],
'fimRevisao' => ['required', 'date', 'after:inicioRevisao', 'after:fimSubmissao'],
'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimRevisao'],
'inicio_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'],
'fim_recurso' => ['required', 'date', 'after:inicio_recurso'],
'resultado_final' => ['required', 'date', 'after:fim_recurso'],
'dt_inicioRelatorioParcial' => $request->dt_inicioRelatorioParcial?['date', 'after:resultado_preliminar']:[],
'dt_fimRelatorioParcial' => $request->dt_fimRelatorioParcial?['date', 'after_or_equal:dt_inicioRelatorioParcial']:[],
'dt_inicioRelatorioFinal' => $request->dt_inicioRelatorioFinal?['date', 'after:dt_fimRelatorioParcial']:[],
'dt_fimRelatorioFinal' => $request->dt_fimRelatorioFinal?['date', 'after_or_equal:dt_inicioRelatorioFinal']:[],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'pdfRecurso' => [($request->pdfRecursoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => [($request->modeloDocumentoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
]);
// Validação específica para Avaliação por Barema
if (in_array('barema', $request->tipoAvaliacao)) {
$validateBarema = $request->validate([
'pontuacao' => ['required', 'numeric'],
'inputFieldBarema.*.nome' => ['required', 'string'],
'inputFieldBarema.*.nota_maxima' => ['required', 'numeric'],
'inputFieldBarema.*.prioridade' => ['required'],
]);
}
// Validação específica para Avaliação por Currículo Lattes
if (in_array('curriculo', $request->tipoAvaliacao)) {
$validateCurriculo = $request->validate([
'pontuacao_curriculo' => ['required', 'numeric'],
'inputFieldCurriculo.*.nome' => ['required', 'string'],
'inputFieldCurriculo.*.nota_maxima' => ['required', 'numeric'],
'inputFieldCurriculo.*.prioridade' => ['required'],
]);
}
// Substituição do tipo "OUTRA" pelo valor informado
if ($request->tipo === 'OUTRA' && $request->outra_descricao) {
$request->tipo = $request->outra_descricao;
}
// Salvamento do Evento
$evento = new Evento();
$evento->nome = $request->nome;
$evento->descricao = $request->descricao;
$evento->tipo = $request->tipo;
$evento->natureza_id = $request->natureza;
$evento->inicioSubmissao = $request->inicioSubmissao;
$evento->fimSubmissao = $request->fimSubmissao;
$evento->inicioRevisao = $request->inicioRevisao;
$evento->fimRevisao = $request->fimRevisao;
$evento->inicio_recurso = $request->inicio_recurso;
$evento->fim_recurso = $request->fim_recurso;
$evento->resultado_preliminar = $request->resultado_preliminar;
$evento->resultado_final = $request->resultado_final;
if ($request->dt_inicioRelatorioParcial) {
$evento['dt_inicioRelatorioParcial'] = $request->dt_inicioRelatorioParcial;
$evento->dt_inicioRelatorioParcial = $request->dt_inicioRelatorioParcial;
}
if ($request->dt_fimRelatorioParcial) {
$evento['dt_fimRelatorioParcial'] = $request->dt_fimRelatorioParcial;
$evento->dt_fimRelatorioParcial = $request->dt_fimRelatorioParcial;
}
if ($request->dt_inicioRelatorioFinal) {
$evento['dt_inicioRelatorioFinal'] = $request->dt_inicioRelatorioFinal;
$evento->dt_inicioRelatorioFinal = $request->dt_inicioRelatorioFinal;
}
if ($request->dt_fimRelatorioFinal) {
$evento['dt_fimRelatorioFinal'] = $request->dt_fimRelatorioFinal;
}
$evento['coordenadorId'] = $request->coordenador_id;
$evento['criador_id'] = $user_id;
$evento['numParticipantes'] = $request->numParticipantes;
$evento['consu'] = $request->has('consu');
$evento['cotaDoutor'] = $request->has('cotaDoutor');
$evento['obrigatoriedade_docExtra'] = $request->has('obrigatoriedade_docExtra');
$evento['anexosStatus'] = 'final';
$evento['tipoAvaliacao'] = 'campos';
//-- Salvando anexos finais
if(isset($request->pdfEdital)){
$pdfEdital = $request->pdfEdital;
$path = 'pdfEdital/' . $evento->id . '/';
$nome = "edital.pdf";
Storage::putFileAs($path, $pdfEdital, $nome);
$evento->pdfEdital = $path . $nome;
}
if(isset($request->modeloDocumento)){
$modeloDocumento = $request->modeloDocumento;
$extension = $modeloDocumento->extension();
$path = 'modeloDocumento/' . $evento->id . '/';
$nome = "modelo" . "." . $extension;
Storage::putFileAs($path, $modeloDocumento, $nome);
$evento->modeloDocumento = $path . $nome;
}
if(isset($request->pdfFormAvalRelatorio)){
$pdfFormAvalRelatorio = $request->pdfFormAvalRelatorio;
$extension = $pdfFormAvalRelatorio->extension();
$path = 'pdfFormAvalRelatorio/' . $evento->id . '/';
$nome = "formulario de avaliação do relatorio" . "." . $extension;
Storage::putFileAs($path, $pdfFormAvalRelatorio, $nome);
$evento->formAvaliacaoRelatorio = $path . $nome;
}
if(isset($request->pdfRecurso)){
$pdfRecurso = $request->pdfRecurso;
$extension = $pdfRecurso->extension();
$path = 'pdfRecurso/' . $evento->id . '/';
$nome = "recurso" . "." . $extension;
Storage::putFileAs($path, $pdfRecurso, $nome);
$evento->docRecurso = $path . $nome;
}
if(isset($request->pdfRelatorio)){
$pdfRelatorio = $request->pdfRelatorio;
$extension = $pdfRelatorio->extension();
$path = 'pdfRelatorio/' . $evento->id . '/';
$nome = "relatorio" . "." . $extension;
Storage::putFileAs($path, $pdfRelatorio, $nome);
$evento->docRelatorio = $path . $nome;
$evento->dt_fimRelatorioFinal = $request->dt_fimRelatorioFinal;
}
$evento->coordenadorId = $request->coordenador_id;
$evento->criador_id = $user_id;
$evento->numParticipantes = $request->numParticipantes;
$evento->consu = $request->has('consu');
$evento->cotaDoutor = $request->has('cotaDoutor');
$evento->obrigatoriedade_docExtra = $request->has('obrigatoriedade_docExtra');
$evento->tipoAvaliacao = 'campos'; // ou o valor correto conforme a implementação
$evento->save(); // Salva o evento primeiro para obter o ID
// Salvamento dos Campos de Avaliação
if ($request->has('inputField')) {
foreach ($request->inputField as $field) {
$campoAval = new CampoAvaliacao();
$campoAval->nome = $field['nome'] . '-b'; // Adiciona o sufixo '-b' para Barema
$campoAval->nota_maxima = $field['nota_maxima'];
$campoAval->descricao = $field['descricao'] ?? null;
$campoAval->prioridade = $field['prioridade'];
$campoAval->evento_id = $evento->id;
$campoAval->save();
}
}
$evento->update();
// Criando campos de avaliacao
if ($request->tipoAvaliacao == 'campos') {
if($request->has('campos')){
foreach ($request->get('campos') as $key => $value) {
$campoAval = new CampoAvaliacao();
$campoAval->nome = $request->inputField[$value]['nome'];
$campoAval->nota_maxima = $request->inputField[$value]['nota_maxima'];
if ($request->inputField[$value]['descricao'] != null){
$campoAval->descricao = $request->inputField[$value]['descricao'];
}
$campoAval->prioridade = $request->inputField[$value]['prioridade'];
$campoAval->evento_id = $evento->id;
$campoAval->save();
}
if ($request->has('inputFieldCurriculo')) {
foreach ($request->inputFieldCurriculo as $field) {
$campoAval = new CampoAvaliacao();
$campoAval->nome = $field['nome'] . '-c'; // Adiciona o sufixo '-c' para Currículo
$campoAval->nota_maxima = $field['nota_maxima'];
$campoAval->descricao = $field['descricao'] ?? null;
$campoAval->prioridade = $field['prioridade'];
$campoAval->evento_id = $evento->id;
$campoAval->save();
}
}
return redirect()->route('admin.editais')->with(['mensagem' => 'Edital criado com sucesso!']);
}
// Salvamento dos Anexos
$this->armazenarAnexosTemp($request, $evento);
return redirect()->route('admin.editais')->with(['mensagem' => 'Edital criado com sucesso!']);
}
/**
* Armazena os anexos temporários.
*
* @return Evento
*/
public function armazenarAnexosTemp(Request $request, Evento $evento)
{
if (!(is_null($request->pdfEdital))) {
$pasta = 'pdfEdital/' . $evento->id;
$evento->pdfEdital = Storage::putFileAs($pasta, $request->pdfEdital, 'edital.pdf');
}
if (!(is_null($request->modeloDocumento))) {
$extension = $request->modeloDocumento->extension();
$path = 'modeloDocumento/' . $evento->id;
$nome = "modelo" . "." . $extension;
$evento->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
if (!(is_null($request->pdfFormAvalRelatorio))) {
$pasta = 'pdfFormAvalRelatorio/' . $evento->id;
$evento->formAvaliacaoRelatorio = Storage::putFileAs($pasta, $request->pdfFormAvalRelatorio, 'formulario_de_avaliacao_do_relatorio.pdf');
}
if (!(is_null($request->pdfRecurso))) {
$pasta = 'pdfRecurso/' . $evento->id;
$nome = "recurso.pdf";
$evento->docRecurso = Storage::putFileAs($pasta, $request->pdfRecurso, $nome);
}
if (!(is_null($request->pdfRelatorio))) {
$pasta = 'pdfRelatorio/' . $evento->id;
$nome = "relatorio.pdf";
$evento->docRelatorio = Storage::putFileAs($pasta, $request->pdfRelatorio, $nome);
}
$evento->anexosStatus = 'final'; // Atualiza o status dos anexos para 'final'
$evento->save();
return $evento;
}
/** @return Evento */
public function armazenarAnexosTemp(Request $request){
//---Anexos do Projeto
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first();
if($eventoTemp == null){
$eventoTemp = new Evento();
$eventoTemp->criador_id = Auth::user()->id;
$eventoTemp->anexosStatus = 'temporario';
$eventoTemp->save();
}
if(!(is_null($request->pdfEdital)) ) {
$pasta = 'pdfEdital/' . $eventoTemp->id;
$eventoTemp->pdfEdital = Storage::putFileAs($pasta, $request->pdfEdital, 'edital.pdf');
}
if (!(is_null($request->modeloDocumento))) {
$extension = $request->modeloDocumento->extension();
$path = 'modeloDocumento/' . $eventoTemp->id;
$nome = "modelo" . "." . $extension;
$eventoTemp->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
if(!(is_null($request->pdfFormAvalRelatorio)) ) {
$pasta = 'pdfFormAvalRelatorio/' . $eventoTemp->id;
$eventoTemp->formAvaliacaoRelatorio = Storage::putFileAs($pasta, $request->pdfFormAvalRelatorio, 'formulario de avaliação do relatorio.pdf');
}
if(!(is_null($request->pdfRecurso)) ) {
$pasta = 'pdfRecurso/' . $eventoTemp->id;
$nome = "recurso" . "." . $extension;
$eventoTemp->docRecurso = Storage::putFileAs($pasta, $request->pdfRecurso, $nome);
}
if(!(is_null($request->pdfRelatorio)) ) {
$pasta = 'pdfRelatorio/' . $eventoTemp->id;
$nome = "relatorio" . "." . $extension;
$eventoTemp->docRelatorio = Storage::putFileAs($pasta, $request->pdfRelatorio, $nome);
}
$eventoTemp->update();
return $eventoTemp;
}
/**
* Display the specified resource.
......@@ -403,29 +340,39 @@ class EventoController extends Controller
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$evento = Evento::find($id);
$coordenadors = CoordenadorComissao::with('user')->get();
$coordEvent = CoordenadorComissao::find($evento->coordenadorId);
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
$camposAvaliacao = CampoAvaliacao::where('evento_id', $id)->get();
$pontuacao = 0;
foreach ($camposAvaliacao as $campo) {
$pontuacao += $campo->nota_maxima;
}
{
$evento = Evento::find($id);
return view('evento.editarEvento',['evento'=>$evento,
'coordenadores'=>$coordenadors,
'naturezas'=>$naturezas,
'ontem'=>$yesterday,
'coordEvent'=>$coordEvent,
'camposAvaliacao'=>$camposAvaliacao,
'pontuacao'=>$pontuacao]);
// Se for uma string, converta para array
if (is_string($evento->tipoAvaliacao)) {
$evento->tipoAvaliacao = explode(',', $evento->tipoAvaliacao);
}
// Recuperar os campos de avaliação de Barema
$camposBarema = CampoAvaliacao::where('evento_id', $evento->id)
->where('nome', 'LIKE', '%-b') // Filtra os campos de Barema
->get();
// Recuperar os campos de avaliação de Currículo Lattes
$camposCurriculo = CampoAvaliacao::where('evento_id', $evento->id)
->where('nome', 'LIKE', '%-c') // Filtra os campos de Currículo Lattes
->get();
$coordenadores = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife')->toDateString();
return view('evento.editarEvento', [
'evento' => $evento,
'coordenadores' => $coordenadores,
'naturezas' => $naturezas,
'ontem' => $yesterday,
'camposBarema' => $camposBarema, // Passa os campos de Barema para a view
'camposCurriculo' => $camposCurriculo, // Passa os campos de Currículo para a view
]);
}
/**
* Update the specified resource in storage.
*
......@@ -449,12 +396,6 @@ class EventoController extends Controller
}
}
if($request->tipo == 'CONTINUO'){
$validatedData = $request->validate(Evento::$continuos_edit_rules);
} else {
$validatedData = $request->validate(Evento::$edit_rules);
}
if($request->tipo != 'CONTINUO')
{
$validateCampo = $request->validate([
......@@ -772,14 +713,19 @@ class EventoController extends Controller
return response()->download($path);
}
// public function baixarModelos($id) {
// $evento = Evento::find($id);
// if (Storage::disk()->exists($evento->modeloDocumento)) {
// ob_end_clean();
// return Storage::download($evento->modeloDocumento);
// }
// return abort(404);
// }
public function getMetas($odsId)
{
{
try {
$ods = ObjetivoDeDesenvolvimentoSustentavel::with('metas')->findOrFail($odsId);
$response = [
'ods' => $ods->nome,
'metas' => $ods->metas,
];
return response()->json($response);
} catch (\Exception $e) {
return response()->json(['error' => 'Erro ao carregar as metas'], 500);
}
}
}
}
......@@ -267,4 +267,4 @@
}
</script>
@endsection
\ No newline at end of file
@endsection
......@@ -5,6 +5,11 @@
<h1>Novo Edital</h1>
</div>
<!-- Panels -->
<div id="tab-containers" class="tab-content">
<div id="edital-container" class="tab-pane fade show active" role="tabpanel" aria-labelledby="edital-tab">
<form action="{{route('evento.criar')}}" method="POST" enctype="multipart/form-data">
@csrf
......@@ -31,19 +36,29 @@
<div class="col-sm-6">
<label for="tipo" class="col-form-label">{{ __('Tipo:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select id="tipo" type="text" class="form-control @error('tipo') is-invalid @enderror" name="tipo" value="{{ old('tipo') }}" required>
<option @if(old('tipo') == "COMPONENTES_CURRICULARES")) selected @endif value="COMPONENTES_CURRICULARES">APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option @if(old('tipo') == "INOVACAO_PEDAGOGICA")) selected @endif value="INOVACAO_PEDAGOGICA">INOVAÇÃO PEDAGÓGICA</option>
<option @if(old('tipo') == "PSICOSSOCIAL_PSICOPEDAGOGICO")) selected @endif value="PSICOSSOCIAL_PSICOPEDAGOGICO">APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
</select>
<!-- Contêiner flexível -->
<div id="tipo_container" style="display: flex; align-items: center;">
<select id="tipo" class="form-control @error('tipo') is-invalid @enderror" name="tipo" required style="flex: 1;">
<option @if(old('tipo') == "COMPONENTES_CURRICULARES") selected @endif value="COMPONENTES_CURRICULARES">APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option @if(old('tipo') == "INOVACAO_PEDAGOGICA") selected @endif value="INOVACAO_PEDAGOGICA">INOVAÇÃO PEDAGÓGICA</option>
<option @if(old('tipo') == "PSICOSSOCIAL_PSICOPEDAGOGICO") selected @endif value="PSICOSSOCIAL_PSICOPEDAGOGICO">APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
<option @if(old('tipo') == "OUTRA") selected @endif value="OUTRA">OUTRA</option>
</select>
<!-- Campo de texto oculto para especificar a outra opção -->
<div id="outra_descricao_div" style="display: none; margin-left: 10px; flex: 1;">
<input id="outra_descricao" type="text" class="form-control @error('outra_descricao') is-invalid @enderror" name="outra_descricao" value="{{ old('outra_descricao') }}" placeholder="Especifique">
</div>
</div>
@error('tipo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select onchange="selecionar_decisao_camara()" id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza') }}">
......@@ -60,8 +75,7 @@
</div>
<div class="col-sm-3">
<label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}</label>
<input id="numParticipantes" type="number" min="1" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" autocomplete="numParticipantes" autofocus>
<input id="numParticipantes" type="number" min="0" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" autocomplete="numParticipantes" autofocus>
@error('numParticipantes')
<span class="invalid-feedback" role="alert">
......@@ -147,8 +161,8 @@
<input style="margin-top: 5px" id="coordenador_name" name="coordenador_name" class="form-control @error('coordenador_id') is-invalid @enderror" value="{{old('coordenador_name')}}" placeholder="Nenhum Coordenador atribuido" required readonly>
{{-- <select class="form-control @error('coordenador_id') is-invalid @enderror" id="coordenador_id" name="coordenador_id" style="pointer-events: none">
<option value="" disabled selected hidden>-- Coordenador da Comissão Avaliadora --</option>
@foreach($coordenadors as $coordenador)
<option value="" disabled selected hidden>-- Coordenador da Comissão Avaliadora --</option>
@foreach($coordenadors as $coordenador)
<option @if(old('coordenador_id')==$coordenador->id ) selected @endif value="{{$coordenador->id}}">{{$coordenador->user->name}}</option>
@endforeach
</select>--}}
......@@ -207,239 +221,228 @@
</div>
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Projetos</p>
</div>
</div>
{{-- dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao" autofocus>
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>
@if ($message != null)
@for ($i = 0; $i < 9; $i++) @if ($i < 8) {{ explode(" ", $message)[$i] }} @else {{ date('d/m/Y', strtotime(explode(" ", $message)[$i])) }} @endif @endfor @endif </strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao" autofocus>
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- end dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao" autofocus>
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao" autofocus>
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar" autofocus>
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="inicio_recurso" class="col-form-label">{{ __('Início do recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso" autofocus>
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="resultado" autofocus>
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado" autofocus>
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Relatórios</p>
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="dt_inicioRelatorioParcial" class="col-form-label">{{ __('Início do Relatório Parcial:') }}</label>
<input id="dt_inicioRelatorioParcial" type="date" class="form-control @error('dt_inicioRelatorioParcial') is-invalid @enderror" name="dt_inicioRelatorioParcial" value="{{ old('dt_inicioRelatorioParcial') }}" autocomplete="dt_inicioRelatorioParcial" autofocus title="Início para o período do envio do relatório parcial">
@error('dt_inicioRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao dia do Resultado Final</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioParcial" class="col-form-label">{{ __('Fim do Relatório Parcial:') }}</label>
<input id="dt_fimRelatorioParcial" type="date" class="form-control @error('dt_fimRelatorioParcial') is-invalid @enderror" name="dt_fimRelatorioParcial" value="{{ old('dt_fimRelatorioParcial') }}" autocomplete="dt_fimRelatorioParcial" autofocus title="Final do período de envio do relatório parcial">
@error('dt_fimRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_inicioRelatorioFinal" class="col-form-label">{{ __('Início do Relatório Final:') }}</label>
<input id="dt_inicioRelatorioFinal" type="date" class="form-control @error('dt_inicioRelatorioFinal') is-invalid @enderror" name="dt_inicioRelatorioFinal" value="{{ old('dt_inicioRelatorioFinal') }}" autocomplete="dt_inicioRelatorioFinal" autofocus title="Início para o período de envio do relatório final">
@error('dt_inicioRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao fim do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioFinal" class="col-form-label">{{ __('Fim do Relatório Final:') }}</label>
<input id="dt_fimRelatorioFinal" type="date" class="form-control @error('dt_fimRelatorioFinal') is-invalid @enderror" name="dt_fimRelatorioFinal" value="{{ old('dt_fimRelatorioFinal') }}" autocomplete="dt_fimRelatorioFinal" autofocus title="Final do período de envio do relatório final">
@error('dt_fimRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Final</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Avaliação - Barema</p>
</div>
</div>
<div class="">
<div class="row mb-4">
<label class="col-sm-3" for="pontuacao">Valor total da pontuação por Barema:<span style="color:red; font-weight:bold;">*</span></label>
<input type="number" name="pontuacao" min="1" class="col-sm-1 form-control" id="pontuacao" value="{{old('pontuacao')}}"/>
</div>
<h3 class="h5">Campos do Barema:</h3>
</div>
<div class="row justify-content-center" style="margin-top:10px;" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<tr>
<th>Nome<span style="color:red; font-weight:bold;">*</span></th>
<th>Descrição</th>
<th>Nota Máxima<span style="color:red; font-weight:bold;">*</span></th>
<th>Prioridade<span style="color:red; font-weight:bold;">*</span></th>
<th>Ação</th>
</tr>
<tr>
<td><input type="text" name="inputField[0][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ old('inputField[0][nome]') }}" />
@error('inputField.*.nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="text" name="inputField[0][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ old('inputField[0][descricao]') }}" />
@error('inputField.*.descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="number" min="1" step="1" name="inputField[0][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ old('inputField[0][nota_maxima]') }}" />
@error('inputField.*.nota_maxima')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td>
<select name="inputField[0][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror">
<option value="" selected>-- ORDEM --</option>
<option value="1" class="ordem_option">1</option>
</select>
@error('inputField.*.prioridade')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><button type="button" name="add" id="dynamic-ar" class="btn btn-outline-primary">Adicionar</button></td>
</tr>
</table>
@if($errors->has('inputField.*'))
<div class="col-sm-12 alert alert-danger" id="inputFieldError">
Você deve preencher os campos obrigatórios.
</div>
@endif
<div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida">
A soma das notas máximas deve ser igual a pontuação total definida.
</div>
<input type="checkbox" id="checkB[0]" checked name="campos[]" value="0" hidden>
<input type="number" name="somaNotas" value="0" id="somaNotas" hidden>
</div>
{{-- Data de Início e Fim da Submissão --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao">
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao">
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- Data de Início e Fim da Revisão --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Revisão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao">
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Revisão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao">
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- Data de Resultado Preliminar --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar">
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="inicio_recurso" class="col-form-label">{{ __('Início do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso">
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- Data de Fim do Recurso e Resultado Final --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="fim_recurso">
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado_final">
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Tipo de Avaliação</p>
</div>
</div>
<div class="row justify-content-start mb-4 mt-2">
<div class="col-sm-6">
<input type="checkbox" id="checkboxBarema" name="tipoAvaliacao[]" value="barema">
<label for="checkboxBarema">Avaliação por Barema</label>
</div>
<div class="col-sm-6">
<input type="checkbox" id="checkboxCurriculo" name="tipoAvaliacao[]" value="curriculo">
<label for="checkboxCurriculo">Avaliação por Currículo Lattes</label>
</div>
</div>
<div id="baremaSection" style="display: none;">
<hr>
<div class="row subtitulo align-items-center">
<div class="col-12 col-sm-3">
<p class="mb-0">Avaliação - Barema</p>
</div>
<div class="col-12 col-sm-3">
<input type="text" name="pontuacao" class="form-control mt-2 mt-sm-0" id="pontuacao" readonly style="width: auto;" />
</div>
</div>
<div class="row justify-content-center" style="margin-top:10px;" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Nota Máxima</th>
<th>Prioridade</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach (($camposBarema ?? []) as $index => $campo)
<tr>
<td><input type="text" name="inputFieldBarema[{{ $index }}][nome]" class="form-control nome" value="{{ old('inputFieldBarema.'.$index.'.nome', str_replace('-b', '', $campo->nome)) }}" /></td>
<td><input type="text" name="inputFieldBarema[{{ $index }}][descricao]" class="form-control descricao" value="{{ old('inputFieldBarema.'.$index.'.descricao', $campo->descricao) }}" /></td>
<td><input type="number" min="1" step="1" name="inputFieldBarema[{{ $index }}][nota_maxima]" class="form-control nota_maxima" value="{{ old('inputFieldBarema.'.$index.'.nota_maxima', $campo->nota_maxima) }}" /></td>
<td><select name="inputFieldBarema[{{ $index }}][prioridade]" class="form-control prioridade">
<option value="1" {{ old('inputFieldBarema.'.$index.'.prioridade', $campo->prioridade) == 1 ? 'selected' : '' }}>1</option>
<!-- Outras opções -->
</select>
</td>
<td>
@if($loop->first && $loop->last)
<button type="button" name="add" id="dynamic-ar-barema" class="btn btn-outline-primary">Adicionar</button>
@else
<button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@if($errors->has('inputField.*'))
<div class="col-sm-12 alert alert-danger" id="inputFieldError">
Você deve preencher os campos obrigatórios.
</div>
@endif
<div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida">
A soma das notas máximas deve ser igual a pontuação total definida.
</div>
<input type="checkbox" id="checkB[0]" checked name="campos[]" value="0" hidden>
<input type="number" name="somaNotas" value="0" id="somaNotas" hidden>
</div>
</div>
<div id="curriculoSection" style="display: none;">
<hr>
<div class="row subtitulo align-items-center">
<div class="col-12 col-sm-3">
<p class="mb-0">Avaliação - Currículo Lattes</p>
</div>
<div class="col-12 col-sm-3">
<input type="text" name="pontuacao_curriculo" class="form-control mt-2 mt-sm-0" id="pontuacao_curriculo" readonly style="width: auto;" />
</div>
</div>
<!-- Campos dinâmicos para Currículo Lattes -->
<div class="row justify-content-center" style="margin-top:10px;" id="displayCamposCurriculo">
<table class="table table-bordered col-sm-12" id="dynamicAddRemoveCurriculo">
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Nota Máxima</th>
<th>Prioridade</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach (($camposCurriculo ?? []) as $index => $campo)
<tr>
<td><input type="text" name="inputFieldCurriculo[{{ $index }}][nome]" class="form-control nome" value="{{ old('inputFieldCurriculo.'.$index.'.nome', str_replace('-c', '', $campo->nome)) }}" /></td>
<td><input type="text" name="inputFieldCurriculo[{{ $index }}][descricao]" class="form-control descricao" value="{{ old('inputFieldCurriculo.'.$index.'.descricao', $campo->descricao) }}" /></td>
<td><input type="number" min="1" step="1" name="inputFieldCurriculo[{{ $index }}][nota_maxima]" class="form-control nota_maxima" value="{{ old('inputFieldCurriculo.'.$index.'.nota_maxima', $campo->nota_maxima) }}" /></td>
<td><select name="inputFieldCurriculo[{{ $index }}][prioridade]" class="form-control prioridade">
<option value="1" {{ old('inputFieldCurriculo.'.$index.'.prioridade', $campo->prioridade) == 1 ? 'selected' : '' }}>1</option>
</select>
</td>
<td>
@if($loop->first && $loop->last)
<button type="button" name="add" id="dynamic-ar-curriculo" class="btn btn-outline-primary">Adicionar</button>
@else
<button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button>
@endif
</td>
</tr>
@endforeach
</table>
<div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida_curriculo">
A soma das notas máximas deve ser igual a pontuação total definida.
</div>
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
......@@ -548,280 +551,269 @@
</div>
</form>
</div>
</div>
</div>
@endsection
@section('javascript')
<script type="text/javascript">
var i = 0;
var numCampos = 1;
var currentOptions = {'0': ''}
document.addEventListener('DOMContentLoaded', function() {
initEventListeners();
toggleOutraDescricao();
showDocumentoExtra();
// Adiciona campo de avaliação
$("#dynamic-ar").click(function () {
++i;
++numCampos;
if (document.getElementById('checkboxBarema').checked) {
document.getElementById('baremaSection').style.display = 'block';
}
$("#dynamicAddRemove").append(
'<tr><td><input type="text" name="inputField[' + i + '][nome]" class="form-control nome @error("inputField.*.nome") is-invalid @enderror" /></td><td><input type="text" name="inputField[' + i + '][descricao]" class="form-control descricao @error("inputField.*.descricao") is-invalid @enderror"/></td><td><input type="number" min="1" step="1" name="inputField[' + i + '][nota_maxima]" class="form-control nota_maxima @error("inputField.*.nota_maxima") is-invalid @enderror" /></td><td><select name="inputField[' + i + '][prioridade]" class="form-control prioridade @error("inputField.*.prioridade") is-invalid @enderror"><option value="" selected>-- ORDEM --</option><option value="1" class="ordem_option">1</option></select></td><td><button type="button" class="btn btn-outline-danger remove-input-field" name="removeButton[' + i + ']">Remover</button></td></tr>'
);
if (document.getElementById('checkboxCurriculo').checked) {
document.getElementById('curriculoSection').style.display = 'block';
}
$("#displayCampos").append('<input type="checkbox" id="checkB[' + i + ']" checked name="campos[]" value="' + i + '" hidden>');
function addBaremaField() {
let index = $('#dynamicAddRemove tr').length;
let newRow = `
<tr>
<td><input type="text" name="inputFieldBarema[${index}][nome]" class="form-control nome" /></td>
<td><input type="text" name="inputFieldBarema[${index}][descricao]" class="form-control descricao" /></td>
<td><input type="number" min="1" step="1" name="inputFieldBarema[${index}][nota_maxima]" class="form-control nota_maxima" /></td>
<td>
<select name="inputFieldBarema[${index}][prioridade]" class="form-control prioridade">
</select>
</td>
<td><button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button></td>
</tr>
`;
$('#dynamicAddRemove tbody').append(newRow);
updatePriorityOptions(); // Atualiza as opções de prioridade
updateBaremaButtons();
updateTotalScore();
}
$(".prioridade").children().remove(".dynamic");
function addCurriculoField() {
let index = $('#dynamicAddRemoveCurriculo tr').length;
let newRow = `
<tr>
<td><input type="text" name="inputFieldCurriculo[${index}][nome]" class="form-control nome" /></td>
<td><input type="text" name="inputFieldCurriculo[${index}][descricao]" class="form-control descricao" /></td>
<td><input type="number" min="1" step="1" name="inputFieldCurriculo[${index}][nota_maxima]" class="form-control nota_maxima" /></td>
<td>
<select name="inputFieldCurriculo[${index}][prioridade]" class="form-control prioridade">
</select>
</td>
<td><button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button></td>
</tr>
`;
$('#dynamicAddRemoveCurriculo tbody').append(newRow);
updatePriorityOptions(); // Atualiza as opções de prioridade
updateCurriculoButtons();
updateTotalScore();
}
// Exibe opções caso estejam ocultas
$('.ordem_option').show();
// Chama as funções para adicionar os campos iniciais vazios
addBaremaField();
addCurriculoField();
$(".prioridade").each(function() {
// Restante do código para inicializar listeners e atualizar pontuações...
// Resetando os valores selecionados
$(this).val("").change();
updateTotalScore(); // Calcular a pontuação inicial
updateBaremaButtons(); // Atualizar botões de Barema
updateCurriculoButtons(); // Atualizar botões de Currículo Lattes
selectId = $(this).attr('name').replace(/\D/g, "").toString();
currentOptions[selectId] = '';
function updatePriorityOptions() {
let numItemsBarema = $('#dynamicAddRemove tr').length;
$('#dynamicAddRemove .prioridade').each(function() {
let currentPriority = $(this).val();
$(this).empty();
for (let i = 1; i <= numItemsBarema; i++) {
$(this).append(new Option(i, i, false, i == currentPriority));
}
});
for (let x = 2; x <= numCampos; x++) {
$(this).append('<option value="' + x + '" class="ordem_option dynamic">' + x + '</option>')
let numItemsCurriculo = $('#dynamicAddRemoveCurriculo tr').length;
$('#dynamicAddRemoveCurriculo .prioridade').each(function() {
let currentPriority = $(this).val();
$(this).empty();
for (let i = 1; i <= numItemsCurriculo; i++) {
$(this).append(new Option(i, i, false, i == currentPriority));
}
});
}
})
function updateBaremaButtons() {
let rows = $('#dynamicAddRemove tbody tr');
rows.each(function(index) {
if (index === 0) {
$(this).find('td:last-child').html('<button type="button" id="dynamic-ar-barema" class="btn btn-outline-primary">Adicionar</button>');
} else {
$(this).find('td:last-child').html('<button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button>');
}
});
updatePriorityOptions();
}
function updateCurriculoButtons() {
let rows = $('#dynamicAddRemoveCurriculo tbody tr');
rows.each(function(index) {
if (index === 0) {
$(this).find('td:last-child').html('<button type="button" id="dynamic-ar-curriculo" class="btn btn-outline-primary">Adicionar</button>');
} else {
$(this).find('td:last-child').html('<button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button>');
}
});
updatePriorityOptions();
}
$(document).on('click', '#dynamic-ar-barema', function() {
addBaremaField();
});
// Exclui campo de avaliação
$(document).on('click', '.remove-input-field', function () {
$(document).on('click', '.remove-input-field-barema', function () {
$(this).parents('tr').remove();
selectId = $(this).attr('name').replace(/\D/g, "").toString();
currentOption = currentOptions[selectId];
document.getElementById('checkB[' + selectId + ']').remove();
$('.ordem_option[value|="' + currentOption + '"]').show();
delete currentOptions[selectId];
$('.dynamic[value|="' + numCampos + '"]').remove();
--numCampos;
updateBaremaPriorities();
updateBaremaButtons();
updateTotalScore();
});
$("#dynamicAddRemove").on('change', '.prioridade', function () {
selectId = $(this).attr('name').replace(/\D/g, "").toString();
newOption = $(this).val();
currentOption = currentOptions[selectId];
$('.ordem_option[value|="' + currentOption + '"]').show();
$('.ordem_option[value|="' + newOption + '"]').hide();
currentOptions[selectId] = newOption;
$(document).on('click', '#dynamic-ar-curriculo', function() {
addCurriculoField();
});
$('#pontuacao').on('input', function () {
validateNotas();
})
$("#dynamicAddRemove").on('input', '.nota_maxima', function () {
validateNotas();
$(document).on('click', '.remove-input-field-curriculo', function () {
$(this).parents('tr').remove();
updateCurriculoPriorities();
updateCurriculoButtons();
updateTotalScore();
});
function validateNotas() {
pontuacao = $("#pontuacao").val();
if (pontuacao == "") {
alert("Escolha o valor total da pontuação antes de adicionar as notas máximas!")
$('.nota_maxima').val("");
} else {
somaNotas = 0;
$(".nota_maxima").each(function() {
valor = Number($(this).val());
if (valor != 0) {
somaNotas += valor;
}
});
// Função que calcula a pontuação total e atualiza o campo de pontuação
function updateTotalScore() {
let totalBarema = 0;
$('#dynamicAddRemove .nota_maxima').each(function() {
totalBarema += parseInt($(this).val()) || 0;
});
$('#pontuacao').val(totalBarema);
$('#somaNotas').val(somaNotas);
let totalCurriculo = 0;
$('#dynamicAddRemoveCurriculo .nota_maxima').each(function() {
totalCurriculo += parseInt($(this).val()) || 0;
});
$('#pontuacao_curriculo').val(totalCurriculo);
}
if (somaNotas != pontuacao) {
$('.nota_maxima').css('border', '1px solid red');
document.getElementById("nota_maxima_invalida").style.display = "";
} else {
$('.nota_maxima').css('border', '');
document.getElementById("nota_maxima_invalida").style.display = "none";
// Função para inicializar todos os listeners e eventos
function initEventListeners() {
document.getElementById('checkboxBarema').addEventListener('change', toggleBaremaSection);
document.getElementById('checkboxCurriculo').addEventListener('change', toggleCurriculoSection);
document.getElementById('tipo').addEventListener('change', toggleOutraDescricao);
document.querySelector('form').addEventListener('submit', submitFormHandler);
document.getElementById('check_docExtra').addEventListener('change', showDocumentoExtra);
document.querySelectorAll("input[type='file']").forEach(input => {
input.addEventListener('change', handleFileChange);
});
document.getElementById('dynamicAddRemove').addEventListener('input', function(event) {
if (event.target.classList.contains('nota_maxima')) {
updateTotalScore();
}
}
});
document.getElementById('dynamicAddRemoveCurriculo').addEventListener('input', function(event) {
if (event.target.classList.contains('nota_maxima')) {
updateTotalScore();
}
});
}
function selecionar_decisao_camara() {
var natureza = document.getElementById('natureza');
if (natureza.value == 3) {
var consu = document.getElementById('consu');
consu.checked = true;
} else {
var consu = document.getElementById('consu');
consu.checked = false;
}
function toggleBaremaSection() {
const baremaSection = document.getElementById('baremaSection');
baremaSection.style.display = this.checked ? 'block' : 'none';
updateTotalScore(); // Atualiza a pontuação ao mostrar/esconder a seção
}
function exibirAnexoTemp(file) {
console.log(file.id);
if (file.id === "pdfEdital") {
var pdfEditalPreenchido = document.getElementById('pdfEditalPreenchido');
pdfEditalPreenchido.value = "sim";
}
if (file.id === "modeloDocumento") {
var modeloDocumentoPreenchido = document.getElementById('modeloDocumentoPreenchido');
modeloDocumentoPreenchido.value = "sim";
}
if (file.id === "pdfFormAvalExterno") {
var pdfFormAvalExternoPreenchido = document.getElementById('pdfFormAvalExternoPreenchido');
pdfFormAvalExternoPreenchido.value = "sim";
}
if (file.id === "pdfFormAvalRelatorio") {
var pdfFormAvalRelatorioPreenchido = document.getElementById('pdfFormAvalRelatorioPreenchido');
pdfFormAvalRelatorioPreenchido.value = "sim";
}
if (file.id === "docTutorial") {
var docTutorialPreenchido = document.getElementById('docTutorialPreenchido');
docTutorialPreenchido.value = "sim";
}
if (file.id === "pdfRelatorio") {
var pdfRelatorioPreenchido = document.getElementById('pdfRelatorioPreenchido');
pdfRelatorioPreenchido.value = "sim";
}
if (file.id === "pdfRecurso") {
var pdfRecursoPreenchido = document.getElementById('pdfRecursoPreenchido');
pdfRecursoPreenchido.value = "sim";
}
function toggleCurriculoSection() {
const curriculoSection = document.getElementById('curriculoSection');
curriculoSection.style.display = this.checked ? 'block' : 'none';
updateTotalScore(); // Atualiza a pontuação ao mostrar/esconder a seção
}
$("input[type='file']").on("change", function() {
if (this.files[0].size > 2000000) {
// console.log($(this).parents( ".col-sm-5" ))
alert("O tamanho do arquivo deve ser menor que 2MB!");
$(this).val('');
}
});
function toggleOutraDescricao() {
const tipoSelect = document.getElementById('tipo');
const outraDescricaoDiv = document.getElementById('outra_descricao_div');
const outraDescricaoInput = document.getElementById('outra_descricao');
$("input.pdf").on("change", function() {
if (this.files[0].type.split('/')[1] == "pdf") {
if (this.files[0].size > 20000000) {
alert("O arquivo possui o tamanho superior a 2MB!");
$(this).val('');
}
if (tipoSelect.value === 'OUTRA') {
tipoSelect.style.flex = '0.5';
outraDescricaoDiv.style.display = 'block';
outraDescricaoInput.disabled = false;
} else {
alert("O arquivo não é de tipo PDF!");
$(this).val('');
tipoSelect.style.flex = '1';
outraDescricaoDiv.style.display = 'none';
outraDescricaoInput.disabled = true;
outraDescricaoInput.value = "";
}
});
}
function defCoord(data, data2) {
document.getElementById('coordenador_id').value = data;
document.getElementById('coordenador_name').value = data2;
$("#modalCoord").modal('hide');
function submitFormHandler(event) {
const tipoSelect = document.getElementById('tipo');
const outraDescricaoInput = document.getElementById('outra_descricao');
if (tipoSelect.value === 'OUTRA' && outraDescricaoInput.value.trim() !== "") {
tipoSelect.value = outraDescricaoInput.value.trim();
} else {
outraDescricaoInput.disabled = true;
}
}
function showDocumentoExtra() {
var nome_docExtra = document.getElementById('nome_docExtra');
var check_docExtra = document.getElementById("check_docExtra");
var obrigatoriedade_docExtra = document.getElementById('obrigatoriedade_docExtra');
if (check_docExtra.checked == true) {
nome_docExtra.parentElement.style.display = '';
obrigatoriedade_docExtra.parentElement.style.display = '';
} else {
nome_docExtra.parentElement.style.display = 'none';
obrigatoriedade_docExtra.parentElement.style.display = 'none';
}
const nomeDocExtra = document.getElementById('nome_docExtra');
const obrigatoriedadeDocExtra = document.getElementById('obrigatoriedade_docExtra');
const isChecked = document.getElementById("check_docExtra").checked;
nomeDocExtra.parentElement.style.display = isChecked ? '' : 'none';
obrigatoriedadeDocExtra.parentElement.style.display = isChecked ? '' : 'none';
}
// Form dinâmico da ODS
$(document).ready(function(){
var selectedOds = [];
$('.form-check-input').change(function(){
selectedOds = [];
$('#metas-container').empty();
$('.form-check-input:checked').each(function(){
selectedOds.push($(this).val());
});
if(selectedOds.length > 3){
alert('Você só pode selecionar até 3 ODS.');
$(this).prop('checked', false);
selectedOds.pop()
}
function handleFileChange(event) {
const file = event.target;
selectedOds.forEach(function(odsId){
$.ajax({
url: 'metas/' + odsId,
method: 'GET',
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">';
response.metas.forEach(function(meta){
metaOptions += '<div class=" card form-check meta-item" style="margin-bottom : 1 rem "><div class="card-body">' +
'<input type="checkbox" name="metas[' + odsId + '][]" value="' + meta.id + '" class="form-check-input meta-checkbox" 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>';
});
metaOptions += '</div>'
$('#metas-container').append(metaOptions);
},
error: function(jqXHR, textStatus, errorThrown){
console.error('Erro ao carregar as metas:', textStatus, errorThrown);
alert('Erro ao carregar as metas.');
}
});
});
if (file.files[0].size > 2000000) {
alert("O tamanho do arquivo deve ser menor que 2MB!");
file.value = '';
} else if (file.files[0].type !== "application/pdf") {
alert("O arquivo deve ser do tipo PDF!");
file.value = '';
}
}
function validateNotas() {
let total = 0;
document.querySelectorAll('.nota_maxima').forEach(input => {
total += parseInt(input.value) || 0;
});
$(document).on('change', '.form-check-input', function(){
var metaCheckboxes = $('input[name^="metas"]');
var selectedMetas = {};
metaCheckboxes.each(function(){
var odsId = $(this).attr('name').match(/metas\[(\d+)\]/)[1];
if(!selectedMetas[odsId]) selectedMetas[odsId] = [];
if($(this).prop('checked')) selectedMetas[odsId].push($(this).val());
});
for(var odsId in selectedMetas){
if(selectedMetas[odsId].length > 3){
alert('Você só pode selecionar até 3 metas por ODS.');
$(this).prop('checked', false);
return;
}
}
});
});
const pontuacao = parseInt(document.getElementById('pontuacao').value) || 0;
document.getElementById('nota_maxima_invalida').style.display = total !== pontuacao ? 'block' : 'none';
}
new MultiSelectTag('metas'); // id
function validateNotasCurriculo() {
let total = 0;
document.querySelectorAll('.nota_maxima').forEach(input => {
total += parseInt(input.value) || 0;
});
const pontuacao = parseInt(document.getElementById('pontuacao_curriculo').value) || 0;
document.getElementById('nota_maxima_invalida_curriculo').style.display = total !== pontuacao ? 'block' : 'none';
}
window.defCoord = function(data, data2) {
document.getElementById('coordenador_id').value = data;
document.getElementById('coordenador_name').value = data2;
$("#modalCoord").modal('hide');
}
window.onload = showDocumentoExtra();
updateTotalScore(); // Calcular a pontuação inicial
updateBaremaButtons(); // Atualizar botões de Barema
updateCurriculoButtons(); // Atualizar botões de Currículo Lattes
});
</script>
@endsection
@if($errors->has('somaNotas'))
<script>
$('.nota_maxima').css('border', '1px solid red');
document.getElementById("nota_maxima_invalida").style.display = "";
</script>
@endif
@endsection
\ No newline at end of file
@extends('layouts.app')
@php
$i=0; $numCampos=0; $avaliado=false;
foreach ($evento->trabalhos as $trabalho) {
$avaliacoes = $trabalho->avaliadors()->where('status', 1)->count();
if ($avaliacoes > 0) {
$avaliado = true;
// Variáveis para marcar automaticamente as checkboxes
$marcarBarema = false;
$marcarCurriculo = false;
// Verifica se algum campo de Barema contém "nome-b"
foreach ($evento->camposAvaliacao ?? [] as $campo) {
if (strpos($campo->nome, 'nome-b') !== false) {
$marcarBarema = true;
break;
}
}
@endphp
// Verifica se algum campo de Currículo contém "nome-c"
foreach ($evento->camposAvaliacaoCurriculo ?? [] as $campo) {
if (strpos($campo->nome, 'nome-c') !== false) {
$marcarCurriculo = true;
break;
}
}
@endphp
@section('content')
<div class="container">
<div class="row titulo">
<h1>{{$evento->nome}}</h1>
<h1>Editar Edital</h1>
</div>
<form action="{{route('evento.update',$evento->id)}}" method="POST" enctype="multipart/form-data">
@csrf
<div class="row subtitulo">
<div class="col-sm-12">
<p>Informações Gerais</p>
</div>
</div>
<!-- Panels -->
<div id="tab-containers" class="tab-content">
<input type="hidden" name="tipoAvaliacao" value="campos">
{{-- nome | Tipo--}}
<div class="row justify-content-start">
{{--Nome do evento--}}
<div class="col-sm-12">
<label for="nome" class="col-form-label">{{ __('Nome:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input value="{{$evento->nome}}" id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome') }}" required autocomplete="nome" autofocus>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
{{--End Nome do evento--}}
{{-- Tipo do evento --}}
<div class="col-sm-6">
<label for="tipo" class="col-form-label">{{ __('Tipo:') }}<span style="color: red; font-weight: bold;">*</span></label>
<select id="tipo" type="text" class="form-control @error('tipo') is-invalid @enderror" name="tipo" required onchange="selectTipo()">
<option value="COMPONENTES_CURRICULARES" {{ $evento->tipo == "COMPONENTES_CURRICULARES" ? 'selected' : '' }}>APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option value="INOVACAO_PEDAGOGICA" {{ $evento->tipo == "INOVACAO_PEDAGOGICA" ? 'selected' : '' }}>INOVAÇÃO PEDAGÓGICA</option>
<option value="PSICOSSOCIAL_PSICOPEDAGOGICO" {{ $evento->tipo == "PSICOSSOCIAL_PSICOPEDAGOGICO" ? 'selected' : '' }}>APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
</select>
@error('tipo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
{{-- Tipo do evento --}}
<div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color: red; font-weight: bold;">*</span></label>
<select id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza') }}" required>
@foreach ($naturezas as $natureza)
@if ($natureza->id === $evento->natureza_id)
<option value="{{ $natureza->id }}" selected>{{ $natureza->nome }}</option>
@else
<option value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
@endif
@endforeach
</select>
@error('natureza')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-3">
<label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}</label>
<input id="numParticipantes" type="number" min="0" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ $evento->numParticipantes }}" autocomplete="numParticipantes" autofocus>
@error('numParticipantes')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- end nome | Participantes | Tipo--}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-3">
<label for="check_docExtra" class="col-form-label">{{ __('Documento extra?') }}</label>
<input type="checkbox" name="check_docExtra" id="check_docExtra" onclick="showDocumentoExtra()" style="margin-left: 5px" @if($evento->nome_docExtra != null ) checked @endif {{ old('check_docExtra') ? 'checked' : ''}}>
</div>
<div class="col-sm-3" id='div-cot-doutor'>
<label for="cotaDoutor" class="col-form-label">{{ __('Cota para recém doutor?') }}</label>
<input type="checkbox" @if($evento->cotaDoutor) checked @endif name="cotaDoutor" id="cotaDoutor">
@error('cotaDoutor')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
{{--Nome do Documento Extra--}}
<div class="col-sm-3" style="display: none">
<label for="obrigatoriedade_docExtra" class="col-form-label">{{ __('Obrigatoriedade: ') }}</label>
<input type="checkbox" name="obrigatoriedade_docExtra" id="obrigatoriedade_docExtra" style="margin-left: 5px" @if($evento->obrigatoriedade_docExtra != null ) checked @endif {{ old('obrigatoriedade_docExtra') ? 'checked' : ''}}>
@error('obrigatoriedade_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class='col-md-3' style='display:none'>
<label for="nome_docExtra" class="col-form-label">{{ __('Digite o nome do Documento') }} <span style="color:red; font-weight:bold;">*</span></label>
<input id="nome_docExtra" type="text" class="form-control @error('nome_docExtra') is-invalid @enderror" name="nome_docExtra" @if($evento->nome_docExtra != null ) value="{{$evento->nome_docExtra}}" @else value="{{ old('nome_docExtra')}}" @endif placeholder="Nome do Documento" autocomplete="nome_docExtra" autofocus>
@error('nome_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div id="edital-container" class="tab-pane fade show active" role="tabpanel" aria-labelledby="edital-tab">
{{-- Descricao Evento --}}
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="form-group">
<label for="exampleFormControlTextarea1">Descrição:<span style="color: red; font-weight: bold;">*</span></label>
<textarea class="form-control @error('descricao') is-invalid @enderror" value="{{ $evento->descricao }}" id="descricao" name="descricao" rows="3">{{$evento->descricao}}</textarea>
@error('descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<form action="{{route('evento.update', $evento->id)}}" method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<input type="hidden" name="tipoAvaliacao" value="campos">
<div class="row subtitulo">
<div class="col-sm-12">
<p>Informações Gerais</p>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="row">
<div class="col-md-11">
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador: ') }}<span style="color: red; font-weight: bold;">*</span></label>
{{-- nome | Participantes | Tipo--}}
<div class="row justify-content-start">
<div class="col-sm-12">
<label for="nome" class="col-form-label">{{ __('Nome:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome', $evento->nome) }}" required autocomplete="nome" autofocus>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="tipo" class="col-form-label">{{ __('Tipo:') }}<span style="color:red; font-weight:bold;">*</span></label>
<div id="tipo_container" style="display: flex; align-items: center;">
<select id="tipo" class="form-control @error('tipo') is-invalid @enderror" name="tipo" required style="flex: 1;">
<option @if(old('tipo', $evento->tipo) == "COMPONENTES_CURRICULARES") selected @endif value="COMPONENTES_CURRICULARES">APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option @if(old('tipo', $evento->tipo) == "INOVACAO_PEDAGOGICA") selected @endif value="INOVACAO_PEDAGOGICA">INOVAÇÃO PEDAGÓGICA</option>
<option @if(old('tipo', $evento->tipo) == "PSICOSSOCIAL_PSICOPEDAGOGICO") selected @endif value="PSICOSSOCIAL_PSICOPEDAGOGICO">APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
<option @if(old('tipo', $evento->tipo) == "OUTRA") selected @endif value="OUTRA">OUTRA</option>
</select>
<div id="outra_descricao_div" style="display: @if(old('tipo', $evento->tipo) == 'OUTRA') block @else none @endif; margin-left: 10px; flex: 1;">
<input id="outra_descricao" type="text" class="form-control @error('outra_descricao') is-invalid @enderror" name="outra_descricao" value="{{ old('outra_descricao', $evento->outra_descricao) }}" placeholder="Especifique">
</div>
</div>
@error('tipo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-1 text-sm-right">
<a type="button" value="Selecionar" data-toggle="modal" data-target="#modalCoord">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a>
<div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select onchange="selecionar_decisao_camara()" id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza', $evento->natureza) }}">
@foreach ($naturezas as $natureza)
<option @if(old('natureza', $evento->natureza) == $natureza->id) selected @endif value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
@endforeach
</select>
@error('natureza')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-3">
<label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}</label>
<input id="numParticipantes" type="number" min="0" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes', $evento->numParticipantes) }}" autocomplete="numParticipantes" autofocus>
@error('numParticipantes')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<input id="coordenador_id" name="coordenador_id" class="form-control" value="{{$evento->coordenadorId}}" hidden>
<input style="margin-top: 5px" id="coordenador_name" name="coordenador_name" class="form-control @error('coordenador_id') is-invalid @enderror" value="{{$coordEvent->user->name}}" placeholder="Selecione um Coordenador" required readonly>
</div>
</div>
<!-- Modal Coordenador -->
<div class="modal fade" id="modalCoord" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
{{-- end nome | Participantes | Tipo--}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-3">
<label for="check_docExtra" class="col-form-label">{{ __('Documento extra?') }}</label>
<input type="checkbox" name="check_docExtra" id="check_docExtra" onclick="showDocumentoExtra()" style="margin-left: 5px" {{ old('check_docExtra', $evento->check_docExtra) ? 'checked' : ''}}>
</div>
<div class="col-sm-3">
<label for="cotaDoutor" class="col-form-label">{{ __('Cota para recém doutor: ') }}</label>
<input type="checkbox" name="cotaDoutor" id="cotaDoutor" style="margin-left: 5px" {{ old('cotaDoutor', $evento->cotaDoutor) ? 'checked' : ''}}>
@error('cotaDoutor')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
{{--Nome do Documento Extra--}}
<div class="col-sm-3" style="display: none">
<label for="obrigatoriedade_docExtra" class="col-form-label">{{ __('Obrigatoriedade: ') }}</label>
<input type="checkbox" name="obrigatoriedade_docExtra" id="obrigatoriedade_docExtra" style="margin-left: 5px" {{ old('obrigatoriedade_docExtra', $evento->obrigatoriedade_docExtra) ? 'checked' : ''}}>
@error('obrigatoriedade_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class='col-md-3' style='display:none'>
<label for="nome_docExtra" class="col-form-label">{{ __('Digite o nome do Documento') }} <span style="color:red; font-weight:bold;">*</span></label>
<input id="nome_docExtra" type="text" class="form-control @error('nome_docExtra') is-invalid @enderror" name="nome_docExtra" value="{{ old('nome_docExtra', $evento->nome_docExtra) }}" placeholder="Nome do Documento" autocomplete="nome_docExtra" autofocus>
@error('nome_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- Descricao Edital --}}
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="form-group">
<label for="exampleFormControlTextarea1">Descrição:<span style="color:red; font-weight:bold;">*</span></label>
<textarea class="form-control @error('descricao') is-invalid @enderror" required autocomplete="descricao" autofocus id="descricao" name="descricao" rows="6">{{ old('descricao', $evento->descricao) }}</textarea>
@error('descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="row">
<div class="col-md-11">
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador:') }}<span style="color:red; font-weight:bold;">*</span></label>
</div>
<div class="col-md-1 text-sm-right">
<a type="button" value="Selecionar" data-toggle="modal" data-target="#modalCoord">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a>
</div>
</div>
<input id="coordenador_id" name="coordenador_id" class="form-control" value="{{old('coordenador_id', $evento->coordenador_id)}}" hidden>
<input style="margin-top: 5px" id="coordenador_name" name="coordenador_name" class="form-control @error('coordenador_id') is-invalid @enderror"
value="{{ old('coordenador_name', $evento->coordenador && $evento->coordenador->user ? $evento->coordenador->user->name : '') }}"
placeholder="Nenhum Coordenador atribuido" required readonly>
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style="color:#1492E6">Coordenadores</h5>
<button type="button" class="close" aria-label="Close" data-dismiss="modal" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
@error('coordenador_id')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="modal-body">
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome</th>
<th scope="col">Email</th>
<th scope="col">Celular</th>
<th scope="col">Instituição</th>
<th scope="col">Seleção</th>
</tr>
</thead>
<tbody id="projetos">
@foreach($coordenadores as $coordenador)
<tr>
<td>{{$coordenador->user->name}}</td>
<td>{{$coordenador->user->email}}</td>
@if($coordenador->user->celular != null)
<td>{{$coordenador->user->celular}}</td>
@else
<td>Não Definido</td>
@endif
@if($coordenador->user->instituicao != null)
<td>{{$coordenador->user->instituicao}}</td>
@else
<td>Não Definida</td>
@endif
<td style="text-align-last:center"><input type="button" class="btn-primary btn" value="Definir" onclick="defCoord({{$coordenador->id}},'{{$coordenador->user->name}}')" style="width: 100px"></td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- Modal Coordenador -->
<div class="modal fade" id="modalCoord" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style="color:#1492E6">Coordenadores</h5>
<button type="button" class="close" aria-label="Close" data-dismiss="modal" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome</th>
<th scope="col">Email</th>
<th scope="col">Celular</th>
<th scope="col">Instituição</th>
<th scope="col">Seleção</th>
</tr>
</thead>
<tbody id="projetos">
@foreach($coordenadores as $coordenador)
<tr>
<td>{{$coordenador->user->name}}</td>
<td>{{$coordenador->user->email}}</td>
@if($coordenador->user->celular != null)
<td>{{$coordenador->user->celular}}</td>
@else
<td>Não Definido</td>
@endif
@if($coordenador->user->instituicao != null)
<td>{{$coordenador->user->instituicao}}</td>
@else
<td>Não Definida</td>
@endif
<td style="text-align-last:center"><input type="button" class="btn-primary btn" value="Definir" onclick="defCoord({{$coordenador->id}},'{{$coordenador->user->name}}')" style="width: 100px"></td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<hr>
{{-- Data de Início e Fim da Submissão --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao', $evento->inicioSubmissao) }}" required autocomplete="inicioSubmissao">
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Projetos</p>
</div>
</div>
{{-- dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
{{-- Início da Submissão --}}
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input value="{{$evento->inicioSubmissao}}" id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao" autofocus>
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>{{-- end Início da Submissão --}}
{{-- Fim da submissão --}}
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input value="{{$evento->fimSubmissao}}" id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao" autofocus>
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime(old('inicioSubmissao'))) . '.' }}</strong>
</span>
@enderror
</div>{{-- end Fim da submissão --}}
</div>{{-- end dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
<div class="col-sm-6" id='div-inicio-avaliacao'>
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input value="{{$evento->inicioRevisao}}" id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao" autofocus>
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6" id='div-fim-avaliacao'>
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input value="{{$evento->fimRevisao}}" id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao" autofocus>
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime( old('inicioRevisao') )) . '.' }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao', $evento->fimSubmissao) }}" required autocomplete="fimSubmissao">
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- inicioRevisao | fimRevisao | inicioResultado | fimResultado--}}
<div class="row justify-content-left">
<div class="col-sm-6" id='div-result-pre'>
<label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input id="resultado_preliminar" value="{{$evento->resultado_preliminar}}" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar" autofocus>
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6" id='div-ini-rec'>
<label for="inicio_recurso" class="col-form-label">{{ __('Início do recurso:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input id="inicio_recurso" type="date" value="{{ $evento->inicio_recurso }}" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso" autofocus>
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
{{-- Data de Início e Fim da Revisão --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Revisão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao', $evento->inicioRevisao) }}" required autocomplete="inicioRevisao">
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6" id='div-fim-rec'>
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input id="fim_recurso" type="date" value="{{ $evento->fim_recurso }}" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="resultado" autofocus>
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6" id='div-result-fim'>
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color: red; font-weight: bold;">*</span></label>
<input id="resultado_final" type="date" value="{{ $evento->resultado_final }}" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado" autofocus>
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Revisão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao', $evento->fimRevisao) }}" required autocomplete="fimRevisao">
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
{{-- Data de Resultado Preliminar --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar', $evento->resultado_preliminar) }}" required autocomplete="resultado_preliminar">
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row subtitulo" id='div-relat-titulo'>
<hr>
<div class="col-sm-12">
<p>Relatórios</p>
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6" id='div-inicio-relat-parcial'>
@component('componentes.input', ['label' => 'Início do Relatório Parcial:'])
<input id="dt_inicioRelatorioParcial" type="date" value="{{ $evento->dt_inicioRelatorioParcial }}" class="form-control @error('dt_inicioRelatorioParcial') is-invalid @enderror" name="dt_inicioRelatorioParcial" value="{{ old('dt_inicioRelatorioParcial') }}" required autocomplete="dt_inicioRelatorioParcial" autofocus title="Início para o período do envio do relatório parcial">
@error('dt_inicioRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao dia do Resultado Final ({{date('d/m/Y', strtotime($evento->resultado_final ?? ''))}})</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-sm-6" id='div-fim-relat-parcial'>
@component('componentes.input', ['label' => 'Fim do Relatório Parcial:'])
<input id="dt_fimRelatorioParcial" type="date" value="{{ $evento->dt_fimRelatorioParcial }}" class="form-control @error('dt_fimRelatorioParcial') is-invalid @enderror" name="dt_fimRelatorioParcial" value="{{ old('dt_fimRelatorioParcial') }}" required autocomplete="dt_fimRelatorioParcial" autofocus title="Final do período do envio do relatório parcial">
@error('dt_fimRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Parcial ({{date('d/m/Y', strtotime($evento->dt_inicioRelatorioParcial ?? ''))}})</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-sm-6" id='div-ini-relat-final'>
@component('componentes.input', ['label' => 'Início do Relatório Final:'])
<input id="dt_inicioRelatorioFinal" type="date" value="{{ $evento->dt_inicioRelatorioFinal }}" class="form-control @error('dt_inicioRelatorioFinal') is-invalid @enderror" name="dt_inicioRelatorioFinal" value="{{ old('dt_inicioRelatorioFinal') }}" required autocomplete="dt_inicioRelatorioFinal" autofocus title="Início para o período do envio do relatório final">
@error('dt_inicioRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao fim do Relatório Parcial ({{date('d/m/Y', strtotime($evento->dt_fimRelatorioParcial ?? ''))}})</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-sm-6" id='div-fim-relat-final'>
@component('componentes.input', ['label' => 'Fim do Relatório Final:'])
<input id="dt_fimRelatorioFinal" type="date" value="{{ $evento->dt_fimRelatorioFinal }}" class="form-control @error('dt_fimRelatorioFinal') is-invalid @enderror" name="dt_fimRelatorioFinal" value="{{ old('dt_fimRelatorioFinal') }}" required autocomplete="dt_fimRelatorioFinal" autofocus title="Final do período do envio do relatório final">
@error('dt_fimRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Final ({{date('d/m/Y', strtotime($evento->dt_inicioRelatorioFinal ?? ''))}})</strong>
</span>
@enderror
@endcomponent
</div>
</div>
<div class="col-sm-6">
<label for="inicio_recurso" class="col-form-label">{{ __('Início do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso', $evento->inicio_recurso) }}" required autocomplete="inicio_recurso">
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
{{-- Data de Fim do Recurso e Resultado Final --}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso', $evento->fim_recurso) }}" required autocomplete="fim_recurso">
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row subtitulo" id='div-avaliacao'>
<hr>
<div class="col-sm-12">
<p>Avaliação - Barema</p>
</div>
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final', $evento->resultado_final) }}" required autocomplete="resultado_final">
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
@php
$tipoAvaliacao = is_array($evento->tipoAvaliacao) ? $evento->tipoAvaliacao : explode(',', $evento->tipoAvaliacao);
@endphp
<div class="row subtitulo">
<div class="col-sm-12">
<p>Tipo de Avaliação</p>
</div>
</div>
@if($avaliado)
<div class="alert alert-primary col-sm-12" role="alert">
<strong>Você não pode alterar a avaliação após algum trabalho ter sido avaliado.</strong>
</div>
@endif
<div>
<div class="row align-items-end mb-4">
<label class="col-sm-3" for="pontuacao">Valor total da pontuação por Barema:<span style="color:red; font-weight:bold;">*</span></label>
<input type="number" name="pontuacao" min="0" class="col-sm-1 form-control" id="pontuacao" value="{{old('pontuacao')?old('pontuacao'):$pontuacao}}" @if($avaliado) disabled @endif/>
</div>
<label>Campos do Barema:</label>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="checkboxBarema" name="tipoAvaliacao[]" value="barema"
{{ !empty($camposBarema) ? 'checked' : '' }}>
<label class="form-check-label" for="checkboxBarema">
Avaliação por Barema
</label>
</div>
</div>
<div class="col-md-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="checkboxCurriculo" name="tipoAvaliacao[]" value="curriculo"
{{ !empty($camposCurriculo) ? 'checked' : '' }}>
<label class="form-check-label" for="checkboxCurriculo">
Avaliação por Currículo Lattes
</label>
</div>
</div>
</div>
</div>
<div class="row justify-content-center" style="margin-top:10px;" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<tr>
<th>Nome<span style="color:red; font-weight:bold;">*</span></th>
<th>Descrição</th>
<th>Nota Máxima<span style="color:red; font-weight:bold;">*</span></th>
<th>Prioridade<span style="color:red; font-weight:bold;">*</span></th>
<th>Ação</th>
</tr>
@if ($camposAvaliacao->count() != 0)
@php $somaNotas = 0; @endphp
@foreach ($camposAvaliacao as $campoAvaliacao)
@php $somaNotas += $campoAvaliacao->nota_maxima; @endphp
<div id="baremaSection" style="display: none;">
<hr>
<div class="row subtitulo align-items-center">
<div class="col-12 col-sm-3">
<p class="mb-0">Avaliação - Barema</p>
</div>
<div class="col-12 col-sm-3">
<input type="text" name="pontuacao" class="form-control mt-2 mt-sm-0" id="pontuacao" value="{{ old('pontuacao', $evento->pontuacao) }}" readonly style="width: auto;" />
</div>
</div>
@if ($numCampos == 0)
<tr>
<td><input type="text" name="inputField[{{$i}}][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ $campoAvaliacao->nome }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="text" name="inputField[{{$i}}][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ $campoAvaliacao->descricao }}" @if($avaliado) disabled @endif/>
@error('inputField.*.descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="number" min="1" step="1" name="inputField[{{$i}}][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ $campoAvaliacao->nota_maxima }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nota_maxima')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td>
<select name="inputField[{{$i}}][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror" @if($avaliado) disabled @endif>
<option value="" >-- ORDEM --</option>
<option value="1" class="ordem_option">1</option>
</select>
@error('inputField.*.prioridade')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><button type="button" name="add" id="dynamic-ar" class="btn btn-outline-primary" @if($avaliado) disabled @endif>Adicionar</button></td>
</tr>
@else
<tr>
<td><input type="text" name="inputField[{{$i}}][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ $campoAvaliacao->nome }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="text" name="inputField[{{$i}}][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ $campoAvaliacao->descricao }}" @if($avaliado) disabled @endif/>
@error('inputField.*.descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
<div class="row justify-content-center" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Nota Máxima</th>
<th>Prioridade</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach ($camposBarema as $index => $campo)
<tr>
<td><input type="text" name="inputFieldBarema[{{ $index }}][nome]" class="form-control nome" value="{{ old('inputFieldBarema.'.$index.'.nome', str_replace('-b', '', $campo->nome)) }}" /></td>
<td><input type="text" name="inputFieldBarema[{{ $index }}][descricao]" class="form-control descricao" value="{{ old('inputFieldBarema.'.$index.'.descricao', $campo->descricao) }}" /></td>
<td><input type="number" min="1" step="1" name="inputFieldBarema[{{ $index }}][nota_maxima]" class="form-control nota_maxima" value="{{ old('inputFieldBarema.'.$index.'.nota_maxima', $campo->nota_maxima) }}" /></td>
<td><select name="inputFieldBarema[{{ $index }}][prioridade]" class="form-control prioridade">
<option value="1" {{ old('inputFieldBarema.'.$index.'.prioridade', $campo->prioridade) == 1 ? 'selected' : '' }}>1</option>
<!-- Outras opções -->
</select>
</td>
<td>
@if($loop->first && $loop->last)
<button type="button" name="add" id="dynamic-ar-barema" class="btn btn-outline-primary">Adicionar</button>
@else
<button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="col-sm-12" id="addBaremaButton">
@if(count($camposBarema) === 0)
<button type="button" name="add" id="dynamic-ar-barema" class="btn btn-outline-primary">Adicionar</button>
@endif
</div>
</div>
</div>
<div id="curriculoSection" style="display: none;">
<hr>
<div class="row subtitulo align-items-center">
<div class="col-12 col-sm-3">
<p class="mb-0">Avaliação - Currículo Lattes</p>
</div>
<div class="col-12 col-sm-3">
<input type="text" name="pontuacao_curriculo" class="form-control mt-2 mt-sm-0" id="pontuacao_curriculo" value="{{ old('pontuacao_curriculo', $evento->pontuacao_curriculo) }}" readonly style="width: auto;" />
</div>
</div>
<div class="row justify-content-center" id="displayCamposCurriculo">
<table class="table table-bordered col-sm-12" id="dynamicAddRemoveCurriculo">
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Nota Máxima</th>
<th>Prioridade</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach ($camposCurriculo as $index => $campo)
<tr>
<td><input type="text" name="inputFieldCurriculo[{{ $index }}][nome]" class="form-control nome" value="{{ old('inputFieldCurriculo.'.$index.'.nome', str_replace('-c', '', $campo->nome)) }}" /></td>
<td><input type="text" name="inputFieldCurriculo[{{ $index }}][descricao]" class="form-control descricao" value="{{ old('inputFieldCurriculo.'.$index.'.descricao', $campo->descricao) }}" /></td>
<td><input type="number" min="1" step="1" name="inputFieldCurriculo[{{ $index }}][nota_maxima]" class="form-control nota_maxima" value="{{ old('inputFieldCurriculo.'.$index.'.nota_maxima', $campo->nota_maxima) }}" /></td>
<td><select name="inputFieldCurriculo[{{ $index }}][prioridade]" class="form-control prioridade">
<option value="1" {{ old('inputFieldCurriculo.'.$index.'.prioridade', $campo->prioridade) == 1 ? 'selected' : '' }}>1</option>
</select>
</td>
<td>
@if($loop->first && $loop->last)
<button type="button" name="add" id="dynamic-ar-curriculo" class="btn btn-outline-primary">Adicionar</button>
@else
<button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="col-sm-12" id="addCurriculoButton">
@if(count($camposCurriculo) === 0)
<button type="button" name="add" id="dynamic-ar-curriculo" class="btn btn-outline-primary">Adicionar</button>
@endif
</div>
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Documentos</p>
</div>
</div>
{{-- Pdf Edital --}}
<div class="row justify-content-center" style="margin-top:10px">
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Anexar edital:<span style="color:red; font-weight:bold;">*</span></label>
@if($evento->pdfEdital)
<a href="{{ route('baixar.edital', $evento->id) }}">Baixar edital atual</a>
@endif
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="number" min="1" step="1" name="inputField[{{$i}}][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ $campoAvaliacao->nota_maxima }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nota_maxima')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Anexar modelo de proposta de trabalho:<span style="color:red; font-weight:bold;">*</span></label>
@if($evento->modeloDocumento)
<a href="{{ route('baixar.modelo', $evento->id) }}">Baixar modelo atual</a>
@endif
<input type="file" class="form-control-file @error('modeloDocumento') is-invalid @enderror" name="modeloDocumento" value="{{ old('modeloDocumento') }}" id="modeloDocumento">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td>
<select name="inputField[{{$i}}][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror" @if($avaliado) disabled @endif>
<option value="" >-- ORDEM --</option>
<option value="1" class="ordem_option">1</option>
</select>
@error('inputField.*.prioridade')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><button type="button" class="btn btn-outline-danger remove-input-field" name="removeButton[{{$i}}]" @if($avaliado) disabled @endif>Remover</button></td>
</tr>
@endif
@php ++$i; ++$numCampos; @endphp
@endforeach
</div>
</div>
@else
<tr>
<td><input type="text" name="inputField[0][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ old('inputField[0][nome]') }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nome')
<div class="col-sm-6">
<div class="form-group">
<label for="pdfRecurso">Anexar modelo do formulário de recurso:<span style="color:red; font-weight:bold;">*</span></label>
@if($evento->docRecurso)
<a href="{{ route('baixar.recurso', $evento->id) }}">Baixar formulário atual</a>
@endif
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRecurso') is-invalid @enderror" name="pdfRecurso" value="{{ old('pdfRecurso') }}" id="pdfRecurso">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfRecurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="text" name="inputField[0][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ old('inputField[0][descricao]') }}" @if($avaliado) disabled @endif/>
@error('inputField.*.descricao')
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfRelatorio">Anexar modelo do relatório técnico/pedagógico:</label>
@if($evento->docRelatorio)
<a href="{{ route('baixar.relatorio', $evento->id) }}">Baixar relatório atual</a>
@endif
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRelatorio') is-invalid @enderror" name="pdfRelatorio" value="{{ old('pdfRelatorio') }}" id="pdfRelatorio">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="number" min="1" step="1" name="inputField[0][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ old('inputField[0][nota_maxima]') }}" @if($avaliado) disabled @endif/>
@error('inputField.*.nota_maxima')
@enderror
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label for="pdfFormAvalRelatorio">Anexar formulário de avaliação do relatório:</label>
@if($evento->formAvaliacaoRelatorio)
<a href="{{ route('baixar.form_avaliacao', $evento->id) }}">Baixar formulário de avaliação atual</a>
@endif
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfFormAvalRelatorio') is-invalid @enderror" name="pdfFormAvalRelatorio" value="{{ old('pdfFormAvalRelatorio') }}" id="pdfFormAvalRelatorio">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td>
<select name="inputField[0][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror" @if($avaliado) disabled @endif>
<option value="" selected>-- ORDEM --</option>
<option value="1" class="ordem_option">1</option>
</select>
@error('inputField.*.prioridade')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><button type="button" name="add" id="dynamic-ar" class="btn btn-outline-primary" @if($avaliado) disabled @endif>Adicionar</button></td>
</tr>
@php ++$i; ++$numCampos; @endphp
@endif
</table>
@if($errors->has('inputField.*'))
<div class="col-sm-12 alert alert-danger" id="inputFieldError">
Você deve preencher os campos obrigatórios.
</div>
</div>
</div>
@endif
<div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida">
A soma das notas máximas deve ser igual a pontuação total definida.
</div>
<input type="checkbox" id="checkB[0]" checked name="campos[]" value="0" hidden disabled>
<input type="number" name="somaNotas" value="0" id="somaNotas" hidden>
</div>
<div class="col-sm-12 row" style="margin-top:10px; display: none" id="displayLink">
<label for="link" class="col-form-label">{{ __('Link para o formulário:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="link" type="text" class="form-control @error("link") is-invalid @enderror" name="link" value="{{ ($evento->tipoAvaliacao == "link") ? $evento->formAvaliacaoExterno : old('link') }}" @if($avaliado) disabled @endif>
@error('link')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Documentos</p>
</div>
</div>
{{-- Pdf Edital --}}
<div class="row justify-content-center" style="margin-top:10px">
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">PDF do Edital:<span style="color: red; font-weight: bold;">*</span></label>
@if($evento->pdfEdital != null)
<a href="{{route('download', ['file' => $evento->pdfEdital])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
@else
<a>
<i class="fas fa-times-circle fa-2x" style="color:red; font-size:25px"></i>
</a>
@endif
<input type="file" class="form-control-file @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Arquivo com os modelos de documentos do edital:</label>
@if($evento->modeloDocumento != null)
<a href="{{route('baixar.modelos', ['id' => $evento->id])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
@else
<a>
<i class="fas fa-times-circle fa-2x" style="color:red; font-size:25px"></i>
</a>
@endif
<input type="file" class="form-control-file @error('modeloDocumento[]') is-invalid @enderror" name="modeloDocumento[]" multiple value="{{ old('modeloDocumento') }}" id="modeloDocumento" accept=".doc,.docx,.pdf,.zip">
<small>Os arquivos selecionado deve ter até 2mb.</small>
@error('modeloDocumento[]')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- Refact --}}
{{-- <div class="col-sm-6">
<div class="form-group">
<label for="pdfRecurso">Anexar modelo do formulário de recurso:<span style="color:red; font-weight:bold;">*</span></label>
@if(old('pdfRecursoPreenchido') != null)
<a id="pdfRecursoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRecurso' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfRecursoPreenchido" name="pdfRecursoPreenchido" value="{{ old('pdfRecursoPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRecurso') is-invalid @enderror" name="pdfRecurso" value="{{ old('pdfRecurso') }}" id="pdfRecurso" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfRecurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> --}}
{{-- --}}
{{-- Refact --}}
{{-- <div class="col-sm-6">
<div class="form-group">
<label for="pdfRelatorio">Anexar modelo do relatório técnico/pedagógico:</label>
@if(old('pdfRelatorioPreenchido') != null)
<a id="pdfRelatorioTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRelatorio' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfRelatorioPreenchido" name="pdfRelatorioPreenchido" value="{{ old('pdfRelatorioPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRelatorio') is-invalid @enderror" name="pdfRelatorio" value="{{ old('pdfRelatorio') }}" id="pdfRelatorio" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> --}}
{{-- --}}
<div class="col-sm-12">
<div class="form-group">
<label for="pdfEdital">Formulário de avaliação do relatório:</label>
@if($evento->formAvaliacaoRelatorio != null)
<a href="{{route('download', ['file' => $evento->formAvaliacaoRelatorio])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
@else
<a>
<i class="fas fa-times-circle fa-2x" style="color:red; font-size:25px"></i>
</a>
@endif
<input type="file" class="form-control-file @error('pdfFormAvalRelatorio') is-invalid @enderror" name="pdfFormAvalRelatorio" value="{{ old('pdfFormAvalRelatorio') }}" id="pdfFormAvalRelatorio">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
<div class="col-md-6" style="padding-left:0">
<a class="btn btn-secondary botao-form" href="{{ route('admin.editais') }}" style="width:100%">Cancelar</a>
</div>
<div class="col-md-6" style="padding-right:0">
<button type="submit" class="btn btn-primary botao-form" id="idButtonSubmitEvento" style="width:100%">
{{ __('Atualizar Edital') }}
</button>
</div>
</div>
</div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
<div class="col-md-6" style="padding-left:0">
<a class="btn btn-secondary botao-form" href="{{ route('admin.editais') }}" style="width:100%">Cancelar</a>
</div>
<div class="col-md-6" style="padding-right:0">
<button type="submit" class="btn btn-primary botao-form" style="width:100%">
{{ __('Salvar') }}
</button>
</div>
</form>
</div>
</form>
</div>
</div>
@endsection
@section('javascript')
<script type="text/javascript">
var i = "{{$i}}";
var numCampos = "{{$numCampos}}";
var currentOptions = {'0': ''}
$(document).ready(function() {
if (numCampos > 1) {
for (let y = 1; y < (numCampos); y++) {
$("#displayCampos").append('<input type="checkbox" id="checkB[' + y + ']" checked name="campos[]" value="' + y + '" hidden disabled>');
addOrdemPrioridade();
}
}
@if(old('tipoAvaliacao') == 'campos' || $evento->tipoAvaliacao == 'campos')
$('#somaNotas').val('{{$somaNotas}}');
@endif
z = 0
@foreach($camposAvaliacao as $campoAvaliacao)
selectId = z
newOption = "{{$campoAvaliacao->prioridade}}"
displayPrioridades(selectId, newOption)
++z
@endforeach
});
// Habilita edição dos campos
$("input[name^='inputField']").on('change', function() {
$("input[name^='campos']").prop('disabled', false);
});
// Adiciona campo de avaliação
$("#dynamic-ar").click(function () {
// Habilita edição dos campos
$("input[name^='campos']").prop('disabled', false);
$("#dynamicAddRemove").append(
'<tr><td><input type="text" name="inputField[' + i + '][nome]" class="form-control nome @error("inputField.*.nome") is-invalid @enderror" /></td><td><input type="text" name="inputField[' + i + '][descricao]" class="form-control descricao @error("inputField.*.descricao") is-invalid @enderror"/></td><td><input type="number" min="1" step="1" name="inputField[' + i + '][nota_maxima]" class="form-control nota_maxima @error("inputField.*.nota_maxima") is-invalid @enderror" /></td><td><select name="inputField[' + i + '][prioridade]" class="form-control prioridade @error("inputField.*.prioridade") is-invalid @enderror"><option value="" selected>-- ORDEM --</option><option value="1" class="ordem_option">1</option></select></td><td><button type="button" class="btn btn-outline-danger remove-input-field" name="removeButton[' + i + ']">Remover</button></td></tr>'
);
$("#displayCampos").append('<input type="checkbox" id="checkB[' + i + ']" checked name="campos[]" value="' + i + '" hidden>');
++i;
++numCampos;
addOrdemPrioridade();
});
document.addEventListener('DOMContentLoaded', function() {
initEventListeners();
toggleOutraDescricao();
showDocumentoExtra();
function addOrdemPrioridade() {
$(".prioridade").children().remove(".dynamic");
// Exibe opções caso estejam ocultas
$('.ordem_option').show();
$(".prioridade").each(function() {
// Resetando os valores selecionados
$(this).val("").change();
selectId = $(this).attr('name').replace(/\D/g, "").toString();
currentOptions[selectId] = '';
for (let x = 2; x <= numCampos; x++) {
$(this).append('<option value="' + x + '" class="ordem_option dynamic">' + x + '</option>')
}
})
}
// Exclui campo de avaliação
$(document).on('click', '.remove-input-field', function () {
// Habilita edição dos campos
$("input[name^='campos']").prop('disabled', false);
$(this).parents('tr').remove();
selectId = $(this).attr('name').replace(/\D/g, "").toString();
currentOption = currentOptions[selectId];
document.getElementById('checkB[' + selectId + ']').remove();
$('.ordem_option[value|="' + currentOption + '"]').show();
delete currentOptions[selectId];
if (document.getElementById('checkboxBarema').checked) {
document.getElementById('baremaSection').style.display = 'block';
}
$('.dynamic[value|="' + numCampos + '"]').remove();
if (document.getElementById('checkboxCurriculo').checked) {
document.getElementById('curriculoSection').style.display = 'block';
}
--numCampos;
function addBaremaField() {
let index = $('#dynamicAddRemove tr').length;
let newRow = `
<tr>
<td><input type="text" name="inputFieldBarema[${index}][nome]" class="form-control nome" /></td>
<td><input type="text" name="inputFieldBarema[${index}][descricao]" class="form-control descricao" /></td>
<td><input type="number" min="1" step="1" name="inputFieldBarema[${index}][nota_maxima]" class="form-control nota_maxima" /></td>
<td>
<select name="inputFieldBarema[${index}][prioridade]" class="form-control prioridade">
</select>
</td>
<td><button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button></td>
</tr>
`;
$('#dynamicAddRemove tbody').append(newRow);
updatePriorityOptions(); // Atualiza as opções de prioridade
updateBaremaButtons();
updateTotalScore();
}
function addCurriculoField() {
let index = $('#dynamicAddRemoveCurriculo tr').length;
let newRow = `
<tr>
<td><input type="text" name="inputFieldCurriculo[${index}][nome]" class="form-control nome" /></td>
<td><input type="text" name="inputFieldCurriculo[${index}][descricao]" class="form-control descricao" /></td>
<td><input type="number" min="1" step="1" name="inputFieldCurriculo[${index}][nota_maxima]" class="form-control nota_maxima" /></td>
<td>
<select name="inputFieldCurriculo[${index}][prioridade]" class="form-control prioridade">
</select>
</td>
<td><button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button></td>
</tr>
`;
$('#dynamicAddRemoveCurriculo tbody').append(newRow);
updatePriorityOptions(); // Atualiza as opções de prioridade
updateCurriculoButtons();
updateTotalScore();
}
function updatePriorityOptions() {
let numItemsBarema = $('#dynamicAddRemove tr').length;
$('#dynamicAddRemove .prioridade').each(function() {
let currentPriority = $(this).val();
$(this).empty();
for (let i = 1; i <= numItemsBarema; i++) {
$(this).append(new Option(i, i, false, i == currentPriority));
}
});
function displayPrioridades(id, newOption) {
currentOption = currentOptions[id];
$('.ordem_option[value|="' + currentOption + '"]').show();
$('.ordem_option[value|="' + newOption + '"]').hide();
$('select[name="inputField[' + id + '][prioridade]"]').val(newOption);
currentOptions[id] = newOption;
}
let numItemsCurriculo = $('#dynamicAddRemoveCurriculo tr').length;
$('#dynamicAddRemoveCurriculo .prioridade').each(function() {
let currentPriority = $(this).val();
$(this).empty();
for (let i = 1; i <= numItemsCurriculo; i++) {
$(this).append(new Option(i, i, false, i == currentPriority));
}
});
}
$("#dynamicAddRemove").on('change', '.prioridade', function () {
function updateBaremaButtons() {
let rows = $('#dynamicAddRemove tbody tr');
rows.each(function(index) {
if (index === 0) {
$(this).find('td:last-child').html('<button type="button" id="dynamic-ar-barema" class="btn btn-outline-primary">Adicionar</button>');
} else {
$(this).find('td:last-child').html('<button type="button" class="btn btn-outline-danger remove-input-field-barema">Remover</button>');
}
});
updatePriorityOptions();
}
selectId = $(this).attr('name').replace(/\D/g, "").toString();
newOption = $(this).val();
displayPrioridades(selectId, newOption);
function updateCurriculoButtons() {
let rows = $('#dynamicAddRemoveCurriculo tbody tr');
rows.each(function(index) {
if (index === 0) {
$(this).find('td:last-child').html('<button type="button" id="dynamic-ar-curriculo" class="btn btn-outline-primary">Adicionar</button>');
} else {
$(this).find('td:last-child').html('<button type="button" class="btn btn-outline-danger remove-input-field-curriculo">Remover</button>');
}
});
updatePriorityOptions();
}
$('#pontuacao').on('input', function () {
validateNotas();
})
$(document).on('click', '#dynamic-ar-barema', function() {
addBaremaField();
});
$(document).on('click', '.remove-input-field-barema', function () {
$(this).parents('tr').remove();
updateBaremaPriorities();
updateBaremaButtons();
updateTotalScore();
});
$(document).on('click', '#dynamic-ar-curriculo', function() {
addCurriculoField();
});
$(document).on('click', '.remove-input-field-curriculo', function () {
$(this).parents('tr').remove();
updateCurriculoPriorities();
updateCurriculoButtons();
updateTotalScore();
});
// Função que calcula a pontuação total e atualiza o campo de pontuação
function updateTotalScore() {
let totalBarema = 0;
$('#dynamicAddRemove .nota_maxima').each(function() {
totalBarema += parseInt($(this).val()) || 0;
});
$('#pontuacao').val(totalBarema);
$("#dynamicAddRemove").on('input', '.nota_maxima', function () {
validateNotas();
let totalCurriculo = 0;
$('#dynamicAddRemoveCurriculo .nota_maxima').each(function() {
totalCurriculo += parseInt($(this).val()) || 0;
});
$('#pontuacao_curriculo').val(totalCurriculo);
}
function validateNotas() {
pontuacao = $("#pontuacao").val();
// Função para inicializar todos os listeners e eventos
function initEventListeners() {
document.getElementById('checkboxBarema').addEventListener('change', toggleBaremaSection);
document.getElementById('checkboxCurriculo').addEventListener('change', toggleCurriculoSection);
document.getElementById('tipo').addEventListener('change', toggleOutraDescricao);
document.querySelector('form').addEventListener('submit', submitFormHandler);
document.getElementById('check_docExtra').addEventListener('change', showDocumentoExtra);
document.querySelectorAll("input[type='file']").forEach(input => {
input.addEventListener('change', handleFileChange);
});
document.getElementById('dynamicAddRemove').addEventListener('input', function(event) {
if (event.target.classList.contains('nota_maxima')) {
updateTotalScore();
}
});
document.getElementById('dynamicAddRemoveCurriculo').addEventListener('input', function(event) {
if (event.target.classList.contains('nota_maxima')) {
updateTotalScore();
}
});
}
if (pontuacao == "") {
alert("Escolha o valor total da pontuação antes de adicionar as notas máximas!")
$('.nota_maxima').val("");
} else {
somaNotas = 0;
function toggleBaremaSection() {
const baremaSection = document.getElementById('baremaSection');
baremaSection.style.display = this.checked ? 'block' : 'none';
updateTotalScore(); // Atualiza a pontuação ao mostrar/esconder a seção
}
$(".nota_maxima").each(function() {
valor = Number($(this).val());
if (valor != 0) {
somaNotas += valor;
}
});
function toggleCurriculoSection() {
const curriculoSection = document.getElementById('curriculoSection');
curriculoSection.style.display = this.checked ? 'block' : 'none';
updateTotalScore(); // Atualiza a pontuação ao mostrar/esconder a seção
}
$('#somaNotas').val(somaNotas);
function toggleOutraDescricao() {
const tipoSelect = document.getElementById('tipo');
const outraDescricaoDiv = document.getElementById('outra_descricao_div');
const outraDescricaoInput = document.getElementById('outra_descricao');
if (somaNotas != pontuacao) {
$('.nota_maxima').css('border', '1px solid red');
document.getElementById("nota_maxima_invalida").style.display = "";
} else {
$('.nota_maxima').css('border', '');
document.getElementById("nota_maxima_invalida").style.display = "none";
}
}
if (tipoSelect.value === 'OUTRA') {
tipoSelect.style.flex = '0.5';
outraDescricaoDiv.style.display = 'block';
outraDescricaoInput.disabled = false;
} else {
tipoSelect.style.flex = '1';
outraDescricaoDiv.style.display = 'none';
outraDescricaoInput.disabled = true;
outraDescricaoInput.value = "";
}
}
function defCoord(data, data2) {
document.getElementById('coordenador_id').value = data;
document.getElementById('coordenador_name').value = data2;
$("#modalCoord").modal('hide');
function submitFormHandler(event) {
const tipoSelect = document.getElementById('tipo');
const outraDescricaoInput = document.getElementById('outra_descricao');
if (tipoSelect.value === 'OUTRA' && outraDescricaoInput.value.trim() !== "") {
tipoSelect.value = outraDescricaoInput.value.trim();
} else {
outraDescricaoInput.disabled = true;
}
}
function showDocumentoExtra() {
var nome_docExtra = document.getElementById('nome_docExtra');
var check_docExtra = document.getElementById("check_docExtra");
var obrigatoriedade_docExtra = document.getElementById('obrigatoriedade_docExtra');
if (check_docExtra.checked == true) {
nome_docExtra.parentElement.style.display = '';
obrigatoriedade_docExtra.parentElement.style.display = '';
} else {
nome_docExtra.parentElement.style.display = 'none';
obrigatoriedade_docExtra.parentElement.style.display = 'none';
}
const nomeDocExtra = document.getElementById('nome_docExtra');
const obrigatoriedadeDocExtra = document.getElementById('obrigatoriedade_docExtra');
const isChecked = document.getElementById("check_docExtra").checked;
nomeDocExtra.parentElement.style.display = isChecked ? '' : 'none';
obrigatoriedadeDocExtra.parentElement.style.display = isChecked ? '' : 'none';
}
function selectTipo(){
var tipo = document.getElementById('tipo');
names = ['div-inicio-avaliacao',
'div-fim-avaliacao',
'div-result-pre',
'div-ini-rec',
'div-fim-rec',
'div-result-fim',
'div-ini-proj',
'div-fim-proj',
'div-adhoc',
'div-doc-aux',
'div-cot-doutor',
'div-inicio-relat-parcial',
'div-fim-relat-parcial',
'div-ini-relat-final',
'div-fim-relat-final',
'div-relat-titulo',
'div-avaliacao',
'div-tipo-aval',
'div-text-aval']
inputs = ['inicioRevisao',
'fimRevisao',
'resultado_preliminar',
'inicio_recurso',
'fim_recurso',
'resultado_final',
'dt_inicioRelatorioParcial',
'dt_fimRelatorioParcial',
'dt_inicioRelatorioFinal',
'dt_fimRelatorioFinal'
]
if(tipo.value === 'CONTINUO'){
names.forEach(function(nome, i){
document.getElementById(nome).style.display = "none";
})
inputs.forEach(function(nome, i){
document.getElementById(nome).removeAttribute('required');
})
} else {
names.forEach(function(nome, i){
document.getElementById(nome).style.display = "block";
})
function handleFileChange(event) {
const file = event.target;
inputs.forEach(function(nome, i){
document.getElementById(nome).setAttribute('required', '');
})
if (file.files[0].size > 2000000) {
alert("O tamanho do arquivo deve ser menor que 2MB!");
file.value = '';
} else if (file.files[0].type !== "application/pdf") {
alert("O arquivo deve ser do tipo PDF!");
file.value = '';
}
}
//retirada das datas dos relatórios parciais para o PIBEX e PIACEX
if(tipo.value === 'PIBEX' || tipo.value === 'PIACEX'){
document.getElementById('div-inicio-relat-parcial').style.display = "none";
document.getElementById('div-fim-relat-parcial').style.display = "none";
document.getElementById('dt_inicioRelatorioParcial').removeAttribute('required');
document.getElementById('dt_fimRelatorioParcial').removeAttribute('required');
}
function validateNotas() {
let total = 0;
document.querySelectorAll('.nota_maxima').forEach(input => {
total += parseInt(input.value) || 0;
});
const pontuacao = parseInt(document.getElementById('pontuacao').value) || 0;
document.getElementById('nota_maxima_invalida').style.display = total !== pontuacao ? 'block' : 'none';
}
window.onload = () => {
showDocumentoExtra();
selectTipo();
function validateNotasCurriculo() {
let total = 0;
document.querySelectorAll('.nota_maxima').forEach(input => {
total += parseInt(input.value) || 0;
});
const pontuacao = parseInt(document.getElementById('pontuacao_curriculo').value) || 0;
document.getElementById('nota_maxima_invalida_curriculo').style.display = total !== pontuacao ? 'block' : 'none';
}
</script>
@if($errors->has('somaNotas'))
<script>
$('.nota_maxima').css('border', '1px solid red');
document.getElementById("nota_maxima_invalida").style.display = "";
</script>
@endif
window.defCoord = function(data, data2) {
document.getElementById('coordenador_id').value = data;
document.getElementById('coordenador_name').value = data2;
$("#modalCoord").modal('hide');
}
updateTotalScore(); // Calcular a pontuação inicial
updateBaremaButtons(); // Atualizar botões de Barema
updateCurriculoButtons(); // Atualizar botões de Currículo Lattes
});
</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