Update, company sistem
This commit is contained in:
parent
87b1640c25
commit
aaa479ef32
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
use App\Models\AmbitsEquipment;
|
use App\Models\AmbitsEquipment;
|
||||||
use App\Models\AssociationCompanyUser;
|
use App\Models\AssociationCompanyUser;
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\Equipment;
|
use App\Models\Equipment;
|
||||||
use App\Models\EquipmentAssociationAmbit;
|
use App\Models\EquipmentAssociationAmbit;
|
||||||
use App\Models\EquipmentWorkHistory;
|
use App\Models\EquipmentWorkHistory;
|
||||||
|
|
@ -300,7 +301,7 @@ public function getDataProjectsClient(Request $request)
|
||||||
|
|
||||||
//Criar Filtros para Atualizar os dados com base neles.
|
//Criar Filtros para Atualizar os dados com base neles.
|
||||||
|
|
||||||
$allPlantsClient = Plant::where('user_id', $clientID)->pluck('plant_id')->toArray();
|
$allPlantsClient = Plant::where('company_id', $clientID)->pluck('plant_id')->toArray();
|
||||||
|
|
||||||
$query = CompanyProject::with('plant') // Assegure-se de que a relação está correta.
|
$query = CompanyProject::with('plant') // Assegure-se de que a relação está correta.
|
||||||
->whereIn('plant_id', $allPlantsClient)
|
->whereIn('plant_id', $allPlantsClient)
|
||||||
|
|
@ -444,8 +445,10 @@ public function reportingDataClient($clientID = null)
|
||||||
$clientID = Auth::user()->user_id;
|
$clientID = Auth::user()->user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$companyDetails = Company::where('company_id',$clientID)->first();
|
||||||
|
|
||||||
// Busca todas as Instalacoes com base no id do CLIENTE
|
// Busca todas as Instalacoes com base no id do CLIENTE
|
||||||
$allPlantsClient = Plant::where('user_id', $clientID)->get();
|
$allPlantsClient = Plant::where('company_id', $companyDetails->company_id)->get();
|
||||||
|
|
||||||
// Extrai os plant_id da coleção $recevePlantClient
|
// Extrai os plant_id da coleção $recevePlantClient
|
||||||
$plantsIds = $allPlantsClient->pluck('plant_id');
|
$plantsIds = $allPlantsClient->pluck('plant_id');
|
||||||
|
|
|
||||||
|
|
@ -845,7 +845,7 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
|
||||||
|
|
||||||
public function processStep1(Request $request)
|
public function processStep1(Request $request)
|
||||||
{
|
{
|
||||||
// dd($request);
|
dd($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)
|
//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)
|
||||||
// Dito isto vamos sempre pensar que o Cliente ja deve estar criado , para ser feita uma Obra para o mesmo.
|
// Dito isto vamos sempre pensar que o Cliente ja deve estar criado , para ser feita uma Obra para o mesmo.
|
||||||
// dd($request);
|
// dd($request);
|
||||||
|
|
@ -1146,7 +1146,6 @@ public function processStep2(Request $request)
|
||||||
// Inicializa o contador para ispt_number
|
// Inicializa o contador para ispt_number
|
||||||
$isptNumber = 1;
|
$isptNumber = 1;
|
||||||
|
|
||||||
|
|
||||||
// Confirma que o arquivo foi enviado,ou seja sua existencia.
|
// Confirma que o arquivo foi enviado,ou seja sua existencia.
|
||||||
// Antes de verificar o documento excel, deve ter uma forma de confirmar o mesmo como arquivo legitivo para criar dados de acordo com o nosso template.
|
// Antes de verificar o documento excel, deve ter uma forma de confirmar o mesmo como arquivo legitivo para criar dados de acordo com o nosso template.
|
||||||
if ($file) {
|
if ($file) {
|
||||||
|
|
@ -1218,12 +1217,10 @@ function normalize($value)
|
||||||
|
|
||||||
foreach ($data as $i => $dataLines) {
|
foreach ($data as $i => $dataLines) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Em cada um das linhas horizontais do excel, vai se guardar a 'key' vinculada ao valor do campo preenchido ou seja a 'key' vai ter o mesmo nome de um dos dados da tabela 'general_attributes_equipaments' na coluna : general_attributes_equipment_description, assim sendo mais facil implementar na tabela : specific_attributes_equipament_types
|
// Em cada um das linhas horizontais do excel, vai se guardar a 'key' vinculada ao valor do campo preenchido ou seja a 'key' vai ter o mesmo nome de um dos dados da tabela 'general_attributes_equipaments' na coluna : general_attributes_equipment_description, assim sendo mais facil implementar na tabela : specific_attributes_equipament_types
|
||||||
$joinArrays = array_combine($columnNames, $dataLines);
|
$joinArrays = array_combine($columnNames, $dataLines);
|
||||||
|
|
||||||
|
|
||||||
// vai guardar todos os campos de possiveis novos equipamentos, cada um em um array para multiplos inserts, na base de dados
|
// vai guardar todos os campos de possiveis novos equipamentos, cada um em um array para multiplos inserts, na base de dados
|
||||||
$datas = array_filter($joinArrays, function ($chave) {
|
$datas = array_filter($joinArrays, function ($chave) {
|
||||||
return !empty ($chave);
|
return !empty ($chave);
|
||||||
|
|
@ -1243,6 +1240,7 @@ function normalize($value)
|
||||||
->where('plant_id', $detailsCompanyProject->plant_id)
|
->where('plant_id', $detailsCompanyProject->plant_id)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
|
||||||
//Indentifica qual o tipo de equipamento selecionado de acordo com a tabela EquipmentType
|
//Indentifica qual o tipo de equipamento selecionado de acordo com a tabela EquipmentType
|
||||||
$equipmentType = EquipmentType::where('equipment_type_name', $datas['equipment_type_name'])->first();
|
$equipmentType = EquipmentType::where('equipment_type_name', $datas['equipment_type_name'])->first();
|
||||||
|
|
||||||
|
|
@ -1753,17 +1751,19 @@ public function storeProject(Request $request)
|
||||||
|
|
||||||
public function getByUserNif(Request $request)
|
public function getByUserNif(Request $request)
|
||||||
{
|
{
|
||||||
|
// dd($request);
|
||||||
|
|
||||||
$companyId = $request->input('company_id'); // Considerando que este ID é na verdade o ID da empresa
|
$companyId = $request->input('company_id'); // Considerando que este ID é na verdade o ID da empresa
|
||||||
|
|
||||||
// Busca as instalações associadas à empresa
|
// Busca as instalações associadas à empresa
|
||||||
// $installations = Plant::where('company_id', $companyId)->get();
|
$installations = Plant::where('company_id', $companyId)->get();
|
||||||
|
|
||||||
// Busca os usuários associados à empresa
|
// Busca os usuários associados à empresa
|
||||||
$userIds = AssociationCompanyUser::where('company_id', $companyId)->pluck('user_id');
|
$userIds = AssociationCompanyUser::where('company_id', $companyId)->pluck('user_id');
|
||||||
$users = User::whereIn('user_id', $userIds)->get();
|
$users = User::whereIn('user_id', $userIds)->get();
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
// 'installations' => $installations,
|
'installations' => $installations,
|
||||||
'users' => $users
|
'users' => $users
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\EquipmentWorkHistory;
|
use App\Models\EquipmentWorkHistory;
|
||||||
use App\Models\Plant;
|
use App\Models\Plant;
|
||||||
use App\Models\Unit;
|
use App\Models\Unit;
|
||||||
|
|
@ -409,16 +410,6 @@ public function getDataEquipment1(Request $request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function enterWorkstation()
|
public function enterWorkstation()
|
||||||
{
|
{
|
||||||
return view('workstations/index');
|
return view('workstations/index');
|
||||||
|
|
@ -429,12 +420,32 @@ public function receiveExecutionProject($ProjectId)
|
||||||
$DatasProject = CompanyProject::find($ProjectId);
|
$DatasProject = CompanyProject::find($ProjectId);
|
||||||
$equipmentsTypes = EquipmentType::all();
|
$equipmentsTypes = EquipmentType::all();
|
||||||
|
|
||||||
|
$receivePlant = Plant::where('plant_id', $DatasProject->plant_id)->first();
|
||||||
|
$receiveCompany = Company::where('company_id', $receivePlant->company_id)->first();
|
||||||
|
|
||||||
// return view('projectsClients/executionProject')
|
// return view('projectsClients/executionProject')
|
||||||
return view('projectsClients/executionProjectNew')
|
return view('projectsClients/executionProjectNew')
|
||||||
->with('DatasProject', $DatasProject)
|
->with('DatasProject', $DatasProject)
|
||||||
->with('equipmentsTypes', $equipmentsTypes);
|
->with('equipmentsTypes', $equipmentsTypes)
|
||||||
|
->with('receiveCompany', $receiveCompany);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function changeFromExecutionToPlanning($projectID)
|
||||||
|
{
|
||||||
|
$receiveCompanyProject = CompanyProject::where('company_projects_id', $projectID)->first();
|
||||||
|
|
||||||
|
if ($receiveCompanyProject) {
|
||||||
|
$receiveCompanyProject->order_project = 1; // Supondo que 1 seja 'Planeamento'
|
||||||
|
$receiveCompanyProject->save();
|
||||||
|
return redirect()->route('articulated_2', ['projectID' => $receiveCompanyProject->company_projects_id])
|
||||||
|
->with('success', 'O projeto foi alterado para Planeamento.');
|
||||||
|
} else {
|
||||||
|
return back()->with('error', 'Projeto não encontrado.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function receiveWorkstationExecutionProject($receiveNumberProject)
|
public function receiveWorkstationExecutionProject($receiveNumberProject)
|
||||||
{
|
{
|
||||||
$model = ConstructionWorkstation::where('company_projects_id', $receiveNumberProject)->with('workstationsAssociationTasks');
|
$model = ConstructionWorkstation::where('company_projects_id', $receiveNumberProject)->with('workstationsAssociationTasks');
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ public function switchLanguage(Request $request)
|
||||||
{
|
{
|
||||||
$locale = $request->input('locale');
|
$locale = $request->input('locale');
|
||||||
|
|
||||||
if (!in_array($locale, ['en', 'pt'])) {
|
if (!in_array($locale, ['pt', 'en'])) {
|
||||||
abort(400);
|
abort(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\EquipmentWorkHistory;
|
use App\Models\EquipmentWorkHistory;
|
||||||
|
use App\Models\Plant;
|
||||||
use App\Models\QrcodesAssociatedEquipment;
|
use App\Models\QrcodesAssociatedEquipment;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
@ -74,7 +76,6 @@ class PreparedProjectController extends Controller
|
||||||
public function showAllEquipmentsInProjectForQrCode($projectId)
|
public function showAllEquipmentsInProjectForQrCode($projectId)
|
||||||
{
|
{
|
||||||
$equipments = Equipment::where('company_projects_id', $projectId)->get();
|
$equipments = Equipment::where('company_projects_id', $projectId)->get();
|
||||||
$userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg');
|
|
||||||
|
|
||||||
$equipmentData = [];
|
$equipmentData = [];
|
||||||
foreach ($equipments as $equipment) {
|
foreach ($equipments as $equipment) {
|
||||||
|
|
@ -95,11 +96,22 @@ public function showAllEquipmentsInProjectForQrCode($projectId)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$detailsCompanyProject = CompanyProject::find($projectId);
|
||||||
|
$detailsPlant = Plant::where('plant_id', $detailsCompanyProject->plant_id)->first();
|
||||||
|
|
||||||
|
$detailsCompany= Company::where('company_id', $detailsPlant->company_id)->first();
|
||||||
|
|
||||||
|
$logoPath = public_path('companies_logo/' . ($detailsCompany->company_logo ?: 'logoISPT4.0.jpg'));
|
||||||
|
|
||||||
|
if (!file_exists($logoPath)) {
|
||||||
|
$logoPath = public_path('companies_logo/logoISPT4.0.jpg');
|
||||||
|
}
|
||||||
|
|
||||||
// dd($equipmentData);
|
// dd($equipmentData);
|
||||||
|
|
||||||
$html = view('projectsClients.showAllEquipmentsInProjectQrCodePdf', [
|
$html = view('projectsClients.showAllEquipmentsInProjectQrCodePdf', [
|
||||||
'equipmentData' => $equipmentData,
|
'equipmentData' => $equipmentData,
|
||||||
'userLogoPath' => $userLogoPath
|
'logoPath' => $logoPath
|
||||||
])->render();
|
])->render();
|
||||||
|
|
||||||
$mpdf = new \Mpdf\Mpdf([
|
$mpdf = new \Mpdf\Mpdf([
|
||||||
|
|
@ -122,7 +134,17 @@ public function showDetailsEquipmentForQrCode($equipmentId, $projectId)
|
||||||
// Converte o QR Code para base64 para incorporar na página
|
// Converte o QR Code para base64 para incorporar na página
|
||||||
$qrCodeImage = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString());
|
$qrCodeImage = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString());
|
||||||
|
|
||||||
// $userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg');
|
$detailsCompanyProject = CompanyProject::find($projectId);
|
||||||
|
$detailsPlant = Plant::where('plant_id', $detailsCompanyProject->plant_id)->first();
|
||||||
|
|
||||||
|
$detailsCompany= Company::where('company_id', $detailsPlant->company_id)->first();
|
||||||
|
|
||||||
|
$logoPath = public_path('companies_logo/' . ($detailsCompany->company_logo ?: 'logoISPT4.0.jpg'));
|
||||||
|
|
||||||
|
if (!file_exists($logoPath)) {
|
||||||
|
$logoPath = public_path('companies_logo/logoISPT4.0.jpg');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $detailsEquipment->equipment_id)->get();
|
$associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $detailsEquipment->equipment_id)->get();
|
||||||
|
|
||||||
|
|
@ -133,7 +155,7 @@ public function showDetailsEquipmentForQrCode($equipmentId, $projectId)
|
||||||
|
|
||||||
$html = view('projectsClients.showDetailsEquipmentForQrCodePdf', [
|
$html = view('projectsClients.showDetailsEquipmentForQrCodePdf', [
|
||||||
'detailsEquipment' => $detailsEquipment,
|
'detailsEquipment' => $detailsEquipment,
|
||||||
// 'userLogoPath' => $userLogoPath,
|
'logoPath' => $logoPath,
|
||||||
'qrCodeImage' => $qrCodeImage,
|
'qrCodeImage' => $qrCodeImage,
|
||||||
'associatedArray' => $associatedArray
|
'associatedArray' => $associatedArray
|
||||||
])->render();
|
])->render();
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
use App\Models\AssociationCompanyUser;
|
use App\Models\AssociationCompanyUser;
|
||||||
use App\Models\Company;
|
use App\Models\Company;
|
||||||
|
use App\Models\CompanyProject;
|
||||||
|
use App\Models\Plant;
|
||||||
use App\Models\TypeUser;
|
use App\Models\TypeUser;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
@ -27,6 +29,7 @@
|
||||||
class userController extends Controller
|
class userController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public function EditProfile(Request $request)
|
public function EditProfile(Request $request)
|
||||||
{
|
{
|
||||||
// Verifica se um arquivo foi enviado e se o tamanho é maior que 70 KB
|
// Verifica se um arquivo foi enviado e se o tamanho é maior que 70 KB
|
||||||
|
|
@ -46,7 +49,6 @@ public function EditProfile(Request $request)
|
||||||
'nif' => 'required',
|
'nif' => 'required',
|
||||||
], $messages);
|
], $messages);
|
||||||
|
|
||||||
// dd($messages);
|
|
||||||
|
|
||||||
$user = User::find($request->userID);
|
$user = User::find($request->userID);
|
||||||
|
|
||||||
|
|
@ -259,19 +261,113 @@ public function showCompany($id)
|
||||||
// Busca os detalhes dos usuários na tabela users usando os IDs coletados
|
// Busca os detalhes dos usuários na tabela users usando os IDs coletados
|
||||||
$companyUsers = User::whereIn('user_id', $userIds)->get();
|
$companyUsers = User::whereIn('user_id', $userIds)->get();
|
||||||
|
|
||||||
return view('Admin.CrudCompanies.showCompanyDetails', compact('company','companyUsers'));
|
|
||||||
|
// Para cada cliente, obtemos os plant_ids associados
|
||||||
|
$plantIds = Plant::where('company_id', $company->company_id)->pluck('plant_id');
|
||||||
|
|
||||||
|
// Contamos os CompanyProjects associados com datas de início e fim não nulas
|
||||||
|
$projectCount = CompanyProject::whereIn('plant_id', $plantIds)
|
||||||
|
->whereNotNull('date_started')
|
||||||
|
->whereNotNull('end_date')
|
||||||
|
->count();
|
||||||
|
|
||||||
|
return view('Admin.CrudCompanies.showCompanyDetails', compact('company', 'companyUsers', 'projectCount'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function createCompany(Request $request)
|
public function createCompany(Request $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// Função interna para normalizar nomes de empresas
|
||||||
|
function normalize($value)
|
||||||
|
{
|
||||||
|
$trimmed = trim($value);
|
||||||
|
$noInnerSpaces = str_replace(' ', '', $trimmed);
|
||||||
|
$lowercase = strtolower($noInnerSpaces);
|
||||||
|
return $lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Normaliza o nome da empresa recebido
|
||||||
|
$normalizedInputName = normalize($request->company_name);
|
||||||
|
|
||||||
|
// Verifica se já existe uma empresa com nome similar
|
||||||
|
$existingCompany = Company::whereRaw("LOWER(REPLACE(company_name, ' ', '')) = ?", [$normalizedInputName])->first();
|
||||||
|
|
||||||
|
if ($existingCompany) {
|
||||||
|
return back()->with('danger', 'Uma empresa com um nome similar já existe.');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$createCompany = new Company;
|
$createCompany = new Company;
|
||||||
$createCompany->company_name = $request->company_name;
|
$createCompany->company_name = $request->company_name;
|
||||||
|
|
||||||
|
// Primeiro, verificamos se um arquivo foi enviado e se seu tamanho é maior que 70KB.
|
||||||
|
if ($request->hasFile('company_logo') && $request->file('company_logo')->getSize() > 71680) {
|
||||||
|
return back()->with('danger', 'O tamanho da imagem não deve ser maior que 70KB.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Processo para salvar a imagem, se tudo estiver ok
|
||||||
|
if ($request->hasFile('company_logo')) {
|
||||||
|
$imageName = time() . '.' . $request->company_logo->extension();
|
||||||
|
|
||||||
|
// Move o novo arquivo de imagem para o diretório
|
||||||
|
$request->company_logo->move(public_path('companies_logo'), $imageName);
|
||||||
|
$createCompany->company_logo = $imageName;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Se nenhuma imagem foi enviada, atribuímos uma imagem padrão.
|
||||||
|
$createCompany->company_logo = 'logoISPT4.0.jpg';
|
||||||
|
}
|
||||||
|
|
||||||
$createCompany->save();
|
$createCompany->save();
|
||||||
|
|
||||||
return redirect('CreateUsers')->with('status', 'A Empresa ' . $createCompany->company_name . ' foi criada com êxito. Consulte na página "Empresas".');
|
return redirect('CreateUsers')->with('status', 'A Empresa ' . $createCompany->company_name . ' foi criada com êxito. Consulte na página "Empresas".');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function companyEdit(Request $request)
|
||||||
|
{
|
||||||
|
// Verifica se um arquivo foi enviado e se o tamanho é maior que 70 KB
|
||||||
|
if ($request->hasFile('company_logo') && $request->file('company_logo')->getSize() > 71680) {
|
||||||
|
return back()->with('danger', 'O tamanho da imagem não deve ser maior que 70KB, valores não alteradas.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$messages = [
|
||||||
|
'user_logo.max' => 'O tamanho da imagem não deve ser maior que 70KB.',
|
||||||
|
];
|
||||||
|
|
||||||
|
$companyDetails = Company::find($request->companyId);
|
||||||
|
|
||||||
|
// Processo para salvar a imagem, se tudo estiver ok
|
||||||
|
if ($request->hasFile('company_logo')) {
|
||||||
|
|
||||||
|
$imageName = time() . '.' . $request->company_logo->extension();
|
||||||
|
|
||||||
|
// Verifica se o usuário já tem uma imagem e se é diferente da nova imagem
|
||||||
|
if ($companyDetails->company_logo && $companyDetails->company_logo != $imageName) {
|
||||||
|
// Constrói o caminho completo para o arquivo de imagem existente
|
||||||
|
$existingImagePath = public_path('companies_logo/' . $companyDetails->company_logo);
|
||||||
|
|
||||||
|
// Verifica se o arquivo de imagem existente realmente existe no sistema de arquivos
|
||||||
|
if (File::exists($existingImagePath)) {
|
||||||
|
// Exclui o arquivo de imagem existente
|
||||||
|
File::delete($existingImagePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move o novo arquivo de imagem para o diretório
|
||||||
|
$request->company_logo->move(public_path('companies_logo'), $imageName);
|
||||||
|
|
||||||
|
// Atualiza o campo user_logo do usuário com o nome do novo arquivo de imagem
|
||||||
|
$companyDetails->company_logo = $imageName;
|
||||||
|
$companyDetails->save();
|
||||||
|
|
||||||
|
|
||||||
|
return back()->with('success', 'Logo atualizado com sucesso!');
|
||||||
|
}
|
||||||
|
|
||||||
|
return back()->with('danger', 'Erro ao carregar a imagem.');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,8 @@ protected function getAllowedRoutesForUserType($userType)
|
||||||
//Api.s
|
//Api.s
|
||||||
'getDataAmbitsOfProject','getDataEquipmentsOfProject','getEquipmentsOfAmbit'];
|
'getDataAmbitsOfProject','getDataEquipmentsOfProject','getEquipmentsOfAmbit'];
|
||||||
case 2: // Administrador
|
case 2: // Administrador
|
||||||
return ['home',
|
return [
|
||||||
|
'home',
|
||||||
'createProject','processStep1','articulated_2',
|
'createProject','processStep1','articulated_2',
|
||||||
'showAllClientsForProjectReports',
|
'showAllClientsForProjectReports',
|
||||||
'manageAssets',
|
'manageAssets',
|
||||||
|
|
@ -76,6 +77,8 @@ protected function getAllowedRoutesForUserType($userType)
|
||||||
'articulated_2CreateEquipment','processStep2','deleteEquipmentInProject','changeAmbitEquipment',
|
'articulated_2CreateEquipment','processStep2','deleteEquipmentInProject','changeAmbitEquipment',
|
||||||
'deletePendingEquipments','CreateNewEquipmentFromPendingEquipment','removeEquipment','receiveEquipmentToAssociateTasks',
|
'deletePendingEquipments','CreateNewEquipmentFromPendingEquipment','removeEquipment','receiveEquipmentToAssociateTasks',
|
||||||
'createCompany','ShowPendingUser','register','download','projectDetails_11','editEquipment','EditprocessStep1','createWorkStations','workstationsAssociationTasks','finishCreatingProject',
|
'createCompany','ShowPendingUser','register','download','projectDetails_11','editEquipment','EditprocessStep1','createWorkStations','workstationsAssociationTasks','finishCreatingProject',
|
||||||
|
'preparedProject','EditProjectForArticulated','companyEdit','reportingDataClient','ExecutionProject',
|
||||||
|
'changeFromExecutionToPlanning',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'locale' => 'en',
|
'locale' => 'pt',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
BIN
public/companies_logo/1713530987.jpg
Normal file
BIN
public/companies_logo/1713530987.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
public/companies_logo/1713705484.jpg
Normal file
BIN
public/companies_logo/1713705484.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
public/companies_logo/1713711791.jpg
Normal file
BIN
public/companies_logo/1713711791.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
public/companies_logo/logoISPT4.0.jpg
Executable file
BIN
public/companies_logo/logoISPT4.0.jpg
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
|
|
@ -1,6 +1,32 @@
|
||||||
@extends('Templates/templateAdmin')
|
@extends('Templates/templateAdmin')
|
||||||
|
|
||||||
@section('Main-content')
|
@section('Main-content')
|
||||||
|
@if (session('success'))
|
||||||
|
<div class="alert alert-info" role="alert" id="alert-message-success" style="transition: opacity 1s;">
|
||||||
|
{{ session('danger') }}
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
setTimeout(function() {
|
||||||
|
$('#alert-message-success').fadeOut('slow', function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}, 5000); // A mensagem desaparecerá após 5 segundos
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if (session('danger'))
|
||||||
|
<div class="alert alert-success" role="alert" id="alert-message-success" style="transition: opacity 1s;">
|
||||||
|
{{ session('danger') }}
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
setTimeout(function() {
|
||||||
|
$('#alert-message-success').fadeOut('slow', function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}, 5000); // A mensagem desaparecerá após 5 segundos
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
<section class="content-header">
|
<section class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
|
|
@ -31,13 +57,142 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
<div class="card card-success">
|
<div class="card card-success">
|
||||||
<div class="card-header">Detalhes da Empresa</div>
|
<div class="card-header">{{ $company->company_name }}</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
Foto da Empresa
|
|
||||||
Qtd de Obras
|
|
||||||
|
|
||||||
|
<!-- Bordered Tabs -->
|
||||||
|
<ul class="nav nav-tabs nav-tabs-bordered">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<button class="nav-link active" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#company-overview">Detalhes</button>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#company-edit">Editar
|
||||||
|
Empresa
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="tab-content pt-2">
|
||||||
|
|
||||||
|
<div class="tab-pane fade show active company-overview pt-3" id="company-overview">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm">
|
||||||
|
|
||||||
|
<div class="card mx-auto mt-4" style="width: 18rem;">
|
||||||
|
<div class="card-body ">
|
||||||
|
<img class="card-img img-fluid" style="max-width: 250px; height: auto;"
|
||||||
|
src="{{ asset('companies_logo/' . ($company->company_logo ?? 'logoISPT4.0.jpg')) }}"
|
||||||
|
alt="Company Logo">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- col-sm -->
|
||||||
|
|
||||||
|
<div class="col-sm">
|
||||||
|
{{-- Criar um numero real --}}
|
||||||
|
<p>Qtd de Obra Concluidas : {{$projectCount}}</p>
|
||||||
|
<a href="{{route('reportingDataClient',['clientID' => $company->company_id])}}" class="btn btn-success">Visualizar Obras da empresa</a>
|
||||||
|
</div><!-- col-sm -->
|
||||||
|
|
||||||
|
</div><!-- row -->
|
||||||
|
|
||||||
|
|
||||||
|
{{-- <p>Logo empresa</p>
|
||||||
|
|
||||||
|
<img class="img-fluid" style="max-width: 250px; height: auto;"
|
||||||
|
src="{{ asset('companies_logo/' . ($company->company_logo ?? 'logoISPT4.0.jpg')) }}"
|
||||||
|
alt="Company Logo">
|
||||||
|
--}}
|
||||||
|
|
||||||
|
{{-- <img src="{{ asset('storage/' . $company->company_logo) }}" alt="Company Logo" style="width:200px; height:200px;"> --}}
|
||||||
|
|
||||||
|
{{-- <div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4 ">
|
||||||
|
{{ __('messages.profile.show_profile.full_name') }} </label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->user_name }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4">
|
||||||
|
{{ __('messages.profile.show_profile.nif') }} </label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->user_nif }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4">
|
||||||
|
{{ __('messages.profile.show_profile.email_address') }} </label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->email }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4">
|
||||||
|
{{ __('messages.profile.show_profile.user_type') }} </label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->userType->type_user }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4">
|
||||||
|
{{ __('messages.profile.show_profile.mobile_phone') }} </label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->user_phone }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-lg-3 col-md-4">
|
||||||
|
{{ __('messages.profile.show_profile.account_creation_date') }}
|
||||||
|
</label>
|
||||||
|
<div class="col-lg-9 col-md-8 text-center mb-2">{{ $user->created_at }}</div>
|
||||||
|
</div> --}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab-pane fade company-edit pt-3" id="company-edit">
|
||||||
|
|
||||||
|
<form action="{{ route('companyEdit') }}" method="POST" enctype="multipart/form-data">
|
||||||
|
|
||||||
|
@csrf
|
||||||
|
{{-- Deve enviar o id da empresa junto --}}
|
||||||
|
<input type="hidden" name="companyId" value="{{ $company->company_id }}">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label for="company_logo" class="col-md-5 col-lg-5 form-label">
|
||||||
|
Carregar Nova Logo
|
||||||
|
</label>
|
||||||
|
<div class="custom-file col-md-7 col-lg-7">
|
||||||
|
<input type="file" class="custom-file-input" id="company_logo"
|
||||||
|
name="company_logo" accept="image/*">
|
||||||
|
<label class="custom-file-label" for="customFile">
|
||||||
|
{{ __('messages.profile.edit_profile.image') }} : Max(70kb)
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- row -->
|
||||||
|
<button class="btn btn-danger" type="submit">Enviar</button>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- End Bordered Tabs -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="card card-success mb">
|
<div class="card card-success mb">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
|
|
|
||||||
|
|
@ -243,9 +243,8 @@ class="fas fa-bars"></i></a>
|
||||||
class="form-inline">
|
class="form-inline">
|
||||||
@csrf
|
@csrf
|
||||||
<select class="custom-select" name="locale" onchange="this.form.submit()">
|
<select class="custom-select" name="locale" onchange="this.form.submit()">
|
||||||
|
<option value="pt" {{ app()->getLocale() == 'pt' ? 'selected' : '' }}>Português </option>
|
||||||
<option value="en" {{ app()->getLocale() == 'en' ? 'selected' : '' }}>English</option>
|
<option value="en" {{ app()->getLocale() == 'en' ? 'selected' : '' }}>English</option>
|
||||||
<option value="pt" {{ app()->getLocale() == 'pt' ? 'selected' : '' }}>Português
|
|
||||||
</option>
|
|
||||||
</select>
|
</select>
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,21 @@
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@if (session('danger'))
|
||||||
|
<div class="content">
|
||||||
|
<div class="alert alert-danger" role="alert" id="alert-message-danger" style="transition: opacity 1s;">
|
||||||
|
{{ session('danger') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
setTimeout(function() {
|
||||||
|
$('#alert-message-danger').fadeOut('slow', function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}, 10000); // A mensagem desaparecerá após 10 segundos
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
<section class="content-header">
|
<section class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
|
|
@ -42,7 +57,7 @@
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<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">
|
||||||
<i class="fa fa-envelope" style="color: #00B0EA;"></i>
|
<i class="fa fa-envelope" style="color: #00B0EA;"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
<div class="has-float-label">
|
||||||
<input type="text" name="email" class="form-control card_inputs" id="email"
|
<input type="text" name="email" class="form-control card_inputs" id="email"
|
||||||
|
|
@ -69,26 +84,45 @@ class="btn btn-light">{{ __('messages.pendingUsers.submit') }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="{{ route('createCompany') }}" method="post">
|
<form action="{{ route('createCompany') }}" method="post" enctype="multipart/form-data">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-8">
|
<div class="col-sm mb-2">
|
||||||
<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">
|
||||||
<i class="fa fa-building" style="color: #00B0EA;"></i>
|
<i class="fa fa-building" style="color: #00B0EA;" data-toggle="tooltip"
|
||||||
|
title="Nome Empresa"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="has-float-label">
|
<div class="has-float-label">
|
||||||
<input type="text" name="company_name" class="form-control card_inputs" id="company_name"
|
<input type="text" name="company_name" class="form-control card_inputs"
|
||||||
placeholder="Nome da empresa..." aria-label="Tag Equipment"
|
id="company_name" placeholder="Nome da empresa..." aria-label="Tag Equipment"
|
||||||
aria-describedby="form-tagEquipment">
|
aria-describedby="form-tagEquipment" required>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4 text-center">
|
|
||||||
<button type="submit"
|
<div class="col-sm mb-2">
|
||||||
class="btn btn-light">Criar Empresa</button>
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text" id="form-tagEquipment">
|
||||||
|
<i class="fa-regular fa-image" style="color: #00B0EA;" data-toggle="tooltip"
|
||||||
|
title="(Opcional)Add Logo"></i>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="custom-file col-md col-lg">
|
||||||
|
<input type="file" class="custom-file-input" id="company_logo"
|
||||||
|
name="company_logo" accept="image/*">
|
||||||
|
<label class="custom-file-label" for="customFile">
|
||||||
|
{{ __('messages.profile.edit_profile.image') }} : Max(70kb)
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm text-right mb-2">
|
||||||
|
<button type="submit" class="btn btn-light">Criar Empresa</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{{-- /.card-body --}}
|
{{-- /.card-body --}}
|
||||||
|
|
@ -146,4 +180,10 @@ class="fa-solid fa-eye text-primary"></i></a></td>
|
||||||
}).buttons().container().appendTo('#tableReceiveAllPendingUsers_wrapper .col-md-6:eq(0)');
|
}).buttons().container().appendTo('#tableReceiveAllPendingUsers_wrapper .col-md-6:eq(0)');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
$('[data-toggle="tooltip"]').tooltip();
|
||||||
|
})
|
||||||
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -97,15 +97,15 @@ class="fas fa-plus"></i></button>
|
||||||
@break
|
@break
|
||||||
|
|
||||||
@case(1)
|
@case(1)
|
||||||
Linhas duplicadas no Excel
|
Linhas duplicadas no Excel (Criado pendentes)
|
||||||
@break
|
@break
|
||||||
|
|
||||||
@case(2)
|
@case(2)
|
||||||
Referente a equipamentos ja existentes
|
Referente a equipamentos ja existentes (Nenhum dado criado)
|
||||||
@break
|
@break
|
||||||
|
|
||||||
@case(3)
|
@case(3)
|
||||||
Equipamentos Novos
|
Equipamentos Novos (Criado novos equipamentos)
|
||||||
@break
|
@break
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,6 @@
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label>{{ __('messages.createProject.ispt_project_number') }}<b
|
<label>{{ __('messages.createProject.ispt_project_number') }}<b
|
||||||
style="color:red">*</b></label>
|
style="color:red">*</b></label>
|
||||||
{{-- <input type="number" name="n_project_ispt" class="form-control"
|
|
||||||
placeholder="{{ __('messages.createProject.ispt_project_number') }}…"
|
|
||||||
required> --}}
|
|
||||||
<input type="number" name="n_project_ispt" class="form-control" data-type="ispt"
|
<input type="number" name="n_project_ispt" class="form-control" data-type="ispt"
|
||||||
placeholder="{{ __('messages.createProject.ispt_project_number') }}…"
|
placeholder="{{ __('messages.createProject.ispt_project_number') }}…"
|
||||||
required>
|
required>
|
||||||
|
|
@ -101,27 +98,19 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<!-- Gestor de Projeto da Empresa -->
|
<!-- Gestor de Projeto da Empresa -->
|
||||||
{{-- <div class="form-group col-sm" id="companyProjectManager" >
|
|
||||||
<label>{{ __('messages.createProject.compan_project_manager') }} <b
|
|
||||||
style="color:red">*</b></label>
|
|
||||||
<input type="text" name="responsible_project_company" class="form-control"
|
|
||||||
placeholder="{{ __('messages.createProject.compan_project_manager') }}…"
|
|
||||||
required>
|
|
||||||
</div> --}}
|
|
||||||
|
|
||||||
<div class="form-group col-sm" id="companyProjectManager">
|
<div class="form-group col-sm" id="companyProjectManager">
|
||||||
<label>{{ __('messages.createProject.compan_project_manager') }}
|
<label for="user_id">{{ __('messages.createProject.compan_project_manager') }}<b style="color:red">*</b></label>
|
||||||
<b style="color:red">*</b></label>
|
|
||||||
<select class="form-control" name="user_id" id="user_id" required>
|
<select class="form-control" name="user_id" id="user_id" required>
|
||||||
<!-- As opções de instalação serão preenchidas dinamicamente -->
|
<option value="#" disabled selected>Select a manager</option>
|
||||||
|
<!-- As opções de instalação serão preenchidas dinamicamente -->
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Instalação -->
|
<!-- Instalação -->
|
||||||
<div class="form-group col-sm" id="installationField">
|
<div class="form-group col-sm" id="installationField">
|
||||||
<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>
|
||||||
|
|
@ -173,9 +162,7 @@
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label>{{ __('messages.createProject.company_project_number') }}<b
|
<label>{{ __('messages.createProject.company_project_number') }}<b
|
||||||
style="color:red">*</b></label>
|
style="color:red">*</b></label>
|
||||||
{{-- <input type="number" name="project_company_number" class="form-control"
|
|
||||||
placeholder="{{ __('messages.createProject.company_project_number') }}…"
|
|
||||||
required> --}}
|
|
||||||
<input type="number" name="project_company_number" class="form-control"
|
<input type="number" name="project_company_number" class="form-control"
|
||||||
data-type="company"
|
data-type="company"
|
||||||
placeholder="{{ __('messages.createProject.company_project_number') }}…"
|
placeholder="{{ __('messages.createProject.company_project_number') }}…"
|
||||||
|
|
@ -185,11 +172,9 @@
|
||||||
|
|
||||||
<!-- Data de Início do Projeto -->
|
<!-- Data de Início do Projeto -->
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label>{{ __('messages.createProject.project_start_date') }} : <b
|
<label>{{ __('messages.createProject.project_start_date') }} : <b style="color:red">*</b></label>
|
||||||
style="color:red">*</b></label>
|
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input name="date_started" type="datetime-local"
|
<input name="date_started" type="datetime-local" class="form-control float-right" required min="{{ now()->format('Y-m-d\TH:i') }}">
|
||||||
class="form-control float-right" required>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.input group -->
|
<!-- /.input group -->
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -496,7 +481,7 @@ function updateSubmitButtonState() {
|
||||||
|
|
||||||
// Busca dados combinados de gestores e instalações
|
// Busca dados combinados de gestores e instalações
|
||||||
$.get('/api/installations?company_id=' + companyId, function(response) {
|
$.get('/api/installations?company_id=' + companyId, function(response) {
|
||||||
console.log(response);
|
|
||||||
response.users.forEach(function(user) {
|
response.users.forEach(function(user) {
|
||||||
userManagerSelect.append('<option value="' + user.user_id + '">' +
|
userManagerSelect.append('<option value="' + user.user_id + '">' +
|
||||||
user.user_name + '</option>');
|
user.user_name + '</option>');
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,11 @@
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="col-sm" id="ViewDetailsButton">
|
||||||
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
||||||
|
style="margin-bottom: 2%;">Detalhes</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-sm" id="ViewEquipmentsButton">
|
<div class="col-sm" id="ViewEquipmentsButton">
|
||||||
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
||||||
style="margin-bottom: 2%;"> Equipamentos</a>
|
style="margin-bottom: 2%;"> Equipamentos</a>
|
||||||
|
|
@ -38,12 +43,90 @@
|
||||||
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
||||||
style="margin-bottom: 2%;">Tarefas</a>
|
style="margin-bottom: 2%;">Tarefas</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- <div class="col-sm" id="ViewWorkstationButton">
|
{{-- <div class="col-sm" id="ViewWorkstationButton">
|
||||||
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
<a href="#" type="button" class="btn btn-block bg-primary btn-lg"
|
||||||
style="margin-bottom: 2%;">Postos de Trabalho</a>
|
style="margin-bottom: 2%;">Postos de Trabalho</a>
|
||||||
</div> --}}
|
</div> --}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="card card-primary" id="CardViewDetails">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="text-center">Detalhes da Obra</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body p-0">
|
||||||
|
<table class="table table-striped text-center">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Descrição da obra:</td>
|
||||||
|
<td>{{ $DatasProject->company_project_description }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>N.º obra ISPT:</td>
|
||||||
|
<td>{{ $DatasProject->project_ispt_number }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Resp.ISPT:</td>
|
||||||
|
<td>{{ $DatasProject->project_ispt_responsible }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Empresa :</td>
|
||||||
|
<td>{{ $receiveCompany->company_name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Resp.Cliente:</td>
|
||||||
|
{{-- <td>{{ $DatasProject->project_company_responsible }}</td> --}}
|
||||||
|
<td>Yuri Empresa Teste</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>N.º obra Cliente :</td>
|
||||||
|
<td>{{ $DatasProject->project_company_number }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="row m-3">
|
||||||
|
<div class="ml-auto">
|
||||||
|
<button class="btn btn-info" data-toggle="modal" data-target="#exampleModal">Adicionar
|
||||||
|
equipamentos a Obra</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog"
|
||||||
|
aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel">Alterar para planeamento?</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
Ao optar por adicionar equipamentos, a fase do projeto será modificada para
|
||||||
|
'Planeamento', impossibilitando o acompanhamento do estado atual dos
|
||||||
|
equipamentos até que o projeto retorne à fase de 'Execução'.
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary"
|
||||||
|
data-dismiss="modal">Fechar</button>
|
||||||
|
<form action="{{ route('changeFromExecutionToPlanning', ['projectID' => $DatasProject->company_projects_id]) }}" method="post">
|
||||||
|
@csrf
|
||||||
|
<button type="submit" class="btn btn-primary">Alterar para Planeamento</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- /.card-body -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="card card-primary" id="CardViewEquipments">
|
<div class="card card-primary" id="CardViewEquipments">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h3 class="card-title">Equipamentos</h3>
|
<h3 class="card-title">Equipamentos</h3>
|
||||||
|
|
@ -107,6 +190,7 @@
|
||||||
$("#ViewEquipmentsButton").hide();
|
$("#ViewEquipmentsButton").hide();
|
||||||
$("#CardViewTasks").hide();
|
$("#CardViewTasks").hide();
|
||||||
$("#CardViewWorkstations").hide();
|
$("#CardViewWorkstations").hide();
|
||||||
|
$("#CardViewDetails").hide();
|
||||||
|
|
||||||
//Visualizacao das Tarefas
|
//Visualizacao das Tarefas
|
||||||
$("#ViewTasksButton").on('click', function() {
|
$("#ViewTasksButton").on('click', function() {
|
||||||
|
|
@ -114,7 +198,9 @@
|
||||||
$("#CardViewTasks").show();
|
$("#CardViewTasks").show();
|
||||||
$("#ViewEquipmentsButton").show();
|
$("#ViewEquipmentsButton").show();
|
||||||
$("#ViewWorkstationButton").show();
|
$("#ViewWorkstationButton").show();
|
||||||
|
$("#ViewDetailsButton").show();
|
||||||
|
|
||||||
|
$("#CardViewDetails").hide();
|
||||||
$("#CardViewEquipments").hide();
|
$("#CardViewEquipments").hide();
|
||||||
$("#CardViewWorkstations").hide();
|
$("#CardViewWorkstations").hide();
|
||||||
$("#ViewTasksButton").hide();
|
$("#ViewTasksButton").hide();
|
||||||
|
|
@ -124,9 +210,12 @@
|
||||||
$("#ViewEquipmentsButton").on('click', function() {
|
$("#ViewEquipmentsButton").on('click', function() {
|
||||||
|
|
||||||
$("#CardViewEquipments").show();
|
$("#CardViewEquipments").show();
|
||||||
|
|
||||||
$("#ViewTasksButton").show();
|
$("#ViewTasksButton").show();
|
||||||
$("#ViewWorkstationButton").show();
|
$("#ViewWorkstationButton").show();
|
||||||
|
$("#ViewDetailsButton").show();
|
||||||
|
|
||||||
|
$("#CardViewDetails").hide();
|
||||||
$("#CardViewTasks").hide();
|
$("#CardViewTasks").hide();
|
||||||
$("#CardViewWorkstations").hide();
|
$("#CardViewWorkstations").hide();
|
||||||
$("#ViewEquipmentsButton").hide();
|
$("#ViewEquipmentsButton").hide();
|
||||||
|
|
@ -138,11 +227,30 @@
|
||||||
$("#CardViewWorkstations").show();
|
$("#CardViewWorkstations").show();
|
||||||
$("#ViewEquipmentsButton").show();
|
$("#ViewEquipmentsButton").show();
|
||||||
$("#ViewTasksButton").show();
|
$("#ViewTasksButton").show();
|
||||||
|
$("#ViewDetailsButton").show();
|
||||||
|
|
||||||
|
|
||||||
|
$("#CardViewDetails").hide();
|
||||||
$("#CardViewEquipments").hide();
|
$("#CardViewEquipments").hide();
|
||||||
$("#CardViewTasks").hide();
|
$("#CardViewTasks").hide();
|
||||||
$("#ViewWorkstationButton").hide();
|
$("#ViewWorkstationButton").hide();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$("#ViewDetailsButton").on('click', function() {
|
||||||
|
|
||||||
|
$("#CardViewDetails").show();
|
||||||
|
|
||||||
|
$("#ViewDetailsButton").hide();
|
||||||
|
$("#ViewEquipmentsButton").show();
|
||||||
|
$("#ViewTasksButton").show();
|
||||||
|
$("#ViewWorkstationButton").show();
|
||||||
|
|
||||||
|
|
||||||
|
$("#CardViewWorkstations").hide();
|
||||||
|
$("#CardViewEquipments").hide();
|
||||||
|
$("#CardViewTasks").hide();
|
||||||
|
|
||||||
|
})
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
<input type="hidden" name="projectId" value="{{ $projects->company_projects_id }}">
|
<input type="hidden" name="projectId" value="{{ $projects->company_projects_id }}">
|
||||||
<input type="hidden" name="statusProject" value="edit">
|
<input type="hidden" name="statusProject" value="edit">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label>Descrição da obra</label>
|
<label>Descrição da obra</label>
|
||||||
|
|
@ -166,7 +167,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<input name="date_started" type="datetime-local"
|
<input name="date_started" type="datetime-local"
|
||||||
class="form-control float-right">
|
class="form-control float-right" min="{{ now()->format('Y-m-d\TH:i') }}">
|
||||||
</div>
|
</div>
|
||||||
<!-- /.input group -->
|
<!-- /.input group -->
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@
|
||||||
alt="Logo Esquerdo">
|
alt="Logo Esquerdo">
|
||||||
</div>
|
</div>
|
||||||
<div class="col2-img col-2-img">
|
<div class="col2-img col-2-img">
|
||||||
<img class="img-istp" src="{{ public_path('/img/ispt/4.0/isptLogoVertical.png') }}"
|
<img class="img-istp" src="{{ $logoPath }}"
|
||||||
alt="Logo Esquerdo">
|
alt="Logo Esquerdo">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -163,8 +163,9 @@
|
||||||
<img class="img-company" src="{{ public_path('/img/ispt/4.0/galpLogo1.png') }}" alt="Logo Esquerdo">
|
<img class="img-company" src="{{ public_path('/img/ispt/4.0/galpLogo1.png') }}" alt="Logo Esquerdo">
|
||||||
</div>
|
</div>
|
||||||
<div class="col2-img col-2-img">
|
<div class="col2-img col-2-img">
|
||||||
<img class="img-istp" src="{{ public_path('/img/ispt/4.0/isptLogoVertical.png') }}"
|
{{-- <img class="img-istp" src="{{ public_path('/img/ispt/4.0/isptLogoVertical.png') }}"
|
||||||
alt="Logo Esquerdo">
|
alt="Logo Esquerdo"> --}}
|
||||||
|
<img class="img-istp" src="{{ $logoPath }}" alt="Logo da Empresa">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -38,24 +38,27 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Route::get('viewProjectsList/{orderProjectID}',[ProjectoDatacontroller::class,'viewProjectsList'])->name('viewProjectsList');
|
Route::get('viewProjectsList/{orderProjectID}', [ProjectoDatacontroller::class, 'viewProjectsList'])->name('viewProjectsList');
|
||||||
|
|
||||||
|
|
||||||
Route::get('changeStateProject/{projectId}',[CreateProjectController::class,'changeStateProject'])->name('changeStateProject');
|
Route::get('changeStateProject/{projectId}', [CreateProjectController::class, 'changeStateProject'])->name('changeStateProject');
|
||||||
|
|
||||||
Route::get('deleteProject/{projectId}', [CreateProjectController::class,'deleteProject'])->name('deleteProject');
|
Route::get('deleteProject/{projectId}', [CreateProjectController::class, 'deleteProject'])->name('deleteProject');
|
||||||
|
|
||||||
Route::get('/checkProjectIsptNumber/{projectId?}',[ProjectoDatacontroller::class,'checkProjectIsptNumber'])->name('checkProjectIsptNumber');
|
Route::get('/checkProjectIsptNumber/{projectId?}', [ProjectoDatacontroller::class, 'checkProjectIsptNumber'])->name('checkProjectIsptNumber');
|
||||||
|
|
||||||
Route::post('deletePendingEquipments', [CreateProjectController::class, 'deletePendingEq
|
Route::post('deletePendingEquipments', [
|
||||||
uipments'])->name('deletePendingEquipments');
|
CreateProjectController::class,
|
||||||
|
'deletePendingEq
|
||||||
|
uipments'
|
||||||
|
])->name('deletePendingEquipments');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Route::get('showDetailsEquipmentForQrCode/{equipmentId}/{projectId}', [PreparedProjectController::class, 'showDetailsEquipmentForQrCode'])->name('showDetailsEquipmentForQrCode');
|
Route::get('showDetailsEquipmentForQrCode/{equipmentId}/{projectId}', [PreparedProjectController::class, 'showDetailsEquipmentForQrCode'])->name('showDetailsEquipmentForQrCode');
|
||||||
|
|
||||||
Route::get('showAllEquipmentsInProjectForQrCode/{projectId}' , [PreparedProjectController::class,'showAllEquipmentsInProjectForQrCode'])->name('showAllEquipmentsInProjectForQrCode');
|
Route::get('showAllEquipmentsInProjectForQrCode/{projectId}', [PreparedProjectController::class, 'showAllEquipmentsInProjectForQrCode'])->name('showAllEquipmentsInProjectForQrCode');
|
||||||
|
|
||||||
|
|
||||||
Route::get('testRelatorio', [ProjectoDatacontroller::class, 'testRelatorio'])->name('testRelatorio');
|
Route::get('testRelatorio', [ProjectoDatacontroller::class, 'testRelatorio'])->name('testRelatorio');
|
||||||
|
|
@ -71,14 +74,15 @@
|
||||||
// Nao gosto que esteja neste controller, verificar mais tarde
|
// Nao gosto que esteja neste controller, verificar mais tarde
|
||||||
Route::get('articulated_2/{projectID}/{equipmentID}', [ProjectoDatacontroller::class, 'projectDetails_11'])->name('projectDetails_11');
|
Route::get('articulated_2/{projectID}/{equipmentID}', [ProjectoDatacontroller::class, 'projectDetails_11'])->name('projectDetails_11');
|
||||||
Route::get('manageAssets/{equipmentID}', [ProjectoDatacontroller::class, 'articulated_22'])->name('articulated_22');
|
Route::get('manageAssets/{equipmentID}', [ProjectoDatacontroller::class, 'articulated_22'])->name('articulated_22');
|
||||||
Route::get('showAmbitDetailsProjectHistory/{projectID}/{equipmentID}',[ProjectoDatacontroller::class, 'showAmbitDetailsProjectHistory'])->name('showAmbitDetailsProjectHistory');
|
|
||||||
|
Route::get('showAmbitDetailsProjectHistory/{projectID}/{equipmentID}', [ProjectoDatacontroller::class, 'showAmbitDetailsProjectHistory'])->name('showAmbitDetailsProjectHistory');
|
||||||
|
|
||||||
|
|
||||||
Route::get('getDataEquipment', [ExecutionProjectController::class, 'getDataEquipment'])->name('getDataEquipment');
|
Route::get('getDataEquipment', [ExecutionProjectController::class, 'getDataEquipment'])->name('getDataEquipment');
|
||||||
|
|
||||||
|
|
||||||
Route::post('deleteEquipmentInProject',[CreateProjectController::class,'deleteEquipmentInProject'])->name('deleteEquipmentInProject');
|
Route::post('deleteEquipmentInProject', [CreateProjectController::class, 'deleteEquipmentInProject'])->name('deleteEquipmentInProject');
|
||||||
Route::post('changeAmbitEquipment',[CreateProjectController::class,'changeAmbitEquipment'])->name('changeAmbitEquipment');
|
Route::post('changeAmbitEquipment', [CreateProjectController::class, 'changeAmbitEquipment'])->name('changeAmbitEquipment');
|
||||||
|
|
||||||
Route::get('getDataEquipmentClient', [ExecutionProjectController::class, 'getDataEquipmentClient'])->name('getDataEquipmentClient');
|
Route::get('getDataEquipmentClient', [ExecutionProjectController::class, 'getDataEquipmentClient'])->name('getDataEquipmentClient');
|
||||||
|
|
||||||
|
|
@ -170,7 +174,7 @@
|
||||||
//Api
|
//Api
|
||||||
Route::get('getDataAmbitsOfProject', [ClientController::class, 'getDataAmbitsOfProject'])->name('getDataAmbitsOfProject');
|
Route::get('getDataAmbitsOfProject', [ClientController::class, 'getDataAmbitsOfProject'])->name('getDataAmbitsOfProject');
|
||||||
Route::get('getDataEquipmentsOfProject', [ClientController::class, 'getDataEquipmentsOfProject'])->name('getDataEquipmentsOfProject');
|
Route::get('getDataEquipmentsOfProject', [ClientController::class, 'getDataEquipmentsOfProject'])->name('getDataEquipmentsOfProject');
|
||||||
|
|
||||||
// Relatorio por Ambito de uma Determinada Obra.
|
// Relatorio por Ambito de uma Determinada Obra.
|
||||||
Route::get('showReportingForAmbitsProject/{ambitId}/{projectId}', [ClientController::class, 'showReportingForAmbitsProject'])->name('showReportingForAmbitsProject');
|
Route::get('showReportingForAmbitsProject/{ambitId}/{projectId}', [ClientController::class, 'showReportingForAmbitsProject'])->name('showReportingForAmbitsProject');
|
||||||
//Api
|
//Api
|
||||||
|
|
@ -207,11 +211,12 @@
|
||||||
|
|
||||||
Route::post('editProfile/{id}', 'EditProfile')->name('editProfile');
|
Route::post('editProfile/{id}', 'EditProfile')->name('editProfile');
|
||||||
|
|
||||||
Route::get('company/{id}','showCompany')->name('showCompany');
|
Route::get('company/{id}', 'showCompany')->name('showCompany');
|
||||||
Route::post('createCompany','createCompany')->name('createCompany');
|
Route::post('createCompany', 'createCompany')->name('createCompany');
|
||||||
|
Route::post('companyEdit', 'companyEdit')->name('companyEdit');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::post('editEquipmentTasks/{equipmentID}/{projectId}',[ProjectoDatacontroller::class,'editEquipmentTasks'])->name('editEquipmentTasks');
|
Route::post('editEquipmentTasks/{equipmentID}/{projectId}', [ProjectoDatacontroller::class, 'editEquipmentTasks'])->name('editEquipmentTasks');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -222,7 +227,7 @@
|
||||||
Route::controller(CreateProjectController::class)
|
Route::controller(CreateProjectController::class)
|
||||||
->group(function () {
|
->group(function () {
|
||||||
|
|
||||||
|
|
||||||
// indication of progress bar to projects that are in 'Planning'
|
// indication of progress bar to projects that are in 'Planning'
|
||||||
Route::get('projectDetails_1/{id}', 'showStep1')->name('projectDetails_1');
|
Route::get('projectDetails_1/{id}', 'showStep1')->name('projectDetails_1');
|
||||||
Route::get('articulated_2/{projectID}', 'showStep2')->name('articulated_2');
|
Route::get('articulated_2/{projectID}', 'showStep2')->name('articulated_2');
|
||||||
|
|
@ -268,6 +273,9 @@
|
||||||
|
|
||||||
Route::get('ExecutionProject/{projectID}', [ExecutionProjectController::class, 'receiveExecutionProject'])->name('ExecutionProject');
|
Route::get('ExecutionProject/{projectID}', [ExecutionProjectController::class, 'receiveExecutionProject'])->name('ExecutionProject');
|
||||||
Route::get('/ReceiveEquipmentIdForShowModal/{EquipmentID}', [ExecutionProjectController::class, 'receiveEquipmentIdForShowModal'])->name('ReceiveEquipmentIdForShowModal ');
|
Route::get('/ReceiveEquipmentIdForShowModal/{EquipmentID}', [ExecutionProjectController::class, 'receiveEquipmentIdForShowModal'])->name('ReceiveEquipmentIdForShowModal ');
|
||||||
|
Route::post('/changeFromExecutionToPlanning/{projectID}', [ExecutionProjectController::class, 'changeFromExecutionToPlanning'])->name('changeFromExecutionToPlanning');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Gerir os Ativos gerais
|
//Gerir os Ativos gerais
|
||||||
|
|
@ -301,7 +309,7 @@
|
||||||
Route::get('/api/equipment/{id}', [CreateProjectController::class, 'showJson']);
|
Route::get('/api/equipment/{id}', [CreateProjectController::class, 'showJson']);
|
||||||
Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']);
|
Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']);
|
||||||
Route::get('/api/ambits/{equipmentType}', [CreateProjectController::class, 'getAmbits']);
|
Route::get('/api/ambits/{equipmentType}', [CreateProjectController::class, 'getAmbits']);
|
||||||
Route::get('/api/receiveQuestionsEquipment/{equipmentID}',[WorkstationsJobsController::class,'receiveQuestionsEquipment']);
|
Route::get('/api/receiveQuestionsEquipment/{equipmentID}', [WorkstationsJobsController::class, 'receiveQuestionsEquipment']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user