Commit f7f638c4 authored by Lucas Henrique's avatar Lucas Henrique
Browse files

Adiciona novos tipos de avaliação na edição de evento

parent d40a70df
......@@ -122,6 +122,7 @@ class EventoController extends Controller
'natureza' => ['required'],
'coordenador_id' => ['required'],
'numParticipantes' => ['required'],
'tipoAvaliacao' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'],
......@@ -153,6 +154,7 @@ class EventoController extends Controller
'coordenador_id' => ['required'],
'numParticipantes' => ['required'],
'nome_docExtra' => [Rule::requiredIf($request->check_docExtra != null),'max:255'],
'tipoAvaliacao' => ['required'],
#----------------------------------------------
'inicioSubmissao' => ['required', 'date', 'after:yesterday'],
'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
......@@ -223,6 +225,7 @@ class EventoController extends Controller
$evento['anexosStatus'] = 'final';
$evento['inicioProjeto'] = $request->inicioProjeto;
$evento['fimProjeto'] = $request->fimProjeto;
$evento['tipoAvaliacao'] = $request->tipoAvaliacao;
if($request->tipoAvaliacao == "link") {
$evento['formAvaliacaoExterno'] = $request->link;
}
......@@ -299,7 +302,7 @@ class EventoController extends Controller
$campoAval = new CampoAvaliacao();
$campoAval->nome = $request->inputField[$value]['nome'];
$campoAval->nota_maxima = $request->inputField[$value]['nota_maxima'];
if ($request->has('inputField['. $value. ']["descricao"]')){
if ($request->inputField[$value]['descricao'] != null){
$campoAval->descricao = $request->inputField[$value]['descricao'];
}
$campoAval->prioridade = $request->inputField[$value]['prioridade'];
......@@ -445,11 +448,13 @@ class EventoController extends Controller
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
$camposAvaliacao = CampoAvaliacao::where('evento_id', $id)->get();
return view('evento.editarEvento',['evento'=>$evento,
'coordenadores'=>$coordenadors,
'naturezas'=>$naturezas,
'ontem'=>$yesterday,
'coordEvent'=>$coordEvent]);
'coordEvent'=>$coordEvent,
'camposAvaliacao'=>$camposAvaliacao]);
}
/**
......@@ -467,6 +472,7 @@ class EventoController extends Controller
$evento = Evento::find($id);
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
$camposAvaliacao = CampoAvaliacao::where('evento_id', $id);
if(
$request->inicioSubmissao == null ||
$request->fimSubmissao == null ||
......@@ -483,6 +489,7 @@ class EventoController extends Controller
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'numParticipantes' => ['required'],
'tipoAvaliacao' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date', 'after:fimSubmissao'],
......@@ -497,7 +504,6 @@ class EventoController extends Controller
'dt_fimRelatorioFinal' => ['required', 'date'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
'pdfFormAvalExterno' => ['file','mimes:pdf,doc,docx,xlsx,xls,csv,zip', 'max:2048'],
'pdfFormAvalRelatorio' => ['file', 'mimes:pdf', 'max:2048'],
'inicioProjeto' => ['required', 'date'],
'fimProjeto' => ['required', 'date'],
......@@ -513,6 +519,7 @@ class EventoController extends Controller
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'numParticipantes' => ['required'],
'tipoAvaliacao' => ['required'],
'inicioSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'inicioRevisao' => ['required', 'date', 'after:fimSubmissao'],
......@@ -527,13 +534,30 @@ class EventoController extends Controller
'dt_fimRelatorioFinal' => ['required', 'date', 'after_or_equal:dt_inicioRelatorioFinal'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
'pdfFormAvalExterno' => ['file', 'mimes:pdf,doc,docx,xlsx,xls,csv,zip', 'max:2048'],
'pdfFormAvalRelatorio' => ['file', 'mimes:pdf', 'max:2048'],
'inicioProjeto' => ['required', 'date', 'after:resultado_final'],
'fimProjeto' => ['required', 'date', 'after:inicioProjeto'],
'docTutorial' => ['file', 'mimes:zip,doc,docx,pdf', 'max:2048'],
'nome_docExtra' => [Rule::requiredIf($request->check_docExtra != null) , 'max:255'],
]);
if ($request->tipoAvaliacao == 'form') {
$validateAvaliacao = $request->validate([
'pdfFormAvalExterno' => [($request->pdfFormAvalExternoPreenchido!=='sim'?'required':''), 'file','mimes:pdf,doc,docx,xlsx,xls,csv,zip', 'max:2048'],
]);
} elseif ($request->tipoAvaliacao == 'campos') {
if($request->has('campos')){
$validateCampo = $request->validate([
'inputField.*.nome' => ['required', 'string'],
'inputField.*.nota_maxima' => ['required'],
'inputField.*.prioridade' => ['required']
]);
}
} elseif ($request->tipoAvaliacao == 'link') {
$validateAvaliacao = $request->validate([
'link' => ['required', 'url'],
]);
}
$evento->nome = $request->nome;
$evento->descricao = $request->descricao;
$evento->tipo = $request->tipo;
......@@ -562,6 +586,11 @@ class EventoController extends Controller
$evento->obrigatoriedade_docExtra = $request->has('obrigatoriedade_docExtra');
$evento->inicioProjeto = $request->inicioProjeto;
$evento->fimProjeto = $request->fimProjeto;
$evento->tipoAvaliacao = $request->tipoAvaliacao;
if($request->tipoAvaliacao == "link") {
$evento->formAvaliacaoExterno = $request->link;
}
if($request->pdfEdital != null){
$pdfEdital = $request->pdfEdital;
$path = 'pdfEdital/' . $evento->id . '/';
......@@ -579,7 +608,7 @@ class EventoController extends Controller
}
if(isset($request->pdfFormAvalExterno)){
if(isset($request->pdfFormAvalExterno) && ($request->tipoAvaliacao == 'form')){
$pdfFormAvalExterno = $request->pdfFormAvalExterno;
$extension = $pdfFormAvalExterno->extension();
$path = 'pdfFormAvalExterno/' . $evento->id . '/';
......@@ -589,7 +618,7 @@ class EventoController extends Controller
$evento->formAvaliacaoExterno = $path . $nome;
}
if($request->docTutorial != null){
if($request->docTutorial != null && ($request->tipoAvaliacao == 'form')){
$docTutorial = $request->docTutorial;
$extension = $docTutorial->extension();
$path = 'docTutorial/' . $evento->id . '/';
......@@ -610,6 +639,26 @@ class EventoController extends Controller
$evento->update();
// Editando campos de avaliacao
if ($request->tipoAvaliacao == 'campos') {
if($request->has('campos')){
$camposAvaliacao->forceDelete();
// $numCampos = $camposAvaliacao->count();
// $numNovosCampos = count($request->inputField);
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();
}
}
}
$eventos = Evento::orderBy('nome')->get();
if($tipo_usuario == 'coordenador'){
......@@ -664,7 +713,7 @@ class EventoController extends Controller
$evento->delete();
return redirect()->back();
return redirect()->back()->with(['mensagem' => 'Edital deletado com sucesso!']);
}
public function detalhes(Request $request){
......
......@@ -407,7 +407,7 @@
<div class="mb-2">
<input type="radio" id="radioForm" name="tipoAvaliacao" onchange="displayTipoAvaliacao('form')"
@if((old('tipoAvaliacao') == 'form') || old('tipoAvaliaco') == "") checked @endif value="form">
@if((old('tipoAvaliacao') == 'form') || old('tipoAvaliacao') == "") checked @endif value="form">
<label for="radioForm" style="margin-right: 5px">Formulário (em pdf)</label>
<input type="radio" id="radioCampos" name="tipoAvaliacao" onchange="displayTipoAvaliacao('campos')"
......
@extends('layouts.app')
@php $i=0; $numCampos=0; @endphp
@section('content')
<div class="container">
<div class="row titulo">
......@@ -388,6 +390,240 @@
@endcomponent
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Avaliação</p>
</div>
</div>
<div class="my-2" >
<p style="font-size: 16px">Como a avaliação será realizada?</p>
</div>
<div class="mb-2">
@if (old('tipoAvaliacao') != null)
<input type="radio" id="radioForm" name="tipoAvaliacao" onchange="displayTipoAvaliacao('form')"
@if((old('tipoAvaliacao') == 'form') || old('tipoAvaliacao') == "") checked @endif value="form">
<label for="radioForm" style="margin-right: 5px">Formulário (em pdf)</label>
<input type="radio" id="radioCampos" name="tipoAvaliacao" onchange="displayTipoAvaliacao('campos')"
@if(old('tipoAvaliacao') == 'campos') checked @endif value="campos">
<label for="radioCampos" style="margin-right: 5px">Barema</label>
<input type="radio" id="radioLink" name="tipoAvaliacao" onchange="displayTipoAvaliacao('link')"
@if(old('tipoAvaliacao') == 'link') checked @endif value="link">
<label for="radioLink" style="margin-right: 5px">Link</label><br>
@else
<input type="radio" id="radioForm" name="tipoAvaliacao" onchange="displayTipoAvaliacao('form')"
@if($evento->tipoAvaliacao == 'form' || $evento->tipoAvaliacao == '') checked @endif value="form">
<label for="radioForm" style="margin-right: 5px">Formulário (em pdf)</label>
<input type="radio" id="radioCampos" name="tipoAvaliacao" onchange="displayTipoAvaliacao('campos')"
@if($evento->tipoAvaliacao == 'campos') checked @endif value="campos">
<label for="radioCampos" style="margin-right: 5px">Barema</label>
<input type="radio" id="radioLink" name="tipoAvaliacao" onchange="displayTipoAvaliacao('link')"
@if($evento->tipoAvaliacao == 'link') checked @endif value="link">
<label for="radioLink" style="margin-right: 5px">Link</label><br>
@endif
</div>
<div class="row justify-content-center" style="margin-top:10px" id="displayForm">
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Formulário para avaliador <i>ad hoc</i>:<span style="color: red; font-weight: bold;">*</span></label>
<a href="{{route('download', ['file' => $evento->formAvaliacaoExterno])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
<input type="file" accept=".pdf,.doc,.docx,.xlsx,.xls,.csv,.zip" class="form-control-file @error('pdfFormAvalExterno') is-invalid @enderror" name="pdfFormAvalExterno" value="{{ old('pdfFormAvalExterno') }}" id="pdfFormAvalExterno">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('pdfFormAvalExterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Documento auxiliar para Avaliador:</label>
@if($evento->docTutorial != null)
<a href="{{route('download', ['file' => $evento->docTutorial])}}" 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('docTutorial') is-invalid @enderror" name="docTutorial" value="{{ old('docTutorial') }}" id="docTutorial">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('docTutorial')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center" style="margin-top:10px; display: none" 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 (isset($camposAvaliacao))
@foreach ($camposAvaliacao as $campoAvaliacao)
@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 }}" />
@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 }}" />
@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 }}" />
@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">
<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">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 }}" />
@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 }}" />
@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 }}" />
@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">
<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}}]">Remover</button></td>
</tr>
@endif
@php ++$i; ++$numCampos; @endphp
@endforeach
@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]') }}" />
@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>
@endif
</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 não pode ser maior que 10.
</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 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="{{ old('link') }}">
@error('link')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
......@@ -400,9 +636,15 @@
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">PDF do Edital:<span style="color: red; font-weight: bold;">*</span></label>
<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>
@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')
......@@ -416,9 +658,15 @@
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Arquivo com os modelos de documentos do edital:</label>
<a href="{{route('download', ['file' => $evento->modeloDocumento])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
@if($evento->modeloDocumento != null)
<a href="{{route('download', ['file' => $evento->modeloDocumento])}}" 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" value="{{ old('modeloDocumento') }}" id="modeloDocumento">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
......@@ -429,41 +677,12 @@
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Formulário para avaliador <i>ad hoc</i>:<span style="color: red; font-weight: bold;">*</span></label>
<a href="{{route('download', ['file' => $evento->formAvaliacaoExterno])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
<input type="file" accept=".pdf,.doc,.docx,.xlsx,.xls,.csv,.zip" class="form-control-file @error('pdfFormAvalExterno') is-invalid @enderror" name="pdfFormAvalExterno" value="{{ old('pdfFormAvalExterno') }}" id="pdfFormAvalExterno">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('pdfFormAvalExterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Formulário de avaliação do relatório:</label>
<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>
<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>
</div>
<div class="col-sm-12">
<div class="form-group">
<label for="pdfEdital">Documento auxiliar para Avaliador:</label>
@if($evento->docTutorial != null)
<a href="{{route('download', ['file' => $evento->docTutorial])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<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
......@@ -471,15 +690,17 @@
<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('docTutorial') is-invalid @enderror" name="docTutorial" value="{{ old('docTutorial') }}" id="docTutorial">
<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('docTutorial')
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
......@@ -501,6 +722,159 @@
@endsection
@section('javascript')
<script type="text/javascript">
var i = "{{$i}}";
var numCampos = "{{$numCampos}}";
var currentOptions = {'0': ''}
$(document).ready(function() {
displayTipoAvaliacao("{{ old('tipoAvaliacao') == null ? $evento->tipoAvaliacao : old('tipoAvaliacao')}}")
if (numCampos > 1) {
for (let y = 1; y < (numCampos); y++) {
$("#displayCampos").append('<input type="checkbox" id="checkB[' + y + ']" checked name="campos[]" value="' + y + '" hidden>');
addOrdemPrioridade();
}
}
z = 0
@foreach($camposAvaliacao as $campoAvaliacao)
selectId = z
newOption = "{{$campoAvaliacao->prioridade}}"
displayPrioridades(selectId, newOption)
++z
@endforeach
});
// Adiciona campo de avaliação
$("#dynamic-ar").click(function () {
++i;
++numCampos;
$("#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>');
addOrdemPrioridade();
});
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 () {
$(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;
});
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;
}
$("#dynamicAddRemove").on('change', '.prioridade', function () {
selectId = $(this).attr('name').replace(/\D/g, "").toString();
newOption = $(this).val();
displayPrioridades(selectId, newOption);
});
$("#dynamicAddRemove").on('input', '.nota_maxima', function () {
somaNotas = 0;
$(".nota_maxima").each(function() {
valor = Number($(this).val());
if (valor != 0) {
somaNotas += valor;
}
});
$('#somaNotas').val(somaNotas);
if (somaNotas > 10) {
$('.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";
}
});
// Tipo de avaliação
function displayTipoAvaliacao(valor){
if (valor == "form"){
document.getElementById("radioForm").checked = true;
document.getElementById("radioCampos").checked = false;
document.getElementById("radioLink").checked = false;
document.getElementById("displayForm").style.display = "";
document.getElementById("displayCampos").style.display = "none";
document.getElementById("displayLink").style.display = "none";
} else if (valor == "campos"){
document.getElementById("radioForm").checked = false;
document.getElementById("radioCampos").checked = true;
document.getElementById("radioLink").checked = false;
document.getElementById("displayForm").style.display = "none";
document.getElementById("displayCampos").style.display = "inline";
document.getElementById("displayLink").style.display = "none";
} else if (valor == "link") {
document.getElementById("radioForm").checked = false;
document.getElementById("radioCampos").checked = false;
document.getElementById("radioLink").checked = true;
document.getElementById("displayForm").style.display = "none";
document.getElementById("displayCampos").style.display = "none";
document.getElementById("displayLink").style.display = "";
}
}
function defCoord(data,data2){
document.getElementById('coordenador_id').value=data;
document.getElementById('coordenador_name').value=data2;
......@@ -523,4 +897,12 @@
window.onload = showDocumentoExtra();
</script>
@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
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