update modal for receive elemental tasks and for every equipments, and uptade workstation.

This commit is contained in:
ygbanzato 2023-07-24 12:22:04 +01:00
parent fdbb662fba
commit fa669b7419
5 changed files with 417 additions and 266 deletions

View File

@ -19,6 +19,7 @@
use App\Models\AmbitsEquipment; use App\Models\AmbitsEquipment;
use App\Models\EquipmentAssociationAmbit; use App\Models\EquipmentAssociationAmbit;
use App\Models\ConstructionWorkstation; use App\Models\ConstructionWorkstation;
use App\Models\ElementalTasks;
use App\Models\OrderEquipmentTasks; use App\Models\OrderEquipmentTasks;
use App\Models\FurtherTasks; use App\Models\FurtherTasks;
use App\Models\WorkstationsAssociationTasks; use App\Models\WorkstationsAssociationTasks;
@ -40,32 +41,56 @@ public function finishCreatingProject($numberProject)
return redirect()->route('home'); return redirect()->route('home');
} }
// public function testDataTables(Request $request){
// dd($request);
// if ($request->ajax()) {
// $data = User::select('id','name','email')->get();
// return Datatables::of($data)->addIndexColumn()
// ->addColumn('action', function($data){
// $button = '<button type="button" name="edit" id="'.$data->id.'" class="edit btn btn-primary btn-sm"> <i class="bi bi-pencil-square"></i>Edit</button>';
// $button .= ' <button type="button" name="edit" id="'.$data->id.'" class="delete btn btn-danger btn-sm"> <i class="bi bi-backspace-reverse-fill"></i> Delete</button>';
// return $button;
// })
// ->make(true);
// }
// return view('recebeIdiota');
// }
public function deleteWorkstation($name) public function deleteWorkstation($name)
{ {
$workstation = ConstructionWorkstation::where('name_workstations', $name)->first(); $workstation = ConstructionWorkstation::where('name_workstations', $name)->first();
if ($workstation) { $removeAcountUserWorkstation = User::where('user_name', $workstation->name_workstations)->first();
if ($workstation && $removeAcountUserWorkstation) {
$workstation->delete(); $workstation->delete();
$removeAcountUserWorkstation->delete();
// pegar o número da estação de trabalho que está sendo deletada
preg_match('/workstation(\d+)-/', $workstation->name_workstations, $matches);
$deletedWorkstationNumber = $matches[1];
// pega o número do projeto da estação de trabalho que está sendo deletada
$projectNumber = explode('-', $workstation->name_workstations)[1];
// pegar todas as estações de trabalho e usuários com números maiores que o deletado e renumerá-los
$workstationsToUpdate = ConstructionWorkstation::where('company_projects_id', $projectNumber)
->whereRaw("SUBSTRING_INDEX(name_workstations, '-', 1) REGEXP '^workstation[0-9]+$'")
->whereRaw("CAST(SUBSTRING(SUBSTRING_INDEX(name_workstations, '-', 1), 12) AS UNSIGNED) >= ?", [$deletedWorkstationNumber])
->orderByRaw("CAST(SUBSTRING(SUBSTRING_INDEX(name_workstations, '-', 1), 12) AS UNSIGNED) DESC")
->get();
foreach ($workstationsToUpdate as $workstationToUpdate) {
// pegar o número da estação de trabalho atual
preg_match('/workstation(\d+)-/', $workstationToUpdate->name_workstations, $matches);
$currentWorkstationNumber = $matches[1];
// atualizar nome da estação de trabalho
$workstationToUpdate->name_workstations = 'workstation' . ($currentWorkstationNumber - 1) . '-' . $projectNumber;
$workstationToUpdate->save();
// atualizar usuário associado
$userToUpdate = User::where('user_name', 'workstation' . $currentWorkstationNumber . '-' . $projectNumber)->first();
if ($userToUpdate) {
$userToUpdate->user_name = 'workstation' . ($currentWorkstationNumber - 1) . '-' . $projectNumber;
$userToUpdate->save();
}
}
return back()->with('success', 'Posto de Trabalho removido com sucesso!'); return back()->with('success', 'Posto de Trabalho removido com sucesso!');
} }
return back()->with('danger', 'Posto de Trabalho não encontrado!'); return back()->with('danger', 'Posto de Trabalho não encontrado!');
} }
public function AddNomenclatureWorkstation(Request $request) public function AddNomenclatureWorkstation(Request $request)
{ {
foreach ($request->nameWorkstations as $key => $value) { foreach ($request->nameWorkstations as $key => $value) {
@ -158,7 +183,7 @@ public function EditEquipmentsProjects(Request $request)
// Se nao selecionar nenhuma tarefas ele devolve um erro , pois e necessario pelo menos uma // Se nao selecionar nenhuma tarefas ele devolve um erro , pois e necessario pelo menos uma
if (!in_array('on', $request->input('ordemTasks'))) { if (!in_array('on', $request->input('ordemTasks'))) {
return redirect()->back()->with('danger', 'É necessário selecionar pelo menos uma tarefa, Para o Equipamento : '.$equipment->equipment_tag ); return redirect()->back()->with('danger', 'É necessário selecionar pelo menos uma tarefa, Para o Equipamento : ' . $equipment->equipment_tag);
} }
$executionOrder = 1; $executionOrder = 1;
@ -166,7 +191,6 @@ public function EditEquipmentsProjects(Request $request)
$orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) $orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
->where('elemental_tasks_id', $key) ->where('elemental_tasks_id', $key)
->first(); ->first();
// dd($orderEquipmentTask);
if ($value == "on") { if ($value == "on") {
if (!$orderEquipmentTask) { if (!$orderEquipmentTask) {
@ -183,6 +207,7 @@ public function EditEquipmentsProjects(Request $request)
} }
} }
$executionOrder = 1; // Reinicia a contagem de ordem de execução $executionOrder = 1; // Reinicia a contagem de ordem de execução
$remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) $remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
->orderBy('execution_order', 'asc') ->orderBy('execution_order', 'asc')
@ -213,10 +238,21 @@ public function showJson($id)
{ {
$attributes = SpecificAttributesEquipmentType::where('equipment_id', $id)->get(); $attributes = SpecificAttributesEquipmentType::where('equipment_id', $id)->get();
$OrdemTasks = OrderEquipmentTasks::where('equipment_id', $id)->get(); $OrdemTasks = OrderEquipmentTasks::where('equipment_id', $id)->get();
$allElementalTasks = ElementalTasks::all();
return response()->json([ return response()->json([
'attributes' => $attributes, 'attributes' => $attributes,
'OrdemTasks' => $OrdemTasks 'OrdemTasks' => $OrdemTasks,
'allElementalTasks' => $allElementalTasks
]);
}
public function receveTasksWorkstationPlanning($WorkstationId)
{
$workstationsAssociationTasks = WorkstationsAssociationTasks::where('id_workstations', $WorkstationId)->get();
return response()->json([
'workstationsAssociationTasks' => $workstationsAssociationTasks
]); ]);
} }
@ -230,10 +266,12 @@ public function createWorkStations(Request $request)
$numberProject = $request->numberProject; $numberProject = $request->numberProject;
$listWorkstations = ConstructionWorkstation::where('company_projects_id', $numberProject)->get(); $listWorkstations = ConstructionWorkstation::where('company_projects_id', $numberProject)->get();
$receveProjectCompanyNumber = CompanyProject::where('company_projects_id', $numberProject)->first();
// Pega o último elemento da lista // Pega o último elemento da lista
$lastWorkstation = $listWorkstations->last(); $lastWorkstation = $listWorkstations->last();
// Se houver uma estação de trabalho anterior, extrai o número dela // Se houver uma estação de trabalho anterior, extrai o número dela
$startNumber = 1; $startNumber = 1;
if ($lastWorkstation) { if ($lastWorkstation) {
@ -241,28 +279,26 @@ public function createWorkStations(Request $request)
$startNumber = intval(str_replace('workstation', '', $parts[0])) + 1; $startNumber = intval(str_replace('workstation', '', $parts[0])) + 1;
} }
// Loop para criar as estações de trabalho // Loop para criar as estações de trabalho e seus logins
for ($i = $startNumber; $i < $startNumber + $numberWorkstations; $i++) { for ($i = $startNumber; $i < $startNumber + $numberWorkstations; $i++) {
$workstation = new ConstructionWorkstation(); $workstation = new ConstructionWorkstation();
$workstation->name_workstations = 'workstation' . $i . '-' . $numberProject; $workstation->name_workstations = 'workstation' . $i . '-' . $numberProject;
$workstation->company_projects_id = $numberProject; $workstation->company_projects_id = $numberProject;
$workstation->save(); $workstation->save();
preg_match('/workstation(\d+)-/', $workstation->name_workstations, $matches);
$receiveNumberWorkstation = $matches[1];
//Apos criar a Workstation vamos criar um login para pode aceder os postos de trabalho na obra
$loginWorkStation = new User;
$loginWorkStation->user_name = $workstation->name_workstations;
$loginWorkStation->email = $receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation . '@isptgroup.com';
$loginWorkStation->password = bcrypt($receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation);
$loginWorkStation->type_users = 5;
$loginWorkStation->user_nif = $receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation;
$loginWorkStation->save();
} }
preg_match('/workstation(\d+)-/', $workstation->name_workstations, $matches);
$receiveNumberWorkstation = $matches[1];
$receveProjectCompanyNumber = CompanyProject::where('company_projects_id',$numberProject)->first();
//Apos criar a Workstation vamos criar um login para pode aceder os postos de trabalho na obra
$loginWorkStation = new User;
$loginWorkStation->user_name = $workstation->name_workstations;
$loginWorkStation->email = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation.'@isptgroup.com';
$loginWorkStation->password = bcrypt($receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation) ;
$loginWorkStation->type_users = 5;
$loginWorkStation->user_nif = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation;
$loginWorkStation->save();
// Redireciona para onde você quiser após a criação das workstations // Redireciona para onde você quiser após a criação das workstations
return redirect()->route('test3', ['id' => $request->numberProject]) return redirect()->route('test3', ['id' => $request->numberProject])
->with('success', $numberWorkstations . ' Postos de Trabalho criados !!!') ->with('success', $numberWorkstations . ' Postos de Trabalho criados !!!')
@ -751,26 +787,73 @@ public function showStep3($company_projects_id)
public function workstationsAssociationTasks(Request $request) public function workstationsAssociationTasks(Request $request)
{ {
// dd($request);
$workStation = ConstructionWorkstation::where('id_workstations', $request->idWorkStation)->first(); $workStation = ConstructionWorkstation::where('id_workstations', $request->idWorkStation)->first();
// Trocar o nome se for diferente do recebido
if ($workStation) { if ($workStation) {
$workStation->nomenclature_workstation = $request->nameWorkstation; $workStation->nomenclature_workstation = $request->nameWorkstation;
$workStation->save(); $workStation->save();
} }
// então, iteramos sobre as três listas de tarefas e as associamos à estação de trabalho // então, iteramos sobre as três listas de tarefas e as associamos à estação de trabalho
$taskTypes = ['generalTasks', 'PsvTasks', 'CvTasks']; $taskTypes = ['generalTasks', 'PsvTasks', 'CvTasks'];
// dd($taskTypes);
// foreach ($taskTypes as $taskType) {
// if (isset($request->$taskType)) {
// foreach ($request->$taskType as $taskId) {
// dd($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();
// }
// }
// }
foreach ($taskTypes as $taskType) { // foreach($taskTypes as $groupTasks){
if (isset($request->$taskType)) { // if (isset($request[$groupTasks])) { // Checar se esse grupo de tarefas existe no request
foreach ($request->$taskType as $taskId) { // foreach ($request[$groupTasks] as $taskID => $check) {
$taskAssociation = new WorkstationsAssociationTasks; // if ($check == 'on') {
$taskAssociation->id_workstations = $workStation->id_workstations; // $taskAssociation = new WorkstationsAssociationTasks;
$taskAssociation->elemental_tasks_id = $taskId; // assumindo que $taskId é o id da tarefa // $taskAssociation->id_workstations = $workStation->id_workstations;
$taskAssociation->company_projects_id = $workStation->company_projects_id; // $taskAssociation->elemental_tasks_id = $taskID; // Usando $taskID, que é a key
$taskAssociation->save(); // $taskAssociation->company_projects_id = $workStation->company_projects_id;
// $taskAssociation->save();
// }
// }
// }
// }
foreach ($taskTypes as $groupTasks) {
if (isset($request[$groupTasks])) { // Checar se esse grupo de tarefas existe no request
foreach ($request[$groupTasks] as $taskID => $check) {
// Encontra a tarefa existente, se houver
$taskAssociation = WorkstationsAssociationTasks::where('id_workstations', $workStation->id_workstations)
->where('elemental_tasks_id', $taskID)
->where('company_projects_id', $workStation->company_projects_id)
->first();
if ($check == 'on') {
if (!$taskAssociation) {
$taskAssociation = new WorkstationsAssociationTasks;
$taskAssociation->id_workstations = $workStation->id_workstations;
$taskAssociation->elemental_tasks_id = $taskID; // Usando $taskID, que é a key
$taskAssociation->company_projects_id = $workStation->company_projects_id;
}
$taskAssociation->save();
} elseif ($check == 'off' && $taskAssociation) {
$taskAssociation->delete();
}
} }
} }
} }
// Redirecionar de volta com uma mensagem de sucesso // Redirecionar de volta com uma mensagem de sucesso
return back()->with('success', 'Posto de trabalho : ' . $workStation->name_workstations . ' atualizado com sucesso!'); return back()->with('success', 'Posto de trabalho : ' . $workStation->name_workstations . ' atualizado com sucesso!');
} }

View File

@ -103,12 +103,12 @@ public function receiveEquipmentsProject($receiveNumberProject)
->addColumn('order_tasks', function ($row) { ->addColumn('order_tasks', function ($row) {
return $row->orderEquipmentTasks->map(function ($task) { return $row->orderEquipmentTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code; return $task->elementalTask->elemental_tasks_code;
})->implode('-'); })->implode(' ||');
}) })
->addColumn('current_task', function ($row) { ->addColumn('current_task', function ($row) {
return $row->controlEquipmentWorkstation->map(function ($task) { return $row->controlEquipmentWorkstation->map(function ($task) {
return $task->elementalTask->elemental_tasks_code; return $task->elementalTask->elemental_tasks_code;
})->implode('-'); })->implode(' ||');
}) })
->addColumn('Inspec', function ($row) { ->addColumn('Inspec', function ($row) {
return $row->hasInspectionYes() ? 'Sim' : 'Nao'; return $row->hasInspectionYes() ? 'Sim' : 'Nao';
@ -124,7 +124,7 @@ public function receiveWorkstationProject($receiveNumberProject)
->addColumn('workstations_Association_Tasks', function ($row) { ->addColumn('workstations_Association_Tasks', function ($row) {
return $row->workstationsAssociationTasks->map(function ($task) { return $row->workstationsAssociationTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code; return $task->elementalTask->elemental_tasks_code;
})->implode('-'); })->implode(' ||');
}) })
->toJson(); ->toJson();

View File

@ -1639,7 +1639,7 @@ class="form-control card_inputs"
<div class="card ordemTasks-div"> <div class="card ordemTasks-div">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Lista de Tarefas Elementares : <h3 class="card-title">Lista de Tarefas Elementares :
{{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }} {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3> </h3>
</div> </div>
<!-- /.card-header --> <!-- /.card-header -->
@ -1674,7 +1674,7 @@ class="form-control card_inputs"
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[2]" value="off"> name="ordemTasks[2]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[2]" value="on"> name="ordemTasks[2]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
@ -1740,9 +1740,11 @@ class="form-control card_inputs"
componentes </td> componentes </td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[10]" value="off"> name="ordemTasks[10]"
value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[10]" value="on"> name="ordemTasks[10]"
value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -1753,9 +1755,11 @@ class="form-control card_inputs"
<td>Calibrar e certificar</td> <td>Calibrar e certificar</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[13]" value="off"> name="ordemTasks[13]"
value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[13]" value="on"> name="ordemTasks[13]"
value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -1766,9 +1770,11 @@ class="form-control card_inputs"
<td>Pintura</td> <td>Pintura</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[14]" value="off"> name="ordemTasks[14]"
value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[14]" value="on"> name="ordemTasks[14]"
value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -1782,7 +1788,7 @@ class="form-control card_inputs"
<input type="hidden" <input type="hidden"
name="ordemTasks[15]" name="ordemTasks[15]"
value="off"> value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[15]" value="on" name="ordemTasks[15]" value="on"
{{ old('ordemTasks[15]') == 'on' ? 'checked' : '' }}> {{ old('ordemTasks[15]') == 'on' ? 'checked' : '' }}>
</td> </td>
@ -1797,7 +1803,7 @@ class="form-control card_inputs"
<input type="hidden" <input type="hidden"
name="ordemTasks[17]" name="ordemTasks[17]"
value="off"> value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[17]" value="on" name="ordemTasks[17]" value="on"
{{ old('ordemTasks[17]') == 'on' ? 'checked' : '' }}> {{ old('ordemTasks[17]') == 'on' ? 'checked' : '' }}>
</td> </td>
@ -2194,7 +2200,7 @@ class="form-control card_inputs"
<div class="card card-primary collapsed-card"> <div class="card card-primary collapsed-card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Ambito : <h3 class="card-title">Ambito :
{{-- {{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }} --}} {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3> </h3>
<div class="card-tools"> <div class="card-tools">
<button type="button" class="btn btn-tool" <button type="button" class="btn btn-tool"
@ -2207,7 +2213,7 @@ class="form-control card_inputs"
<div class="card ordemTasks-div"> <div class="card ordemTasks-div">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Lista de Tarefas Elementares : <h3 class="card-title">Lista de Tarefas Elementares :
{{-- {{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }} --}} {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3> </h3>
</div> </div>
<!-- /.card-header --> <!-- /.card-header -->
@ -2230,8 +2236,7 @@ class="form-control card_inputs"
<input type="hidden" <input type="hidden"
name="ordemTasks[1]" value="off"> name="ordemTasks[1]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[1]" value="on" name="ordemTasks[1]" value="on">
{{ old('ordemTasks[1]') == 'on' ? 'checked' : '' }}>
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -2251,28 +2256,15 @@ class="form-control card_inputs"
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE3</td> <td>TE4(3)</td>
<td>Pŕe-Teste</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[3]" value="off">
<input type="checkbox"
name="ordemTasks[3]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE4</td>
<td>Abertura da válvula, análise e controle <td>Abertura da válvula, análise e controle
dos dos
componentes</td> componentes</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[5]" value="off"> name="ordemTasks[7]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[5]" value="on"> name="ordemTasks[7]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -2291,41 +2283,29 @@ class="form-control card_inputs"
<input type="checkbox" name=""> <input type="checkbox" name="">
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE6</td> <td>TE7(3)</td>
<td>Retificação e lapidação</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[6]" value="off">
<input type="checkbox"
name="ordemTasks[6]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE7</td>
<td>Fecho da válvula e substituição de <td>Fecho da válvula e substituição de
componentes </td> componentes </td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[7]" value="off"> name="ordemTasks[12]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[7]" value="on"> name="ordemTasks[12]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE8</td> <td>TE14</td>
<td>Calibrar e certificar</td> <td>Ensaio</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[8]" value="off"> name="ordemTasks[20]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[8]" value="on"> name="ordemTasks[20]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -2336,9 +2316,9 @@ class="form-control card_inputs"
<td>Pintura</td> <td>Pintura</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[9]" value="off"> name="ordemTasks[14]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[9]" value="on"> name="ordemTasks[14]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -2350,10 +2330,10 @@ class="form-control card_inputs"
{{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox nao estiver a 'checked' --}} {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox nao estiver a 'checked' --}}
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[10]" name="ordemTasks[15]"
value="off"> value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[10]" name="ordemTasks[15]"
value="on"> value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
@ -2365,16 +2345,29 @@ class="form-control card_inputs"
<td>Inspeção Final</td> <td>Inspeção Final</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[11]" name="ordemTasks[17]"
value="off"> value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[11]" name="ordemTasks[17]"
value="on"> value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
</td> </td>
</tr> </tr>
<tr>
<td>TE15</td>
<td>Empancar (ISV)</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[21]" value="off">
<input type="checkbox"
name="ordemTasks[21]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -2822,7 +2815,7 @@ class="form-control card_inputs"
<div class="card card-info collapsed-card"> <div class="card card-info collapsed-card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Ambito : <h3 class="card-title">Ambito :
{{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }} {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3> </h3>
<div class="card-tools"> <div class="card-tools">
<button type="button" class="btn btn-tool" <button type="button" class="btn btn-tool"
@ -2835,7 +2828,7 @@ class="form-control card_inputs"
<div class="card ordemTasks-div"> <div class="card ordemTasks-div">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Lista de Tarefas Elementares : <h3 class="card-title">Lista de Tarefas Elementares :
{{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }} {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3> </h3>
</div> </div>
<!-- /.card-header --> <!-- /.card-header -->
@ -2858,8 +2851,22 @@ class="form-control card_inputs"
<input type="hidden" <input type="hidden"
name="ordemTasks[1]" value="off"> name="ordemTasks[1]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[1]" value="on" name="ordemTasks[1]" value="on">
{{ old('ordemTasks[1]') == 'on' ? 'checked' : '' }}> </td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE12</td>
<td>Inspeção Final</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[18]"
value="off">
<input type="checkbox"
name="ordemTasks[18]"
value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -2879,23 +2886,8 @@ class="form-control card_inputs"
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE3</td> <td>TE3(2)</td>
<td>Pŕe-Teste</td> <td>Pŕe-Teste</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[3]" value="off">
<input type="checkbox"
name="ordemTasks[3]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE4</td>
<td>Abertura da válvula, análise e controle
dos
componentes</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[4]" value="off"> name="ordemTasks[4]" value="off">
@ -2907,21 +2899,10 @@ class="form-control card_inputs"
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE5</td> <td>TE4(2)</td>
<td>Limpeza e lavagem dos componentes</td> <td>Abertura da válvula, análise e controle
<td class="text-center"> dos
<input type="hidden" componentes</td>
name="ordemTasks[5]" value="off">
<input type="checkbox"
name="ordemTasks[5]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE6</td>
<td>Retificação e lapidação</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[6]" value="off"> name="ordemTasks[6]" value="off">
@ -2933,22 +2914,8 @@ class="form-control card_inputs"
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE7</td> <td>TE5</td>
<td>Fecho da válvula e substituição de <td>Limpeza e lavagem dos componentes</td>
componentes </td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[7]" value="off">
<input type="checkbox"
name="ordemTasks[7]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE8</td>
<td>Calibrar e certificar</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[8]" value="off"> name="ordemTasks[8]" value="off">
@ -2960,28 +2927,55 @@ class="form-control card_inputs"
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE9</td> <td>TE7(2)</td>
<td>Pintura</td> <td>Fecho da válvula e substituição de
componentes </td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[9]" value="off"> name="ordemTasks[11]" value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[9]" value="on"> name="ordemTasks[11]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE13</td>
<td>Teste final</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[19]" value="off">
<input type="checkbox"
name="ordemTasks[19]" value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
</td> </td>
</tr> </tr>
<tr> <tr>
<td>TE10</td> <td>TE9</td>
<td>Pintura</td>
<td class="text-center">
<input type="hidden"
name="ordemTasks[14]" value="off">
<input type="checkbox"
name="ordemTasks[14]" value="on">
</td>
<td class="text-center">
<input type="checkbox" name="">
</td>
</tr>
<tr>
<td>TE10(2)</td>
<td>Montagem na linha</td> <td>Montagem na linha</td>
{{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox nao estiver a 'checked' --}} {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox nao estiver a 'checked' --}}
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[10]" name="ordemTasks[16]"
value="off"> value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[10]" name="ordemTasks[16]"
value="on"> value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
@ -2993,11 +2987,9 @@ class="form-control card_inputs"
<td>Inspeção Final</td> <td>Inspeção Final</td>
<td class="text-center"> <td class="text-center">
<input type="hidden" <input type="hidden"
name="ordemTasks[11]" name="ordemTasks[17]" value="off">
value="off">
<input type="checkbox" <input type="checkbox"
name="ordemTasks[11]" name="ordemTasks[17]" value="on">
value="on">
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="checkbox" name=""> <input type="checkbox" name="">
@ -3231,7 +3223,8 @@ class="btn btn-outline-success ">Adicionar</a>
<span aria-hidden="true">x</span> <span aria-hidden="true">x</span>
</button> </button>
</div> </div>
<form action="{{ route('CreateNewEquipmentFromPendingEquipment', $pendingEquipment->pending_equipment_id) }}" <form
action="{{ route('CreateNewEquipmentFromPendingEquipment', $pendingEquipment->pending_equipment_id) }}"
method="POST"> method="POST">
@csrf @csrf
@ -3449,13 +3442,17 @@ class="btn btn-outline-success ">Adicionar</a>
$(document).ready(function() { $(document).ready(function() {
$('.open-modal').click(function(e) { $('.open-modal').click(function(e) {
e.preventDefault(); e.preventDefault();
// Limpa todos os checkboxes ao abrir a modal
$('input[name^="ordemTasks"]').prop('checked', false);
var equipmentId = $(this).data('equipment-id'); var equipmentId = $(this).data('equipment-id');
$.ajax({ $.ajax({
url: '/api/equipment/' + equipmentId, url: '/api/equipment/' + equipmentId,
method: 'GET', method: 'GET',
success: function(data) { success: function(data) {
console.log(data);
data.attributes.forEach(function(item) { data.attributes.forEach(function(item) {
// Procura o input com name igual a general_attributes_equipment_id e preenche com specific_attributes_value // Procura o input com name igual a general_attributes_equipment_id e preenche com specific_attributes_value
$('input[name="attributes[' + item $('input[name="attributes[' + item
@ -3470,50 +3467,12 @@ class="btn btn-outline-success ">Adicionar</a>
}); });
// Abre a modal // Abre a modal
$('#modal-showEquipment').modal('show'); // $('#modal-showEquipment').modal('show');
} }
}); });
}); });
}); });
</script> --}} </script> --}}
{{-- <script>
$(document).ready(function() {
$('.open-modal').click(function(e) {
e.preventDefault();
var equipmentId = $(this).data('equipment-id');
$.ajax({
url: '/api/equipment/' + equipmentId,
method: 'GET',
success: function(data) {
data.attributes.forEach(function(item) {
// Procura o input com name igual a general_attributes_equipment_id e preenche com specific_attributes_value
$('input[name="attributes[' + item
.general_attributes_equipment_id + ']"]').val(item
.specific_attributes_value);
});
data.OrdemTasks.forEach(function(item) {
// console.log(data.OrdemTasks);
// Procura o checkbox com name igual a elemental_tasks_id e marca como checked
var checkbox = $('input[name="ordemTasks[' + item
.elemental_tasks_id + ']"]');
checkbox.prop('checked', true);
// Adiciona a opção ao dropdown
var option = new Option('TE' + item.elemental_tasks_id,
'TE' + item.elemental_tasks_id);
console.log(option);
$('#ArrayListElementsTasks').append($(option));
});
// Abre a modal
$('#modal-showEquipment').modal('show');
}
});
});
});
</script> --}}
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@ -3521,8 +3480,20 @@ class="btn btn-outline-success ">Adicionar</a>
$('.open-modal').click(function(e) { $('.open-modal').click(function(e) {
e.preventDefault(); e.preventDefault();
// Limpar os campos de input para cada equipamento
$('input[name^="attributes"]').val('');
// Limpa todos os checkboxes ao abrir a modal
$('input[name^="ordemTasks"]').prop('checked', false);
var equipmentId = $(this).data('equipment-id'); var equipmentId = $(this).data('equipment-id');
console.log($(this).data());
$.ajax({ $.ajax({
url: '/api/equipment/' + equipmentId, url: '/api/equipment/' + equipmentId,
method: 'GET', method: 'GET',
@ -3543,14 +3514,21 @@ class="btn btn-outline-success ">Adicionar</a>
.elemental_tasks_id + ']"]'); .elemental_tasks_id + ']"]');
checkbox.prop('checked', true); checkbox.prop('checked', true);
// Adiciona a tarefa ao array de tarefas selecionadas // Encontra o objeto correspondente em data.allElementalTasks
selectedTasks.push('TE' + item.elemental_tasks_id); var correspondingTask = data.allElementalTasks.find(
function(task) {
return task.elemental_tasks_id == item
.elemental_tasks_id;
});
// Verifica se encontrou o objeto correspondente
if (correspondingTask) {
// Adiciona a tarefa ao array de tarefas selecionadas
selectedTasks.push(correspondingTask
.elemental_tasks_code);
}
}); });
// console.log(selectedTasks);
console.log(selectedTasks);
// Ordena o array de tarefas selecionadas
selectedTasks.sort();
// Limpa o select // Limpa o select
$('#ArrayListElementsTasks').empty(); $('#ArrayListElementsTasks').empty();
@ -3565,6 +3543,17 @@ class="btn btn-outline-success ">Adicionar</a>
$('#modal-showEquipment').modal('show'); $('#modal-showEquipment').modal('show');
} }
}); });
$('#modal-showEquipment').on('hide.bs.modal', function() {
// Desmarca todos os checkboxes
$('input[name^="ordemTasks"]').prop('checked', false);
// Limpa o array de tarefas selecionadas
selectedTasks = [];
// Limpa o select
$('#ArrayListElementsTasks').empty();
});
}); });
// Monitora mudanças em todos os checkboxes // Monitora mudanças em todos os checkboxes

View File

@ -111,8 +111,9 @@ class="fas fa-plus"></i>
readonly> readonly>
@endif @endif
</td> </td>
<td class="text-center d-flex justify-content-around"> <td class="text-center d-flex justify-content-around ">
<a href='#' data-toggle='modal' <a href='#' data-toggle='modal' class="open-modal"
data-workstation-id="{{ $listWorkstation->id_workstations }}"
data-target='#modal-ViewOfices-{{ $listWorkstation->id_workstations }}'> data-target='#modal-ViewOfices-{{ $listWorkstation->id_workstations }}'>
<i class='fa-solid fa-edit text-primary'></i> <i class='fa-solid fa-edit text-primary'></i>
</a> </a>
@ -140,10 +141,10 @@ class="fas fa-plus"></i>
<a href="{{ route('test2', ['id' => $numberProject]) }}" <a href="{{ route('test2', ['id' => $numberProject]) }}"
class="btn btn-primary previous float-left">Anterior</a> class="btn btn-primary previous float-left">Anterior</a>
<form action="{{route('finishCreatingProject', ['numberProject' => $numberProject]) }}"> <form action="{{ route('finishCreatingProject', ['numberProject' => $numberProject]) }}">
@csrf @csrf
<input type="submit" class="btn btn-success previous float-right" value="Concluir"> <input type="submit" class="btn btn-success previous float-right" value="Concluir">
</form> </form>
</div> </div>
{{-- ./container-fluid --}} {{-- ./container-fluid --}}
@ -162,13 +163,14 @@ class="btn btn-primary previous float-left">Anterior</a>
<div class="modal-body"> <div class="modal-body">
<form action="{{ route('workstationsAssociationTasks') }}" method="get"> <form action="{{ route('workstationsAssociationTasks') }}" method="get">
<div class="row"> <div class="row">
<p>Nome Posto de Trabalho : </p> <p>Nome Posto de Trabalho : </p>
<input class="form-control col-sm-6" type="text" name="nameWorkstation" <input class="form-control col-sm-6" type="text" name="nameWorkstation"
value="{{ $listWorkstation->nomenclature_workstation }}"> value="{{ $listWorkstation->nomenclature_workstation }}">
<input type="hidden" name="idWorkStation" value="{{ $listWorkstation->id_workstations }}"> <input type="hidden" name="idWorkStation"
</div> value="{{ $listWorkstation->id_workstations }}">
<br> </div>
<br>
<section class="content"> <section class="content">
<div class="container-fluid"> <div class="container-fluid">
@ -187,25 +189,34 @@ class="btn btn-primary previous float-left">Anterior</a>
<div class="card-body"> <div class="card-body">
<!-- Tabela de Checkbox --> <!-- Tabela de Checkbox -->
<div> <div>
<p>TE1 - Desmontar da linha {{-- <p>TE1 - Desmontar da linha
<input type="checkbox" class="checkboxChoseTasksOficesPSV" <input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="1" name="generalTasks[TE1]"> value="1" name="generalTasks[TE1]">
</p> --}}
<p>TE1 - Desmontar da linha
<input type="hidden" name="generalTasks[1]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="on" name="generalTasks[1]">
</p> </p>
<p>TE2 - Descontaminar <p>TE2 - Descontaminar
<input type="hidden" name="generalTasks[2]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV" <input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="2" name="generalTasks[TE2]"> value="on" name="generalTasks[2]">
</p> </p>
<p>TE5 - Limpeza e lavagem dos componentes <p>TE5 - Limpeza e lavagem dos componentes
<input type="hidden" name="generalTasks[8]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV" <input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="5" name="generalTasks[TE5]"> value="on" name="generalTasks[8]">
</p> </p>
<p>TE9 - Pintura <p>TE9 - Pintura
<input type="hidden" name="generalTasks[14]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV" <input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="9" name="generalTasks[TE9]"> value="on" name="generalTasks[14]">
</p> </p>
<p>TE11 - Inspeção Final <p>TE11 - Inspeção Final
<input type="hidden" name="generalTasks[17]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV" <input type="checkbox" class="checkboxChoseTasksOficesPSV"
value="11" name="generalTasks[TE11]"> value="on" name="generalTasks[17]">
</p> </p>
</div> </div>
</div> </div>
@ -230,29 +241,51 @@ class="btn btn-primary previous float-left">Anterior</a>
</div> </div>
<div class="card-body"> <div class="card-body">
<p>TE3 - Pré-teste <p>TE3 - Pré-teste
{{-- <input type="checkbox"
class="checkboxChoseTasksOficesPSV" value="3"
name="PsvTasks[TE3]"> --}}
<input type="hidden" name="PsvTasks[3]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="3" name="PsvTasks[TE3]"> name="PsvTasks[3]">
</p> </p>
<p>TE6 - Retificação e lapidação <p>TE4 - Abertura da válvula, análise e controle dos
componentes
<input type="hidden" name="PsvTasks[5]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="6" name="PsvTasks[TE6]"> name="PsvTasks[5]">
</p>
<p>TE6 - Retificação e lapidação
<input type="hidden" name="PsvTasks[9]"
value="off">
<input type="checkbox"
class="checkboxChoseTasksOficesPSV" value="on"
name="PsvTasks[9]">
</p> </p>
<p>TE7 - Fecho da válvula e substituição de componentes <p>TE7 - Fecho da válvula e substituição de componentes
<input type="hidden" name="PsvTasks[10]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="7"
value="7" name="PsvTasks[TE7]"> name="PsvTasks[10]">
</p> </p>
<p>TE8 - Calibrar e certificar <p>TE8 - Calibrar e certificar
<input type="hidden" name="PsvTasks[13]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="8"
value="8" name="PsvTasks[TE8]"> name="PsvTasks[13]">
</p> </p>
<p>TE10 - Montagem na linha <p>TE10 - Montagem na linha
<input type="hidden" name="PsvTasks[15]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="10"
value="10" name="PsvTasks[TE10]"> name="PsvTasks[15]">
</p> </p>
</div> </div>
</div> </div>
@ -274,35 +307,47 @@ class="checkboxChoseTasksOficesPSV"
</div> </div>
<div class="card-body"> <div class="card-body">
<p>TE12 - Inspeção visual <p>TE12 - Inspeção visual
<input type="hidden" name="CvTasks[18]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="21" name="CvTasks[TE12]"> name="CvTasks[18]">
</p> </p>
<p>TE3(2) - Pré-teste <p>TE3(2) - Pré-teste
<input type="hidden" name="CvTasks[4]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="12" name="CvTasks[TE3(2)]"> name="CvTasks[4]">
</p> </p>
<p>TE4(2) - Abertura da válvula, análise e controle dos <p>TE4(2) - Abertura da válvula, análise e controle dos
componentes componentes
<input type="hidden" name="CvTasks[6]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="13" name="CvTasks[TE4(2)]"> name="CvTasks[6]">
</p> </p>
<p>TE7(2) - Fecho da válvula e substituição de componentes <p>TE7(2) - Fecho da válvula e substituição de componentes
<input type="hidden" name="CvTasks[11]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="14" name="CvTasks[TE7(2)]"> name="CvTasks[11]">
</p> </p>
<p>TE13 - Teste final <p>TE13 - Teste final
<input type="hidden" name="CvTasks[19]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="15" name="CvTasks[TE13]"> name="CvTasks[19]">
</p> </p>
<p>TE10(2) - Montagem na linha <p>TE10(2) - Montagem na linha
<input type="hidden" name="CvTasks[16]"
value="off">
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="on"
value="16" name="CvTasks[TE10(2)]"> name="CvTasks[16]">
</p> </p>
</div> </div>
</div> </div>
@ -370,8 +415,8 @@ class="checkboxChoseTasksOficesPSV"
<div class="card-body"> <div class="card-body">
<p>TC1 - Pintar de Verde <p>TC1 - Pintar de Verde
<input type="checkbox" <input type="checkbox"
class="checkboxChoseTasksOficesPSV" class="checkboxChoseTasksOficesPSV" value="16"
value="16" name="CvTasks[TE10(2)]"> name="CvTasks[TE10(2)]">
</p> </p>
</div> </div>
</div> </div>
@ -387,7 +432,7 @@ class="checkboxChoseTasksOficesPSV"
<div class="modal-footer justify-content-between"> <div class="modal-footer justify-content-between">
<!-- Vai ficar o Footer --> <!-- Vai ficar o Footer -->
<input type="submit" value="Guardar"> <input type="submit" class="btn btn-success" value="Guardar">
</form> </form>
</div> </div>
</div> </div>
@ -429,6 +474,39 @@ class="checkboxChoseTasksOficesPSV"
@endsection @endsection
@section('scriptsTemplateAdmin') @section('scriptsTemplateAdmin')
<script>
$(document).ready(function() {
$('.open-modal').click(function(e) {
e.preventDefault();
var WorkstationId = $(this).data('workstation-id');
// Limpa todos os checkboxes ao abrir a modal
$('input[name^="generalTasks"]').prop('checked', false);
$('input[name^="PsvTasks"]').prop('checked', false);
$('input[name^="CvTasks"]').prop('checked', false);
$.ajax({
url: '/api/receveTasksWorkstationPlanning/' + WorkstationId,
method: 'GET',
success: function(data) {
console.log(data.workstationsAssociationTasks);
data.workstationsAssociationTasks.forEach(function(item) {
// Aqui estamos assumindo que os checkboxes estão nomeados exatamente como "generalTasks[elemental_tasks_id]",
// "PsvTasks[elemental_tasks_id]", e "CvTasks[elemental_tasks_id]". Se eles não estiverem, você precisará ajustar isto.
$('input[name="generalTasks[' + item.elemental_tasks_id + ']"]').prop('checked', true);
$('input[name="PsvTasks[' + item.elemental_tasks_id + ']"]').prop('checked', true);
$('input[name="CvTasks[' + item.elemental_tasks_id + ']"]').prop('checked', true);
});
}
})
});
});
</script>
<script> <script>
$(function() { $(function() {
$("#workstationTable").DataTable({ $("#workstationTable").DataTable({

View File

@ -38,6 +38,7 @@
Route::get('/api/receiveEquipmentsProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveEquipmentsProject']); Route::get('/api/receiveEquipmentsProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveEquipmentsProject']);
Route::get('/api/receiveWorkstationProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveWorkstationProject' ]); Route::get('/api/receiveWorkstationProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveWorkstationProject' ]);
Route::get('api/receveTasksWorkstationPlanning/{WorkstationId}',[CreateProjectController::class,'receveTasksWorkstationPlanning']);
Route::get('user-data', [PreparedProjectController::class, 'getData1'])->name('getData'); Route::get('user-data', [PreparedProjectController::class, 'getData1'])->name('getData');