adjustments in parts of the code and implementation of the workstations
This commit is contained in:
parent
d83552e106
commit
4e737a48bd
|
|
@ -18,12 +18,224 @@
|
||||||
use App\Models\PendingEquipment;
|
use App\Models\PendingEquipment;
|
||||||
use App\Models\AmbitsEquipment;
|
use App\Models\AmbitsEquipment;
|
||||||
use App\Models\EquipmentAssociationAmbit;
|
use App\Models\EquipmentAssociationAmbit;
|
||||||
|
use App\Models\ConstructionWorkstation;
|
||||||
|
use App\Models\OrderEquipmentTasks;
|
||||||
|
use App\Models\FurtherTasks;
|
||||||
|
use App\Models\WorkstationsAssociationTasks;
|
||||||
|
|
||||||
|
|
||||||
class CreateProjectController extends Controller
|
class CreateProjectController extends Controller
|
||||||
{
|
{
|
||||||
|
public function deleteWorkstation($name)
|
||||||
|
{
|
||||||
|
|
||||||
|
$workstation = ConstructionWorkstation::where('name_workstations', $name)->first();
|
||||||
|
if ($workstation) {
|
||||||
|
$workstation->delete();
|
||||||
|
return back()->with('success', 'Posto de Trabalho removido com sucesso!');
|
||||||
|
}
|
||||||
|
return back()->with('danger', 'Posto de Trabalho não encontrado!');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function AddNomenclatureWorkstation(Request $request)
|
||||||
|
{
|
||||||
|
foreach ($request->nameWorkstations as $key => $value) {
|
||||||
|
// Procurar a Workstation pelo ID
|
||||||
|
$workstation = ConstructionWorkstation::where('name_workstations', $key)
|
||||||
|
->first();
|
||||||
|
if ($workstation) {
|
||||||
|
// Atualizar o valor do campo nomenclature_workstation
|
||||||
|
$workstation->nomenclature_workstation = $value;
|
||||||
|
$workstation->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Redirecionar de volta com uma mensagem de sucesso
|
||||||
|
return back()->with('success', 'Nome da estação de trabalho atualizado com sucesso!');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function removeProjectEquipment(Request $request)
|
||||||
|
{
|
||||||
|
|
||||||
|
$equipment = Equipment::find($request->EquipmentID);
|
||||||
|
|
||||||
|
if ($request->removalType == 'total') {
|
||||||
|
$equipment->delete();
|
||||||
|
|
||||||
|
return back()->with('success', 'Equipamento Excluido com sucesso!');
|
||||||
|
} else
|
||||||
|
$equipment->company_projects_id = null;
|
||||||
|
$equipment->save();
|
||||||
|
|
||||||
|
return back()->with('success', 'Equipamento retirado da obra !');
|
||||||
|
}
|
||||||
|
public function EditEquipmentsProjects(Request $request)
|
||||||
|
{
|
||||||
|
// dd($request);
|
||||||
|
// Localiza o equipment pelo numberProject
|
||||||
|
$equipment = Equipment::find($request->equipmentId);
|
||||||
|
|
||||||
|
// Atualiza os campos
|
||||||
|
$equipment->equipment_tag = $request->tag;
|
||||||
|
$equipment->equipment_description = $request->equipmentDescription;
|
||||||
|
$equipment->equipment_serial_number = $request->serialNumberEquipment;
|
||||||
|
$equipment->equipment_brand = $request->equipmentBrand;
|
||||||
|
$equipment->equipment_model = $request->equipmentModel;
|
||||||
|
|
||||||
|
$equipment->save();
|
||||||
|
|
||||||
|
if ($request->input('attributes')) {
|
||||||
|
foreach ($request->input('attributes') as $key => $value) {
|
||||||
|
// Verifica se o valor é null e a chave é um número (correspondendo aos general_attributes_equipment_id)
|
||||||
|
if ($value == null && is_numeric($key)) {
|
||||||
|
// Procura o registro relevante em SpecificAttributesEquipmentType
|
||||||
|
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId)
|
||||||
|
->where('general_attributes_equipment_id', $key)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
// Se o registro existir, o deleta
|
||||||
|
if ($specificAttributes) {
|
||||||
|
$specificAttributes->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Se o valor não for null, atualiza ou cria um novo registro
|
||||||
|
elseif ($value !== null && is_numeric($key)) {
|
||||||
|
|
||||||
|
// Procura o registro relevante em SpecificAttributesEquipmentType
|
||||||
|
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId)
|
||||||
|
->where('general_attributes_equipment_id', $key)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
// Se o registro existir, atualiza o valor
|
||||||
|
if ($specificAttributes) {
|
||||||
|
$specificAttributes->specific_attributes_value = $value;
|
||||||
|
$specificAttributes->save();
|
||||||
|
}
|
||||||
|
// Se não existir, cria um novo
|
||||||
|
else {
|
||||||
|
// Cria um novo registro em SpecificAttributesEquipmentType
|
||||||
|
$specificAttributes = new SpecificAttributesEquipmentType();
|
||||||
|
$specificAttributes->equipment_id = $request->equipmentId;
|
||||||
|
$specificAttributes->equipment_type_id = $equipment->equipment_type_id;
|
||||||
|
$specificAttributes->general_attributes_equipment_id = $key;
|
||||||
|
$specificAttributes->specific_attributes_value = $value;
|
||||||
|
$specificAttributes->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$executionOrder = 1; // Inicia a contagem da ordem de execução
|
||||||
|
|
||||||
|
foreach ($request->input('ordemTasks') as $key => $value) {
|
||||||
|
// Procura o registro relevante em OrderEquipmentTasks
|
||||||
|
$orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
|
||||||
|
->where('elemental_tasks_id', $key)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
// Se o valor é 'on'
|
||||||
|
if ($value === "on") {
|
||||||
|
// Se o registro não existir, cria um novo
|
||||||
|
if (!$orderEquipmentTask) {
|
||||||
|
$orderEquipmentTask = new OrderEquipmentTasks();
|
||||||
|
$orderEquipmentTask->equipment_id = $request->equipmentId;
|
||||||
|
$orderEquipmentTask->elemental_tasks_id = $key;
|
||||||
|
}
|
||||||
|
// Atualiza a ordem de execução independentemente do registro ser novo ou não
|
||||||
|
$orderEquipmentTask->execution_order = $executionOrder;
|
||||||
|
$orderEquipmentTask->save();
|
||||||
|
|
||||||
|
// Incrementa a ordem de execução para o próximo 'on'
|
||||||
|
$executionOrder++;
|
||||||
|
}
|
||||||
|
// Se o valor é 'off' e o registro existir, o deleta
|
||||||
|
elseif ($value === "off" && $orderEquipmentTask) {
|
||||||
|
$orderEquipmentTask->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Atualiza a ordem de execução dos restantes 'on' após as remoções
|
||||||
|
$remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
|
||||||
|
->where('execution_order', '>=', $executionOrder)
|
||||||
|
->orderBy('execution_order', 'asc')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
foreach ($remainingOrderEquipmentTasks as $orderEquipmentTask) {
|
||||||
|
$orderEquipmentTask->execution_order = $executionOrder;
|
||||||
|
$orderEquipmentTask->save();
|
||||||
|
$executionOrder++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obtém todas as tarefas na ordem correta
|
||||||
|
$orderTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
|
||||||
|
->orderBy('execution_order', 'asc')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
// Cria uma matriz associativa para armazenar o elemental_tasks_id e o execution_order
|
||||||
|
$taskExecutionOrders = [];
|
||||||
|
foreach ($orderTasks as $task) {
|
||||||
|
$taskExecutionOrders[$task->elemental_tasks_id] = $task->execution_order;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Retorna uma resposta
|
||||||
|
return redirect()->route('test2', ['id' => $request->numberProject])
|
||||||
|
->with('success', 'Equipamento ' . $equipment->equipment_tag . ' Editado com Sucesso!!!')
|
||||||
|
->with('taskExecutionOrders', $taskExecutionOrders);
|
||||||
|
}
|
||||||
|
public function showJson($id)
|
||||||
|
{
|
||||||
|
$attributes = SpecificAttributesEquipmentType::where('equipment_id', $id)->get();
|
||||||
|
$OrdemTasks = OrderEquipmentTasks::where('equipment_id', $id)->get();
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'attributes' => $attributes,
|
||||||
|
'OrdemTasks' => $OrdemTasks
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function createWorkStations(Request $request)
|
||||||
|
{
|
||||||
|
// Pega o número de estações de trabalho do request
|
||||||
|
$numberWorkstations = $request->numberWorkstations;
|
||||||
|
|
||||||
|
// Pega o número do projeto do request
|
||||||
|
$numberProject = $request->numberProject;
|
||||||
|
|
||||||
|
$listWorkstations = ConstructionWorkstation::where('company_projects_id', $numberProject)->get();
|
||||||
|
|
||||||
|
// Pega o último elemento da lista
|
||||||
|
$lastWorkstation = $listWorkstations->last();
|
||||||
|
|
||||||
|
// Se houver uma estação de trabalho anterior, extrai o número dela
|
||||||
|
$startNumber = 1;
|
||||||
|
if ($lastWorkstation) {
|
||||||
|
$parts = explode('-', $lastWorkstation->name_workstations);
|
||||||
|
$startNumber = intval(str_replace('workstation', '', $parts[0])) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop para criar as estações de trabalho
|
||||||
|
for ($i = $startNumber; $i < $startNumber + $numberWorkstations; $i++) {
|
||||||
|
$workstation = new ConstructionWorkstation();
|
||||||
|
$workstation->name_workstations = 'workstation' . $i . '-' . $numberProject;
|
||||||
|
$workstation->company_projects_id = $numberProject;
|
||||||
|
$workstation->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Redireciona para onde você quiser após a criação das workstations
|
||||||
|
return redirect()->route('test3', ['id' => $request->numberProject])
|
||||||
|
->with('success', $numberWorkstations . ' Postos de Trabalho criados !!!')
|
||||||
|
->with('listWorkstations', $listWorkstations);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Funcao apenas para retornar os dados necessarios para a view criar uma Obra.
|
// Funcao apenas para retornar os dados necessarios para a view criar uma Obra.
|
||||||
public function createProjectForStep1(){
|
public function createProjectForStep1()
|
||||||
|
{
|
||||||
$companies = User::where('type_users', 3)->get();
|
$companies = User::where('type_users', 3)->get();
|
||||||
|
|
||||||
// Apos terminar nao vai ficar step 1
|
// Apos terminar nao vai ficar step 1
|
||||||
|
|
@ -32,37 +244,39 @@ public function createProjectForStep1(){
|
||||||
// Progress Bar
|
// Progress Bar
|
||||||
//Devolve para a primeira para na descricao do projecto apenas user com ID 3, quer dizer que apenas as "empresas"
|
//Devolve para a primeira para na descricao do projecto apenas user com ID 3, quer dizer que apenas as "empresas"
|
||||||
public function showStep1($company_projects_id)
|
public function showStep1($company_projects_id)
|
||||||
{
|
{
|
||||||
$projects = CompanyProject::find($company_projects_id);
|
$projects = CompanyProject::find($company_projects_id);
|
||||||
$companies = User::where('type_users', 3)->get();
|
$companies = User::where('type_users', 3)->get();
|
||||||
|
|
||||||
return view('projectsClients/projectDetails_1', ['step' => 1], ['companies' => $companies])
|
return view('projectsClients/projectDetails_1', ['step' => 1], ['companies' => $companies])
|
||||||
->with('projects',$projects);
|
->with('projects', $projects);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se forem alterados dados dos Detalhes da Obra, vai ser alterado
|
// Se forem alterados dados dos Detalhes da Obra, vai ser alterado
|
||||||
public function EditprocessStep1(Request $request){
|
public function EditprocessStep1(Request $request)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removePendingEquipment($id){
|
public function removePendingEquipment($id)
|
||||||
|
{
|
||||||
$equipment = PendingEquipment::findOrFail($id);
|
$equipment = PendingEquipment::findOrFail($id);
|
||||||
$equipment->delete();
|
$equipment->delete();
|
||||||
return back()->with('success', 'Equipamento pendente removido com sucesso!');
|
return back()->with('success', 'Equipamento pendente removido com sucesso!');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function CreateNewEquipmentFromPendingEquipment(Request $request, $id){
|
public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
|
||||||
|
{
|
||||||
$checkPendingEquipment = PendingEquipment::findOrFail($id);
|
$checkPendingEquipment = PendingEquipment::findOrFail($id);
|
||||||
|
|
||||||
$counter = 2;
|
$counter = 2;
|
||||||
$baseTag = $checkPendingEquipment->pending_equipment_tag;
|
$baseTag = $checkPendingEquipment->pending_equipment_tag;
|
||||||
$baseDescription = $checkPendingEquipment->pending_equipment_description;
|
$baseDescription = $checkPendingEquipment->pending_equipment_description;
|
||||||
|
|
||||||
// Ciclo para verificar se ja existe um equipamento com o mesmo nome se existir vai criando com o contador iniciado a partir de (2)
|
// Ciclo para verificar se ja existe um equipamento com o mesmo nome se existir vai criando com o contador iniciado a partir de (2)
|
||||||
while (Equipment::where('equipment_tag', $baseTag . "({$counter})")->orWhere('equipment_description', $baseDescription . "({$counter})")->exists()) {
|
while (Equipment::where('equipment_tag', $baseTag . "({$counter})")->orWhere('equipment_description', $baseDescription . "({$counter})")->exists()) {
|
||||||
$counter++;
|
$counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$newEquipment = new Equipment;
|
$newEquipment = new Equipment;
|
||||||
$newEquipment->unit_id = $checkPendingEquipment->pending_equipment_unit_id;
|
$newEquipment->unit_id = $checkPendingEquipment->pending_equipment_unit_id;
|
||||||
$newEquipment->equipment_type_id = $checkPendingEquipment->pending_equipment_type_id;
|
$newEquipment->equipment_type_id = $checkPendingEquipment->pending_equipment_type_id;
|
||||||
|
|
@ -84,9 +298,9 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id){
|
||||||
|
|
||||||
$checkPendingEquipment->delete();
|
$checkPendingEquipment->delete();
|
||||||
|
|
||||||
return back()->with('success', 'Equipamento '.$newEquipment->equipment_tag.' criado com sucesso');
|
return back()->with('success', 'Equipamento ' . $newEquipment->equipment_tag . ' criado com sucesso');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function processStep1(Request $request)
|
public function processStep1(Request $request)
|
||||||
{
|
{
|
||||||
|
|
@ -170,8 +384,8 @@ public function showStep2($company_projects_id)
|
||||||
$listEquipmentsProjects = Equipment::with(['unit', 'equipmentType', 'equipmentAssociationAmbit.ambitsEquipment', 'specificAttributes' => function ($query) {
|
$listEquipmentsProjects = Equipment::with(['unit', 'equipmentType', 'equipmentAssociationAmbit.ambitsEquipment', 'specificAttributes' => function ($query) {
|
||||||
$query->orderBy('specific_attributes_value', 'asc');
|
$query->orderBy('specific_attributes_value', 'asc');
|
||||||
}])
|
}])
|
||||||
->where('company_projects_id', $company_projects_id)
|
->where('company_projects_id', $company_projects_id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $numberProject)->get();
|
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $numberProject)->get();
|
||||||
|
|
||||||
|
|
@ -251,7 +465,7 @@ public function createEquipmentManual(Request $request)
|
||||||
// ID do equipamento criado
|
// ID do equipamento criado
|
||||||
$equipmentID = $newEquipmentProject->equipment_id;
|
$equipmentID = $newEquipmentProject->equipment_id;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Verifica os campos do Card_do tipo de valvula selecionado (Ex: psv_card) e de acordo com os campos preenchidos se for de atributos especificos, ele compara o 'name' dos inputs com os 'general_attributes_equipment_description' da tabela : GeneralAttributesEquipment e associa
|
// Verifica os campos do Card_do tipo de valvula selecionado (Ex: psv_card) e de acordo com os campos preenchidos se for de atributos especificos, ele compara o 'name' dos inputs com os 'general_attributes_equipment_description' da tabela : GeneralAttributesEquipment e associa
|
||||||
$checkAtributs = GeneralAttributesEquipment::whereIn('general_attributes_equipment_description', array_keys($request->all()))
|
$checkAtributs = GeneralAttributesEquipment::whereIn('general_attributes_equipment_description', array_keys($request->all()))
|
||||||
|
|
@ -274,7 +488,7 @@ public function createEquipmentManual(Request $request)
|
||||||
$AddAtributsEquipments = new SpecificAttributesEquipmentType;
|
$AddAtributsEquipments = new SpecificAttributesEquipmentType;
|
||||||
$AddAtributsEquipments->equipment_id = $equipmentID;
|
$AddAtributsEquipments->equipment_id = $equipmentID;
|
||||||
$AddAtributsEquipments->equipment_type_id = $request->equipmentTypeId;
|
$AddAtributsEquipments->equipment_type_id = $request->equipmentTypeId;
|
||||||
$AddAtributsEquipments->specific_attributes_equipment_type_id = $receivesAssociationAttribute['general_attributes_equipment_id'];
|
$AddAtributsEquipments->general_attributes_equipment_id = $receivesAssociationAttribute['general_attributes_equipment_id'];
|
||||||
$AddAtributsEquipments->specific_attributes_value = $receivesAssociationAttribute['value'];
|
$AddAtributsEquipments->specific_attributes_value = $receivesAssociationAttribute['value'];
|
||||||
$AddAtributsEquipments->save();
|
$AddAtributsEquipments->save();
|
||||||
}
|
}
|
||||||
|
|
@ -291,7 +505,8 @@ public function createEquipmentManual(Request $request)
|
||||||
->with('success', 'Equipamento criado com sucesso')
|
->with('success', 'Equipamento criado com sucesso')
|
||||||
->with('listEquipmentsProjects', $listEquipmentsProjects);
|
->with('listEquipmentsProjects', $listEquipmentsProjects);
|
||||||
}
|
}
|
||||||
public function receiveIdEquipment(Equipment $equipment){
|
public function receiveIdEquipment(Equipment $equipment)
|
||||||
|
{
|
||||||
// return response()->json($equipment);
|
// return response()->json($equipment);
|
||||||
return view('projectsClients/articulated_2', ['equipment' => $equipment]);
|
return view('projectsClients/articulated_2', ['equipment' => $equipment]);
|
||||||
}
|
}
|
||||||
|
|
@ -422,7 +637,7 @@ public function processStep2(Request $request)
|
||||||
|
|
||||||
$specificAttribute->equipment_id = $receveEquipment_ID;
|
$specificAttribute->equipment_id = $receveEquipment_ID;
|
||||||
$specificAttribute->equipment_type_id = $receveEquipament_type_ID;
|
$specificAttribute->equipment_type_id = $receveEquipament_type_ID;
|
||||||
$specificAttribute->specific_attributes_equipment_type_id = $generalAttribute->general_attributes_equipment_id;
|
$specificAttribute->general_attributes_equipment_id = $generalAttribute->general_attributes_equipment_id;
|
||||||
// Atribui o valor da chave correspondente em $datas
|
// Atribui o valor da chave correspondente em $datas
|
||||||
$specificAttribute->specific_attributes_value = $datas[$generalAttribute->general_attributes_equipment_description];
|
$specificAttribute->specific_attributes_value = $datas[$generalAttribute->general_attributes_equipment_description];
|
||||||
|
|
||||||
|
|
@ -453,14 +668,46 @@ public function processStep2(Request $request)
|
||||||
return redirect('/test3');
|
return redirect('/test3');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showStep3()
|
public function showStep3($company_projects_id)
|
||||||
{
|
{
|
||||||
// Verifique se a etapa 2 foi concluída
|
//Sempre que entrar na view ja verifica se existe 'Workstations' preparadas para esta obra.
|
||||||
// if (!session('form_data.step2')) {
|
$listWorkstations = ConstructionWorkstation::where('company_projects_id', $company_projects_id)->get();
|
||||||
// return redirect('/test2');
|
$equipments = Equipment::where('company_projects_id', $company_projects_id)
|
||||||
// }
|
->get();
|
||||||
|
|
||||||
return view('projectsClients/workStation_3', ['step' => 3]);
|
$futherTasks = FurtherTasks::where('company_projects_id', $company_projects_id)
|
||||||
|
->get();
|
||||||
|
|
||||||
|
return view('projectsClients/workStation_3', ['step' => 3, 'numberProject' => $company_projects_id])
|
||||||
|
->with('listWorkstations', $listWorkstations)
|
||||||
|
->with('equipments', $equipments)
|
||||||
|
->with('futherTasks', $futherTasks);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function workstationsAssociationTasks(Request $request)
|
||||||
|
{
|
||||||
|
$workStation = ConstructionWorkstation::where('id_workstations', $request->idWorkStation)->first();
|
||||||
|
|
||||||
|
if ($workStation) {
|
||||||
|
$workStation->nomenclature_workstation = $request->nameWorkstation;
|
||||||
|
$workStation->save();
|
||||||
|
}
|
||||||
|
// então, iteramos sobre as três listas de tarefas e as associamos à estação de trabalho
|
||||||
|
$taskTypes = ['generalTasks', 'PsvTasks', 'CvTasks'];
|
||||||
|
|
||||||
|
foreach ($taskTypes as $taskType) {
|
||||||
|
if (isset($request->$taskType)) {
|
||||||
|
foreach ($request->$taskType as $taskId) {
|
||||||
|
$taskAssociation = new WorkstationsAssociationTasks;
|
||||||
|
$taskAssociation->id_workstations = $workStation->id_workstations;
|
||||||
|
$taskAssociation->elemental_tasks_id = $taskId; // assumindo que $taskId é o id da tarefa
|
||||||
|
$taskAssociation->company_projects_id = $workStation->company_projects_id;
|
||||||
|
$taskAssociation->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Redirecionar de volta com uma mensagem de sucesso
|
||||||
|
return back()->with('success', 'Posto de trabalho : '.$workStation->name_workstations.' atualizado com sucesso!');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function processStep3(Request $request)
|
public function processStep3(Request $request)
|
||||||
|
|
@ -599,6 +846,12 @@ public function getAmbits($equipmentType)
|
||||||
return response()->json($ambits);
|
return response()->json($ambits);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getAttributes($id)
|
||||||
|
{
|
||||||
|
$equipment = Equipment::with('specificAttributes')->find($id);
|
||||||
|
return response()->json($equipment->specificAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
// public function createEquipamentProject(Request $request)
|
// public function createEquipamentProject(Request $request)
|
||||||
// {
|
// {
|
||||||
// $file = $request->file('documento');
|
// $file = $request->file('documento');
|
||||||
|
|
@ -674,7 +927,7 @@ public function getAmbits($equipmentType)
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// public function createEquipamentProject(Request $request)
|
// public function createEquipamentProject(Request $request)
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public function ManageAssets()
|
||||||
->join('users', 'plants.user_id', '=', 'users.user_id')
|
->join('users', 'plants.user_id', '=', 'users.user_id')
|
||||||
->select('plants.*', 'units.unit_name', 'users.user_name as user_name')
|
->select('plants.*', 'units.unit_name', 'users.user_name as user_name')
|
||||||
->get();
|
->get();
|
||||||
|
$equipments = Equipment::all();
|
||||||
// $equipaments = DB::table('equipaments')
|
// $equipaments = DB::table('equipaments')
|
||||||
// ->join('factories','equipaments.factory_id', '=', 'factories.factories_id')
|
// ->join('factories','equipaments.factory_id', '=', 'factories.factories_id')
|
||||||
// ->join('equipament_types', 'equipaments.equipament_type_id', '=' , 'equipament_types.equipament_type_id')
|
// ->join('equipament_types', 'equipaments.equipament_type_id', '=' , 'equipament_types.equipament_type_id')
|
||||||
|
|
@ -36,7 +36,7 @@ public function ManageAssets()
|
||||||
// ->get();
|
// ->get();
|
||||||
|
|
||||||
// return view('Admin/DataManagement/manageassets', compact('units','equipaments'));
|
// return view('Admin/DataManagement/manageassets', compact('units','equipaments'));
|
||||||
return view('Admin/DataManagement/manageassets', compact('units'));
|
return view('Admin/DataManagement/manageassets', compact('units','equipments'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showUnit($id)
|
public function showUnit($id)
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ public static function authenticateAndRedirect(Request $request)
|
||||||
|
|
||||||
public function ListCompanies()
|
public function ListCompanies()
|
||||||
{
|
{
|
||||||
$users = User::with('userType')->where('user_type', '=', 3)->get();
|
$users = User::with('userType')->where('type_users', '=', 3)->get();
|
||||||
|
|
||||||
return view('Admin.CrudUsers.listCompany', compact('users'));
|
return view('Admin.CrudUsers.listCompany', compact('users'));
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ public function ListCompanies()
|
||||||
//Busca Todos os utilizadores Exeto as 'Empresas'
|
//Busca Todos os utilizadores Exeto as 'Empresas'
|
||||||
public function ListUsers()
|
public function ListUsers()
|
||||||
{
|
{
|
||||||
$users = User::with('userType')->where('user_type', '<>', 3)->get();
|
$users = User::with('userType')->where('type_users', '<>', 3)->get();
|
||||||
|
|
||||||
return view('Admin.CrudUsers.listUsers', compact('users'));
|
return view('Admin.CrudUsers.listUsers', compact('users'));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
19
app/Models/ConstructionWorkstation.php
Normal file
19
app/Models/ConstructionWorkstation.php
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ConstructionWorkstation extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $table = 'construction_workstations';
|
||||||
|
|
||||||
|
protected $primaryKey = 'id_workstations';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
19
app/Models/FurtherTasks.php
Normal file
19
app/Models/FurtherTasks.php
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class FurtherTasks extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $table = 'further_tasks';
|
||||||
|
|
||||||
|
protected $primaryKey = 'further_tasks_id';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
14
app/Models/OrderEquipmentTasks.php
Normal file
14
app/Models/OrderEquipmentTasks.php
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class OrderEquipmentTasks extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $table = 'ordered_equipment_tasks';
|
||||||
|
}
|
||||||
16
app/Models/WorkstationsAssociationTasks.php
Normal file
16
app/Models/WorkstationsAssociationTasks.php
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class WorkstationsAssociationTasks extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $table = 'workstations_association_tasks';
|
||||||
|
|
||||||
|
}
|
||||||
BIN
public/img/logo4.0.jpg
Normal file
BIN
public/img/logo4.0.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 290 KiB |
File diff suppressed because it is too large
Load Diff
276
resources/views/LinksTemplate.blade.php
Normal file
276
resources/views/LinksTemplate.blade.php
Normal file
|
|
@ -0,0 +1,276 @@
|
||||||
|
<!-- Google Font: Source Sans Pro -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
<!-- Font Awesome -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
|
||||||
|
<!-- Font Awesome 6.1.1 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
|
||||||
|
<!-- Ionicons -->
|
||||||
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
|
{{-- <!-- Tempusdominus Bootstrap 4 --> Serve para trabelhar com data e hora no bootstrap , ver se necessario! --}}
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css') }}">
|
||||||
|
{{-- <!-- iCheck -->Para estilzar (checkbox) ver se necessario --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css') }}">
|
||||||
|
{{-- <!-- JQVMap -->EStudar este Plugins --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css') }}">
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css') }}">
|
||||||
|
{{-- <!-- Daterange picker --> Se você precisa de uma interface onde os usuários possam selecionar uma série de datas, como para uma reserva de hotel, por exemplo,--}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
|
||||||
|
{{-- <!-- summernote -->Estudar --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
|
||||||
|
{{-- <!-- jQuery UI -->Criacao de interface, Estudar --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jquery-ui/jquery-ui.css') }}">
|
||||||
|
{{-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> --}}
|
||||||
|
|
||||||
|
{{-- DataTables --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables/jquery.dataTables.min.js')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')}}">
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')}}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||||
|
<!-- DataTables CSS -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">
|
||||||
|
<!-- DataTables JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
||||||
|
<!-- DataTables Bootstrap 4 JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap4.min.js"></script>
|
||||||
|
<!-- DataTables Buttons JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/buttons/1.7.1/js/dataTables.buttons.min.js"></script>
|
||||||
|
|
||||||
|
{{-- Parte de Cima - Header --}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{-- PARTE DE baixo no BODY --}}
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
|
||||||
|
{{-- DataTables --}}
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')}}"></script>
|
||||||
|
|
||||||
|
<!-- Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- ChartJS -->
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- Sparkline -->
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- jQuery Knob Chart -->
|
||||||
|
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{asset('plugins/moment/moment.min.js')}}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
||||||
|
<!-- Summernote -->
|
||||||
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- jQuery UI 1.11.4 -->
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Segunda Versao : --}}
|
||||||
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
|
||||||
|
<!-- Google Font: Source Sans Pro -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
<!-- Font Awesome -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
|
||||||
|
<!-- Font Awesome 6.1.1 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css') }}">
|
||||||
|
|
||||||
|
|
||||||
|
{{-- DataTables --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables/jquery.dataTables.min.js')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')}}">
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Parde de Baixo antes de fechar body --}}
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{ asset('plugins/moment/moment.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
|
||||||
|
{{-- DataTables --}}
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
|
||||||
|
|
||||||
|
{{-- Plugins-Scripts --}}
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{-- FUNCIONA REAL --}}
|
||||||
|
{{-- PARTE DE CIMA --}}
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Google Font: Source Sans Pro -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Font Awesome 6.1.1 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Ionicons -->
|
||||||
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')}}">
|
||||||
|
<!-- iCheck -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css')}}">
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
|
||||||
|
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
|
||||||
|
|
||||||
|
<!-- summernote -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css')}}">
|
||||||
|
|
||||||
|
<!-- daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
|
||||||
|
|
||||||
|
<!-- DataTables -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Parte de Baixo --}}
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
<!-- jQuery UI 1.11.4 -->
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
<!-- Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
<!-- ChartJS -->
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
<!-- Sparkline -->
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
<!-- jQuery Knob Chart -->
|
||||||
|
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{ asset('plugins/moment/moment.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
||||||
|
<!-- Summernote -->
|
||||||
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
|
<!-- AdminLTE for demo purposes -->
|
||||||
|
{{-- <script src="{{ asset('js/demo.js') }}"></script>
|
||||||
|
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
||||||
|
<script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
|
||||||
|
<!-- jQuery Script fadeIn fadeOut for the dropdown -->
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
|
||||||
|
|
@ -4,18 +4,19 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
|
|
||||||
<title>ISPT 4.0</title>
|
|
||||||
|
|
||||||
<!-- Google Font: Source Sans Pro -->
|
<!-- Google Font: Source Sans Pro -->
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
|
||||||
<!-- Font Awesome -->
|
<!-- Font Awesome -->
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
|
||||||
<!-- Font Awesome 6.1.1 -->
|
<!-- Font Awesome 6.1.1 -->
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
|
||||||
|
|
||||||
<!-- Ionicons -->
|
<!-- Ionicons -->
|
||||||
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
<!-- Tempusdominus Bootstrap 4 -->
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
|
@ -36,32 +37,41 @@
|
||||||
<!-- jQuery UI -->
|
<!-- jQuery UI -->
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/jquery-ui/jquery-ui.css') }}">
|
<link rel="stylesheet" href="{{ asset('plugins/jquery-ui/jquery-ui.css') }}">
|
||||||
|
|
||||||
{{-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> --}}
|
<!-- daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
|
||||||
{{-- DataTables --}}
|
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
|
||||||
|
|
||||||
|
<!-- DataTables -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css') }}">
|
||||||
|
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables/jquery.dataTables.min.js')}}">
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css') }}">
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')}}">
|
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')}}">
|
|
||||||
|
|
||||||
<!-- jQuery -->
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css') }}">
|
||||||
|
|
||||||
<!-- jQuery -->
|
|
||||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
||||||
<!-- DataTables CSS -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">
|
|
||||||
<!-- DataTables JavaScript -->
|
|
||||||
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
|
||||||
<!-- DataTables Bootstrap 4 JavaScript -->
|
|
||||||
<script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap4.min.js"></script>
|
|
||||||
<!-- DataTables Buttons JavaScript -->
|
|
||||||
<script src="https://cdn.datatables.net/buttons/1.7.1/js/dataTables.buttons.min.js"></script>
|
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||||
|
<!-- DataTables CSS -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">
|
||||||
|
<!-- DataTables JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
||||||
|
<!-- DataTables Bootstrap 4 JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap4.min.js"></script>
|
||||||
|
<!-- DataTables Buttons JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/buttons/1.7.1/js/dataTables.buttons.min.js"></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.spin {
|
||||||
|
animation: spin 1s infinite linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
from {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
@ -70,9 +80,10 @@
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
|
|
||||||
<!-- Preloader -->
|
<!-- Preloader -->
|
||||||
{{-- <div class="preloader flex-column justify-content-center align-items-center">
|
<div class="preloader flex-column justify-content-center align-items-center">
|
||||||
<img class="animation__shake" src="dist/img/ispt.png" alt="AdminLTELogo" height="60" width="60">
|
<img class="animation__shake spin" src="{{ asset('img/logo4.0.jpg') }}" alt="AdminLTELogo" height="60"
|
||||||
</div> --}}
|
width="60">
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
|
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
|
||||||
|
|
@ -105,7 +116,6 @@ class="fas fa-bars"></i></a>
|
||||||
<span class="brand-text font-weight-light">ISPT 4.0</span>
|
<span class="brand-text font-weight-light">ISPT 4.0</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
<div class="sidebar">
|
<div class="sidebar">
|
||||||
<!-- Sidebar user panel (optional) -->
|
<!-- Sidebar user panel (optional) -->
|
||||||
|
|
@ -116,27 +126,12 @@ class="fas fa-bars"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
@if (Auth::check())
|
@if (Auth::check())
|
||||||
|
<a href="{{ route('usersProfiles', ['id' => Auth::user()->user_id]) }}"
|
||||||
<a href="{{ route('usersProfiles', ['id' => Auth::user()->user_id]) }}" class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SidebarSearch Form -->
|
|
||||||
{{-- <div class="form-inline">
|
|
||||||
<div class="input-group" data-widget="sidebar-search">
|
|
||||||
<input class="form-control form-control-sidebar" type="search" placeholder="Procurar"
|
|
||||||
aria-label="search">
|
|
||||||
<div class="input-group-append">
|
|
||||||
<button class="btn btn-sidebar">
|
|
||||||
<i class="fas fa-search fa-fw"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> --}}
|
|
||||||
|
|
||||||
<!-- Sidebar Menu -->
|
<!-- Sidebar Menu -->
|
||||||
<nav class="mt-2">
|
<nav class="mt-2">
|
||||||
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
|
||||||
|
|
@ -149,14 +144,6 @@ class="fas fa-bars"></i></a>
|
||||||
<p> Dashboard </p>
|
<p> Dashboard </p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{-- <li class="nav-item">
|
|
||||||
<a href="{{ route('createProject') }}" class="nav-link">
|
|
||||||
<i class="nav-icon fas fa-helmet-safety"></i>
|
|
||||||
<p> Criar obra </p>
|
|
||||||
</a>
|
|
||||||
</li> --}}
|
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="{{ route('createProject') }}" class="nav-link">
|
<a href="{{ route('createProject') }}" class="nav-link">
|
||||||
<i class="nav-icon fas fa-helmet-safety"></i>
|
<i class="nav-icon fas fa-helmet-safety"></i>
|
||||||
|
|
@ -164,18 +151,7 @@ class="fas fa-bars"></i></a>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{-- <li class="nav-item">
|
|
||||||
<a href="{{ route('test') }}" class="nav-link active">
|
|
||||||
<i class="nav-icon fas fa-tachometer-alt"></i>
|
|
||||||
<p>
|
|
||||||
TestController
|
|
||||||
</p>
|
|
||||||
</a>
|
|
||||||
</li> --}}
|
|
||||||
|
|
||||||
|
|
||||||
<!-- /.Multiple menu item -->
|
<!-- /.Multiple menu item -->
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="{{ route('testExcel') }}" class="nav-link">
|
<a href="{{ route('testExcel') }}" class="nav-link">
|
||||||
<i class="nav-icon fas fa-file"></i>
|
<i class="nav-icon fas fa-file"></i>
|
||||||
|
|
@ -223,12 +199,6 @@ class="fas fa-bars"></i></a>
|
||||||
<p>Clientes</p>
|
<p>Clientes</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{{-- <li class="nav-item">
|
|
||||||
<a href="{{ route('users.list') }}" class="nav-link">
|
|
||||||
<i class="fa-solid fa-file-edit"></i>
|
|
||||||
<p> Gerir Utilizadores</p>
|
|
||||||
</a>
|
|
||||||
</li> --}}
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="{{ route('CreateUsers') }}" class="nav-link">
|
<a href="{{ route('CreateUsers') }}" class="nav-link">
|
||||||
<i class="nav-icon fas fa-gear"></i>
|
<i class="nav-icon fas fa-gear"></i>
|
||||||
|
|
@ -247,98 +217,97 @@ class="fas fa-bars"></i></a>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<section class="content">
|
@yield('Main-content')
|
||||||
|
{{-- <section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
@yield('Main-content')
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{{-- ./col-md-12 --}}
|
./col-md-12
|
||||||
</div>
|
</div>
|
||||||
{{-- ./row justify-content-center --}}
|
./row justify-content-center
|
||||||
</div>
|
</div>
|
||||||
{{-- ./container-fluid --}}
|
./container-fluid
|
||||||
</section>
|
</section> --}}
|
||||||
{{-- ./content --}}
|
{{-- ./content --}}
|
||||||
</div>
|
</div>
|
||||||
{{-- ./content-wrapper --}}
|
{{-- ./content-wrapper --}}
|
||||||
|
|
||||||
<footer class="main-footer">
|
|
||||||
<strong>Copyright © 2017-2022 <a href="#">ISPT - Industrial Services, SA</a>.</strong>
|
|
||||||
Todos os direitos reservados.
|
|
||||||
<div class="float-right d-none d-sm-inline-block">
|
|
||||||
<b>Versão</b> 1.0
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<!-- Control Sidebar -->
|
<!-- Control Sidebar -->
|
||||||
<aside class="control-sidebar control-sidebar-dark">
|
<aside class="control-sidebar control-sidebar-dark">
|
||||||
<!-- Control sidebar content goes here -->
|
<!-- Control sidebar content goes here -->
|
||||||
</aside>
|
</aside>
|
||||||
<!-- /.control-sidebar -->
|
<!-- /.control-sidebar -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- ./wrapper -->
|
<!-- ./ Wrapper -->
|
||||||
|
|
||||||
<!-- jQuery -->
|
|
||||||
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- Bootstrap 4 -->
|
|
||||||
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- ChartJS -->
|
|
||||||
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- Sparkline -->
|
|
||||||
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
|
||||||
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- JQVMap -->
|
|
||||||
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- jQuery Knob Chart -->
|
|
||||||
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- daterangepicker -->
|
|
||||||
<script src="{{asset('plugins/moment/moment.min.js')}}"></script>
|
|
||||||
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
|
||||||
<!-- Tempusdominus Bootstrap 4 -->
|
|
||||||
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
|
||||||
<!-- Summernote -->
|
|
||||||
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
|
||||||
<!-- overlayScrollbars -->
|
|
||||||
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- AdminLTE App -->
|
|
||||||
<script src="{{ asset('js/adminlte.js') }}"></script>
|
|
||||||
|
|
||||||
<!-- jQuery UI 1.11.4 -->
|
|
||||||
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
|
||||||
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$.widget.bridge('uibutton', $.ui.button)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
<footer class="main-footer">
|
||||||
|
<strong>Copyright © 2017-2022 <a href="#">ISPT - Industrial Services, SA</a>.</strong>
|
||||||
|
Todos os direitos reservados.
|
||||||
|
<div class="float-right d-none d-sm-inline-block">
|
||||||
|
<b>Versão</b> 1.0
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
{{-- Scripts-Plugins --}}
|
||||||
|
|
||||||
@yield('scripts')
|
|
||||||
{{-- Script que dao erro no projecto --}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
<!-- jQuery UI 1.11.4 -->
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
<!-- Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
<!-- ChartJS -->
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
<!-- Sparkline -->
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
<!-- jQuery Knob Chart -->
|
||||||
|
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{ asset('plugins/moment/moment.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
||||||
|
<!-- Summernote -->
|
||||||
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
<!-- AdminLTE for demo purposes -->
|
<!-- AdminLTE for demo purposes -->
|
||||||
<!--<script src="dist/js/demo.js"></script> -->
|
{{-- <script src="{{ asset('js/demo.js') }}"></script>
|
||||||
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
||||||
{{-- <script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
|
<script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
|
||||||
|
<!-- jQuery Script fadeIn fadeOut for the dropdown -->
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
|
||||||
|
|
||||||
|
@yield('scriptsTemplateAdmin')
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -162,7 +162,6 @@
|
||||||
{{-- /.card card-primary --}}
|
{{-- /.card card-primary --}}
|
||||||
<a href="{{ route('test2', ['id' => $projects]) }}" class="btn btn-primary next float-right">Seguinte</a>
|
<a href="{{ route('test2', ['id' => $projects]) }}" class="btn btn-primary next float-right">Seguinte</a>
|
||||||
|
|
||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,436 @@
|
||||||
@extends('Templates/templateAdmin')
|
@extends('Templates/templateAdmin')
|
||||||
|
|
||||||
@section('Main-content')
|
@section('Main-content')
|
||||||
<div class="row justify-content-center">
|
@if (session('success'))
|
||||||
<div class="col-12">
|
<div class="alert alert-success" role="alert" id="alert-message-success" style="transition: opacity 1s;">
|
||||||
<div class="row justify-content-center">
|
{{ session('success') }}
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
setTimeout(function() {
|
||||||
|
$('#alert-message-success').fadeOut('slow', function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}, 5000); // A mensagem desaparecerá após 5 segundos
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
<section class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<!-- Progressbar -->
|
||||||
|
<ul id="progressbar" class="nav nav-pills d-flex flex-sm-row justify-content-center">
|
||||||
|
<li class="@if ($step == 3) active @endif "></li>
|
||||||
|
{{-- Project details --}}
|
||||||
|
<li class="@if ($step == 3) active @endif "></li>
|
||||||
|
{{-- Articulated --}}
|
||||||
|
<li class="@if ($step == 3) active @endif "></li>
|
||||||
|
{{-- Workstation --}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
{{-- ./content-header --}}
|
||||||
|
<fieldset class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="card card-primary">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">Postos de Trabalho</h3>
|
||||||
|
</div>
|
||||||
|
<!-- ./Card-header -->
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<!-- Progressbar -->
|
<!-- Criar tarefa -->
|
||||||
<ul id="progressbar" class="nav nav-pills flex-sm-row">
|
<div class="card card-success collapsed-card">
|
||||||
<li class="@if ($step == 1) active @endif flex-sm-fill">Project details</li>
|
<div class="card-header">
|
||||||
<li class="@if ($step == 2) active @endif flex-sm-fill">Articulated</li>
|
<h3 class="card-title">Criar Postos de Trabalho</h3>
|
||||||
<li class="@if ($step == 3) active @endif flex-sm-fill">Workstation</li>
|
|
||||||
</ul>
|
<div class="card-tools">
|
||||||
|
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i
|
||||||
|
class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<!-- /.card-tools -->
|
||||||
|
</div>
|
||||||
|
<!-- /.card-header -->
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="card ">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
|
||||||
|
<form action="{{ route('createWorkStations') }}" method="post">
|
||||||
|
@csrf
|
||||||
|
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Selecione o Numero de Postos Pretendidos :
|
||||||
|
</label>
|
||||||
|
<input class="form-control" name="numberWorkstations" type="number"
|
||||||
|
id="numberPosts">
|
||||||
|
</div>
|
||||||
|
<input class="btn btn-success" type="submit" value="Guardar">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.card-body -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/Criar tarefa-->
|
||||||
|
|
||||||
|
<!-- Card Posto de Trabalho -->
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">Postos da Obra </h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<form action="{{ route('AddNomenclatureWorkstation') }}" method="GET">
|
||||||
|
<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">
|
||||||
|
@if ($listWorkstation->nomenclature_workstation == null)
|
||||||
|
<input type="text" class="form-control"
|
||||||
|
name="nameWorkstations[{{ $listWorkstation->name_workstations }}]"
|
||||||
|
value="">
|
||||||
|
@else
|
||||||
|
<input type="text" class="form-control"
|
||||||
|
name="nameWorkstations[{{ $listWorkstation->name_workstations }}]"
|
||||||
|
value="{{ $listWorkstation->nomenclature_workstation }}"
|
||||||
|
readonly>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td class="text-center d-flex justify-content-around">
|
||||||
|
<a href='#' data-toggle='modal'
|
||||||
|
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>
|
||||||
|
<input class="btn btn-primary" type="submit" value="Guardar">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!--/articulado de obra-->
|
||||||
|
</div>
|
||||||
|
<!-- /.card-body -->
|
||||||
|
</div>
|
||||||
|
<!-- ./Card Posto de Trabalho -->
|
||||||
|
</div>
|
||||||
|
{{-- ./card-body --}}
|
||||||
|
</div>
|
||||||
|
<!-- ./Card card-primary -->
|
||||||
|
<a href="{{ route('test2', ['id' => $numberProject]) }}"
|
||||||
|
class="btn btn-primary previous float-left">Anterior</a>
|
||||||
|
</div>
|
||||||
|
{{-- ./container-fluid --}}
|
||||||
|
</fieldset>
|
||||||
|
{{-- ./content --}}
|
||||||
|
@foreach ($listWorkstations as $listWorkstation)
|
||||||
|
<div class="modal fade" id="modal-ViewOfices-{{ $listWorkstation->id_workstations }}">
|
||||||
|
<div class="modal-dialog modal-xl">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header bg-primary">
|
||||||
|
<h4 class="modal-title">{{ $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('workstationsAssociationTasks') }}" method="get">
|
||||||
|
<div class="row">
|
||||||
|
<p>Nome Posto de Trabalho : </p>
|
||||||
|
<input class="form-control col-sm-6" type="text" name="nameWorkstation"
|
||||||
|
value="{{ $listWorkstation->nomenclature_workstation }}">
|
||||||
|
<input type="hidden" name="idWorkStation" value="{{ $listWorkstation->id_workstations }}">
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row ">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="card card-success">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">Tarefas Gerais</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">
|
||||||
|
<!-- Tabela de Checkbox -->
|
||||||
|
<div>
|
||||||
|
<p>TE1 - Desmontar da linha
|
||||||
|
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="1" name="generalTasks[TE1]">
|
||||||
|
</p>
|
||||||
|
<p>TE2 - Descontaminar
|
||||||
|
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="2" name="generalTasks[TE2]">
|
||||||
|
</p>
|
||||||
|
<p>TE5 - Limpeza e lavagem dos componentes
|
||||||
|
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="5" name="generalTasks[TE5]">
|
||||||
|
</p>
|
||||||
|
<p>TE9 - Pintura
|
||||||
|
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="9" name="generalTasks[TE9]">
|
||||||
|
</p>
|
||||||
|
<p>TE11 - Inspeção Final
|
||||||
|
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="11" name="generalTasks[TE11]">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
@if ($equipments->firstWhere('equipment_type_id', 3))
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card card-primary collapsed-card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Tarefas PSV</h3>
|
||||||
|
<div class="card-tools">
|
||||||
|
<button type="button" class="btn btn-tool"
|
||||||
|
data-card-widget="collapse">
|
||||||
|
<i class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p>TE3 - Pré-teste
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="3" name="PsvTasks[TE3]">
|
||||||
|
</p>
|
||||||
|
<p>TE6 - Retificação e lapidação
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="6" name="PsvTasks[TE6]">
|
||||||
|
</p>
|
||||||
|
<p>TE7 - Fecho da válvula e substituição de componentes
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="7" name="PsvTasks[TE7]">
|
||||||
|
</p>
|
||||||
|
<p>TE8 - Calibrar e certificar
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="8" name="PsvTasks[TE8]">
|
||||||
|
</p>
|
||||||
|
<p>TE10 - Montagem na linha
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="10" name="PsvTasks[TE10]">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if ($equipments->firstWhere('equipment_type_id', 1))
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card card-primary collapsed-card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Tarefas CV</h3>
|
||||||
|
<div class="card-tools">
|
||||||
|
<button type="button" class="btn btn-tool"
|
||||||
|
data-card-widget="collapse">
|
||||||
|
<i class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p>TE12 - Inspeção visual
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="21" name="CvTasks[TE12]">
|
||||||
|
</p>
|
||||||
|
<p>TE3(2) - Pré-teste
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="12" name="CvTasks[TE3(2)]">
|
||||||
|
</p>
|
||||||
|
<p>TE4(2) - Abertura da válvula, análise e controle dos
|
||||||
|
componentes
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="13" name="CvTasks[TE4(2)]">
|
||||||
|
</p>
|
||||||
|
<p>TE7(2) - Fecho da válvula e substituição de componentes
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="14" name="CvTasks[TE7(2)]">
|
||||||
|
</p>
|
||||||
|
<p>TE13 - Teste final
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="15" name="CvTasks[TE13]">
|
||||||
|
</p>
|
||||||
|
<p>TE10(2) - Montagem na linha
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="16" name="CvTasks[TE10(2)]">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if ($equipments->firstWhere('equipment_type_id', 2))
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card card-primary collapsed-card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Tarefas ISV</h3>
|
||||||
|
<div class="card-tools">
|
||||||
|
<button type="button" class="btn btn-tool"
|
||||||
|
data-card-widget="collapse">
|
||||||
|
<i class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p>TE4(3) - Abertura da válvula, análise e controle dos
|
||||||
|
componentes
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="TE4(3)">
|
||||||
|
</p>
|
||||||
|
<p>TE7(3) - Fecho da válvula e substituição de componentes
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="TE7(3)">
|
||||||
|
</p>
|
||||||
|
<p>TE14 - Ensaio
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="TE14">
|
||||||
|
</p>
|
||||||
|
<p>TE10 - Montagem na linha
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="TE10">
|
||||||
|
</p>
|
||||||
|
<p>TE15 - Empancar
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="TE15">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if ($futherTasks->count() > 0)
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card card-primary collapsed-card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Tarefas Adicionais</h3>
|
||||||
|
<div class="card-tools">
|
||||||
|
<button type="button" class="btn btn-tool"
|
||||||
|
data-card-widget="collapse">
|
||||||
|
<i class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p>TC1 - Pintar de Verde
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkboxChoseTasksOficesPSV"
|
||||||
|
value="16" name="CvTasks[TE10(2)]">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{{-- ./row --}}
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="modal-footer justify-content-between">
|
||||||
|
<!-- Vai ficar o Footer -->
|
||||||
|
<input type="submit" value="Guardar">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.modal-content -->
|
||||||
|
</div>
|
||||||
|
<!-- modal-dialog -->
|
||||||
|
</div>
|
||||||
|
<!-- /.modal remover-->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- /.Modal, Postos de Trabalho -->
|
||||||
|
|
||||||
|
{{-- 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>
|
</div>
|
||||||
<div class="card card-primary">
|
|
||||||
<h1>Workstation</h1>
|
|
||||||
<!-- Aqui vai o conteúdo do seu form da página 3 -->
|
|
||||||
<a href="{{ route('test2') }}" class="btn btn-primary">Previous</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{-- ./modal-remover --}}
|
||||||
|
@endforeach
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@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
|
@endsection
|
||||||
|
|
|
||||||
50
resources/views/recebeIdiota.blade.php
Normal file
50
resources/views/recebeIdiota.blade.php
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
@extends('testIdiota')
|
||||||
|
|
||||||
|
@section('idiota')
|
||||||
|
<h2>Teste idiota</h2>
|
||||||
|
|
||||||
|
<table id="example" class="table table-striped table-bordered" style="width:100%">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Position</th>
|
||||||
|
<th>Office</th>
|
||||||
|
<th>Age</th>
|
||||||
|
<th>Start date</th>
|
||||||
|
<th>Salary</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Tiger Nixon</td>
|
||||||
|
<td>System Architect</td>
|
||||||
|
<td>Edinburgh</td>
|
||||||
|
<td>61</td>
|
||||||
|
<td>2011-04-25</td>
|
||||||
|
<td>$320,800</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Garrett Winters</td>
|
||||||
|
<td>Accountant</td>
|
||||||
|
<td>Tokyo</td>
|
||||||
|
<td>63</td>
|
||||||
|
<td>2011-07-25</td>
|
||||||
|
<td>$170,750</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('idiotaScripts')
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
$("#example").DataTable({
|
||||||
|
"responsive": true,
|
||||||
|
"lengthChange": false,
|
||||||
|
"autoWidth": false,
|
||||||
|
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
|
||||||
|
}).buttons().container().appendTo('#example_wrapper .col-md-6:eq(0)');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
344
resources/views/templateAdminReal.blade.php
Normal file
344
resources/views/templateAdminReal.blade.php
Normal file
|
|
@ -0,0 +1,344 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
|
|
||||||
|
<title>ISPT 4.0</title>
|
||||||
|
|
||||||
|
<!-- Google Font: Source Sans Pro -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
<!-- Font Awesome -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
|
||||||
|
<!-- Font Awesome 6.1.1 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
|
||||||
|
<!-- Ionicons -->
|
||||||
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css') }}">
|
||||||
|
<!-- iCheck -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css') }}">
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css') }}">
|
||||||
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css') }}">
|
||||||
|
<!-- Daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
|
||||||
|
<!-- summernote -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
|
||||||
|
<!-- jQuery UI -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jquery-ui/jquery-ui.css') }}">
|
||||||
|
|
||||||
|
{{-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> --}}
|
||||||
|
|
||||||
|
{{-- DataTables --}}
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables/jquery.dataTables.min.js')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')}}">
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')}}">
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||||
|
<!-- DataTables CSS -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">
|
||||||
|
<!-- DataTables JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
||||||
|
<!-- DataTables Bootstrap 4 JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap4.min.js"></script>
|
||||||
|
<!-- DataTables Buttons JavaScript -->
|
||||||
|
<script src="https://cdn.datatables.net/buttons/1.7.1/js/dataTables.buttons.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="hold-transition sidebar-mini layout-fixed">
|
||||||
|
<!-- Wrapper -->
|
||||||
|
<div class="wrapper">
|
||||||
|
|
||||||
|
<!-- Preloader -->
|
||||||
|
{{-- <div class="preloader flex-column justify-content-center align-items-center">
|
||||||
|
<img class="animation__shake" src="dist/img/ispt.png" alt="AdminLTELogo" height="60" width="60">
|
||||||
|
</div> --}}
|
||||||
|
|
||||||
|
<!-- Navbar -->
|
||||||
|
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
|
||||||
|
<!-- Left navbar links -->
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i
|
||||||
|
class="fas fa-bars"></i></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- Right navbar links -->
|
||||||
|
<ul class="navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
|
||||||
|
<i class="fas fa-expand-arrows-alt"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<!-- /.navbar -->
|
||||||
|
|
||||||
|
<!-- Main Sidebar Container -->
|
||||||
|
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
||||||
|
<!-- Brand Logo -->
|
||||||
|
<a href="#" class="brand-link" style="pointer-events: none;">
|
||||||
|
<img src="{{ asset('/img/ispt.jpg') }}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3"
|
||||||
|
style="opacity: .8">
|
||||||
|
<span class="brand-text font-weight-light">ISPT 4.0</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<div class="sidebar">
|
||||||
|
<!-- Sidebar user panel (optional) -->
|
||||||
|
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
|
||||||
|
<div class="image">
|
||||||
|
|
||||||
|
<img src="{{ asset('/img/avatar5.png') }}" class="img-circle elevation-2" alt="User Image">
|
||||||
|
</div>
|
||||||
|
<div class="info">
|
||||||
|
@if (Auth::check())
|
||||||
|
|
||||||
|
<a href="{{ route('usersProfiles', ['id' => Auth::user()->user_id]) }}" class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- SidebarSearch Form -->
|
||||||
|
{{-- <div class="form-inline">
|
||||||
|
<div class="input-group" data-widget="sidebar-search">
|
||||||
|
<input class="form-control form-control-sidebar" type="search" placeholder="Procurar"
|
||||||
|
aria-label="search">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button class="btn btn-sidebar">
|
||||||
|
<i class="fas fa-search fa-fw"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> --}}
|
||||||
|
|
||||||
|
<!-- Sidebar Menu -->
|
||||||
|
<nav class="mt-2">
|
||||||
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
|
||||||
|
data-accordion="false">
|
||||||
|
<!-- Add icons to the links using the .nav-icon class
|
||||||
|
with font-awesome or any other icon font library -->
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('home') }}" class="nav-link active">
|
||||||
|
<i class="nav-icon fas fa-tachometer-alt"></i>
|
||||||
|
<p> Dashboard </p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{-- <li class="nav-item">
|
||||||
|
<a href="{{ route('createProject') }}" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-helmet-safety"></i>
|
||||||
|
<p> Criar obra </p>
|
||||||
|
</a>
|
||||||
|
</li> --}}
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('createProject') }}" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-helmet-safety"></i>
|
||||||
|
<p> Criar obra </p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{-- <li class="nav-item">
|
||||||
|
<a href="{{ route('test') }}" class="nav-link active">
|
||||||
|
<i class="nav-icon fas fa-tachometer-alt"></i>
|
||||||
|
<p>
|
||||||
|
TestController
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</li> --}}
|
||||||
|
|
||||||
|
|
||||||
|
<!-- /.Multiple menu item -->
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('testExcel') }}" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-file"></i>
|
||||||
|
<p>
|
||||||
|
Relatórios
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-briefcase"></i>
|
||||||
|
<p> Portefólio
|
||||||
|
<i class="fas fa-angle-left right"></i>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<ul class="nav nav-treeview">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('manageAssets') }}" class="nav-link">
|
||||||
|
<i class="fa-solid fa-file-edit"></i>
|
||||||
|
<p> Gerir Ativos</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- Single menu item -->
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-gear"></i>
|
||||||
|
<p> Administração
|
||||||
|
<i class="fas fa-angle-left right"></i>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<ul class="nav nav-treeview">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('users.list') }}" class="nav-link">
|
||||||
|
<i class="fa-solid fa-users"></i>
|
||||||
|
<p>Utilizadores</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('users.company') }}" class="nav-link">
|
||||||
|
<i class="fa-solid fa-house-user"></i>
|
||||||
|
<p>Clientes</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{-- <li class="nav-item">
|
||||||
|
<a href="{{ route('users.list') }}" class="nav-link">
|
||||||
|
<i class="fa-solid fa-file-edit"></i>
|
||||||
|
<p> Gerir Utilizadores</p>
|
||||||
|
</a>
|
||||||
|
</li> --}}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('CreateUsers') }}" class="nav-link">
|
||||||
|
<i class="nav-icon fas fa-gear"></i>
|
||||||
|
<p> Criar Utilizadores </p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- /.Single menu item -->
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<!-- /.sidebar-menu -->
|
||||||
|
</div>
|
||||||
|
<!-- /.sidebar -->
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-md-12">
|
||||||
|
|
||||||
|
@yield('Main-content')
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{{-- ./col-md-12 --}}
|
||||||
|
</div>
|
||||||
|
{{-- ./row justify-content-center --}}
|
||||||
|
</div>
|
||||||
|
{{-- ./container-fluid --}}
|
||||||
|
</section>
|
||||||
|
{{-- ./content --}}
|
||||||
|
</div>
|
||||||
|
{{-- ./content-wrapper --}}
|
||||||
|
|
||||||
|
<footer class="main-footer">
|
||||||
|
<strong>Copyright © 2017-2022 <a href="#">ISPT - Industrial Services, SA</a>.</strong>
|
||||||
|
Todos os direitos reservados.
|
||||||
|
<div class="float-right d-none d-sm-inline-block">
|
||||||
|
<b>Versão</b> 1.0
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- Control Sidebar -->
|
||||||
|
<aside class="control-sidebar control-sidebar-dark">
|
||||||
|
<!-- Control sidebar content goes here -->
|
||||||
|
</aside>
|
||||||
|
<!-- /.control-sidebar -->
|
||||||
|
</div>
|
||||||
|
<!-- ./wrapper -->
|
||||||
|
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- ChartJS -->
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- Sparkline -->
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- jQuery Knob Chart -->
|
||||||
|
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{asset('plugins/moment/moment.min.js')}}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
||||||
|
<!-- Summernote -->
|
||||||
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
|
|
||||||
|
<!-- jQuery UI 1.11.4 -->
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
|
@yield('scripts')
|
||||||
|
{{-- Script que dao erro no projecto --}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- AdminLTE for demo purposes -->
|
||||||
|
<!--<script src="dist/js/demo.js"></script> -->
|
||||||
|
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
||||||
|
{{-- <script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
|
||||||
|
|
||||||
124
resources/views/testIdiota.blade.php
Normal file
124
resources/views/testIdiota.blade.php
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Document</title>
|
||||||
|
|
||||||
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Google Font: Source Sans Pro -->
|
||||||
|
<link rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
|
||||||
|
<!-- Font Awesome -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Font Awesome 6.1.1 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Ionicons -->
|
||||||
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')}}">
|
||||||
|
<!-- iCheck -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css')}}">
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
|
||||||
|
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css')}}">
|
||||||
|
|
||||||
|
<!-- Daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
|
||||||
|
|
||||||
|
<!-- summernote -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css')}}">
|
||||||
|
|
||||||
|
<!-- daterange picker -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
|
||||||
|
|
||||||
|
<!-- DataTables -->
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
@yield('idiota')
|
||||||
|
|
||||||
|
|
||||||
|
{{-- <script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script href="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')}}"></script> --}}
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
|
||||||
|
<!-- jQuery UI 1.11.4 -->
|
||||||
|
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
|
||||||
|
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
|
||||||
|
<script>
|
||||||
|
$.widget.bridge('uibutton', $.ui.button)
|
||||||
|
</script>
|
||||||
|
<!-- Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
<!-- ChartJS -->
|
||||||
|
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
|
||||||
|
<!-- Sparkline -->
|
||||||
|
<script src="{{ asset('plugins/sparklines/sparkline.js') }}"></script>
|
||||||
|
<!-- JQVMap -->
|
||||||
|
<script src="{{ asset('plugins/jqvmap/jquery.vmap.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jqvmap/maps/jquery.vmap.usa.js') }}"></script>
|
||||||
|
<!-- jQuery Knob Chart -->
|
||||||
|
<script src="{{ asset('plugins/jquery-knob/jquery.knob.min.js') }}"></script>
|
||||||
|
<!-- daterangepicker -->
|
||||||
|
<script src="{{ asset('plugins/moment/moment.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<!-- Tempusdominus Bootstrap 4 -->
|
||||||
|
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
|
||||||
|
<!-- Summernote -->
|
||||||
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
|
<!-- overlayScrollbars -->
|
||||||
|
<script src="{{ asset('plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js') }}"></script>
|
||||||
|
<!-- AdminLTE App -->
|
||||||
|
<script src="{{ asset('js/adminlte.js') }}"></script>
|
||||||
|
<!-- AdminLTE for demo purposes -->
|
||||||
|
{{-- <script src="{{ asset('js/demo.js') }}"></script>
|
||||||
|
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
||||||
|
<script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
|
||||||
|
<!-- jQuery Script fadeIn fadeOut for the dropdown -->
|
||||||
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
|
||||||
|
|
||||||
|
@yield('idiotaScripts')
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -26,24 +26,42 @@
|
||||||
use App\Http\Controllers\ProjectoDatacontroller;
|
use App\Http\Controllers\ProjectoDatacontroller;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Route::get('test',[CreateProjectController::class,'index'] )->name('test');
|
// Route::get('test',[CreateProjectController::class,'index'] )->name('test');
|
||||||
|
|
||||||
|
Route::get('workstationsAssociationTasks', [CreateProjectController::class,'workstationsAssociationTasks'])->name('workstationsAssociationTasks');
|
||||||
|
|
||||||
|
route::get('AddNomenclatureWorkstation', [CreateProjectController::class,'AddNomenclatureWorkstation'])->name('AddNomenclatureWorkstation');
|
||||||
|
|
||||||
|
route::get('removeProjectEquipment', [CreateProjectController::class,'removeProjectEquipment'])->name('removeProjectEquipment');
|
||||||
|
|
||||||
|
Route::delete('deleteWorkstation/{name}', [CreateProjectController::class, 'deleteWorkstation'])->name('deleteWorkstation');
|
||||||
|
|
||||||
|
|
||||||
|
route::get('idiota',function(){
|
||||||
|
return view('recebeIdiota');
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::get('/api/equipment/{id}', [CreateProjectController::class,'showJson']);
|
||||||
|
|
||||||
|
Route::post('/EditEquipmentsProjects',[CreateProjectController::class,'EditEquipmentsProjects'])->name('EditEquipmentsProjects');
|
||||||
|
|
||||||
// Vai ser unicamente a pagina de criacao de uma obra
|
// Vai ser unicamente a pagina de criacao de uma obra
|
||||||
Route::get('/createProject', [CreateProjectController::class,'createProjectForStep1'])->name('createProject');
|
Route::get('/createProject', [CreateProjectController::class,'createProjectForStep1'])->name('createProject');
|
||||||
Route::post('/newProject1', [CreateProjectController::class,'processStep1'])->name('processStep1');
|
Route::post('/newProject1', [CreateProjectController::class,'processStep1'])->name('processStep1');
|
||||||
|
|
||||||
|
route::post('/createWorkStations',[CreateProjectController::class,'createWorkStations'])->name('createWorkStations');
|
||||||
|
|
||||||
Route::get('/test1/{id}', [CreateProjectController::class,'showStep1'])->name('test1');
|
Route::get('/test1/{id}', [CreateProjectController::class,'showStep1'])->name('test1');
|
||||||
Route::get('/test2/{id}', [CreateProjectController::class,'showStep2'])->name('test2');
|
Route::get('/test2/{id}', [CreateProjectController::class,'showStep2'])->name('test2');
|
||||||
|
Route::get('/test3/{id}', [CreateProjectController::class,'showStep3'])->name('test3');
|
||||||
|
|
||||||
Route::post('test1', [CreateProjectController::class,'EditprocessStep1'])->name('EditprocessStep1');
|
Route::post('test1', [CreateProjectController::class,'EditprocessStep1'])->name('EditprocessStep1');
|
||||||
Route::post('/test2', [CreateProjectController::class,'processStep2'])->name('processStep2');
|
Route::post('/test2', [CreateProjectController::class,'processStep2'])->name('processStep2');
|
||||||
|
|
||||||
Route::post('/test2CreateEquipment',[CreateProjectController::class,'createEquipmentManual'])->name('test2CreateEquipment');
|
Route::post('/test2CreateEquipment',[CreateProjectController::class,'createEquipmentManual'])->name('test2CreateEquipment');
|
||||||
|
|
||||||
Route::get('/test3', [CreateProjectController::class,'showStep3'])->name('test3');
|
|
||||||
|
|
||||||
Route::post('/test3', [CreateProjectController::class,'processStep3']);
|
Route::post('/test3', [CreateProjectController::class,'processStep3']);
|
||||||
|
|
||||||
Route::get('testando',function(){
|
Route::get('testando',function(){
|
||||||
|
|
@ -182,6 +200,9 @@
|
||||||
Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']);
|
Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']);
|
||||||
Route::get('/api/ambits/{equipmentType}',[CreateProjectController::class, 'getAmbits']);
|
Route::get('/api/ambits/{equipmentType}',[CreateProjectController::class, 'getAmbits']);
|
||||||
|
|
||||||
|
Route::get('/equipments/{id}/attributes', [CreateProjectController::class, 'getAttributes']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Route::post('/register', [CustomRegistrationController::class, 'store'])->name('register');
|
Route::post('/register', [CustomRegistrationController::class, 'store'])->name('register');
|
||||||
|
|
||||||
|
|
@ -210,7 +231,7 @@
|
||||||
| be assigned to the "web" middleware group. Make something great!
|
| be assigned to the "web" middleware group. Make something great!
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
Route::get('manageAssets',[ProjectoDatacontroller::class,'ManageAssets'])->name('manageAssets');
|
// Route::get('manageAssets',[ProjectoDatacontroller::class,'ManageAssets'])->name('manageAssets');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user