ispt4.0_laravel/resources/views/projectsClients/workStation_3.blade.php
2024-10-24 09:41:10 +01:00

506 lines
24 KiB
PHP
Executable File

@extends('Templates/AdminLayout/AdminLayout')
@section('Main-content')
@if (session('success'))
<div class="alert alert-success" role="alert" id="alert-message-success" style="transition: opacity 1s;">
{{ session('success') }}
</div>
<script>
setTimeout(function() {
$('#alert-message-success').fadeOut('slow', function() {
$(this).remove();
});
}, 5000); // A mensagem desaparecerá após 5 segundos
</script>
@endif
@if (session('danger'))
<div class="alert alert-danger" role="alert" id="alert-message-danger" style="transition: opacity 1s;">
{{ session('danger') }}
</div>
<script>
setTimeout(function() {
$('#alert-message-danger').fadeOut('slow', function() {
$(this).remove();
});
}, 5000); // A mensagem desaparecerá após 5 segundos
</script>
@endif
@if (session('errors'))
@php
$allMissingTasks = session('errors');
@endphp
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Elementos não associados:</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body">
<div class="row">
@if (count($allMissingTasks['workstation']) > 0)
<div class="col-sm">
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Postos de Trabalho sem tarefas</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i
class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body" style="padding: 0;margin-bottom: 0%">
<ul class="list-group scrollable-list">
@foreach ($allMissingTasks['workstation'] as $workstationId => $workstationDetails)
<li class="list-group-item d-flex align-items-center" aria-current="true">
{{ $workstationDetails['name_workstations'] }}
- {{ $workstationDetails['nomenclature_workstation'] }}
</li>
@endforeach
</ul>
</div>
</div>{{-- ./card card-danger --}}
</div>
@endif
</div>{{-- ./row --}}
<div class="row">
{{-- @if (count($allMissingTasks['elemental']) > 0)
<div class="col-sm">
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Tarefas elementares não atribuidas</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i
class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body" style="padding: 0;margin-bottom: 0%">
<ul class="list-group scrollable-list">
@foreach ($allMissingTasks['elemental'] as $taskId => $taskDetails)
<li class="list-group-item d-flex align-items-center" aria-current="true">
{{ $taskDetails['code'] }}
- {{ $taskDetails['description'] }}
</li>
@endforeach
</ul>
</div>
</div><!-- ./card card-danger -->
</div>
@endif --}}
<div class="col-sm">
<form action="{{ route('removingElementalTasksFromProject') }}" method="POST">
@csrf
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
@if (count($allMissingTasks['elemental']) > 0)
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Tarefas elementares não atribuídas - (Seleciona para remover
da obra, se necessário)</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse">
<i class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body" style="padding: 0; margin-bottom: 0%">
<ul class="list-group scrollable-list">
@foreach ($allMissingTasks['elemental'] as $taskId => $taskDetails)
<li class="list-group-item d-flex justify-content-between align-items-center"
aria-current="true">
<div>
<input class="task-checkbox" type="checkbox" name="tasks[]"
value="{{ $taskId }}">
{{ $taskDetails['code'] }} - {{ $taskDetails['description'] }}
</div>
</li>
@endforeach
</ul>
</div>
<div class="card-footer">
<button type="button" class="btn btn-info btn-sm" data-toggle="tooltip"
data-placement="top"
title="Todas as tarefas selecionadas serão retiradas de execução, e consequentemente, todos os equipamentos deixarão de ter essas tarefas para realizar. Para reverter esta alteração, basta entrar nos equipamentos individualmente e adicionar a tarefa removida. Assim, apenas os equipamentos que tiverem a tarefa adicionada realizarão a mesma.">
Info
</button>
<button type="button" class="btn btn-secondary btn-sm" id="select-all">Selecionar
Todos</button>
<button type="submit" class="btn btn-primary btn-sm float-right">Submeter</button>
</div>
</div>
@endif
</form>
<script>
$(document).ready(function() {
$('#select-all').click(function() {
$('.task-checkbox').prop('checked', true);
});
// Inicializa tooltips para os botões de info
$('[data-toggle="tooltip"]').tooltip();
});
</script>
</div>
@if (count($allMissingTasks['further']) > 0)
<div class="col-sm">
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Tarefas complementares não atribuidas</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i
class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body" style="padding: 0;margin-bottom: 0%">
<ul class="list-group scrollable-list">
@foreach ($allMissingTasks['further'] as $taskId => $taskDetails)
<li class="list-group-item d-flex align-items-center" aria-current="true">
{{ $taskDetails['name'] }}
- {{ $taskDetails['description'] }}
</li>
@endforeach
</ul>
</div>
</div>{{-- ./card card-danger --}}
</div>
@endif
</div>{{-- ./row --}}
</div>
</div>
@endif
<input type="hidden" value="{{ $receiveDataCompanyProject->company_projects_id }}" id="receiveNumberProject">
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2 align-items-center">
<!-- Título da página à esquerda -->
<div class="col-sm-6">
<h1 class="text-left">{{ $receiveDataCompanyProject->company_project_description }}</h1>
</div>
<!-- Breadcrumb alinhado à direita -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item">
<a href="{{ route('viewProjectsList', ['orderProjectID' => 1]) }}">Em Planeamento</a>
</li>
<li class="breadcrumb-item active">{{ $receiveDataCompanyProject->company_project_description }}
</li>
<li class="breadcrumb-item active">3 - Criar Postos de Trabalho</li>
</ol>
</div>
</div>
</div>
</section>
{{-- ./content-header --}}
<fieldset class="content">
<div class="container-fluid">
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">3 - Criar Postos de Trabalho</h3>
</div>
<!-- ./Card-header -->
<div class="card-body">
<!-- Criar tarefa -->
{{-- <div class="card card-success">
<div class="card-header">
<h3 class="card-title">Criar Postos de Trabalho</h3>
</div>
<!-- /.card-header -->
<div class="card-body">
<div class="card ">
<div class="form-group col-md-12">
<form action="{{ route('createWorkStations') }}" method="post">
@csrf
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
<div style="display: flex; justify-content: space-between;">
<div style="display: flex; align-items: center;">
<label class="mt-3" for="inputName" style="margin-right: 10px;">
Qtd. de Postos pretendidos :
</label>
<input class="form-control mt-3 mr-2" name="numberWorkstations"
type="number" id="numberPosts">
<button class="btn btn-success mb-2 " type="submit" value="Guardar"
type="button" style="align-self: flex-end;">Criar</button>
</div>
<div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- /.card-body -->
</div> --}}
<!--/Criar tarefa-->
<div class="form-group col-md-12">
<form action="{{ route('createWorkStations') }}" method="post">
@csrf
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
<div style="display: flex; justify-content: space-between;">
<div style="display: flex; align-items: center;">
<label class="mt-3" for="selectWorkstations" style="margin-right: 10px;">
Quantos postos de trabalho pretende criar?
</label>
<select class="form-control mt-3 mr-2" name="numberWorkstations"
id="selectWorkstations">
@for ($i = 1; $i <= 10; $i++)
<option value="{{ $i }}">{{ $i }}</option>
@endfor
</select>
<button class="btn btn-success mb-2" type="submit"
style="align-self: flex-end;">Criar</button>
</div>
</div>
</form>
</div>
</div>
<!-- ./card-body -->
</div>
<!-- ./Card card-primary -->
<!-- Card Posto de Trabalho -->
<div class="card card-danger">
<div class="card-header">
<h3 class="card-title">Postos de Trabalho</h3>
</div>
<div class="card-body">
{{-- <div class="table-responsive">
<table id="workstationTable" class="table table-bordered table-striped">
<thead>
<tr>
<!-- <th>Posto de Trabalho</th> -->
<th>Nome Posto de Trabalho</th>
<th>Detalhes</th>
</tr>
</thead>
<tbody>
@foreach ($listWorkstations as $listWorkstation)
<tr>
<!-- <td>{{ $listWorkstation->name_workstations }}</td> -->
<td class="text-center">
<span>{{ $listWorkstation->nomenclature_workstation ?? '' }}</span>
</td>
<td class="text-center d-flex justify-content-around ">
<a href='#' data-toggle='modal' class="open-modal"
data-workstation-id="{{ $listWorkstation->id_workstations }}"
data-target='#modal-ViewOfices-{{ $listWorkstation->id_workstations }}'>
<i class='fa-solid fa-edit text-primary'></i>
</a>
<a href="#" data-toggle="modal"
data-target="#modal-remover-{{ $listWorkstation->id_workstations }}">
<i class="fa-solid fa-trash-alt text-danger"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div> --}}
{{-- <table id="TableWorkstation" class="table table-bordered table-striped">
<thead>
<tr>
<th>Postos de Trabalho</th>
<th>Nome Posto de Trabalho</th>
<th>Tarefas elementares</th>
<th>Acções</th>
</tr>
</thead>
</table> --}}
<table id="TablePreparedProjectWorkstation" class="table table-bordered table-striped">
<thead>
<tr>
<th>Postos de Trabalho</th>
<th>Nome do Posto de Trabalho</th>
<th>Tarefas Elementares</th>
</tr>
</thead>
</table>
</div>
<!-- /.card-body -->
</div>
<!-- ./Card Posto de Trabalho -->
<a href="{{ route('articulated_2', ['projectID' => $numberProject]) }}"
class="btn btn-primary previous float-left mb-3">Articulado</a>
<form action="{{ route('finishCreatingProject', ['numberProject' => $numberProject]) }}">
@csrf
<input type="submit" class="btn btn-success previous float-right mb-3" value="Concluir">
</form>
</div>
{{-- ./container-fluid --}}
</fieldset>
{{-- ./content --}}
@foreach ($listWorkstations as $listWorkstation)
@livewire('articulado.select-elemental-tasks-in-wonkstation', ['workstation' => $listWorkstation, 'key' => $listWorkstation->id_workstations])
{{-- modal-remover --}}
<div class="modal fade" id="modal-remover-{{ $listWorkstation->id_workstations }}">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-primary">
<h4 class="modal-title">Remover Posto {{ $listWorkstation->name_workstations }} </h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">x</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('deleteWorkstation', $listWorkstation->name_workstations) }}"
method="POST">
@csrf
@method('DELETE')
<p>Deseja realmente remover o Posto de Trabalho : {{ $listWorkstation->name_workstations }}?
</p>
<input class="btn btn-danger" type="submit" value="Remover">
</form>
</div>
</div>
</div>
</div>
{{-- ./modal-remover --}}
@endforeach
{{-- <script type="Text/javascript">
$(document).ready(function() {
$('#TablePreparedProjectWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val(),
type: 'GET',
data: function(d){
d.typePage = 'workStation';
}
},
columns: [{
data: 'name_workstations',
name: 'name_workstations'
},
{
data: 'nomenclature_workstation',
name: 'nomenclature_workstation'
},
{
data: 'workstations_Association_Tasks',
name: 'workstations_Association_Tasks'
}
]
})
})
</script> --}}
<script type="Text/javascript">
$(document).ready(function() {
$('#TablePreparedProjectWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val(),
type: 'GET',
data: function(d) {
d.typePage = 'workStation'; // Passa o valor de 'typePage' na requisição
}
},
columns: [
{ data: 'name_workstations', name: 'name_workstations' },
{ data: 'nomenclature_workstation', name: 'nomenclature_workstation' },
{ data: 'workstations_Association_Tasks', name: 'workstations_Association_Tasks' }
]
});
});
</script>
@endsection
{{-- <script type="Text/javascript">
$(document).ready(function(){
$('#TableWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val()
},
columns: [
{
data: 'name_workstations',
name: 'name_workstations'
},
{
data: 'nomenclature_workstation',
name: 'nomenclature_workstation'
},
{
data: 'workstations_Association_Tasks',
name: 'workstations_Association_Tasks'
},
// {
// data: 'action',
// name: 'action',
// orderable: false,
// searchable: false
// },
],
})
})
</script> --}}
@section('scriptsTemplateAdmin')
<script>
$(function() {
$("#workstationTable").DataTable({
"responsive": true,
"lengthChange": false,
"autoWidth": false,
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
}).buttons().container().appendTo('#workstationTable_wrapper .col-md-6:eq(0)');
});
</script>
@endsection