ispt4.0_laravel/resources/views/livewire/articulado/select-elemental-tasks-in-wonkstation.blade.php
2024-03-25 00:09:57 +00:00

258 lines
16 KiB
PHP
Executable File

<div class="modal fade" id="modal-ViewOfices-{{ $workstation->id_workstations }}">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header bg-primary">
<h4 class="modal-title">{{ $workstation->name_workstations }}</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('workstationsAssociationTasks') }}" method="get">
{{-- Necessario passar essas 2 variaveis, para poder verificar quais as tarefas que foram ou nao selecionadas --}}
<input type="hidden" name="receiveElementalTasks"
value="{{ json_encode($receiveElementalTasks) }}">
<input type="hidden" name="receiveAllFurtherTasks" value="{{ $receiveAllFurtherTasks }}">
<div class="row">
<p class="mt-1 mr-1">Nome Posto de Trabalho : </p>
<input class="form-control col-sm-6" type="text" name="nameWorkstation"
value="{{ $workstation->nomenclature_workstation }}">
<input type="hidden" name="idWorkStation" value="{{ $workstation->id_workstations }}">
</div>
<br>
<section class="content">
<div class="container-fluid">
<div class="row">
{{-- Lista de tarefas gerais --}}
@if (count($receiveElementalTasks['geral']) > 0)
<div class="col-sm">
<div class="card card-success">
<div class="card-header clickable">
<h3 class="card-title">Tarefas Gerais</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool collapse-button"
data-card-widget="collapse"><i class="fas fa-plus"></i></button>
</div>
</div>
<div class="card-body">
@foreach ($receiveElementalTasks['geral'] as $taskId => $generalTasks)
<p>
<input type="hidden" name="generalTasks[{{ $taskId }}]"
value="off">
<input type="checkbox" value="on"
name="generalTasks[{{ $taskId }}]">
{{ $generalTasks['code'] }} - {{ $generalTasks['description'] }}
</p>
@endforeach
</div>
</div>
</div>
@endif
<div class="col-sm">
{{-- Lista de tarefas PSV --}}
@if (count($receiveElementalTasks['3']) > 0)
<div class="col-sm">
<div class="card card-primary collapsed-card">
<div class="card-header clickable">
<h3 class="card-title">
Tarefas PSV</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool collapse-button"
data-card-widget="collapse"><i class="fas fa-plus"></i>
</button>
</div>
</div>
<div class="card-body">
@foreach ($receiveElementalTasks['3'] as $taskId => $generalTasks)
<p>
<input type="hidden" name="3[{{ $taskId }}]"
value="off">
<input type="checkbox" value="on"
name="3[{{ $taskId }}]" class="taskCheckbox">
<!-- Adicione a classe aqui -->
{{ $generalTasks['code'] }} -
{{ $generalTasks['description'] }}
</p>
@endforeach
{{-- Este code funciona !!! porem por falta de tempo ainda nao foi implementado para todos as tarefas e parece que so funciona no primeiro posto de trabalho. --}}
{{-- <p>
<input type="checkbox" id="selectAll">
<label for="selectAll">Selecionar Todos</label>
</p> --}}
</div> {{-- ./card-body --}}
</div>
</div> {{-- ./col-sm-12 --}}
@endif
{{-- Lista de tarefas ISV --}}
@if (count($receiveElementalTasks['2']) > 0)
<div class="col-sm">
<div class="card card-primary collapsed-card">
<div class="card-header clickable">
<h3 class="card-title">
Tarefas ISV</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool collapse-button"
data-card-widget="collapse"><i class="fas fa-plus"></i>
</button>
</div>
</div>
<div class="card-body">
@foreach ($receiveElementalTasks['2'] as $taskId => $generalTasks)
<p>
<input type="hidden" name="2[{{ $taskId }}]"
value="off">
<input type="checkbox" value="on"
name="2[{{ $taskId }}]">
{{ $generalTasks['code'] }} -
{{ $generalTasks['description'] }}
</p>
@endforeach
</div> {{-- ./card-body --}}
</div>
</div>
@endif
{{-- Lista de tarefas CV --}}
@if (count($receiveElementalTasks['1']) > 0)
<div class="col-sm">
<div class="card card-primary collapsed-card">
<div class="card-header clickable">
<h3 class="card-title">
Tarefas CV</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool collapse-button"
data-card-widget="collapse"><i
class="fas fa-plus"></i></button>
</div>
</div>
<div class="card-body">
@foreach ($receiveElementalTasks['1'] as $taskId => $generalTasks)
<p>
<input type="hidden" name="1[{{ $taskId }}]"
value="off">
<input type="checkbox" value="on"
name="1[{{ $taskId }}]">
{{ $generalTasks['code'] }} -
{{ $generalTasks['description'] }}
</p>
@endforeach
</div> {{-- ./card-body --}}
</div>
</div>
@endif
@if (count($receiveAllFurtherTasks) > 0)
<div class="col-sm">
<div class="card card-info collapsed-card">
<div class="card-header clickable">
<h3 class="card-title">
Tarefas Complementares</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool collapse-button"
data-card-widget="collapse"><i class="fas fa-plus"></i>
</button>
</div>
</div>
<div class="card-body">
@foreach ($receiveAllFurtherTasks as $furtherTasks)
<p>
<input type="hidden"
name="FurtherTasks[{{ $furtherTasks->elemental_tasks_id }}]"
value="off">
<input type="checkbox" value="on"
name="FurtherTasks[{{ $furtherTasks->elemental_tasks_id }}]">
{{ $furtherTasks->elemental_tasks_code }} -
{{ $furtherTasks->elemental_tasks_description }}
</p>
@endforeach
</div> {{-- ./card-body --}}
</div>
</div>
@endif
</div> {{-- ./col-sm-6 --}}
</div> {{-- ./row --}}
</div>
</section>
</div>
{{-- Modal-body --}}
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fechar</button>
<input type="submit" class="btn btn-success" value="Guardar">
</div>
</form>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Quando o estado da checkbox "Selecionar Todos" mudar
document.getElementById('selectAll').addEventListener('change', function(e) {
// Define o estado de todas as checkboxes de tarefas para corresponder ao estado da checkbox "Selecionar Todos"
const allTaskCheckboxes = document.querySelectorAll('.taskCheckbox');
allTaskCheckboxes.forEach(checkbox => {
checkbox.checked = this.checked;
});
});
});
</script>
<!-- Script para abrir os card sem tem que click diretamente no icone -->
<script type="text/javascript">
$(document).ready(function() {
$('.clickable').on('click', function(e) {
// Verifica se o clique não foi no botão
if (!$(e.target).is('.collapse-button') && !$(e.target).is('.collapse-button *')) {
$(this).find('.collapse-button').trigger('click');
}
});
});
</script>
{{-- Scrip para assim que entrar na modal, ele verifica quais as tarefas ja associadas a essa Ws e mostra nas checkbox como checked --}}
<script>
$(document).ready(function() {
$('.open-modal').click(function(e) {
e.preventDefault();
var WorkstationId = $(this).data('workstation-id');
$.ajax({
url: '/api/receveTasksWorkstationPlanning/' + WorkstationId,
method: 'GET',
success: function(data) {
console.log(data.workstationsAssociationTasks);
data.workstationsAssociationTasks.forEach(function(item) {
// Seleciona o checkbox com nome "3[taskId]" e marca como selecionado
$('input[name="1[' + item.elemental_tasks_id + ']"]').prop(
'checked', true);
$('input[name="2[' + item.elemental_tasks_id + ']"]').prop(
'checked', true);
$('input[name="3[' + item.elemental_tasks_id + ']"]').prop(
'checked', true);
$('input[name="generalTasks[' + item.elemental_tasks_id +
']"]').prop('checked', true);
$('input[name="FurtherTasks[' + item.further_tasks_id +
']"]').prop('checked', true);
});
}
});
});
});
</script>