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

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

No related merge requests found
Showing with 482 additions and 51 deletions
+482 -51
......@@ -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,24 +390,56 @@
@endcomponent
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Documentos</p>
<p>Avaliação</p>
</div>
</div>
{{-- Pdf Edital --}}
<div class="row justify-content-center" style="margin-top:10px">
<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">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;" >
<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" 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')
<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>
......@@ -415,55 +449,240 @@
<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;" >
<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>
<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')
@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">
<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">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;" >
<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>
<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')
@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="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;" >
<label for="modeloDocumento">Arquivo com os modelos de documentos do edital:</label>
@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>
<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')
@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')
<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>
@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