Updating graphics on work in progress and equipment history
This commit is contained in:
parent
02281f4892
commit
19eaa4ce18
2
.env
2
.env
|
|
@ -1,7 +1,7 @@
|
||||||
APP_NAME="ISPT4.0"
|
APP_NAME="ISPT4.0"
|
||||||
APP_ENV=local
|
APP_ENV=local
|
||||||
APP_KEY=base64:ahx5/AvVGu/iHQx1mjX/EQg4m1NHLvtjzb6pFa49TlE=
|
APP_KEY=base64:ahx5/AvVGu/iHQx1mjX/EQg4m1NHLvtjzb6pFa49TlE=
|
||||||
APP_DEBUG=true
|
APP_DEBUG=false
|
||||||
APP_URL=http://localhost
|
APP_URL=http://localhost
|
||||||
APP_VERSION = "1.0.0"
|
APP_VERSION = "1.0.0"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,8 @@ public function getEquipmentsOfAmbit(Request $request)
|
||||||
public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
public function showReportingForAmbitsProjectPdf($ambitId, $projectId)
|
||||||
{
|
{
|
||||||
// Obter o caminho da imagem do usuário ou uma imagem padrão
|
// Obter o caminho da imagem do usuário ou uma imagem padrão
|
||||||
|
|
||||||
|
// Primeiro precisa identificar se quem esta a visualizar o relatorio e o Admin ou o Cliente
|
||||||
$userLogoPath = Auth::user()->user_logo ? public_path('user_logos/' . Auth::user()->user_logo) : public_path('user_logos/logoISPT4.0.jpg');
|
$userLogoPath = Auth::user()->user_logo ? public_path('user_logos/' . Auth::user()->user_logo) : public_path('user_logos/logoISPT4.0.jpg');
|
||||||
|
|
||||||
// Pega a data e hora atual
|
// Pega a data e hora atual
|
||||||
|
|
@ -236,15 +238,27 @@ public function getDataEquipmentsOfProject(Request $request)
|
||||||
$dataEquipentProject = $query->get();
|
$dataEquipentProject = $query->get();
|
||||||
|
|
||||||
|
|
||||||
// Retornar a resposta para o DataTables
|
// // Retornar a resposta para o DataTables
|
||||||
|
// return Datatables::of($dataEquipentProject)
|
||||||
|
|
||||||
|
// // ->addColumn('action', function ($dataEquipment) {
|
||||||
|
// // $actionBtn = '<a title="Detalhes do equipamento" href="' . route('showReportingEquipmentProject', ['dataEquipment' => $dataEquipment->equipment_id]) . '"><i class="fa-solid fa-eye text-primary"></i></a>';
|
||||||
|
// // return $actionBtn;
|
||||||
|
// // })
|
||||||
|
// ->addColumn('action', function ($dataEquipment) {
|
||||||
|
// $actionBtn = '<a title="Detalhes do equipamento" href="' . route('showAmbitDetailsProjectHistory', ['projectID' => $projectId,'equipmentID' => $dataEquipment->equipment_id]) . '"><i class="fa-solid fa-eye text-primary"></i></a>';
|
||||||
|
// return $actionBtn;
|
||||||
|
// })
|
||||||
|
|
||||||
|
// ->make(true);
|
||||||
|
|
||||||
return Datatables::of($dataEquipentProject)
|
return Datatables::of($dataEquipentProject)
|
||||||
|
->addColumn('action', function ($dataEquipment) use ($projectId) { // Use a palavra-chave 'use' para passar $projectId
|
||||||
|
$actionBtn = '<a title="Detalhes do equipamento" href="' . route('showAmbitDetailsProjectHistory', ['projectID' => $projectId,'equipmentID' => $dataEquipment->equipment_id]) . '"><i class="fa-solid fa-eye text-primary"></i></a>';
|
||||||
|
return $actionBtn;
|
||||||
|
})
|
||||||
|
->make(true);
|
||||||
|
|
||||||
->addColumn('action', function ($dataEquipment) {
|
|
||||||
$actionBtn = '<a title="Detalhes do equipamento" href="' . route('showReportingEquipmentProject', ['dataEquipment' => $dataEquipment->equipment_id]) . '"><i class="fa-solid fa-eye text-primary"></i></a>';
|
|
||||||
return $actionBtn;
|
|
||||||
})
|
|
||||||
|
|
||||||
->make(true);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -374,7 +388,7 @@ public function reportingDataClient($clientID = null)
|
||||||
->orderBy('year', 'desc')
|
->orderBy('year', 'desc')
|
||||||
->pluck('year');
|
->pluck('year');
|
||||||
|
|
||||||
return view('userClient.reportingDataClient', compact('clientID','allPlantsClient', 'yearsProjects'));
|
return view('userClient.reportingDataClient', compact('clientID', 'allPlantsClient', 'yearsProjects'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -706,54 +706,27 @@ public function showStep1($company_projects_id)
|
||||||
// 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)
|
||||||
{
|
{
|
||||||
dd($request);
|
|
||||||
// Validação...
|
// Validação...
|
||||||
$installationId = $request->input('installation_id');
|
|
||||||
|
|
||||||
if ($installationId <> null && $installationId == 'new_install') {
|
|
||||||
|
|
||||||
// Criar uma nova instalação...
|
|
||||||
$newInstallation = new Plant;
|
|
||||||
|
|
||||||
$newInstallation->plant_name = $request->input('new_company_name');
|
|
||||||
$newInstallation->plant_address = $request->input('new_company_address');
|
|
||||||
$newInstallation->user_id = $request->input('user_id');
|
|
||||||
|
|
||||||
$newInstallation->save();
|
|
||||||
|
|
||||||
// Use o id da nova instalação.
|
|
||||||
$installationId = $newInstallation->plant_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
$receiveDetailsPlant = Plant::where('plant_name', $request->plant_id_present)->first();
|
|
||||||
|
|
||||||
// $project = new CompanyProject;
|
|
||||||
$project = CompanyProject::where('company_projects_id', $request->projectId)->first();
|
$project = CompanyProject::where('company_projects_id', $request->projectId)->first();
|
||||||
|
|
||||||
$project->company_project_description = $request->input('description_project');
|
$project->company_project_description = $request->input('description_project');
|
||||||
$project->project_ispt_number = $request->input('n_project_ispt');
|
|
||||||
$project->project_company_number = $request->input('project_company_number');
|
$project->project_company_number = $request->input('project_company_number');
|
||||||
$project->project_ispt_responsible = $request->input('responsible_project_ispt');
|
|
||||||
$project->project_company_responsible = $request->input('responsible_project_company');
|
$project->project_company_responsible = $request->input('responsible_project_company');
|
||||||
|
$project->project_ispt_number = $request->input('n_project_ispt');
|
||||||
|
$project->project_ispt_responsible = $request->input('responsible_project_ispt');
|
||||||
|
|
||||||
|
//Verifica se exsite uma nova data, se existe atualiza o projecto com a nova, se nao existir usa a antiga
|
||||||
// Verifica se e igual a nulo , se for usa a data ja existente
|
if($request->date_started <> null){
|
||||||
if ($request->date_started === null) {
|
|
||||||
$project->date_started = $request->input('date_started_present');
|
|
||||||
} else
|
|
||||||
$project->date_started = $request->input('date_started');
|
$project->date_started = $request->input('date_started');
|
||||||
|
} else {
|
||||||
$project->plant_id = $receiveDetailsPlant->plant_id;
|
$project->date_started = $request->input('date_started_present');
|
||||||
$project->order_project = 1;
|
}
|
||||||
|
|
||||||
$project->save();
|
$project->save();
|
||||||
|
|
||||||
session(['form_data.step1' => $request->all()]);
|
session(['form_data.step1' => $request->all()]);
|
||||||
|
|
||||||
// // Redirecione o Utilizador para a próxima etapa
|
|
||||||
// return redirect('/articulated_2')
|
|
||||||
// ->with('project', $project)
|
|
||||||
// ->with('success', 'Dados guardados com sucesso');
|
|
||||||
return redirect()->route('articulated_2', ['id' => $project->company_projects_id])
|
return redirect()->route('articulated_2', ['id' => $project->company_projects_id])
|
||||||
->with('success', 'Detalhes do Project atualizados!');
|
->with('success', 'Detalhes do Project atualizados!');
|
||||||
}
|
}
|
||||||
|
|
@ -807,57 +780,49 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
|
||||||
|
|
||||||
public function processStep1(Request $request)
|
public function processStep1(Request $request)
|
||||||
{
|
{
|
||||||
|
//NAO DEVE SER CRIAR UMA NOVA EMPRESA NA CRIACAO DA OBRA (era uma boa ideia para facilitar ao Admin ter que criar a empresa para Depois a Obra, mas e necessario pelo facto da autentificao de 2 factores e envio e email , entao devido essa adicoes, nao preciso atualmente fazer sentido criar isto)
|
||||||
dd($request);
|
// Dito isto vamos sempre pensar que o Cliente ja deve estar criado , para ser feita uma Obra para o mesmo.
|
||||||
|
// dd($request);
|
||||||
// Validação...
|
// Validação...
|
||||||
$installationId = $request->input('installation_id');
|
|
||||||
|
|
||||||
if ($installationId <> null && $installationId == 'new_install') {
|
if ($request->input('installation_id')) {
|
||||||
|
|
||||||
// Criar uma nova instalação...
|
$installationId = $request->input('installation_id');
|
||||||
$newInstallation = new Plant;
|
|
||||||
|
|
||||||
$newInstallation->plant_name = $request->input('new_company_name');
|
//Para criar uma nova instalacao
|
||||||
$newInstallation->plant_address = $request->input('new_company_address');
|
if ($installationId <> null && $installationId == 'new_install') {
|
||||||
$newInstallation->user_id = $request->input('user_id');
|
|
||||||
|
|
||||||
$newInstallation->save();
|
// Criar uma nova instalação...
|
||||||
|
$newInstallation = new Plant;
|
||||||
|
|
||||||
// Use o id da nova instalação.
|
$newInstallation->plant_name = $request->input('new_company_name');
|
||||||
$installationId = $newInstallation->plant_id;
|
$newInstallation->plant_address = $request->input('new_company_address');
|
||||||
|
$newInstallation->user_id = $request->input('user_id');
|
||||||
|
|
||||||
|
$newInstallation->save();
|
||||||
|
|
||||||
|
// Use o id da nova instalação.
|
||||||
|
$installationId = $newInstallation->plant_id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
$receiveDetailsPlant = Plant::where('plant_id', $installationId)->first();
|
||||||
|
|
||||||
$receiveDetailsPlant = Plant::where('plant_name', $request->plant_id_present)->first();
|
//Code apenas para criacao de Obra sem criar instlacao ou empresa
|
||||||
|
$project = new CompanyProject;
|
||||||
// $project = new CompanyProject;
|
|
||||||
$project = CompanyProject::where('company_projects_id', $request->projectId)->first();
|
|
||||||
|
|
||||||
$project->company_project_description = $request->input('description_project');
|
$project->company_project_description = $request->input('description_project');
|
||||||
$project->project_ispt_number = $request->input('n_project_ispt');
|
$project->project_ispt_number = $request->input('n_project_ispt');
|
||||||
$project->project_company_number = $request->input('project_company_number');
|
$project->project_company_number = $request->input('project_company_number');
|
||||||
$project->project_ispt_responsible = $request->input('responsible_project_ispt');
|
$project->project_ispt_responsible = $request->input('responsible_project_ispt');
|
||||||
$project->project_company_responsible = $request->input('responsible_project_company');
|
$project->project_company_responsible = $request->input('responsible_project_company');
|
||||||
|
|
||||||
|
|
||||||
// Verifica se e igual a nulo , se for usa a data ja existente
|
|
||||||
if ($request->date_started === null) {
|
|
||||||
$project->date_started = $request->input('date_started_present');
|
|
||||||
} else
|
|
||||||
$project->date_started = $request->input('date_started');
|
|
||||||
|
|
||||||
$project->plant_id = $receiveDetailsPlant->plant_id;
|
$project->plant_id = $receiveDetailsPlant->plant_id;
|
||||||
$project->order_project = 1;
|
$project->order_project = 1;
|
||||||
|
$project->date_started = $request->input('date_started');
|
||||||
|
|
||||||
$project->save();
|
$project->save();
|
||||||
|
|
||||||
session(['form_data.step1' => $request->all()]);
|
|
||||||
|
|
||||||
// // Redirecione o Utilizador para a próxima etapa
|
|
||||||
// return redirect('/articulated_2')
|
|
||||||
// ->with('project', $project)
|
|
||||||
// ->with('success', 'Dados guardados com sucesso');
|
|
||||||
return redirect()->route('articulated_2', ['id' => $project->company_projects_id])
|
return redirect()->route('articulated_2', ['id' => $project->company_projects_id])
|
||||||
->with('success', 'Detalhes do Project atualizados!');
|
->with('success', 'Project criado com sucesso!');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showStep2($company_projects_id)
|
public function showStep2($company_projects_id)
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,30 @@
|
||||||
use App\Models\Unit;
|
use App\Models\Unit;
|
||||||
use App\Models\AmbitsEquipment;
|
use App\Models\AmbitsEquipment;
|
||||||
|
|
||||||
|
use PDF;
|
||||||
|
|
||||||
|
|
||||||
class PreparedProjectController extends Controller
|
class PreparedProjectController extends Controller
|
||||||
{
|
{
|
||||||
|
public function showDetailsEquipmentForQrCode($equipmentId,$projectId){
|
||||||
|
// dd($equipmentId);
|
||||||
|
$detailsEquipment = Equipment::find($equipmentId);
|
||||||
|
// dd($detailsEquipment);
|
||||||
|
|
||||||
|
$pdf = PDF::loadView('projectsClients.showDetailsEquipmentForQrCodePdf',[
|
||||||
|
'detailsEquipment' => $detailsEquipment
|
||||||
|
])
|
||||||
|
->setPaper('a4');
|
||||||
|
return $pdf->stream('teste.pdf');
|
||||||
|
}
|
||||||
|
|
||||||
public function PreparedProject($ProjectId)
|
public function PreparedProject($ProjectId)
|
||||||
{
|
{
|
||||||
|
|
||||||
$numberProject = CompanyProject::find($ProjectId);
|
$numberProject = CompanyProject::find($ProjectId);
|
||||||
|
|
||||||
$equipmentsProjects = Equipment::all()->where('company_projects_id', $ProjectId);
|
$equipmentsProjects = Equipment::all()->where('company_projects_id', $ProjectId);
|
||||||
|
|
||||||
$equipmentsTypes = EquipmentType::all();
|
$equipmentsTypes = EquipmentType::all();
|
||||||
|
|
||||||
//Retorna todas as Fabricas Unit, com base na Instalação
|
//Retorna todas as Fabricas Unit, com base na Instalação
|
||||||
|
|
@ -33,6 +48,7 @@ public function PreparedProject($ProjectId)
|
||||||
->where('company_projects.company_projects_id', '=', $numberProject->company_projects_id)
|
->where('company_projects.company_projects_id', '=', $numberProject->company_projects_id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
// dd($equipmentsProjects);
|
||||||
return view('projectsClients/preparedProject')
|
return view('projectsClients/preparedProject')
|
||||||
// ->with('equipmentsProjects', $equipmentsProjects)
|
// ->with('equipmentsProjects', $equipmentsProjects)
|
||||||
->with('equipmentsTypes', $equipmentsTypes)
|
->with('equipmentsTypes', $equipmentsTypes)
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,13 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Models\AmbitsEquipment;
|
use App\Models\AmbitsEquipment;
|
||||||
|
use App\Models\ControlEquipmentWorkstation;
|
||||||
use App\Models\ElementalTasks;
|
use App\Models\ElementalTasks;
|
||||||
use App\Models\EquipmentAssociationAmbit;
|
use App\Models\EquipmentAssociationAmbit;
|
||||||
use App\Models\EquipmentWorkHistory;
|
use App\Models\EquipmentWorkHistory;
|
||||||
use App\Models\TasksAssociationAmbits;
|
use App\Models\TasksAssociationAmbits;
|
||||||
use App\Models\Unit;
|
use App\Models\Unit;
|
||||||
|
use App\Models\workstationsTaskAnswers;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
|
@ -34,38 +36,105 @@ class ProjectoDatacontroller extends Controller
|
||||||
|
|
||||||
public function showAmbitDetailsProjectHistory($projectID, $equipmentID)
|
public function showAmbitDetailsProjectHistory($projectID, $equipmentID)
|
||||||
{
|
{
|
||||||
|
|
||||||
$detailsProject = CompanyProject::where('company_projects_id', $projectID)->first();
|
$detailsProject = CompanyProject::where('company_projects_id', $projectID)->first();
|
||||||
|
|
||||||
$detalsEquipmentWorkProject = EquipmentWorkHistory::where('equipment_id', $equipmentID)
|
$detalsEquipmentWorkProject = EquipmentWorkHistory::where('equipment_id', $equipmentID)
|
||||||
->where('company_projects_id', $projectID)->first();
|
->where('company_projects_id', $projectID)->first();
|
||||||
|
|
||||||
|
$detalsEquipment = Equipment::where('equipment_id',$equipmentID)->first();
|
||||||
|
|
||||||
|
$receiveAllTasksHistiory = ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $detalsEquipmentWorkProject->equipmentWorkHistorys_id)->get();
|
||||||
|
|
||||||
|
$receiveAllTasksEquipmentInHistory = OrderEquipmentTasks::where('equipmentWorkHistorys_id', $detalsEquipmentWorkProject->equipmentWorkHistorys_id)->get();
|
||||||
|
|
||||||
|
|
||||||
$receiveAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $detalsEquipmentWorkProject->equipmentWorkHistorys_id)->first();
|
$receiveAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $detalsEquipmentWorkProject->equipmentWorkHistorys_id)->first();
|
||||||
|
|
||||||
// $tasksAssociatedWithAmbit = TasksAssociationAmbits::where('ambits_equipment_id', $receiveAmbit->ambits_id)->get();
|
// $tasksAssociatedWithAmbit = TasksAssociationAmbits::where('ambits_equipment_id', $receiveAmbit->ambits_id)->get();
|
||||||
|
|
||||||
$tasksAssociatedWithAmbit = TasksAssociationAmbits::with('elementalTask')
|
$tasksAssociatedWithAmbit = TasksAssociationAmbits::with('elementalTask')
|
||||||
->where('ambits_equipment_id', $receiveAmbit->ambits_id)
|
->where('ambits_equipment_id', $receiveAmbit->ambits_id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
foreach ($tasksAssociatedWithAmbit as $taskAssociation) {
|
foreach ($tasksAssociatedWithAmbit as $taskAssociation) {
|
||||||
if ($taskAssociation->elementalTask) {
|
if ($taskAssociation->elementalTask) {
|
||||||
// Adiciona diretamente ao objeto TasksAssociationAmbits
|
// Adiciona diretamente ao objeto TasksAssociationAmbits
|
||||||
$taskAssociation->elemental_task_description = $taskAssociation->elementalTask->elemental_tasks_description;
|
$taskAssociation->elemental_task_description = $taskAssociation->elementalTask->elemental_tasks_description;
|
||||||
} else {
|
} else {
|
||||||
// Defina como null ou algum valor padrão se não houver tarefa elementar associada
|
// Defina como null ou algum valor padrão se não houver tarefa elementar associada
|
||||||
$taskAssociation->elemental_task_description = null;
|
$taskAssociation->elemental_task_description = null;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Agora cada objeto dentro de $tasksAssociatedWithAmbit tem uma propriedade 'elemental_task_description'.
|
$receiveAllTasksHistiory = ControlEquipmentWorkstation::with('workstationsTaskAnswers')
|
||||||
|
->where('equipmentWorkHistorys_id', $detalsEquipmentWorkProject->equipmentWorkHistorys_id)
|
||||||
|
->whereNotNull('entry_date') // Verifica se 'entry_date' não é null
|
||||||
|
->whereNotNull('departure_date') // Verifica se 'departure_date' não é null
|
||||||
|
->has('workstationsTaskAnswers') // Garante que haja pelo menos uma 'workstationsTaskAnswers' relacionada
|
||||||
|
->get();
|
||||||
|
|
||||||
|
foreach ($receiveAllTasksHistiory as $taskHistory) {
|
||||||
|
$taskHistory->cardTypeStyle = 'gray'; // Adiciona o campo 'cardTypeStyle'
|
||||||
|
|
||||||
|
// Obtém o primeiro registro de workstationsTaskAnswers ou define como null se não existir
|
||||||
|
$workstationTaskAnswer = $taskHistory->workstationsTaskAnswers->first();
|
||||||
|
|
||||||
|
if ($workstationTaskAnswer && $workstationTaskAnswer->answer_json) {
|
||||||
|
// Decodifica o JSON para um array
|
||||||
|
$answersArray = json_decode($workstationTaskAnswer->answer_json, true);
|
||||||
|
|
||||||
|
// Cria um array associativo onde as chaves são as perguntas e os valores são as respostas
|
||||||
|
$formattedAnswers = [];
|
||||||
|
foreach ($answersArray as $item) {
|
||||||
|
if (isset($item['question']) && isset($item['value'])) {
|
||||||
|
$formattedAnswers[$item['question']] = $item['value'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Atribui o array formatado ao taskHistory
|
||||||
|
$taskHistory->formatted_answers = $formattedAnswers;
|
||||||
|
} else {
|
||||||
|
// Se não houver respostas, define formatted_answers como um array vazio ou null
|
||||||
|
$taskHistory->formatted_answers = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_null($taskHistory->entry_date) && !is_null($taskHistory->departure_date)) {
|
||||||
|
// Converte para instâncias de Carbon
|
||||||
|
$entryDate = \Carbon\Carbon::parse($taskHistory->entry_date);
|
||||||
|
$departureDate = \Carbon\Carbon::parse($taskHistory->departure_date);
|
||||||
|
|
||||||
|
// Calcula a diferença em minutos, horas e dias
|
||||||
|
$diffInMinutes = $entryDate->diffInMinutes($departureDate);
|
||||||
|
$diffInHours = $entryDate->diffInHours($departureDate);
|
||||||
|
$diffInDays = $entryDate->diffInDays($departureDate);
|
||||||
|
|
||||||
|
// Se a diferença for menos de uma hora
|
||||||
|
if ($diffInMinutes < 60) {
|
||||||
|
$taskHistory->runtime = $diffInMinutes . ' minutos';
|
||||||
|
}
|
||||||
|
// Se a diferença for menos de 24 horas mas mais que uma hora
|
||||||
|
else if ($diffInHours < 24) {
|
||||||
|
$taskHistory->runtime = $diffInHours . ' horas';
|
||||||
|
}
|
||||||
|
// Se for mais de 24 horas
|
||||||
|
else {
|
||||||
|
// Calcula horas restantes após contar os dias
|
||||||
|
$remainingHours = $diffInHours % 24;
|
||||||
|
$taskHistory->runtime = $diffInDays . ' dias ' . $remainingHours . ' horas';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$taskHistory->runtime = 'N/A'; // Ou qualquer valor padrão que você prefira
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Nao esta a receber itens
|
||||||
|
|
||||||
|
// dd($allWorkstationsTaskAnswers);
|
||||||
|
// Agora cada objeto dentro de $tasksAssociatedWithAmbit tem uma propriedade 'elemental_task_description'.
|
||||||
|
|
||||||
//buscar Tarfas e tempo de execussao pelo control, assim como suas respostas.
|
//buscar Tarfas e tempo de execussao pelo control, assim como suas respostas.
|
||||||
|
// dd($receiveAmbit);
|
||||||
|
|
||||||
return view('projectsClients.showAmbitDetailProjectHistory', compact('detailsProject','receiveAmbit'));
|
return view('projectsClients.showAmbitDetailProjectHistory', compact('detailsProject', 'receiveAmbit', 'receiveAllTasksHistiory','detalsEquipment'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Livewire\Execução;
|
namespace App\Livewire\Execução;
|
||||||
|
|
||||||
|
use App\Models\EquipmentWorkHistory;
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
use Livewire\Exceptions\PublicPropertyNotFoundException;
|
use Livewire\Exceptions\PublicPropertyNotFoundException;
|
||||||
use App\Models\Equipment;
|
use App\Models\Equipment;
|
||||||
|
|
@ -93,7 +94,11 @@ public function refreshDataEquipments($datasProject)
|
||||||
$this->equivalentUnstarted = 0;
|
$this->equivalentUnstarted = 0;
|
||||||
|
|
||||||
|
|
||||||
$totalEquipments = Equipment::where('company_projects_id', $datasProject->company_projects_id)->get();
|
$totalEquipments = EquipmentWorkHistory::where('company_projects_id', $datasProject->company_projects_id)->get();
|
||||||
|
|
||||||
|
// $detalsEquipmentWorkProject = EquipmentWorkHistory::where('equipment_id', $equipmentID)
|
||||||
|
// ->where('company_projects_id', $projectID)->first();
|
||||||
|
|
||||||
// Busca o valor total de todos os equipamentos encontrados
|
// Busca o valor total de todos os equipamentos encontrados
|
||||||
$this->totalEquipmentsCount = $totalEquipments->count();
|
$this->totalEquipmentsCount = $totalEquipments->count();
|
||||||
|
|
||||||
|
|
@ -102,13 +107,13 @@ public function refreshDataEquipments($datasProject)
|
||||||
foreach ($totalEquipments as $equipment) {
|
foreach ($totalEquipments as $equipment) {
|
||||||
|
|
||||||
// Conta quantas vezes o equipamento aparece em OrderEquipmentTasks
|
// Conta quantas vezes o equipamento aparece em OrderEquipmentTasks
|
||||||
$tasksCount = OrderEquipmentTasks::where('equipment_id', $equipment->equipment_id)->count();
|
$tasksCount = OrderEquipmentTasks::where('equipmentWorkHistorys_id', $equipment->equipmentWorkHistorys_id)->count();
|
||||||
|
|
||||||
// ira receber varios dados para o array sendo array[key:equipment_id,valor:quantidade de vezes que o equipment_id se repete na tabela 'OrderEquipmentTasks']
|
// ira receber varios dados para o array sendo array[key:equipment_id,valor:quantidade de vezes que o equipment_id se repete na tabela 'OrderEquipmentTasks']
|
||||||
$equipmentCounts[$equipment->equipment_id] = $tasksCount;
|
$equipmentCounts[$equipment->equipment_id] = $tasksCount;
|
||||||
|
|
||||||
// Verifica quantos dados tem para o mesmo equipamento, resumindo quantas tarefas ja vez e seu circuito ao longo de seu Ambito
|
// Verifica quantos dados tem para o mesmo equipamento, resumindo quantas tarefas ja vez e seu circuito ao longo de seu Ambito
|
||||||
$controlCount = ControlEquipmentWorkstation::where('equipment_id', $equipment->equipment_id)->count();
|
$controlCount = ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $equipment->equipmentWorkHistorys_id)->count();
|
||||||
|
|
||||||
// Verifica inicialmente se a quantido de vezes que tal equipamento apacere na ControlEquipmentWorkstation e o mesmo numero de vezes que aparece na tabela : OrderEquipmentTasks
|
// Verifica inicialmente se a quantido de vezes que tal equipamento apacere na ControlEquipmentWorkstation e o mesmo numero de vezes que aparece na tabela : OrderEquipmentTasks
|
||||||
// Isto para ver se o ciclo foi correto sem retornos se os 2 valores forem iguais significa que o equipamento foi concluido.
|
// Isto para ver se o ciclo foi correto sem retornos se os 2 valores forem iguais significa que o equipamento foi concluido.
|
||||||
|
|
@ -120,7 +125,7 @@ public function refreshDataEquipments($datasProject)
|
||||||
// ->count() >= $tasksCount
|
// ->count() >= $tasksCount
|
||||||
// ) {
|
// ) {
|
||||||
|
|
||||||
if (ControlEquipmentWorkstation::where('equipment_id', $equipment->equipment_id)
|
if (ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $equipment->equipmentWorkHistorys_id)
|
||||||
// apos receber ambos os numeros se as colunas 'entry_date' e 'departure_date' forem diferente de Null significa que o equipamento foi concluido
|
// apos receber ambos os numeros se as colunas 'entry_date' e 'departure_date' forem diferente de Null significa que o equipamento foi concluido
|
||||||
|
|
||||||
->whereNotNull('id_workstations')
|
->whereNotNull('id_workstations')
|
||||||
|
|
@ -135,7 +140,7 @@ public function refreshDataEquipments($datasProject)
|
||||||
$this->completed1[] = $equipment->equipment_id; // Adiciona o equipment_id ao array
|
$this->completed1[] = $equipment->equipment_id; // Adiciona o equipment_id ao array
|
||||||
|
|
||||||
$this->equivalentCompleted += $equipmentCounts[$equipment->equipment_id];
|
$this->equivalentCompleted += $equipmentCounts[$equipment->equipment_id];
|
||||||
} elseif (ControlEquipmentWorkstation::where('equipment_id', $equipment->equipment_id)->exists()) {
|
} elseif (ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $equipment->equipmentWorkHistorys_id)->exists()) {
|
||||||
$this->inProgress++;
|
$this->inProgress++;
|
||||||
$this->equivalentInProgress += $equipmentCounts[$equipment->equipment_id];
|
$this->equivalentInProgress += $equipmentCounts[$equipment->equipment_id];
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Livewire\Execução;
|
namespace App\Livewire\Execução;
|
||||||
|
|
||||||
use App\Models\Equipment;
|
use App\Models\Equipment;
|
||||||
|
use App\Models\EquipmentWorkHistory;
|
||||||
use App\Models\OrderEquipmentTasks;
|
use App\Models\OrderEquipmentTasks;
|
||||||
use App\Models\ControlEquipmentWorkstation;
|
use App\Models\ControlEquipmentWorkstation;
|
||||||
use App\Models\ElementalTasks;
|
use App\Models\ElementalTasks;
|
||||||
|
|
@ -17,16 +18,16 @@ class TasksDashboard extends Component
|
||||||
// protected $receiveTasksRepository;
|
// protected $receiveTasksRepository;
|
||||||
|
|
||||||
public $receiveElementalTasks; // Recebe todas as acoes ja feitas atualmente por tarefa
|
public $receiveElementalTasks; // Recebe todas as acoes ja feitas atualmente por tarefa
|
||||||
public $receiveElementalTasksAll;// Recebe o total de tarefas que vamos fazer
|
public $receiveElementalTasksAll; // Recebe o total de tarefas que vamos fazer
|
||||||
|
|
||||||
public $countElementalTasks;
|
public $countElementalTasks;
|
||||||
public $countElementalTasksAll;
|
public $countElementalTasksAll;
|
||||||
public $lastUpdated;
|
public $lastUpdated;
|
||||||
|
|
||||||
// Por enquanto nao ira usar, vamos deixar
|
// Por enquanto nao ira usar, vamos deixar
|
||||||
// public $receiveAllFurtherTasks;
|
// public $receiveAllFurtherTasks;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Deveria funcionar para receber o Repositorio.
|
// Deveria funcionar para receber o Repositorio.
|
||||||
// public function initialize()
|
// public function initialize()
|
||||||
|
|
@ -61,7 +62,7 @@ public function showPercentageElementalTasks()
|
||||||
$this->dispatch('refreshPercentageElementalTasks', [
|
$this->dispatch('refreshPercentageElementalTasks', [
|
||||||
'receiveElementalTasks' => $this->receiveElementalTasks,
|
'receiveElementalTasks' => $this->receiveElementalTasks,
|
||||||
'receiveElementalTasksAll' => $this->receiveElementalTasksAll,
|
'receiveElementalTasksAll' => $this->receiveElementalTasksAll,
|
||||||
'countElementalTasksAll'=> $this->countElementalTasksAll
|
'countElementalTasksAll' => $this->countElementalTasksAll
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,7 +71,7 @@ public function mount($datasProject)
|
||||||
$this->datasProject = $datasProject;
|
$this->datasProject = $datasProject;
|
||||||
|
|
||||||
// Obter todos os equipamentos relacionados ao projeto
|
// Obter todos os equipamentos relacionados ao projeto
|
||||||
$receiveEquipmentsProject = Equipment::where('company_projects_id', $datasProject->company_projects_id)->get();
|
$receiveEquipmentsProject = EquipmentWorkHistory::where('company_projects_id', $datasProject->company_projects_id)->get();
|
||||||
|
|
||||||
$elementalTasks = collect();
|
$elementalTasks = collect();
|
||||||
$furtherTasks = collect();
|
$furtherTasks = collect();
|
||||||
|
|
@ -80,7 +81,7 @@ public function mount($datasProject)
|
||||||
|
|
||||||
foreach ($receiveEquipmentsProject as $equipment) {
|
foreach ($receiveEquipmentsProject as $equipment) {
|
||||||
// Obter todas as OrderEquipmentTasks relacionadas a este equipamento
|
// Obter todas as OrderEquipmentTasks relacionadas a este equipamento
|
||||||
$relatedTasks = OrderEquipmentTasks::where('equipment_id', $equipment->equipment_id)->get();
|
$relatedTasks = OrderEquipmentTasks::where('equipmentWorkHistorys_id', $equipment->equipmentWorkHistorys_id)->get();
|
||||||
|
|
||||||
// Filtrar e armazenar os IDs únicos de elemental_tasks_id e further_tasks_id
|
// Filtrar e armazenar os IDs únicos de elemental_tasks_id e further_tasks_id
|
||||||
$elementalTasks = $elementalTasks->merge($relatedTasks->whereNotNull('elemental_tasks_id')->pluck('elemental_tasks_id'))->unique();
|
$elementalTasks = $elementalTasks->merge($relatedTasks->whereNotNull('elemental_tasks_id')->pluck('elemental_tasks_id'))->unique();
|
||||||
|
|
@ -99,13 +100,22 @@ public function mount($datasProject)
|
||||||
}
|
}
|
||||||
$this->receiveElementalTasksAll = $elementalTasksCountsAll;
|
$this->receiveElementalTasksAll = $elementalTasksCountsAll;
|
||||||
|
|
||||||
|
|
||||||
// Contar o número de ocorrências de cada ID na tabela ControlEquipmentWorkstation
|
// Contar o número de ocorrências de cada ID na tabela ControlEquipmentWorkstation
|
||||||
$elementalTasksCount1 = ControlEquipmentWorkstation::whereIn('elemental_tasks_id', $elementalTasks)->get()->countBy('elemental_tasks_id');
|
|
||||||
$furtherTasksCount1 = ControlEquipmentWorkstation::whereIn('further_tasks_id', $furtherTasks)->get()->countBy('further_tasks_id');
|
$furtherTasksCount1 = ControlEquipmentWorkstation::whereIn('further_tasks_id', $furtherTasks)->get()->countBy('further_tasks_id');
|
||||||
|
|
||||||
|
$tasksCount = ControlEquipmentWorkstation::whereIn('elemental_tasks_id', $elementalTasks)
|
||||||
|
->distinct('equipmentWorkHistorys_id', 'elemental_tasks_id') // Obter combinações únicas
|
||||||
|
->get(['equipmentWorkHistorys_id', 'elemental_tasks_id']) // Selecionar apenas os campos necessários
|
||||||
|
->groupBy('elemental_tasks_id') // Agrupar pelo ID da tarefa elemental
|
||||||
|
->map(function ($group) {
|
||||||
|
return $group->unique('equipmentWorkHistorys_id')->count(); // Contar ocorrências únicas por equipmentWorkHistorys_id
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
$newArray = [];
|
$newArray = [];
|
||||||
|
|
||||||
foreach ($elementalTasksCount1 as $taskId => $count) {
|
foreach ($tasksCount as $taskId => $count) {
|
||||||
$task = ElementalTasks::find($taskId);
|
$task = ElementalTasks::find($taskId);
|
||||||
if ($task) {
|
if ($task) {
|
||||||
$newArray[$task->elemental_tasks_code] = $count;
|
$newArray[$task->elemental_tasks_code] = $count;
|
||||||
|
|
@ -126,17 +136,16 @@ public function mount($datasProject)
|
||||||
// Agora, $newArray contém a contagem de tasks por elemental_tasks_code
|
// Agora, $newArray contém a contagem de tasks por elemental_tasks_code
|
||||||
$this->receiveElementalTasksAll = $newArray1;
|
$this->receiveElementalTasksAll = $newArray1;
|
||||||
|
|
||||||
|
|
||||||
// Criar o contador para receber o valor total.
|
// Criar o contador para receber o valor total.
|
||||||
$this->countElementalTasksAll =array_sum($this->receiveElementalTasksAll);
|
$this->countElementalTasksAll = array_sum($this->receiveElementalTasksAll);
|
||||||
|
|
||||||
|
|
||||||
$this->lastUpdated = now()->format('Y-m-d H:i');
|
$this->lastUpdated = now()->format('Y-m-d H:i');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function refreshDataEquipments($datasProject)
|
||||||
public function refreshDataEquipments($datasProject)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ class ControlEquipmentWorkstation extends Model
|
||||||
|
|
||||||
protected $table = 'control_equipment_workstation';
|
protected $table = 'control_equipment_workstation';
|
||||||
|
|
||||||
protected $primaryKey = 'control_equipment_workstation_id';
|
protected $primaryKey = 'control_equipment_workstation_id';
|
||||||
|
|
||||||
// protected $primaryKey = 'id';
|
// protected $primaryKey = 'id';
|
||||||
|
|
||||||
|
|
@ -22,20 +22,24 @@ public function equipment()
|
||||||
return $this->belongsTo(Equipment::class, 'equipment_id', 'equipment_id');
|
return $this->belongsTo(Equipment::class, 'equipment_id', 'equipment_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function equipmentWorkHistory(){
|
public function equipmentWorkHistory()
|
||||||
return $this->belongsTo(EquipmentWorkHistory::class,'equipmentWorkHistorys_id','equipmentWorkHistorys_id');
|
{
|
||||||
|
return $this->belongsTo(EquipmentWorkHistory::class, 'equipmentWorkHistorys_id', 'equipmentWorkHistorys_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function elementalTask()
|
public function elementalTask()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(ElementalTasks::class,'elemental_tasks_id','elemental_tasks_id');
|
return $this->belongsTo(ElementalTasks::class, 'elemental_tasks_id', 'elemental_tasks_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function furtherTasks()
|
public function furtherTasks()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(FurtherTasks::class,'further_tasks_id','further_tasks_id');
|
return $this->belongsTo(FurtherTasks::class, 'further_tasks_id', 'further_tasks_id');
|
||||||
|
}
|
||||||
|
public function workstationsTaskAnswers()
|
||||||
|
{
|
||||||
|
return $this->hasMany(workstationsTaskAnswers::class, 'control_equipment_workstation_id', 'control_equipment_workstation_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,12 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row text-center">
|
<div class="row text-center">
|
||||||
<div class="col-sm">
|
<div class="col-sm-6">
|
||||||
<h6>Equipamentos da Obra</h6>
|
<h6>Equipamentos da Obra</h6>
|
||||||
<p style="color:gray; font-size:13px">Total de ações para concluir todos os equipamentos da obra.</p>
|
<p style="color:gray; font-size:13px">Total de ações para concluir todos os equipamentos da obra.</p>
|
||||||
<canvas id="myPieChart"></canvas>
|
<canvas id="myPieChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm">
|
<div class="col-sm-6">
|
||||||
<h6>Equivalente de equipamentos da Obra</h6>
|
<h6>Equivalente de equipamentos da Obra</h6>
|
||||||
<p style="color:gray; font-size:13px">Total de equipamentos e os seus estados actuais.</p>
|
<p style="color:gray; font-size:13px">Total de equipamentos e os seus estados actuais.</p>
|
||||||
<canvas id="myPieChart1"></canvas>
|
<canvas id="myPieChart1"></canvas>
|
||||||
|
|
|
||||||
|
|
@ -18,193 +18,253 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row text-center">
|
{{-- <div class="row text-center">
|
||||||
<div class="col-sm">
|
<div class="col-sm-6">
|
||||||
<h6>Quantidade Tarefas Concluidas</h6>
|
<h6>Quantidade Tarefas Concluidas</h6>
|
||||||
<p style="color:gray; font-size:13px">Total de acções já realizadas de acordo com a tarefa.</p>
|
<p style="color:gray; font-size:13px">Total de acções já realizadas de acordo com a tarefa.</p>
|
||||||
<canvas id="myPieChart2" width="50" height="50"></canvas>
|
<canvas id="myPieChart2" width="50" height="50"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm">
|
<div class="col-sm-6">
|
||||||
<h6>Quantidade tarefas Acumuladas</h6>
|
<h6>Quantidade tarefas Acumuladas</h6>
|
||||||
<p style="color:gray; font-size:13px"> Total de acções a serem realizadas por tarefa.</p>
|
<p style="color:gray; font-size:13px"> Total de acções a serem realizadas por tarefa.</p>
|
||||||
<canvas id="myPieChart3" width="50" height="50"></canvas>
|
<canvas id="myPieChart3" width="50" height="50"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> --}}
|
||||||
|
|
||||||
<script>
|
|
||||||
var elementalTasksCount = @json($receiveElementalTasks);
|
|
||||||
|
|
||||||
var grafico2 = document.getElementById('myPieChart2').getContext('2d');
|
<div class="row text-center">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<h6>Quantidade Tarefas</h6>
|
||||||
|
<p style="color:gray; font-size:13px">Total de ações realizadas e a serem realizadas por tarefa.</p>
|
||||||
|
<canvas id="stackedBarChart" width="100" height="50"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
var labels = Object.keys(elementalTasksCount);
|
|
||||||
var data = Object.values(elementalTasksCount);
|
|
||||||
|
|
||||||
var myPieChart2 = new Chart(grafico2, {
|
<script>
|
||||||
type: 'bar',
|
// Suponha que as variáveis abaixo estão corretamente definidas em PHP e passadas para o JavaScript
|
||||||
data: {
|
var elementalTasksCountAll = @json($receiveElementalTasksAll);
|
||||||
labels: labels.map(label => label),
|
var elementalTasksCount = @json($receiveElementalTasks);
|
||||||
datasets: [{
|
|
||||||
data: data,
|
|
||||||
backgroundColor: [
|
|
||||||
'rgba(0,80,0,0.5)', //green color
|
|
||||||
'rgb(9, 37, 92)', //Azul escuro ISPT
|
|
||||||
'rgb(0, 176, 234)', // Azull Claro ISPT
|
|
||||||
'rgb(5, 107, 163)', // Azul parecido
|
|
||||||
],
|
|
||||||
borderColor: [
|
|
||||||
'rgba(0,80,0,0.5)',
|
|
||||||
'rgba(255, 99, 132, 1)',
|
|
||||||
'rgba(54, 162, 235, 1)',
|
|
||||||
'rgba(255, 206, 86, 1)'
|
|
||||||
// ... (adicionar mais cores se necessário)
|
|
||||||
],
|
|
||||||
borderWidth: 1
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
animation: false,
|
|
||||||
plugins: {
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
enabled: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Grafico de Script 2
|
// Inicializa as variáveis para os dados concluídos e restantes
|
||||||
var elementalTasksCountAll = @json($receiveElementalTasksAll);
|
var dataConcluidas = [];
|
||||||
|
var dataRestantes = [];
|
||||||
|
var labels = Object.keys(elementalTasksCountAll);
|
||||||
|
|
||||||
var grafico3 = document.getElementById('myPieChart3').getContext('2d');
|
// Preenche os arrays de dados
|
||||||
|
labels.forEach(function(label) {
|
||||||
|
// Se existir um valor para a label em 'elementalTasksCount', usa-o, caso contrário, usa 0
|
||||||
|
var valorConcluido = elementalTasksCount[label] || 0;
|
||||||
|
dataConcluidas.push(valorConcluido);
|
||||||
|
|
||||||
var labels = Object.keys(elementalTasksCountAll);
|
// Calcula o valor restante
|
||||||
var data = Object.values(elementalTasksCountAll);
|
var valorTotal = elementalTasksCountAll[label];
|
||||||
|
dataRestantes.push(valorTotal - valorConcluido);
|
||||||
|
});
|
||||||
|
|
||||||
var myPieChart3 = new Chart(grafico3, {
|
// Elemento canvas onde o gráfico será renderizado
|
||||||
type: 'bar',
|
var canvas = document.getElementById('stackedBarChart').getContext('2d');
|
||||||
data: {
|
|
||||||
labels: labels.map(label => label),
|
|
||||||
datasets: [{
|
|
||||||
label: 'Total de Acções da Obra"',
|
|
||||||
data: data,
|
|
||||||
backgroundColor: [
|
|
||||||
'rgb(117,210,240)', //green color
|
|
||||||
'rgb(9, 37, 92)', //Azul escuro ISPT
|
|
||||||
'rgb(0, 176, 234)', // Azull Claro ISPT
|
|
||||||
'rgb(5, 107, 163)', // Azul parecido
|
|
||||||
],
|
|
||||||
borderColor: [
|
|
||||||
'rgba(0,80,0,0.5)',
|
|
||||||
'rgba(255, 99, 132, 1)',
|
|
||||||
'rgba(54, 162, 235, 1)',
|
|
||||||
'rgba(255, 206, 86, 1)'
|
|
||||||
// ... (adicionar mais cores se necessário)
|
|
||||||
],
|
|
||||||
borderWidth: 1
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
animation: false,
|
|
||||||
plugins: {
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
enabled: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{{-- Scrip de atualizacao da tabela --}}
|
// Destrói o gráfico anterior se ele existir
|
||||||
<script>
|
if (window.stackedBarChartInstance) {
|
||||||
window.addEventListener('refreshData', event => {
|
window.stackedBarChartInstance.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
var data = event.detail[0];
|
// Cria o gráfico de barras empilhadas
|
||||||
var elementalTasksCount = data.receiveElementalTasks;
|
window.stackedBarChartInstance = new Chart(canvas, {
|
||||||
|
|
||||||
var labels = Object.keys(elementalTasksCount);
|
|
||||||
var dataValues = Object.values(elementalTasksCount);
|
|
||||||
|
|
||||||
var baseColors = [
|
|
||||||
'rgb(117,210,240)', //green color
|
|
||||||
'rgb(9, 37, 92)', //Azul escuro ISPT
|
|
||||||
'rgb(0, 176, 234)', // Azull Claro ISPT
|
|
||||||
'rgb(5, 107, 163)', // Azul parecido
|
|
||||||
];
|
|
||||||
|
|
||||||
// Atribuir cores aos dados de forma cíclica
|
|
||||||
var backgroundColors = dataValues.map((_, index) => baseColors[index % baseColors.length]);
|
|
||||||
|
|
||||||
var grafico2 = document.getElementById('myPieChart2').getContext('2d');
|
|
||||||
|
|
||||||
window.myPieChart2 = new Chart(grafico2, {
|
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: {
|
data: {
|
||||||
labels: labels,
|
labels: labels,
|
||||||
datasets: [{
|
datasets: [{
|
||||||
data: dataValues,
|
label: 'Concluídas',
|
||||||
backgroundColor: backgroundColors, // Usar o array de cores gerado
|
data: dataConcluidas,
|
||||||
borderColor: backgroundColors.map(color => color.replace('0.5',
|
backgroundColor: 'rgb(9,37,92)' // Cor para as concluídas
|
||||||
'1')), // Ajustar a opacidade para as bordas
|
}, {
|
||||||
borderWidth: 1
|
label: 'Restantes',
|
||||||
|
data: dataRestantes,
|
||||||
|
backgroundColor: 'rgba(168,168,168)' // Cor para as restantes
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
animation: false,
|
scales: {
|
||||||
|
x: {
|
||||||
|
stacked: true
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
stacked: true
|
||||||
|
}
|
||||||
|
},
|
||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
display: false
|
display: true
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
enabled: false
|
enabled: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
var elementalTasksCountAll = data.receiveElementalTasksAll;
|
<script>
|
||||||
|
window.addEventListener('refreshData', event => {
|
||||||
|
// Obter os dados detalhados do evento
|
||||||
|
var data = event.detail[0];
|
||||||
|
var elementalTasksCount = data.receiveElementalTasks;
|
||||||
|
var elementalTasksCountAll = data.receiveElementalTasksAll;
|
||||||
|
|
||||||
|
// Inicializa as variáveis para os dados concluídos e restantes
|
||||||
|
var dataConcluidas = [];
|
||||||
|
var dataRestantes = [];
|
||||||
|
var labels = Object.keys(elementalTasksCountAll);
|
||||||
|
|
||||||
|
// Preenche os arrays de dados
|
||||||
|
labels.forEach(function(label) {
|
||||||
|
// Se existir um valor para a label em 'elementalTasksCount', usa-o, caso contrário, usa 0
|
||||||
|
var valorConcluido = elementalTasksCount[label] || 0;
|
||||||
|
dataConcluidas.push(valorConcluido);
|
||||||
|
|
||||||
var labelsTasksCountAll = Object.keys(elementalTasksCountAll);
|
// Calcula o valor restante
|
||||||
var dataValuesTasksCountAll = Object.values(elementalTasksCountAll);
|
var valorTotal = elementalTasksCountAll[label] || 0;
|
||||||
|
dataRestantes.push(valorTotal - valorConcluido);
|
||||||
|
});
|
||||||
|
|
||||||
var grafico3 = document.getElementById('myPieChart3').getContext('2d');
|
// Elemento canvas onde o gráfico será renderizado
|
||||||
|
var canvas = document.getElementById('stackedBarChart').getContext('2d');
|
||||||
|
|
||||||
window.myPieChart3 = new Chart(grafico3, {
|
// Destrói o gráfico anterior se ele existir
|
||||||
type: 'bar',
|
if (window.stackedBarChartInstance) {
|
||||||
data: {
|
window.stackedBarChartInstance.destroy();
|
||||||
labels: labelsTasksCountAll,
|
}
|
||||||
datasets: [{
|
|
||||||
data: dataValuesTasksCountAll,
|
// Cria o gráfico de barras empilhadas com os novos dados
|
||||||
backgroundColor: backgroundColors, // Usar o array de cores gerado
|
window.stackedBarChartInstance = new Chart(canvas, {
|
||||||
borderColor: backgroundColors.map(color => color.replace('0.5',
|
type: 'bar',
|
||||||
'1')), // Ajustar a opacidade para as bordas
|
data: {
|
||||||
borderWidth: 1
|
labels: labels,
|
||||||
}]
|
datasets: [{
|
||||||
},
|
label: 'Concluídas',
|
||||||
options: {
|
data: dataConcluidas,
|
||||||
animation: false,
|
backgroundColor: 'rgb(9,37,92)' // Cor para as concluídas
|
||||||
plugins: {
|
}, {
|
||||||
legend: {
|
label: 'Restantes',
|
||||||
display: false
|
data: dataRestantes,
|
||||||
|
backgroundColor: 'rgba(168,168,168)' // Cor para as restantes
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
stacked: true
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
stacked: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
tooltip: {
|
plugins: {
|
||||||
enabled: false
|
legend: {
|
||||||
|
display: true
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
});
|
||||||
});
|
});
|
||||||
});
|
</script>
|
||||||
</script>
|
|
||||||
|
|
||||||
{{-- Script de Gradico em porcentagem , para proxima implementacao e ADD+ Esforco --}}
|
|
||||||
{{-- <script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Scrip de atualizacao da tabela --}}
|
||||||
|
{{-- <script>
|
||||||
|
window.addEventListener('refreshData', event => {
|
||||||
|
|
||||||
|
var data = event.detail[0];
|
||||||
|
var elementalTasksCount = data.receiveElementalTasks;
|
||||||
|
|
||||||
|
var labels = Object.keys(elementalTasksCount);
|
||||||
|
var dataValues = Object.values(elementalTasksCount);
|
||||||
|
|
||||||
|
var baseColors = [
|
||||||
|
'rgb(117,210,240)', //green color
|
||||||
|
'rgb(9, 37, 92)', //Azul escuro ISPT
|
||||||
|
'rgb(0, 176, 234)', // Azull Claro ISPT
|
||||||
|
'rgb(5, 107, 163)', // Azul parecido
|
||||||
|
];
|
||||||
|
|
||||||
|
// Atribuir cores aos dados de forma cíclica
|
||||||
|
var backgroundColors = dataValues.map((_, index) => baseColors[index % baseColors.length]);
|
||||||
|
|
||||||
|
var grafico2 = document.getElementById('myPieChart2').getContext('2d');
|
||||||
|
|
||||||
|
window.myPieChart2 = new Chart(grafico2, {
|
||||||
|
type: 'bar',
|
||||||
|
data: {
|
||||||
|
labels: labels,
|
||||||
|
datasets: [{
|
||||||
|
data: dataValues,
|
||||||
|
backgroundColor: backgroundColors, // Usar o array de cores gerado
|
||||||
|
borderColor: backgroundColors.map(color => color.replace('0.5',
|
||||||
|
'1')), // Ajustar a opacidade para as bordas
|
||||||
|
borderWidth: 1
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
animation: false,
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
var elementalTasksCountAll = data.receiveElementalTasksAll;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var labelsTasksCountAll = Object.keys(elementalTasksCountAll);
|
||||||
|
var dataValuesTasksCountAll = Object.values(elementalTasksCountAll);
|
||||||
|
|
||||||
|
var grafico3 = document.getElementById('myPieChart3').getContext('2d');
|
||||||
|
|
||||||
|
window.myPieChart3 = new Chart(grafico3, {
|
||||||
|
type: 'bar',
|
||||||
|
data: {
|
||||||
|
labels: labelsTasksCountAll,
|
||||||
|
datasets: [{
|
||||||
|
data: dataValuesTasksCountAll,
|
||||||
|
backgroundColor: backgroundColors, // Usar o array de cores gerado
|
||||||
|
borderColor: backgroundColors.map(color => color.replace('0.5',
|
||||||
|
'1')), // Ajustar a opacidade para as bordas
|
||||||
|
borderWidth: 1
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
animation: false,
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script> --}}
|
||||||
|
|
||||||
|
{{-- Script de Gradico em porcentagem , para proxima implementacao e ADD+ Esforco --}}
|
||||||
|
{{-- <script>
|
||||||
window.addEventListener('refreshPercentageElementalTasks', event => {
|
window.addEventListener('refreshPercentageElementalTasks', event => {
|
||||||
var data = event.detail[0];
|
var data = event.detail[0];
|
||||||
// Tarefas ja feitas
|
// Tarefas ja feitas
|
||||||
|
|
|
||||||
|
|
@ -699,33 +699,28 @@ class="form-control card_inputs" id="isolationEquipment"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-tagEquipment">
|
<span class="input-group-text" id="form-tagEquipment" data-toggle="tooltip" title="Tag">
|
||||||
<i class="fa-sharp fa-solid fa-tag" style="color: #00B0EA;"></i>
|
<i class="fa-sharp fa-solid fa-tag" style="color: #00B0EA;"></i>
|
||||||
|
<span style="color:red;"">*</span>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="tag"
|
<input type="text" name="tag"
|
||||||
class="form-control card_inputs" id="equipmentTag"
|
class="form-control card_inputs" id="equipmentTag"
|
||||||
placeholder="Tag..." aria-label="Tag Equipment"
|
placeholder="Tag..." aria-label="Tag Equipment"
|
||||||
aria-describedby="form-tagEquipment" required>
|
aria-describedby="form-tagEquipment" required>
|
||||||
<label>Tag <span class="required">*</span></label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-equipmentDescription">
|
<span class="input-group-text" id="form-equipmentDescription" data-toggle="tooltip" title="Descrição Equipamento">
|
||||||
<i class="fa-sharp fa-regular fa-newspaper"
|
<i class="fa-sharp fa-regular fa-newspaper"
|
||||||
style="color: #00B0EA;"></i>
|
style="color: #00B0EA;"></i>
|
||||||
|
<span style="color:red;"">*</span>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="equipmentDescription"
|
<input type="text" name="equipmentDescription"
|
||||||
class="form-control card_inputs" id="equipmentDescription"
|
class="form-control card_inputs" id="equipmentDescription"
|
||||||
placeholder="Descrição Equipamento..."
|
placeholder="Descrição Equipamento..."
|
||||||
aria-label="equipmentDescription"
|
aria-label="equipmentDescription"
|
||||||
aria-describedby="form-equipmentDescription" required>
|
aria-describedby="form-equipmentDescription" required>
|
||||||
<label>Descrição Equipamento <span
|
|
||||||
class="required">*</span></label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -735,45 +730,36 @@ class="required">*</span></label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-serialNumberEquipment">
|
<span class="input-group-text" id="form-serialNumberEquipment" data-toggle="tooltip" title="Número de série">
|
||||||
<i class="fa-solid fa-barcode" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-barcode" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="serialNumberEquipment"
|
<input type="text" name="serialNumberEquipment"
|
||||||
class="form-control card_inputs" id="equipmentSerialNumber"
|
class="form-control card_inputs" id="equipmentSerialNumber"
|
||||||
placeholder="Número de série"
|
placeholder="Número de série"
|
||||||
aria-label="Serial Number Equipment"
|
aria-label="Serial Number Equipment"
|
||||||
aria-describedby="form-serialNumberEquipment">
|
aria-describedby="form-serialNumberEquipment">
|
||||||
<label>Número de série </label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-equipmentBrand">
|
<span class="input-group-text" id="form-equipmentBrand" data-toggle="tooltip" title="Marca">
|
||||||
<i class="fa-solid fa-object-group" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-object-group" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="equipmentBrand"
|
<input type="text" name="equipmentBrand"
|
||||||
class="form-control card_inputs" id="equipmentBrand"
|
class="form-control card_inputs" id="equipmentBrand"
|
||||||
placeholder="Modelo" aria-label="Marca Equipamento"
|
placeholder="Marca" aria-label="Marca Equipamento"
|
||||||
aria-describedby="form-equipmentBrand">
|
aria-describedby="form-equipmentBrand">
|
||||||
<label>Marca</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-equipmentModel">
|
<span class="input-group-text" id="form-equipmentModel" data-toggle="tooltip" title="Modelo">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="equipmentModel"
|
<input type="text" name="equipmentModel"
|
||||||
class="form-control card_inputs" id="equipmentModel"
|
class="form-control card_inputs" id="equipmentModel"
|
||||||
placeholder="Modelo" aria-label="Modelo Equipamento"
|
placeholder="Modelo" aria-label="Modelo Equipamento"
|
||||||
aria-describedby="form-equipmentModel">
|
aria-describedby="form-equipmentModel">
|
||||||
<label>Modelo</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -783,46 +769,37 @@ class="form-control card_inputs" id="equipmentModel"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-dimension">
|
<span class="input-group-text" id="form-dimension" data-toggle="tooltip" title="Dimensão">
|
||||||
<i class="fa-solid fa-ruler " style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-ruler " style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="dimension"
|
<input type="text" name="dimension"
|
||||||
class="form-control card_inputs" id="dimension"
|
class="form-control card_inputs" id="dimension"
|
||||||
placeholder="Dimensão" aria-label="Dimensao Equipamento"
|
placeholder="Dimensão" aria-label="Dimensao Equipamento"
|
||||||
aria-describedby="form-dimension">
|
aria-describedby="form-dimension">
|
||||||
<label>Dimensão</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-rating">
|
<span class="input-group-text" id="form-rating" data-toggle="tooltip" title="Rating">
|
||||||
<i class="fa-solid fa-ranking-star" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-ranking-star" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="rating"
|
<input type="text" name="rating"
|
||||||
class="form-control card_inputs" id="rating"
|
class="form-control card_inputs" id="rating"
|
||||||
placeholder="Rating..." aria-label="Rating Equipamento"
|
placeholder="Rating..." aria-label="Rating Equipamento"
|
||||||
aria-describedby="form-rating">
|
aria-describedby="form-rating">
|
||||||
<label>Rating</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-dim_certa">
|
<span class="input-group-text" id="form-dim_certa" data-toggle="tooltip" title="Dim certa">
|
||||||
<i class="fa-sharp fa-regular fa-square-poll-vertical"></i>
|
<i class="fa-solid fa-ruler-vertical" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="dim_certa"
|
<input type="text" name="dim_certa"
|
||||||
class="form-control card_inputs" id="dim_certa"
|
class="form-control card_inputs" id="dim_certa"
|
||||||
placeholder="Dim certa..." aria-label="Dim certa Equipamento"
|
placeholder="Dim certa..." aria-label="Dim certa Equipamento"
|
||||||
aria-describedby="form-dim_certa">
|
aria-describedby="form-dim_certa">
|
||||||
<label>Dim certa</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -832,44 +809,35 @@ class="form-control card_inputs" id="dim_certa"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-main_equipment">
|
<span class="input-group-text" id="form-main_equipment" data-toggle="tooltip" title="Main Equipment">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-sliders" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="main_equipment"
|
<input type="text" name="main_equipment"
|
||||||
class="form-control card_inputs" id="main_equipment"
|
class="form-control card_inputs" id="main_equipment"
|
||||||
placeholder="Main Equipment" aria-label="Main Equipment"
|
placeholder="Main Equipment" aria-label="Main Equipment"
|
||||||
aria-describedby="form-main_equipment">
|
aria-describedby="form-main_equipment">
|
||||||
<label>Main Equipment</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-P_IidEquipment">
|
<span class="input-group-text" id="form-P_IidEquipment" data-toggle="tooltip" title="P&ID">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-map-location-dot" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="p&id"
|
<input type="text" name="p&id"
|
||||||
class="form-control card_inputs" id="p&id"
|
class="form-control card_inputs" id="p&id"
|
||||||
placeholder="P&ID" aria-label="P&ID"
|
placeholder="P&ID" aria-label="P&ID"
|
||||||
aria-describedby="form-P_IidEquipment">
|
aria-describedby="form-P_IidEquipment">
|
||||||
<label>P&ID</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-NumberSapEquipment">
|
<span class="input-group-text" id="form-NumberSapEquipment" data-toggle="tooltip" title="Nº SAP">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-hashtag" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="sap_number"
|
<input type="text" name="sap_number"
|
||||||
class="form-control card_inputs" id="sap_number"
|
class="form-control card_inputs" id="sap_number"
|
||||||
placeholder="Nº SAP" aria-label="Numero SAP Equipamento"
|
placeholder="Nº SAP" aria-label="Numero SAP Equipamento"
|
||||||
aria-describedby="form-NumberSapEquipment">
|
aria-describedby="form-NumberSapEquipment">
|
||||||
<label>Nº SAP</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -879,44 +847,36 @@ class="form-control card_inputs" id="sap_number"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-materialEquipment">
|
<span class="input-group-text" id="form-materialEquipment" data-toggle="tooltip" title="Material">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-brands fa-codepen" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="material"
|
<input type="text" name="material"
|
||||||
class="form-control card_inputs" id="material"
|
class="form-control card_inputs" id="material"
|
||||||
placeholder="Material" aria-label="Material Equipamento"
|
placeholder="Material" aria-label="Material Equipamento"
|
||||||
aria-describedby="form-materialEquipment">
|
aria-describedby="form-materialEquipment">
|
||||||
<label>Material</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-manufacturerEquipment">
|
<span class="input-group-text" id="form-manufacturerEquipment" data-toggle="tooltip" title="Fabricante">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-building" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="manufacturer"
|
<input type="text" name="manufacturer"
|
||||||
class="form-control card_inputs" id="manufacturerEquipment"
|
class="form-control card_inputs" id="manufacturerEquipment"
|
||||||
placeholder="Fabricante" aria-label="Fabricante Equipamento"
|
placeholder="Fabricante" aria-label="Fabricante Equipamento"
|
||||||
aria-describedby="form-manufacturerEquipment">
|
aria-describedby="form-manufacturerEquipment">
|
||||||
<label>Fabricante</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-isolationEquipment">
|
<span class="input-group-text" id="form-isolationEquipment" data-toggle="tooltip" title="Isolamento">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-lock" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="isolation"
|
<input type="text" name="isolation"
|
||||||
class="form-control card_inputs" id="isolation"
|
class="form-control card_inputs" id="isolation"
|
||||||
placeholder="Isolamento" aria-label="Isolamento Equipamento"
|
placeholder="Isolamento" aria-label="Isolamento Equipamento"
|
||||||
aria-describedby="form-isolationEquipment">
|
aria-describedby="form-isolationEquipment">
|
||||||
<label>Isolamento</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -926,46 +886,37 @@ class="form-control card_inputs" id="isolation"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-actuatorManufacturer">
|
<span class="input-group-text" id="form-actuatorManufacturer" data-toggle="tooltip" title="Fabricante do atuador">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="actuatorManufacturer"
|
<input type="text" name="actuatorManufacturer"
|
||||||
class="form-control card_inputs" id="actuatorManufacturer"
|
class="form-control card_inputs" id="actuatorManufacturer"
|
||||||
placeholder="Fabricante do atuador"
|
placeholder="Fabricante do atuador"
|
||||||
aria-label="Fabricante do Atuador"
|
aria-label="Fabricante do Atuador"
|
||||||
aria-describedby="form-actuatorManufacturer">
|
aria-describedby="form-actuatorManufacturer">
|
||||||
<label>Fabricante do atuador</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-ActuatorModel">
|
<span class="input-group-text" id="form-ActuatorModel" data-toggle="tooltip" title="Modelo do atuador">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="ActuatorModel"
|
<input type="text" name="ActuatorModel"
|
||||||
class="form-control card_inputs" id="ActuatorModel"
|
class="form-control card_inputs" id="ActuatorModel"
|
||||||
placeholder="Modelo do atuador" aria-label="Modelo do atuador"
|
placeholder="Modelo do atuador" aria-label="Modelo do atuador"
|
||||||
aria-describedby="form-ActuatorModel">
|
aria-describedby="form-ActuatorModel">
|
||||||
<label>Modelo do atuador</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-actuatorSerialNumber">
|
<span class="input-group-text" id="form-actuatorSerialNumber" data-toggle="tooltip" title="N.º de série do atuador">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="actuatorSerialNumber"
|
<input type="text" name="actuatorSerialNumber"
|
||||||
class="form-control card_inputs" id="actuatorSerialNumber"
|
class="form-control card_inputs" id="actuatorSerialNumber"
|
||||||
placeholder="N.º de série do atuador"
|
placeholder="N.º de série do atuador"
|
||||||
aria-label="Numero de série do atuado"
|
aria-label="Numero de série do atuado"
|
||||||
aria-describedby="form-actuatorSerialNumber">
|
aria-describedby="form-actuatorSerialNumber">
|
||||||
<label>N.º de série do atuador</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -975,32 +926,26 @@ class="form-control card_inputs" id="actuatorSerialNumber"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-PositionerManufacturer">
|
<span class="input-group-text" id="form-PositionerManufacturer" data-toggle="tooltip" title="Fabricante do posicionador">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="PositionerManufacturer"
|
<input type="text" name="PositionerManufacturer"
|
||||||
class="form-control card_inputs" id="PositionerManufacturer"
|
class="form-control card_inputs" id="PositionerManufacturer"
|
||||||
placeholder="Fabricante do posicionador"
|
placeholder="Fabricante do posicionador"
|
||||||
aria-label="Fabricante do posicionador"
|
aria-label="Fabricante do posicionador"
|
||||||
aria-describedby="form-PositionerManufacturer">
|
aria-describedby="form-PositionerManufacturer">
|
||||||
<label>Fabricante do posicionador</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text" id="form-PositionerSerialNumber">
|
<span class="input-group-text" id="form-PositionerSerialNumber" data-toggle="tooltip" title="N.º de série do posicionador">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<input type="text" name="PositionerSerialNumber"
|
<input type="text" name="PositionerSerialNumber"
|
||||||
class="form-control card_inputs" id="PositionerSerialNumber"
|
class="form-control card_inputs" id="PositionerSerialNumber"
|
||||||
placeholder="N.º de série do posicionador"
|
placeholder="N.º de série do posicionador"
|
||||||
aria-label="Numero de série do posicionador"
|
aria-label="Numero de série do posicionador"
|
||||||
aria-describedby="form-PositionerSerialNumber">
|
aria-describedby="form-PositionerSerialNumber">
|
||||||
<label>N.º de série do posicionador</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1010,30 +955,24 @@ class="form-control card_inputs" id="PositionerSerialNumber"
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text" data-toggle="tooltip" title="Andaime">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-stairs" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<select class="form-control card_inputs" name="scaffold">
|
<select class="form-control card_inputs" name="scaffold">
|
||||||
<option value="Sim">Sim</option>
|
<option value="Sim">Sim</option>
|
||||||
<option value="Nao" selected>Nao</option>
|
<option value="Nao" selected>Nao</option>
|
||||||
</select>
|
</select>
|
||||||
<label>Andaime?</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text" data-toggle="tooltip" title="Grua">
|
||||||
<i class="fa-solid fa-cubes" style="color: #00B0EA;"></i>
|
<i class="fa-solid fa-truck-arrow-right" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
|
||||||
<select class="form-control card_inputs" name="crane">
|
<select class="form-control card_inputs" name="crane">
|
||||||
<option value="Sim">Sim</option>
|
<option value="Sim">Sim</option>
|
||||||
<option value="Nao" selected>Nao</option>
|
<option value="Nao" selected>Nao</option>
|
||||||
</select>
|
</select>
|
||||||
<label>Grua?</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -87,8 +87,9 @@
|
||||||
<label>{{ __('messages.createProject.select_company.contracting_company') }} <b
|
<label>{{ __('messages.createProject.select_company.contracting_company') }} <b
|
||||||
style="color:red">*</b></label>
|
style="color:red">*</b></label>
|
||||||
<select class="form-control" name="user_id" id="company_select">
|
<select class="form-control" name="user_id" id="company_select">
|
||||||
<option>{{ __('messages.createProject.select_plant.plant') }} ...</option>
|
{{-- <option>{{ __('messages.createProject.select_plant.plant') }} ...</option> --}}
|
||||||
<option value="new_company">Criar Empresa ...</option>
|
<option value="#">Selecione Uma Empresa …</option>
|
||||||
|
{{-- <option value="new_company">Criar Empresa …</option> --}}
|
||||||
@foreach ($companies as $company)
|
@foreach ($companies as $company)
|
||||||
<option value="{{ $company->user_id }}">{{ $company->user_name }}</option>
|
<option value="{{ $company->user_id }}">{{ $company->user_name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
@ -99,23 +100,23 @@
|
||||||
<div class="form-group col-sm" id="installationField" hidden>
|
<div class="form-group col-sm" id="installationField" hidden>
|
||||||
<label>{{ __('messages.createProject.select_plant.plant') }} <b
|
<label>{{ __('messages.createProject.select_plant.plant') }} <b
|
||||||
style="color:red">*</b></label>
|
style="color:red">*</b></label>
|
||||||
<select class="form-control" name="installation_id" id="installationSelect"
|
<select class="form-control" name="installation_id" id="installationSelect" required>
|
||||||
required>
|
|
||||||
|
|
||||||
<!-- As opções de instalação serão preenchidas dinamicamente -->
|
<!-- As opções de instalação serão preenchidas dinamicamente -->
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div> <!-- /Row -->
|
</div> <!-- /Row -->
|
||||||
|
|
||||||
{{-- Criar uma nova instalacao / Empresa --}}
|
<!-- Criar uma nova instalacao / Empresa -->
|
||||||
<div class="row" id="new_company_div">
|
<div class="row" id="new_company_div">
|
||||||
{{-- Vai ser a criacao do Projecto --}}
|
<!-- Vai ser a criacao do Projecto -->
|
||||||
<div class="form-group col-sm" id="new_company_input">
|
|
||||||
|
{{-- Nao vai ser implementado (AINDA) pois retirar se ser mais complexo devido a criacao de um novo User, nao parece valer a pena tentar criar nesta parte --}}
|
||||||
|
{{-- <div class="form-group col-sm" id="new_company_input">
|
||||||
<label>Nova Empresa</label>
|
<label>Nova Empresa</label>
|
||||||
<input type="text" class="form-control" name="new_company"
|
<input type="text" class="form-control" name="new_company"
|
||||||
placeholder="Nova Empresa…">
|
placeholder="Nova Empresa…">
|
||||||
</div>
|
</div> --}}
|
||||||
|
|
||||||
<!-- Selecionar ou criar instalacoes -->
|
<!-- Selecionar ou criar instalacoes -->
|
||||||
<div class="form-group col-sm">
|
<div class="form-group col-sm">
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
|
|
||||||
{{-- Foreach para criar varios qrcodes para os equipamentos --}}
|
{{-- Foreach para criar varios qrcodes para os equipamentos --}}
|
||||||
{{-- @foreach ($equipmentsProjects as $equipment)
|
{{-- @foreach ($equipmentsProjects as $equipment)
|
||||||
<div class="print-container">
|
<div class="print-container">
|
||||||
|
|
@ -92,15 +93,15 @@
|
||||||
<form>
|
<form>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6" id="BotaoDetalhesObra">
|
<div class="col-sm-6" id="BotaoDetalhesObra">
|
||||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">Detalhes
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg">Detalhes
|
||||||
da Obra</a>
|
da Obra</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" id="BotaoArticulado">
|
<div class="col-sm-6" id="BotaoArticulado">
|
||||||
<a href="#" type="button"
|
<a href="#" type="button"
|
||||||
class="btn btn-block bg-gradient-primary btn-lg">Articulado</a>
|
class="btn btn-block bg-primary btn-lg">Articulado</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" id="BotaoPostosDeTrabalho">
|
<div class="col-sm-6" id="BotaoPostosDeTrabalho">
|
||||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">Postos de
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg">Postos de
|
||||||
Trabalho</a>
|
Trabalho</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -154,13 +155,21 @@ class="btn btn-block bg-gradient-primary btn-lg">Articulado</a>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card-body -->
|
<!-- /.card-body -->
|
||||||
|
|
||||||
<div class="card-footer">
|
{{-- <div class="card-footer">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button type="button" class="btn btn-test" data-toggle="modal"
|
<button type="button" class="btn btn-test" data-toggle="modal"
|
||||||
data-target="#ModalTransferForArticulated">
|
data-target="#ModalTransferForArticulated">
|
||||||
Editar
|
Editar
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
</div> --}}
|
||||||
|
<div class="card-footer">
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||||
|
data-target="#ModalTransferForArticulated">
|
||||||
|
Editar
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card -->
|
<!-- /.card -->
|
||||||
|
|
@ -189,7 +198,7 @@ class="btn btn-block bg-gradient-primary btn-lg">Articulado</a>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<div class="row text-center">
|
<div class="row text-center">
|
||||||
|
|
||||||
<div class="form-group col-sm-3">
|
<div class="form-group col-sm">
|
||||||
<label>Tipo de Equipamento </label>
|
<label>Tipo de Equipamento </label>
|
||||||
<select id="tipo_valvulasList" name="equipmentTypeId"
|
<select id="tipo_valvulasList" name="equipmentTypeId"
|
||||||
class="form-control">
|
class="form-control">
|
||||||
|
|
@ -201,7 +210,7 @@ class="form-control">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-3">
|
<div class="col-sm">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label> Fabricas </label>
|
<label> Fabricas </label>
|
||||||
<select id="UnitsList" class="form-control">
|
<select id="UnitsList" class="form-control">
|
||||||
|
|
@ -214,7 +223,7 @@ class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-3">
|
<div class="col-sm">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Âmbitos </label>
|
<label>Âmbitos </label>
|
||||||
<select class="form-control" name="EquipmentAmbit"
|
<select class="form-control" name="EquipmentAmbit"
|
||||||
|
|
@ -224,7 +233,7 @@ class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-3">
|
{{-- <div class="col-sm-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Inspeção de Equipamentos </label>
|
<label>Inspeção de Equipamentos </label>
|
||||||
<select id="inspecValvula" class="form-control">
|
<select id="inspecValvula" class="form-control">
|
||||||
|
|
@ -233,7 +242,7 @@ class="form-control">
|
||||||
<option value="Nao">Nao </option>
|
<option value="Nao">Nao </option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> --}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
@ -261,7 +270,7 @@ class="form-control">
|
||||||
<th>Tipo Equipamento</th>
|
<th>Tipo Equipamento</th>
|
||||||
<th>Fabrica</th>
|
<th>Fabrica</th>
|
||||||
<th>Âmbito</th>
|
<th>Âmbito</th>
|
||||||
<th>Acao</th>
|
<th>Imprimir QR</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
@ -270,7 +279,9 @@ class="form-control">
|
||||||
<td>{{ $equipment->equipment_tag }}</td>
|
<td>{{ $equipment->equipment_tag }}</td>
|
||||||
<td>{{ $equipment->equipment_type_id }}</td>
|
<td>{{ $equipment->equipment_type_id }}</td>
|
||||||
<td>{{ $equipment->unit->unit_name }}</td>
|
<td>{{ $equipment->unit->unit_name }}</td>
|
||||||
<td>{{ $equipment->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
|
<td><a href="{{ route('showDetailsEquipmentForQrCode', ['equipmentId' => $equipment->equipment_id, 'projectId' => $numberProject]) }}"><i class="fa-solid fa-file-pdf fa-2x"></i></a>
|
||||||
|
</td>
|
||||||
|
{{-- <td>{{ $equipment->equipmentAssociationAmbit->ambitsEquipment->ambits_description }} --}}
|
||||||
</td>
|
</td>
|
||||||
{{-- <td><a href="#" data-toggle="modal"
|
{{-- <td><a href="#" data-toggle="modal"
|
||||||
data-target="#yourModalId-{{ $equipment->equipment_id }}"
|
data-target="#yourModalId-{{ $equipment->equipment_id }}"
|
||||||
|
|
@ -278,7 +289,7 @@ class="form-control">
|
||||||
style="color:rgb(62, 62, 62)"></i></a></td>
|
style="color:rgb(62, 62, 62)"></i></a></td>
|
||||||
--}}
|
--}}
|
||||||
|
|
||||||
@livewire('preparadas.show-qrcode-and-detalls-equipment', ['equipment' => $equipment], key($equipment->equipment_id))
|
{{-- @livewire('preparadas.show-qrcode-and-detalls-equipment', ['equipment' => $equipment], key($equipment->equipment_id)) --}}
|
||||||
</tr>
|
</tr>
|
||||||
{{-- Por algum motivo se tirar esta modal, ele nao encontra o qrcode do componente ?????????????? WHY????????? --}}
|
{{-- Por algum motivo se tirar esta modal, ele nao encontra o qrcode do componente ?????????????? WHY????????? --}}
|
||||||
<div class="modal fade"
|
<div class="modal fade"
|
||||||
|
|
@ -373,13 +384,13 @@ function printCard() {
|
||||||
<!--/table obra-->
|
<!--/table obra-->
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card-body -->
|
<!-- /.card-body -->
|
||||||
|
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
{{-- Botao para criar os Multiplos Qrcodes nas Folhas --}}
|
<!-- Botao para criar os Multiplos Qrcodes nas Folhas -->
|
||||||
{{-- <div class="float-left">
|
<!-- <div class="float-left">
|
||||||
<button class="btn btn-outline-secondary " onclick="printCard()">Imprimir Códigos
|
<button class="btn btn-outline-secondary " onclick="printCard()">Imprimir Códigos
|
||||||
QR</button>
|
QR</button>
|
||||||
|
</div> -->
|
||||||
</div> --}}
|
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||||
data-target="#ModalTransferForArticulated">
|
data-target="#ModalTransferForArticulated">
|
||||||
|
|
@ -387,6 +398,7 @@ function printCard() {
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- ./card -->
|
<!-- ./card -->
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -458,8 +470,8 @@ class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Postos de Trabalho</th>
|
<th>Postos de Trabalho</th>
|
||||||
|
<th>Nome do Posto de Trabalho</th>
|
||||||
<th>Tarefas Elementares</th>
|
<th>Tarefas Elementares</th>
|
||||||
<th>Tarefas Complementares</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form method="POST" action="{{ route('processStep1') }}" id="idDoFormulario">
|
<form method="POST" action="{{ route('EditprocessStep1') }}" id="idDoFormulario">
|
||||||
|
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
|
|
@ -176,7 +176,7 @@ class="form-control float-right">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{-- /.card card-primary --}}
|
{{-- /.card card-primary --}}
|
||||||
<a href="{{ route('articulated_2', ['id' => $projects]) }}" class="btn btn-primary next float-right">Seguinte</a>
|
<a href="{{ route('articulated_2', ['id' => $projects]) }}" class="btn btn-primary next float-right mt-3">Articulado</a>
|
||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,144 @@
|
||||||
|
<!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>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: 'Arial', sans-serif;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.card-to-print {
|
||||||
|
max-width: 3391px; /* 90cm */
|
||||||
|
max-height: 1512px; /* 40cm */
|
||||||
|
background-color: #fff;
|
||||||
|
margin: auto;
|
||||||
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||||
|
position: relative;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#circulo {
|
||||||
|
width: 20px; /*Largura do círculo */
|
||||||
|
height: 20px; /* Altura do círculo */
|
||||||
|
background-color: red; /* Cor do círculo */
|
||||||
|
border-radius: 50%; /* Faz com que os cantos sejam totalmente arredondados, criando um círculo */
|
||||||
|
/* position: absolute; */
|
||||||
|
/* top: 100px; */
|
||||||
|
/* padding-top: 10px; */
|
||||||
|
/* left: 20px; */
|
||||||
|
/* top: 30%; */
|
||||||
|
/* transform: translateY(50%); */
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
/* Estilos para a div top */
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-row {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.col-sm {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
width: 33.33333%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.text-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="card-to-print">
|
||||||
|
<div class="top">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="custom-row">
|
||||||
|
{{-- <div class="col-sm text-center" style="position: relative; background-color: #09255C;">
|
||||||
|
<div id="circulo"></div>
|
||||||
|
<!-- Restante do seu HTML -->
|
||||||
|
</div> --}}
|
||||||
|
<div class="col-sm text-center"
|
||||||
|
style="display: flex; align-items: center; justify-content: center; background-color: #09255C; position: relative;">
|
||||||
|
<div id="circulo"></div>
|
||||||
|
{{-- <img style="width:50px;"
|
||||||
|
src="{{ asset('img/ispt/4.0/Ispt4.0_Símbolo_Fundo_Azul-Marinho@2x-100.jpg') }}"
|
||||||
|
alt="imagem nao encontrada"> --}}
|
||||||
|
<div style="line-height: 2.5; color: white;">ISPT 4.0</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="custom-row" style="margin-top: 10px;">
|
||||||
|
|
||||||
|
<div class="col-sm qrcode-output" style="padding-left: 13px;"
|
||||||
|
Qr-Code
|
||||||
|
{{-- data-equipment-id="{{ $associatedEquipment->id }}" --}}
|
||||||
|
{{-- data-component-tag="{{ $associatedEquipment->component_tag }}"> --}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="custom-row">
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
<div style="margin-bottom: 13px;font-size: 1.1rem;color: #00B0EA">
|
||||||
|
<b>TAG</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- Serve para receber o conteudo que tem apos a @ --}}
|
||||||
|
<div class="custom-row">
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
<div style="font-size: 1.1rem;color: #00B0EA">
|
||||||
|
{{ $detailsEquipment->equipment_tag }}
|
||||||
|
Parte do Equipamento (Corpo)
|
||||||
|
{{-- {{ explode('@', $associatedEquipment->component_tag)[1] }} --}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="custom-row">
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
<h6 style="line-height: 2.5;margin-block-end: 0;color: #00B0EA;">
|
||||||
|
Tipo de Equipamento
|
||||||
|
{{-- {{ $equipment->equipmentType->equipment_type_name }} --}}
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
<h6 style="line-height: 2.5;margin-block-end: 0; color: #00B0EA;">
|
||||||
|
Fabrica
|
||||||
|
{{-- {{ $equipment->unit->unit_name }} --}}
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- Imagens demoram muito a carregar , ver oque da para fazer --}}
|
||||||
|
<div class="custom-row" style="margin-top: 10px;">
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
{{ $detailsEquipment->equipment_tag }}
|
||||||
|
Logo ISPT
|
||||||
|
{{-- <img style="width: 25px;" src="{{ asset('img/ispt/4.0/galpLogo1.png') }}"
|
||||||
|
alt="Imagem nao encontrada galp "> --}}
|
||||||
|
</div>
|
||||||
|
<div class="col-sm text-center">
|
||||||
|
{{ $detailsEquipment->equipment_tag }}
|
||||||
|
Logo Empresa
|
||||||
|
{{-- <img style="width: 20px;"
|
||||||
|
src="{{ asset('img/ispt/4.0/isptLogoVertical.png') }}"
|
||||||
|
alt="Imagem nao contrada Ispt"> --}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
@ -2091,323 +2091,7 @@
|
||||||
</section>
|
</section>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- TE4(2)-ISV - Abertura da válvula, análise e controle dos componentes --}}
|
|
||||||
@if ($task_todo->elemental_tasks_id == 7)
|
|
||||||
<section class="content">
|
|
||||||
<div class="row justify-content-center align-items-center">
|
|
||||||
<div class="col-10">
|
|
||||||
|
|
||||||
<!-- Workstation card -->
|
|
||||||
<div class="card card-info">
|
|
||||||
<div class="card-header">
|
|
||||||
<div class="d-flex justify-content-between align-items-center"
|
|
||||||
style="width: 100%;">
|
|
||||||
{{-- <h3 class="card-title mb-0">TE4 - ISV - Abertura de válvula, análise e controle dos
|
|
||||||
componentes
|
|
||||||
</h3> --}}
|
|
||||||
<h3 class="card-title mb-0">
|
|
||||||
{{$task_todo->elemental_tasks_id}} </h3>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST"
|
|
||||||
id="form7">
|
|
||||||
@csrf
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="form-group">
|
|
||||||
<!-- Single form-group for all content -->
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<!-- First card column -->
|
|
||||||
<div class="col-md-6">
|
|
||||||
|
|
||||||
<!-- Conformidade da etiqueta -->
|
|
||||||
<div class="row mb-3">
|
|
||||||
<div class="icheck-primary">
|
|
||||||
<input id="confirm-checkbox" type="checkbox"
|
|
||||||
name="confirm-checkbox" value="on"
|
|
||||||
required>
|
|
||||||
<label for="confirm-checkbox">Validar
|
|
||||||
especificações técnicas <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Conformidade da etiqueta -->
|
|
||||||
|
|
||||||
<!-- Especificações técnicas -->
|
|
||||||
<div class="row mb-3">
|
|
||||||
<label>Especificações técnicas</label>
|
|
||||||
<textarea name="technical_specs-text" class="form-control" rows="3" placeholder=""></textarea>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Especificações técnicas -->
|
|
||||||
|
|
||||||
<div class="row mb-3">
|
|
||||||
<label>Os componentes estão OK?</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Placa de identificação -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Placa de identificação <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-id-plate"
|
|
||||||
name="components_id_plate-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Placa de identificação -->
|
|
||||||
|
|
||||||
<!-- Corpo -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Corpo <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-body"
|
|
||||||
name="components_body-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Corpo -->
|
|
||||||
|
|
||||||
<!-- Sede -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Sede <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-seat"
|
|
||||||
name="components_seat-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Sede -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- ./ First card column -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Second card column -->
|
|
||||||
<div class="col-md-6">
|
|
||||||
|
|
||||||
<!-- Obturador -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Obturador <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-shutter"
|
|
||||||
name="components_shutter-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Obturador -->
|
|
||||||
|
|
||||||
<!-- Haste -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Haste <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-rod"
|
|
||||||
name="components_rod-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Haste -->
|
|
||||||
|
|
||||||
<!-- Castelo -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Castelo <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-castle"
|
|
||||||
name="components_castle-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Castelo -->
|
|
||||||
|
|
||||||
<!-- Empanque -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Empanque <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-seal"
|
|
||||||
name="components_seal-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Empanque -->
|
|
||||||
|
|
||||||
<!-- Bucim -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Bucim <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-bushing"
|
|
||||||
name="components_bushing-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Bucim -->
|
|
||||||
|
|
||||||
<!-- Manípulo/Volante -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Manípulo/Volante <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-knob"
|
|
||||||
name="components_knob-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Manípulo/Volante -->
|
|
||||||
|
|
||||||
<!-- Flanges -->
|
|
||||||
<div class="row mt-2">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Flanges <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="components-rims"
|
|
||||||
name="components_rims-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled
|
|
||||||
hidden value="">
|
|
||||||
</option>
|
|
||||||
<option value="Sim">Sim</option>
|
|
||||||
<option value="Não">Não</option>
|
|
||||||
<option value="N/A">N/A</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Flanges -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- ./ Second card column -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div> <!-- End of single form-group -->
|
|
||||||
</div>
|
|
||||||
<div class="card-footer d-flex justify-content-between">
|
|
||||||
|
|
||||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
|
||||||
<!-- Botão alinhado à esquerda -->
|
|
||||||
<button type="submit" data-action="cancel" value="cancel"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-danger">Cancelar</button>
|
|
||||||
|
|
||||||
<!-- Botão centralizado -->
|
|
||||||
<button type="submit" data-action="finish" value="finish"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-success mx-auto">Finalizar</button>
|
|
||||||
|
|
||||||
<!-- Botão alinhado à direita -->
|
|
||||||
<button type="submit"data-action="next" value="next"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-primary">Seguinte</button>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Workstation card-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{{-- TE5 - Limpeza e lavagem dos componentes --}}
|
{{-- TE5 - Limpeza e lavagem dos componentes --}}
|
||||||
@if ($task_todo->elemental_tasks_id == 8)
|
@if ($task_todo->elemental_tasks_id == 8)
|
||||||
|
|
@ -2602,290 +2286,7 @@
|
||||||
</section>
|
</section>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- TE7 - Fecho da válvula e substituição de componentes --}}
|
|
||||||
@if ($task_todo->elemental_tasks_id == 10)
|
|
||||||
<section class="content">
|
|
||||||
<div class="row justify-content-center align-items-center">
|
|
||||||
<div class="col-6">
|
|
||||||
|
|
||||||
<!-- Workstation card -->
|
|
||||||
<div class="card card-info">
|
|
||||||
<div class="card-header">
|
|
||||||
<div class="d-flex justify-content-between align-items-center"
|
|
||||||
style="width: 100%;">
|
|
||||||
{{-- <h3 class="card-title mb-0">TE7 - PSV - Fecho da válvula e substituição de componentes
|
|
||||||
</h3> --}}
|
|
||||||
<h3 class="card-title mb-0">
|
|
||||||
{{$task_todo->elemental_tasks_id}} </h3>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST"
|
|
||||||
id="form10">
|
|
||||||
@csrf
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="form-group">
|
|
||||||
<!-- Single form-group for all content -->
|
|
||||||
|
|
||||||
<!-- Perno de calibração -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Perno de calibração <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="calibration-bolt"
|
|
||||||
name="calibration_bolt-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Perno de calibração -->
|
|
||||||
|
|
||||||
<!-- Corpo da válvula -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Corpo da válvula <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="valve-body" name="valve_body-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Corpo da válvula -->
|
|
||||||
|
|
||||||
<!-- Castelo/Capacete -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Castelo/Capacete <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="castle" name="castle-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Castelo/Capacete -->
|
|
||||||
|
|
||||||
<!-- Flanges -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Flanges <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="rims" name="rims-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Flanges -->
|
|
||||||
|
|
||||||
<!-- Mola -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Mola <span style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="spring" name="spring-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Mola -->
|
|
||||||
|
|
||||||
<!-- Haste -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Haste <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="rod" name="rod-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Haste -->
|
|
||||||
|
|
||||||
<!-- Obturador -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Obturador <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="shutter" name="shutter-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Obturador -->
|
|
||||||
|
|
||||||
<!-- Sede -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Sede <span style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="seat" name="seat-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Sede -->
|
|
||||||
|
|
||||||
<!-- Anéis de regulação -->
|
|
||||||
<div class="row mt-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Anéis de regulação <span
|
|
||||||
style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="adjustment-rings"
|
|
||||||
name="adjustment_rings-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Anéis de regulação -->
|
|
||||||
|
|
||||||
<!-- Fole -->
|
|
||||||
<div class="row mt-3 mb-3">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>Fole <span style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select id="bellows" name="bellows-select"
|
|
||||||
class="form-control select2"
|
|
||||||
style="width: 100%;" required>
|
|
||||||
<option selected="selected" disabled hidden
|
|
||||||
value=""></option>
|
|
||||||
<option value="Foi substituído">Foi substituído
|
|
||||||
</option>
|
|
||||||
<option value="Reparado">Reparado</option>
|
|
||||||
<option value="Beneficiado">Beneficiado</option>
|
|
||||||
<option value="Aceite">Aceite</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Fole -->
|
|
||||||
|
|
||||||
<!-- Conformidade da etiqueta -->
|
|
||||||
<div class="row mb-3">
|
|
||||||
<div class="icheck-primary">
|
|
||||||
<input id="confirm-checkbox" type="checkbox"
|
|
||||||
name="confirm-checkbox" value="1" required>
|
|
||||||
<label for="confirm-checkbox">Conformidade da etiqueta
|
|
||||||
<span style="color: red;">*</span></label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Conformidade da etiqueta -->
|
|
||||||
|
|
||||||
</div> <!-- End of single form-group -->
|
|
||||||
</div>
|
|
||||||
<div class="card-footer d-flex justify-content-between">
|
|
||||||
|
|
||||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
|
||||||
<!-- Botão alinhado à esquerda -->
|
|
||||||
<button type="submit" data-action="cancel" value="cancel"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-danger">Cancelar</button>
|
|
||||||
|
|
||||||
<!-- Botão centralizado -->
|
|
||||||
<button type="submit" data-action="finish" value="finish"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-success mx-auto">Finalizar</button>
|
|
||||||
|
|
||||||
<!-- Botão alinhado à direita -->
|
|
||||||
<button type="submit"data-action="next" value="next"
|
|
||||||
name="stateEquipment"
|
|
||||||
class="btn btn-primary">Seguinte</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<!-- ./ Workstation card-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{{-- TE7(2)-CV - Fecho da válvula e substituição de componentes --}}
|
{{-- TE7(2)-CV - Fecho da válvula e substituição de componentes --}}
|
||||||
@if ($task_todo->elemental_tasks_id == 11)
|
@if ($task_todo->elemental_tasks_id == 11)
|
||||||
|
|
@ -3687,7 +3088,7 @@
|
||||||
<div class="d-flex justify-content-between align-items-center"
|
<div class="d-flex justify-content-between align-items-center"
|
||||||
style="width: 100%;">
|
style="width: 100%;">
|
||||||
{{-- <h3 class="card-title mb-0">TE7 - ISV - Fecho de válvula e substituição de componentes
|
{{-- <h3 class="card-title mb-0">TE7 - ISV - Fecho de válvula e substituição de componentes
|
||||||
</h3> --}}
|
</h3> --}}
|
||||||
<h3 class="card-title mb-0">
|
<h3 class="card-title mb-0">
|
||||||
{{$task_todo->elemental_tasks_id}} </h3>
|
{{$task_todo->elemental_tasks_id}} </h3>
|
||||||
|
|
||||||
|
|
@ -5577,9 +4978,8 @@
|
||||||
<!-- ./ Workstation card-->
|
<!-- ./ Workstation card-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
@endif
|
|
||||||
|
|
||||||
{{-- TE15 - Empancar --}}
|
{{-- TE15 - Empancar --}}
|
||||||
@if ($task_todo->elemental_tasks_id == 21)
|
@if ($task_todo->elemental_tasks_id == 21)
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -41,6 +41,11 @@
|
||||||
Route::post('deletePendingEquipments', [CreateProjectController::class, 'deletePendingEquipments'])->name('deletePendingEquipments');
|
Route::post('deletePendingEquipments', [CreateProjectController::class, 'deletePendingEquipments'])->name('deletePendingEquipments');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Route::get('showDetailsEquipmentForQrCode/{equipmentId}/{projectId}', [PreparedProjectController::class, 'showDetailsEquipmentForQrCode'])->name('showDetailsEquipmentForQrCode');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Route::get('testRelatorio', [ProjectoDatacontroller::class, 'testRelatorio'])->name('testRelatorio');
|
Route::get('testRelatorio', [ProjectoDatacontroller::class, 'testRelatorio'])->name('testRelatorio');
|
||||||
|
|
||||||
Route::get('showAllClientsForProjectReports', [ProjectoDatacontroller::class, 'showAllClientsForProjectReports'])->name('showAllClientsForProjectReports');
|
Route::get('showAllClientsForProjectReports', [ProjectoDatacontroller::class, 'showAllClientsForProjectReports'])->name('showAllClientsForProjectReports');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user