Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender
This commit is contained in:
@@ -82,7 +82,16 @@ function checkKelengkapanDetailKJPP($id)
|
||||
// detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
|
||||
$query = PenawaranDetailTender::select('id')
|
||||
->where('penawaran_id', '=', $id)
|
||||
->where('status','=',1)
|
||||
->where(function ($query) {
|
||||
// no_proposal
|
||||
$query->orWhere('no_proposal', '', "");
|
||||
$query->orWhereNull('no_proposal');
|
||||
|
||||
// tgl_proposal
|
||||
$query->orWhere('tgl_proposal', '', "");
|
||||
$query->orWhereNull('tgl_proposal');
|
||||
|
||||
$query->orWhere('biaya_penawaran', '', "");
|
||||
$query->orWhereNull('biaya_penawaran');
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
'jenis_legalitas_jaminan_id' => $value,
|
||||
'name' => $request->name[$key],
|
||||
'keterangan' => $request->keterangan[$key],
|
||||
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : ''
|
||||
];
|
||||
|
||||
$dokumenJaminan = [];
|
||||
@@ -234,6 +235,7 @@
|
||||
'jenis_legalitas_jaminan_id' => $value,
|
||||
'name' => $request->name[$key],
|
||||
'keterangan' => $request->keterangan[$key],
|
||||
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : ''
|
||||
];
|
||||
|
||||
$dokumenJaminan = [];
|
||||
|
||||
@@ -215,7 +215,7 @@ class PenilaianController extends Controller
|
||||
$teamPenilai = $userTeam->flatMap(function ($team) {
|
||||
return $team->teamsUsers->filter(function ($teamUser) {
|
||||
return $teamUser->user->roles->contains(function ($role) {
|
||||
return $role->name === 'surveyor' || $role->name === 'surveyor-penilai';
|
||||
return $role->name === 'surveyor' || $role->name === 'surveyor-penilai' || $role->name === 'administrator';
|
||||
});
|
||||
})->map(function ($teamUser) {
|
||||
return $teamUser->user;
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
@@ -14,6 +15,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\Lpj\Models\KJPP;
|
||||
use Modules\Lpj\Models\PenawaranDetailTender;
|
||||
use Modules\Lpj\Models\PenawaranDetailTenderLog;
|
||||
use Modules\Lpj\Models\PenawaranTender;
|
||||
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
@@ -38,7 +40,7 @@ class ProsesPenawaranController extends Controller
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = PenawaranTender::query()->where('status', '=', 'tender')->withCount('penawarandetails');
|
||||
$query = PenawaranTender::query()->whereIn('status', ['tender', 'proposal-tender'])->withCount('penawarandetails');
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
@@ -126,7 +128,18 @@ class ProsesPenawaranController extends Controller
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
DB::enableQueryLog();
|
||||
$kjpps = KJPP::whereNotIn('id', function($query) use ($id) {
|
||||
$query->select('kjpp_rekanan_id')
|
||||
->from('detail_penawaran')
|
||||
->where('penawaran_id', '=', $id)
|
||||
->where('status','=',1); // status=1 (masih aktif)
|
||||
})
|
||||
->select('id', 'name', 'code') // Pilih beberapa kolom sekaligus
|
||||
->get();
|
||||
$sql=DB::getQueryLog();
|
||||
$data['sql'] = $sql;
|
||||
$data['kjpps'] = $kjpps;
|
||||
$data['penawaran'] = $penawaran;
|
||||
$data['penawrandetails'] = $penawrandetails;
|
||||
$data['status'] = 'success';
|
||||
@@ -154,65 +167,52 @@ class ProsesPenawaranController extends Controller
|
||||
$data = array();
|
||||
$dataPenawaranDetail = array();
|
||||
if (request()->ajax()) {
|
||||
$validator = ProsesPenawaranController::rulesEditnya($request, $id);
|
||||
|
||||
try {
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
];
|
||||
|
||||
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
];
|
||||
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
{
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if ($file_tmp->isValid())
|
||||
{
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if ($file_tmp->isValid())
|
||||
{
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::findOrFail($id);
|
||||
$penawarandetail->update($dataPenawaranDetail);
|
||||
|
||||
$data['detailpenawaran_id'] = $id;
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['check_file'] = array("Silahkan upload file");
|
||||
|
||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
}
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::findOrFail($id);
|
||||
$penawarandetail->update($dataPenawaranDetail);
|
||||
|
||||
$data['detailpenawaran_id'] = $id;
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
@@ -338,4 +338,492 @@ class ProsesPenawaranController extends Controller
|
||||
$prosespenawaran = PenawaranTender::find($id);
|
||||
return view('lpj::prosespenawaran.show', compact('id', 'prosespenawaran'));
|
||||
}
|
||||
|
||||
public function updateDraft(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id = penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataPenawaranDetail = array();
|
||||
$failed = 0;
|
||||
|
||||
DB::beginTransaction();
|
||||
try
|
||||
{
|
||||
// update detail_penawaran
|
||||
$detail_penawaran_ids = $request->input('prosespenawaran_penawarandetail_id', []);
|
||||
$no_proposals = $request->input('prosespenawaran_no_proposal', []);
|
||||
$tgl_proposals = $request->input('prosespenawaran_tgl_proposal', []);
|
||||
$biaya_penawarans = $request->input('prosespenawaran_biayaPenawaran', []);
|
||||
$dokumen_penawarans = $request->file('prosespenawaran_dokumenPersetujuan');
|
||||
|
||||
$tot_kjpp = sizeof($detail_penawaran_ids);
|
||||
if($tot_kjpp>0)
|
||||
{
|
||||
// loop
|
||||
for($i=0;$i<$tot_kjpp;$i++)
|
||||
{
|
||||
$detail_penawaran_id= $detail_penawaran_ids[$i];
|
||||
$dataPenawaranDetail = [
|
||||
'no_proposal' => $no_proposals[$i],
|
||||
'tgl_proposal' => $tgl_proposals[$i],
|
||||
'biaya_penawaran' => str_replace(".","",$biaya_penawarans[$i]), // 'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::find($detail_penawaran_id);
|
||||
if ($dokumen_penawarans)
|
||||
{
|
||||
if (is_array($dokumen_penawarans) && array_key_exists($i, $dokumen_penawarans))
|
||||
{
|
||||
$file_tmp = $dokumen_penawarans[$i];
|
||||
if($file_tmp->isValid())
|
||||
{
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $penawarandetail->kjpp_rekanan_id.'_'.$penawarandetail->penawaran_id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$checkStatus = $penawarandetail->update($dataPenawaranDetail);
|
||||
if(!$checkStatus)
|
||||
$failed++;
|
||||
}
|
||||
|
||||
if($failed>0)
|
||||
{
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Proses Draft Penawaran KJPP failed');
|
||||
}
|
||||
else
|
||||
{
|
||||
DB::commit();
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Draft Penawaran KJPP successfully');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Data inti tidak ada.');
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Draft Penawaran KJPP failed.');
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function store(Request $request): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data = array();
|
||||
// $data['request']=$request->all();
|
||||
$dataPenawaranDetail = array();
|
||||
try
|
||||
{
|
||||
$dataPenawaranDetail = [
|
||||
'penawaran_id' => $request->penawaran_id,
|
||||
'kjpp_rekanan_id' => $request->kjpp_id,
|
||||
'created_by' => Auth::id(),
|
||||
'created_at' => Carbon::now()
|
||||
];
|
||||
|
||||
PenawaranDetailTender::create($dataPenawaranDetail);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Tambah KJPP successfully');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP failed.');
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function editulang($id)
|
||||
{
|
||||
// id ==> penawaran.id
|
||||
return view('lpj::prosespenawaran.editulang', compact('id'));
|
||||
}
|
||||
|
||||
public function setDataUlang(Request $request): JsonResponse
|
||||
{
|
||||
$data = array();
|
||||
$penawaran = array();
|
||||
$penawrandetails = array();
|
||||
|
||||
if (request()->ajax()) {
|
||||
$id = $request->id;
|
||||
$penawaran = PenawaranTender::where('status','=','proposal-tender')->find($id);
|
||||
|
||||
if ($penawaran) {
|
||||
$penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
|
||||
->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
|
||||
->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
|
||||
->where('detail_penawaran.status','=',1)
|
||||
->get();
|
||||
|
||||
$i=0;
|
||||
foreach($penawrandetails as $obj)
|
||||
{
|
||||
if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
|
||||
{
|
||||
$penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
|
||||
$penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
$penawaranString = "";
|
||||
if($penawaran->status)
|
||||
{
|
||||
$penawaranString = convertSlug($penawaran->status);
|
||||
$penawaran->status = $penawaranString;
|
||||
}
|
||||
|
||||
$kjpps = KJPP::whereNotIn('id', function($query) use ($id) {
|
||||
$query->select('kjpp_rekanan_id')
|
||||
->from('detail_penawaran')
|
||||
->where('penawaran_id', '=', $id)
|
||||
->where('status','=',1); // status=1 (masih aktif)
|
||||
})
|
||||
->select('id', 'name', 'code') // Pilih beberapa kolom sekaligus
|
||||
->get();
|
||||
|
||||
$data['kjpps'] = $kjpps;
|
||||
$data['penawaran'] = $penawaran;
|
||||
$data['penawrandetails'] = $penawrandetails;
|
||||
$data['status'] = 'success';
|
||||
$data['message']['message_success'] = array("data successfully found");
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['penawaran'] = null;
|
||||
$data['penawrandetails'] = null;
|
||||
$data['message']['message_data'] = array("data not found");
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = array("no ajax request");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function updateKJPPStatusUlang(Request $request, $id): JsonResponse
|
||||
{
|
||||
// message menggunakan SweetAlert2
|
||||
// init
|
||||
$data = array();
|
||||
$dataDetailPenawaran = array();
|
||||
// cek masa aktif penawaran
|
||||
$detailpenawaran = PenawaranDetailTender::find($id);
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($detailpenawaran->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
try {
|
||||
|
||||
$data['id']=$id;
|
||||
|
||||
$dataDetailPenawaran = ['status' => '0',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
];
|
||||
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
// $data['message']['message_error'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
// $data['message']['message_error'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function updateulang(Request $request, $id): JsonResponse
|
||||
{
|
||||
// id ==> detail_penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataDetailPenawaranLog = array();
|
||||
$dataDetailPenawaran = array();
|
||||
$pleaseCommit= true;
|
||||
if (request()->ajax()) {
|
||||
|
||||
$validator = ProsesPenawaranController::rulesEditUlangnya($request, $id);
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
// cek masa aktif penawaran
|
||||
$detailpenawaran = PenawaranDetailTender::find($id);
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($detailpenawaran->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$dataDetailPenawaranLog = [
|
||||
'detail_penawaran_id' =>$detailpenawaran->id,
|
||||
'kjpp_rekanan_id' =>$detailpenawaran->kjpp_rekanan_id,
|
||||
'penawaran_id' =>$detailpenawaran->penawaran_id,
|
||||
'biaya_penawaran' =>$detailpenawaran->biaya_penawaran,
|
||||
'no_proposal' =>$detailpenawaran->no_proposal,
|
||||
'tgl_proposal' =>$detailpenawaran->tgl_proposal,
|
||||
'attachment' =>$detailpenawaran->attachment,
|
||||
'dokumen_persetujuan' =>$detailpenawaran->dokumen_persetujuan,
|
||||
'status' =>$detailpenawaran->status,
|
||||
'authorized_status' =>$detailpenawaran->authorized_status,
|
||||
'authorized_at' =>$detailpenawaran->authorized_at,
|
||||
'authorized_at' =>$detailpenawaran->authorized_at,
|
||||
'created_at' =>$detailpenawaran->created_at,
|
||||
'updated_at' =>$detailpenawaran->updated_at,
|
||||
'deleted_at' =>$detailpenawaran->deleted_at,
|
||||
'created_by' =>$detailpenawaran->created_by,
|
||||
'updated_by' =>$detailpenawaran->updated_by,
|
||||
'deleted_by' =>$detailpenawaran->deleted_by
|
||||
|
||||
];
|
||||
|
||||
PenawaranDetailTenderLog::create($dataDetailPenawaranLog);
|
||||
|
||||
$biaya_penawaran="";
|
||||
if($request->biaya_penawaran)
|
||||
$biaya_penawaran= str_replace(".","",$request->biaya_penawaran);
|
||||
$dataDetailPenawaran = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => $biaya_penawaran
|
||||
];
|
||||
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
{
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if ($file_tmp->isValid())
|
||||
{
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataDetailPenawaran['attachment'] = $myFile;
|
||||
$dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pleaseCommit=false;
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file'] = array("Silahkan upload file");
|
||||
|
||||
}
|
||||
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
|
||||
if($pleaseCommit)
|
||||
{
|
||||
DB::commit();
|
||||
|
||||
$data['id'] = $id;
|
||||
$data['detailpenawaran'] = $detailpenawaran;
|
||||
$data['status'] = 'success';
|
||||
$data['message']['message_success'] = array('Proses Penawarn KJPP Ulang successfully');
|
||||
}
|
||||
else
|
||||
{
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error'] = array("Proses Penawarn KJPP Ulang failed..");
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error_try_catch'] = array('Proses Penawarn KJPP Ulang failed.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = array("no ajax request");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function rulesEditUlangnya($request, $id)
|
||||
{
|
||||
$validateIt = [
|
||||
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
||||
'no_proposal' => 'required',
|
||||
'tgl_proposal' => 'required',
|
||||
'biaya_penawaran' => 'required',
|
||||
'dokumen_persetujuan' => 'required|file|mimes:pdf'
|
||||
];
|
||||
|
||||
$messageIt = [
|
||||
'no_proposal.required' => 'Silahkan isi No Proposal',
|
||||
'tgl_proposal.required' => 'Silahkan isi Tanggal Penawaran',
|
||||
'biaya_penawaran.required' => 'Silahkan isi Biaya Penawaran',
|
||||
'dokumen_persetujuan.required' => 'Silahkan isi dokumen',
|
||||
'dokumen_persetujuan.file' => 'Silahkan isi file',
|
||||
'dokumen_persetujuan.mimes' => 'Silahkan upload pdf'
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
||||
|
||||
$data['fails'] = $validator->fails();
|
||||
$data['errors'] = $validator->errors();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function storeUlang(Request $request): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data = array();
|
||||
// $data['request']=$request->all();
|
||||
$dataDetailPenawaran = array();
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($request->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($request->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
try
|
||||
{
|
||||
$biaya_penawaran="";
|
||||
if($request->biaya_penawaran)
|
||||
$biaya_penawaran= str_replace(".","",$request->biaya_penawaran);
|
||||
$dataDetailPenawaran = [
|
||||
'kjpp_rekanan_id' => $request->kjpp_rekanan_id,
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => $biaya_penawaran,
|
||||
'penawaran_id' => $request->penawaran_id,
|
||||
'created_by' => Auth::id(),
|
||||
'created_at' => Carbon::now()
|
||||
];
|
||||
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
{
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if ($file_tmp->isValid())
|
||||
{
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $request->kjpp_rekanan_id.'_'.$request->penawaran_id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataDetailPenawaran['attachment'] = $myFile;
|
||||
$dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pleaseCommit=false;
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file'] = array("Silahkan upload file");
|
||||
|
||||
}
|
||||
PenawaranDetailTender::create($dataDetailPenawaran);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Tambah KJPP Ulang successfully');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP Ulang failed.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,9 @@ use Modules\Lpj\Models\Denah;
|
||||
use Modules\Lpj\Models\FotoJaminan;
|
||||
use Modules\Lpj\Models\Lingkungan;
|
||||
use Modules\Lpj\Models\LantaiUnit;
|
||||
use Modules\Lpj\Models\Teams;
|
||||
use Modules\Lpj\Models\Lantai;
|
||||
use Modules\Lpj\Models\Inspeksi;
|
||||
use Modules\Lpj\Models\ViewUnit;
|
||||
use Modules\Lpj\Models\ObjekJaminan;
|
||||
use Modules\Lpj\Models\RuteJaminan;
|
||||
@@ -121,6 +123,8 @@ class SurveyorController extends Controller
|
||||
->where('permohonan_id', $id)
|
||||
->get();
|
||||
|
||||
$inpeksi = Inspeksi::where('permohonan_id', $id)->get();
|
||||
$forminspeksi = json_decode($inpeksi[0]->data_form, true);
|
||||
|
||||
|
||||
return view('lpj::surveyor.detail', compact(
|
||||
@@ -151,38 +155,123 @@ class SurveyorController extends Controller
|
||||
*/
|
||||
public function store(FormSurveyorRequest $request)
|
||||
{
|
||||
$validatedData = $request->validated();
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$analisa = Analisa::create($validatedData);
|
||||
|
||||
if ($analisa) {
|
||||
$validatedData['analisa_id'] = $analisa->id;
|
||||
$data = $request->validated();
|
||||
if ($data) {
|
||||
try {
|
||||
|
||||
switch ($validatedData['action']) {
|
||||
case 'tanah_bangunan':
|
||||
$this->handleTanahBangunan($validatedData, $request);
|
||||
break;
|
||||
case 'unit':
|
||||
$this->handleUnit($validatedData);
|
||||
break;
|
||||
default:
|
||||
throw new \Exception('Invalid action type');
|
||||
}
|
||||
|
||||
AnalisaLingkungan::create($validatedData);
|
||||
$validatedData['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), 'foto_tempat');
|
||||
AnalisaFakta::create($validatedData);
|
||||
|
||||
$formatTanahJson = [
|
||||
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
||||
'jenis_asset' => $data['jenis_asset'] ?? null,
|
||||
'jenis_asset_tidak_sesuai' => $data['jenis_asset_tidak_sesuai'] ?? null,
|
||||
'alamat_sesuai' => $data['alamat_sesuai'] ?? null,
|
||||
'alamat_tidak_sesuai' => $data['alamat_tidak_sesuai'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
|
||||
'kecamatan' => $data['kecamatan'] ?? null,
|
||||
'kota_kabupaten' => $data['kota_kabupaten'] ?? null,
|
||||
'provinsi' => $data['provinsi'] ?? null,
|
||||
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
||||
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
||||
'luas_tanah' => $data['luas_tanah'] ?? null,
|
||||
'luas_tanah_tidak_sesuai' => $data['luas_tanah_tidak_sesuai'] ?? null,
|
||||
'hadap_mata_angin' => $data['hadap_mata_angin'] ?? null,
|
||||
'hadap_mata_angin_tidak_sesuai' => $data['hadap_mata_angin_tidak_sesuai'] ?? null,
|
||||
'bentuk_tanah' => $data['bentuk_tanah'] ?? null,
|
||||
'bentuk_tanah_lainnya' => $data['bentuk_tanah_lainnya'] ?? null,
|
||||
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
||||
'ketinggian_tanah' => $data['ketinggian_tanah'] ?? [],
|
||||
'ketinggian_tanah_tidak_sesuai' => $data['ketinggian_tanah_tidak_sesuai'] ?? [],
|
||||
'posisi_kavling' => $data['posisi_kavling'] ?? [],
|
||||
'posisi_kavling_lainnya' => $data['posisi_kavling_lainnya'] ?? null,
|
||||
'tusuk_sate' => $data['tusuk_sate'] ?? null,
|
||||
'lockland' => $data['lockland'] ?? null,
|
||||
'kondisi_fisik_tanah' => $data['kondisi_fisik_tanah'] ?? [],
|
||||
'kondisi_fisik_tanah_lainnya' => $data['kondisi_fisik_tanah_lainnya'] ?? null,
|
||||
];
|
||||
|
||||
|
||||
$formatBangunanJson = [
|
||||
'luas_tanah_bangunan' => $data['luas_tanah_bangunan'] ?? null,
|
||||
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
|
||||
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
|
||||
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
||||
'sifat_bangunan_input' => $data['sifat_bagunan_input'] ?? null,
|
||||
'spek_kategori_bagunan' => $data['spek_kategori_bagunan'] ?? null,
|
||||
'spek_bangunan' => $data['spek_bangunan'] ?? null,
|
||||
'sarana_pelengkap' => $data['sarana_pelengkap'] ?? [],
|
||||
'sarana_pelengkap_input' => $data['sarana_pelengkap_input'] ?? null,
|
||||
];
|
||||
|
||||
|
||||
$formatLingkunganJson = [
|
||||
'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null,
|
||||
'jalan_linkungan' => $data['jalan_linkungan'] ?? null,
|
||||
'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null,
|
||||
'nama_cbd_point' => $data['nama_cbd_point'] ?? null,
|
||||
'lebar_perkerasan_jalan' => $data['lebar_perkerasan_jalan'] ?? null,
|
||||
'perkerasan_jalan' => $data['perkerasan_jalan'] ?? null,
|
||||
'lalu_lintas' => $data['lalu_lintas'] ?? null,
|
||||
'gol_mas_sekitar' => $data['gol_mas_sekitar'] ?? null,
|
||||
'tingkat_keramaian' => $data['tingkat_keramaian'] ?? null,
|
||||
'terletak_diarea' => $data['terletak_diarea'] ?? null,
|
||||
'disekitar_lokasi' => $data['disekitar_lokasi'] ?? null,
|
||||
'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null,
|
||||
'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? null,
|
||||
'dekat_makam' => $data['dekat_makam'] ?? null,
|
||||
'jarak_makam' => $data['jarak_makam'] ?? null,
|
||||
'nama_makam' => $data['nama_makam'] ?? null,
|
||||
'dekat_tps' => $data['dekat_tps'] ?? null,
|
||||
'jarak_tps' => $data['jarak_tps'] ?? null,
|
||||
'nama_tps' => $data['nama_tps'] ?? null,
|
||||
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
|
||||
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
|
||||
|
||||
];
|
||||
|
||||
|
||||
$formatFaktaJson = [
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'rute_menuju' => $data['rute_menuju'] ?? null,
|
||||
'batas_batas' => $data['batas_batas'] ?? null,
|
||||
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
||||
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
||||
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
||||
'peruntukan' => $data['peruntukan'] ?? null,
|
||||
'kdb' => $data['kdb'] ?? null,
|
||||
'kdh' => $data['kdh'] ?? null,
|
||||
'gsb' => $data['gsb'] ?? null,
|
||||
'max_lantai' => $data['max_lantai'] ?? null,
|
||||
'klb' => $data['klb'] ?? null,
|
||||
'gss' => $data['gss'] ?? null,
|
||||
'pelebaran_jalan' => $data['pelebaran_jalan'] ?? null,
|
||||
'nama_petugas' => $data['nama_petugas'] ?? null,
|
||||
'lat' => $data['lat'] ?? null,
|
||||
'lng' => $data['lng'] ?? null,
|
||||
'foto_gistaru' => $data['foto_gistaru'] = $this->uploadFile($request->file('foto_gistaru'), $request->type) ?? null,
|
||||
'foto_bhumi' => $data['foto_bhumi'] = $this->uploadFile($request->file('foto_bhumi'), $request->type) ?? null,
|
||||
'foto_argis_region' => $data['foto_argis_region'] = $this->uploadFile($request->file('foto_argis_region'), $request->type) ?? null,
|
||||
'foto_tempat' => $data['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), $request->type) ?? null,
|
||||
'keterangan' => $data['keterangan'] ?? null,
|
||||
];
|
||||
|
||||
$mergeData = array_merge($formatTanahJson, $formatBangunanJson, $formatLingkunganJson, $formatFaktaJson);
|
||||
|
||||
Inspeksi::create([
|
||||
'permohonan_id' => $request->permohonan_id,
|
||||
'data_form' => json_encode($mergeData),
|
||||
'name' => $request->type,
|
||||
|
||||
]);
|
||||
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan',
|
||||
'data' => $mergeData], 200);
|
||||
} catch (Exception $e) {
|
||||
|
||||
return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
return redirect()->route('surveyor.show', [
|
||||
'id' => $validatedData['permohonan_id'],
|
||||
'form' => 'inspeksi'
|
||||
])->with('success', 'Data form surveyor berhasil disimpan');
|
||||
} catch (Exception $e) {
|
||||
DB::rollback();
|
||||
return response()->json(['error' => 'Failed to save data', 'details' => $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,31 +360,117 @@ class SurveyorController extends Controller
|
||||
'lantai.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'name_lantai_unit.*' => 'nullable|string|max:255',
|
||||
'foto_lantai_unit.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'name_rute_lainnya.*' => 'nullable|string',
|
||||
'foto_rute_lainnya.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'foto_lantai_lainnya.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'name_lantai_lainnya.*' => 'nullable|string|max:255',
|
||||
'foto_basement.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'name_basement.*' => 'nullable|string|max:255',
|
||||
'foto_gerbang' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
'name_gerbang' => 'nullable|string|max:255',
|
||||
]);
|
||||
|
||||
DB::beginTransaction();
|
||||
// DB::beginTransaction();
|
||||
|
||||
try {
|
||||
$pendampingPath = $this->uploadFile($request->file('pendamping'), 'pendamping');
|
||||
|
||||
$fotojaminan = FotoJaminan::create([
|
||||
'pendamping' => $pendampingPath,
|
||||
'permohonan_id' => $validatedData['permohonan_id'],
|
||||
'jenis_jaminan_id' => $validatedData['jenis_jaminan_id'],
|
||||
]);
|
||||
$rute_menuju_lokasi = [];
|
||||
$object_jaminan = [];
|
||||
$lingkungan = [];
|
||||
$foto_lantai_unit = [];
|
||||
$foto_lantai_lainnya = [];
|
||||
$foto_rute_lainnya = [];
|
||||
|
||||
$this->processObjekUploads($request, $fotojaminan);
|
||||
$this->processLantaiUnitUploads($request, $fotojaminan);
|
||||
$this->processUploads('rute', $request, $fotojaminan);
|
||||
$this->processUploads('lingkungan', $request, $fotojaminan);
|
||||
|
||||
DB::commit();
|
||||
return redirect()->route('surveyor.show', [
|
||||
'id' => $validatedData['permohonan_id'],
|
||||
'form' => 'foto'
|
||||
])->with('success', 'Data foto berhasil disimpan');
|
||||
foreach ($request->file('foto_rute', []) as $key => $value) {
|
||||
$fotoRutePath = $this->uploadFile($request->file('foto_rute.' . $key), 'foto_rute.' . $key);
|
||||
|
||||
$rute_menuju_lokasi[] = [
|
||||
'name_rute' => $request->input('name_rute.' . $key),
|
||||
'foto_rute' => $fotoRutePath,
|
||||
];
|
||||
}
|
||||
|
||||
foreach ($request->file('foto_objek', []) as $key => $value) {
|
||||
$fotoObjekPath = $this->uploadFile($request->file('foto_objek.' . $key), 'foto_objek.' . $key);
|
||||
$object_jaminan[] = [
|
||||
'nama_objek' => $request->input('name_objek.' . $key),
|
||||
'foto_object' => $fotoObjekPath,
|
||||
'deskripsi_objek' => $request->input('deskripsi_objek.' . $key),
|
||||
];
|
||||
}
|
||||
|
||||
foreach ($request->file('foto_lingkungan', []) as $key => $value) {
|
||||
$fotoLingkunganPath = $this->uploadFile($request->file('foto_lingkungan.' . $key), 'foto_lingkungan.' . $key);
|
||||
$lingkungan[] = [
|
||||
'name_lingkungan' => $request->input('name_lingkungan.' . $key),
|
||||
'foto_lingkungan' => $fotoLingkunganPath,
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
foreach ($request->file('foto_lantai_unit', []) as $key => $value) {
|
||||
$foto_lantai_unit_Path = $this->uploadFile($request->file('foto_lantai_unit.' . $key), 'foto_lantai_unit.' . $key);
|
||||
$foto_lantai_unit[] = [
|
||||
'name_lantai_unit' => $request->input('name_lantai_unit.' . $key),
|
||||
'foto_lantai_unit' => $foto_lantai_unit_Path,
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
foreach ($request->file('foto_rute_lainnya', []) as $key => $value) {
|
||||
$foto_rute_lainnya_path = $this->uploadFile($request->file('foto_rute_lainnya.' . $key), 'foto_rute_lainnya.' . $key);
|
||||
$foto_rute_lainnya[] = [
|
||||
'name_rute_lainnya' => $request->input('name_rute_lainnya.' . $key),
|
||||
'foto_rute_lainnya' => $foto_rute_lainnya_path,
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
foreach ($request->file('foto_lantai_lainnya', []) as $key => $value) {
|
||||
$foto_lantai_lainnya_path = $this->uploadFile($request->file('foto_lantai_lainnya.' . $key), 'foto_lantai_lainnya.' . $key);
|
||||
$foto_lantai_lainnya[] = [
|
||||
'name_lantai_lainnya' => $request->input('name_lantai_lainnya.' . $key),
|
||||
'foto_lantai_lainnya' => $foto_lantai_lainnya_path,
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
$basement = $this->uploadFile($request->file('foto_basement'), 'foto_basement');
|
||||
$gerbang = $this->uploadFile($request->file('foto_gerbang'), 'foto_gerbang');
|
||||
|
||||
|
||||
$formatFotojson = [
|
||||
'rute_menuju_lokasi' => $rute_menuju_lokasi,
|
||||
'object_jaminan' => $object_jaminan,
|
||||
'lingkungan' => $lingkungan
|
||||
,'foto_lantai_unit' => $foto_lantai_unit,
|
||||
'foto_lantai_lainnya' => $foto_lantai_lainnya,
|
||||
'foto_rute_lainnya' => $foto_rute_lainnya,
|
||||
'basement' => $basement,
|
||||
'gerbang' => $gerbang
|
||||
];
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->first();
|
||||
if($request->input('permohonan_id') == $inspeksi->permohonan_id){
|
||||
$inspeksi->update([
|
||||
'foto_form' => json_encode($formatFotojson)
|
||||
]);
|
||||
}else {
|
||||
|
||||
Inspeksi::create([
|
||||
'permohonan_id' => $request->input('permohonan_id'),
|
||||
'foto_form' => json_encode($formatFotojson)
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
// DB::commit();
|
||||
|
||||
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
@@ -518,8 +693,9 @@ class SurveyorController extends Controller
|
||||
|
||||
$query->whereRaw('LOWER(status) = ?', ['assign']);
|
||||
|
||||
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
||||
$q->where('id', Auth::user()->id);
|
||||
$query->whereHas('penilaian.userPenilai', function ($q) {
|
||||
$q->where('user_id', Auth::user()->id);
|
||||
$q->where('role', 'surveyor');
|
||||
});
|
||||
|
||||
|
||||
@@ -544,7 +720,7 @@ class SurveyorController extends Controller
|
||||
}
|
||||
|
||||
$filteredRecords = $query->count();
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'jenisFasilitasKredit'])->get();
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisFasilitasKredit'])->get();
|
||||
|
||||
$pageCount = ceil($totalRecords / $size);
|
||||
|
||||
@@ -567,8 +743,14 @@ class SurveyorController extends Controller
|
||||
{
|
||||
$permohonan = $this->getPermohonanJaminanId($id, $jaminanId);
|
||||
|
||||
// Auth::user()->id
|
||||
|
||||
|
||||
$link_url_region = Teams::with('regions', 'teamsUsers')
|
||||
->whereHas('teamsUsers', function ($query) {
|
||||
$query->where('user_id', Auth::user()->id);
|
||||
})->first();
|
||||
|
||||
$branches = Branch::all();
|
||||
$provinces = Province::all();
|
||||
|
||||
@@ -600,7 +782,9 @@ class SurveyorController extends Controller
|
||||
->where('jenis_jaminan_id', $jaminanId)
|
||||
->first();
|
||||
|
||||
// return response()->json($permohonan);
|
||||
|
||||
$inpeksi = Inspeksi::where('permohonan_id', $id)->get();
|
||||
$forminspeksi = json_decode($inpeksi[0]->data_form, true);
|
||||
|
||||
|
||||
return view('lpj::surveyor.components.inspeksi', compact(
|
||||
@@ -626,7 +810,9 @@ class SurveyorController extends Controller
|
||||
'golMasySekitar',
|
||||
'tingkatKeramaian',
|
||||
'laluLintasLokasi',
|
||||
'perkerasanJalan'
|
||||
'perkerasanJalan',
|
||||
'link_url_region',
|
||||
'forminspeksi'
|
||||
));
|
||||
}
|
||||
|
||||
@@ -654,7 +840,10 @@ class SurveyorController extends Controller
|
||||
$branches = Branch::all();
|
||||
$provinces = Province::all();
|
||||
|
||||
$fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
|
||||
// $fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
|
||||
|
||||
$fotoJaminan = null;
|
||||
|
||||
return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan'));
|
||||
}
|
||||
|
||||
@@ -740,11 +929,9 @@ class SurveyorController extends Controller
|
||||
->with('success', 'created successfully');
|
||||
|
||||
} catch (Exeception $e) {
|
||||
|
||||
return response()->json(array('error' => $e->getMessage()), 400);
|
||||
// return redirect()
|
||||
// ->route('basicdata.' . $type .'.index')
|
||||
// ->with('error', $th->getMessage());
|
||||
return redirect()
|
||||
->route('basicdata.' . $type .'.index')
|
||||
->with('error', $th->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -779,6 +966,7 @@ class SurveyorController extends Controller
|
||||
$header = $dataMap[$type] ?? '';
|
||||
$model = $modelClass::findOrFail($id);
|
||||
|
||||
$spekKategoriBagunan = null;
|
||||
if ($type == 'spek-bangunan') {
|
||||
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
||||
|
||||
|
||||
@@ -196,6 +196,9 @@ class TeamsController extends Controller
|
||||
->leftJoin('teams_users', 'teams.id', '=', 'teams_users.teams_id')
|
||||
->leftJoin('users', 'teams_users.user_id', '=', 'users.id')
|
||||
->addSelect('users.id as user_id', 'users.name as user_name');
|
||||
|
||||
|
||||
|
||||
|
||||
// Filter pencarian
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
|
||||
@@ -19,10 +19,11 @@ class FormSurveyorRequest extends FormRequest
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
$commonRules = $this->getCommonRules();
|
||||
$commonRules = $this->getBangunanRules();
|
||||
$actionSpecificRules = $this->getActionSpecificRules();
|
||||
|
||||
return array_merge($commonRules, $actionSpecificRules);
|
||||
return $actionSpecificRules;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -31,44 +32,29 @@ class FormSurveyorRequest extends FormRequest
|
||||
private function getCommonRules(): array
|
||||
{
|
||||
return [
|
||||
'jenis_jaminan_id' => 'required',
|
||||
'type' => 'required',
|
||||
'permohonan_id' => 'required',
|
||||
'luas' => 'required',
|
||||
'jarak_jalan_utama' => 'required',
|
||||
'alamat' => 'required',
|
||||
'jarak_cbd_point' => 'required',
|
||||
'lebar_perkerasan_jalan' => 'required',
|
||||
'perkerasan_jalan' => 'required',
|
||||
'lalu_lintas' => 'required',
|
||||
'gol_mas_sekitar' => 'required',
|
||||
'tingkat_keramaian' => 'required',
|
||||
'terletak_diarea' => 'required',
|
||||
'disekitar_lokasi' => 'required',
|
||||
'dekat_makam' => 'required',
|
||||
'dekat_tps' => 'required',
|
||||
'merupakan_daerah' => 'required',
|
||||
'fasilitas_dekat_object' => 'required',
|
||||
'fakta_positif' => 'required',
|
||||
'fakta_negatif' => 'required',
|
||||
'rute_menuju' => 'required',
|
||||
'batas_batas' => 'required',
|
||||
'kondisi_linkungan' => 'required',
|
||||
'kondisi_lain_bangunan' => 'required',
|
||||
'informasi_dokument' => 'required',
|
||||
'peruntukan' => 'required',
|
||||
'kdb' => 'required',
|
||||
'kdh' => 'required',
|
||||
'gsb' => 'required',
|
||||
'max_lantai' => 'required',
|
||||
'klb' => 'required',
|
||||
'gss' => 'required',
|
||||
'pelebaran_jalan' => 'required',
|
||||
'nama_petugas' => 'required',
|
||||
'lat' => 'required|numeric',
|
||||
'lng' => 'required|numeric',
|
||||
'foto_tempat' => 'required',
|
||||
'keterangan' => 'required',
|
||||
'fakta_positif' => 'nullable|array',
|
||||
'fakta_negatif' => 'nullable|array',
|
||||
'rute_menuju' => 'nullable',
|
||||
'batas_batas' => 'nullable|array',
|
||||
'kondisi_linkungan' => 'nullable|array',
|
||||
'kondisi_lain_bangunan' => 'nullable|array',
|
||||
'informasi_dokument' => 'nullable',
|
||||
'peruntukan' => 'nullable',
|
||||
'kdb' => 'nullable',
|
||||
'kdh' => 'nullable',
|
||||
'gsb' => 'nullable',
|
||||
'max_lantai' => 'nullable',
|
||||
'klb' => 'nullable',
|
||||
'gss' => 'nullable',
|
||||
'pelebaran_jalan' => 'nullable',
|
||||
'nama_petugas' => 'nullable',
|
||||
'lat' => 'nullable|numeric',
|
||||
'lng' => 'nullable|numeric',
|
||||
'foto_gistaru' => 'nullable',
|
||||
'foto_bhumi' => 'nullable',
|
||||
'foto_argis_region' => 'nullable',
|
||||
'foto_tempat' => 'nullable',
|
||||
'keterangan' => 'nullable',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -80,54 +66,181 @@ class FormSurveyorRequest extends FormRequest
|
||||
$action = $this->input('action');
|
||||
|
||||
switch ($action) {
|
||||
case 'tanah_bangunan':
|
||||
return $this->getTanahBangunanRules();
|
||||
case 'tanah':
|
||||
return $this->getTanahRules();
|
||||
case 'unit':
|
||||
return $this->getUnitRules();
|
||||
case 'kapal':
|
||||
return $this->getUnitRules();
|
||||
case 'kendaraan':
|
||||
return $this->getUnitRules();
|
||||
case 'mesin':
|
||||
return $this->getUnitRules();
|
||||
case 'bangunan':
|
||||
return $this->getTanahBangunanRules();
|
||||
case 'tanah_bangunan':
|
||||
return array_merge($this->getAssetDescriptionRules(),$this->getTanahRules(), $this->getBangunanRules(), $this->getLinkunganRules(), $this->getCommonRules());
|
||||
|
||||
case 'alat-berat':
|
||||
return $this->getUnitRules();
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rules specific to tanah_bangunan action.
|
||||
* Get rules specific to tanah action.
|
||||
*/
|
||||
private function getTanahBangunanRules(): array
|
||||
|
||||
public function getTanahRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'bentuk_tanah' => 'required',
|
||||
'kontur_tanah' => 'required',
|
||||
'posisi_kavling' => 'required',
|
||||
'ketinggian_jalan' => 'required',
|
||||
'kondisi_fisik_tanah' => 'required',
|
||||
return [
|
||||
'luas_tanah' => 'required',
|
||||
'luas_tanah_tidak_sesuai' => 'nullable',
|
||||
'hadap_mata_angin' => 'required',
|
||||
'hadap_mata_angin_tidak_sesuai' => 'nullable',
|
||||
'bentuk_tanah' => 'nullable|array',
|
||||
'bentuk_tanah_lainnya' => 'nullable',
|
||||
'kontur_tanah' => 'required|array',
|
||||
'ketinggian_jalan' => 'required|array',
|
||||
'kontur_jalan' => 'required',
|
||||
'kondisi_bangunan' => 'required',
|
||||
'sifat_bangunan' => 'required',
|
||||
'sarana_pelengkap' => 'required',
|
||||
'luas_tanah_bagunan' => 'required',
|
||||
'posisi_kavling' => 'required|array',
|
||||
'posisi_kavling_lainnya' => 'nullable',
|
||||
'tusuk_sate' => 'required',
|
||||
'name.*' => 'required|string',
|
||||
'kategori.*' => 'required|string',
|
||||
'lockland' => 'required',
|
||||
'jenis_bangunan' => 'required',
|
||||
'kondisi_bangunan' => 'required',
|
||||
'kondisi_fisik_tanah' => 'required|array',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rules specific to Bangunan action.
|
||||
*/
|
||||
|
||||
private function getBangunanRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'luas_tanah_bagunan' => 'required',
|
||||
'jenis_bangunan' => 'required',
|
||||
'kondisi_bangunan' => 'nullable',
|
||||
'sifat_bangunan' => 'required|array',
|
||||
'sifat_bangunan_input' => 'nullable|array',
|
||||
'nama_bagunan' => 'required|array',
|
||||
'spek_kategori_bangunan' => 'required|array',
|
||||
'spek_kategori_bangunan.*' => 'required|string',
|
||||
'sarana_pelengkap' => 'required',
|
||||
'sarana_pelengkap_input' => 'nullable|array',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rules specific to unit action.
|
||||
*/
|
||||
private function getUnitRules(): array
|
||||
{
|
||||
return [
|
||||
return [
|
||||
'action' => 'required',
|
||||
'jenis_unit' => 'required',
|
||||
'kondisi_unit' => 'required',
|
||||
'posisi_unit' => 'required',
|
||||
'lantai' => 'required',
|
||||
'view' => 'required',
|
||||
'bentuk_unit' => 'required',
|
||||
'luas_unit' => 'required',
|
||||
'luas_unit_tidak_sesuai' => 'nullable',
|
||||
'jenis_unit' => 'required|array',
|
||||
'kondisi_unit' => 'required|array',
|
||||
'posisi_unit' => 'required|array',
|
||||
'lantai' => 'required|array',
|
||||
'view' => 'required|array',
|
||||
'bentuk_unit' => 'required|array',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rules specific to Linkungan action.
|
||||
*/
|
||||
|
||||
private function getLinkunganRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'jarak_jalan_utama' => 'nullable',
|
||||
'jalan_linkungan' => 'nullable',
|
||||
'jarak_cbd_point' => 'nullable',
|
||||
'nama_cbd_point' => 'nullable',
|
||||
'lebar_perkerasan_jalan' => 'nullable',
|
||||
'perkerasan_jalan' => 'nullable',
|
||||
'lalu_lintas' => 'nullable',
|
||||
'gol_mas_sekitar' => 'nullable',
|
||||
'tingkat_keramaian' => 'nullable',
|
||||
'terletak_diarea' => 'nullable',
|
||||
'disekitar_lokasi' => 'nullable',
|
||||
'kondisi_bangunan_sekitar' => 'nullable',
|
||||
'sifat_bangunan_sekitar' => 'nullable',
|
||||
'dekat_makam' => 'nullable',
|
||||
'jarak_makam' => 'nullable',
|
||||
'nama_makam' => 'nullable',
|
||||
'dekat_tps' => 'nullable',
|
||||
'jarak_tps' => 'nullable',
|
||||
'nama_tpu' => 'nullable',
|
||||
'merupakan_daerah' => 'nullable',
|
||||
'fasilitas_dekat_object' => 'nullable',
|
||||
];
|
||||
}
|
||||
|
||||
private function getKapalRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'kondisi_kapal' => 'required',
|
||||
'kondisi_kapal_lain' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
public function getKendaraanRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'kondisi_kendaraan' => 'required',
|
||||
'kondisi_kendaraan_lain' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function getMesinRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'kondisi_mesin' => 'required',
|
||||
'kondisi_mesin_lain' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function getAlatBeratRules(): array
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'kondisi_alat_berat' => 'required',
|
||||
'kondisi_alat_berat_lain' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
private function getAssetDescriptionRules(): array
|
||||
{
|
||||
return [
|
||||
'permohonan_id' => 'required',
|
||||
'type' => 'required',
|
||||
'debitur_perwakilan' => 'required|array',
|
||||
'jenis_asset' => 'required',
|
||||
'jenis_asset_tidak_sesuai' => 'nullable',
|
||||
'alamat_sesuai' => 'required',
|
||||
'alamat_tidak_sesuai' => 'nullable',
|
||||
'nama_jalan' => 'nullable',
|
||||
'desa_kelurahan' => 'nullable',
|
||||
'kecamatan' => 'nullable',
|
||||
'kota_kabupaten' => 'nullable',
|
||||
'provinsi' => 'nullable',
|
||||
'kordinat_lng' => 'nullable',
|
||||
'kordinat_lat' => 'nullable',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,15 +25,12 @@ class PenilaianRequest extends FormRequest
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
return [
|
||||
'jenis_penilaian_id' => 'required|max:255',
|
||||
'teams_id' => 'required|max:255',
|
||||
'tanggal_kunjungan' => 'required|max:255',
|
||||
'status' => 'required|string',
|
||||
'nomor_registrasi' => 'required|string',
|
||||
|
||||
'surveyor_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,penilai_id',
|
||||
'penilai_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,surveyor_id',
|
||||
'penilai_surveyor_id' => 'nullable',
|
||||
|
||||
@@ -14,6 +14,8 @@ class RegionRequest extends FormRequest
|
||||
$rules = [
|
||||
'name' => 'required|string|max:255',
|
||||
'status' => 'nullable|boolean',
|
||||
'url' => 'nullable|string|max:255',
|
||||
'name_url' => 'nullable|string|max:255',
|
||||
'authorized_at' => 'nullable|datetime',
|
||||
'authorized_status' => 'nullable|string|max:1',
|
||||
'authorized_by' => 'nullable|exists:users,id',
|
||||
|
||||
23
app/Models/Inspeksi.php
Normal file
23
app/Models/Inspeksi.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
// use Modules\Lpj\Database\Factories\InspeksiFactory;
|
||||
|
||||
class Inspeksi extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'inspeksi';
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by'];
|
||||
|
||||
// protected static function newFactory(): InspeksiFactory
|
||||
// {
|
||||
// // return InspeksiFactory::new();
|
||||
// }
|
||||
}
|
||||
@@ -29,7 +29,7 @@ class PenilaianTeam extends Model
|
||||
|
||||
public function penilaian(){
|
||||
|
||||
return $this->hasMany(Penilaian::class, 'penilaian_id', 'id');
|
||||
return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id');
|
||||
}
|
||||
|
||||
protected static function newFactory(): PenilaianTeamFactory
|
||||
|
||||
@@ -17,7 +17,7 @@ class Regions extends Model
|
||||
protected $table = 'regions';
|
||||
|
||||
protected $fillable = [
|
||||
'code', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by'
|
||||
'code', 'name', 'status', 'name_url','url','authorized_status', 'authorized_at', 'authorized_by'
|
||||
];
|
||||
|
||||
public function teams(){
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class () extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('regions', function (Blueprint $table) {
|
||||
$table->string('url')->nullable()->after('name');
|
||||
$table->string('name_url')->nullable()->after('url');
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('regions', function (Blueprint $table) {
|
||||
$table->dropColumn('url');
|
||||
$table->dropColumn('name_url');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('detail_penawaran', function (Blueprint $table) {
|
||||
$table->string('no_proposal')->nullable()->after('penawaran_id');
|
||||
$table->date('tgl_proposal')->nullable()->after('no_proposal');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('detail_penawaran', function (Blueprint $table) {
|
||||
$table->dropColumn('no_proposal');
|
||||
$table->dropColumn('tgl_proposal');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('inspeksi', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->json('data_form')->nullable();
|
||||
$table->json('foto_form')->nullable();
|
||||
$table->json('denah_form')->nullable();
|
||||
$table->unsignedBigInteger('permohonan_id');
|
||||
$table->boolean('status')->default(true);
|
||||
$table->char('authorized_status', 1)->nullable();
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->softDeletes();
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
|
||||
$table->foreign('permohonan_id')->references('id')->on('permohonan')->onDelete('cascade');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('inspeksi');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('detail_penawaran_logs', function (Blueprint $table) {
|
||||
$table->string('no_proposal')->nullable()->after('penawaran_id');
|
||||
$table->date('tgl_proposal')->nullable()->after('no_proposal');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('detail_penawaran_logs', function (Blueprint $table) {
|
||||
$table->dropColumn('no_proposal');
|
||||
$table->dropColumn('tgl_proposal');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class () extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('penilaian_team', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedBigInteger('penilaian_id');
|
||||
$table->unsignedBigInteger('team_id');
|
||||
$table->unsignedBigInteger('user_id')->nullable();
|
||||
$table->string('role');
|
||||
$table->boolean('status')->default(true);
|
||||
$table->char('authorized_status', 1)->nullable();
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->softDeletes();
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('penilaian_team');
|
||||
}
|
||||
};
|
||||
18
module.json
18
module.json
@@ -59,15 +59,7 @@
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": ["administrator", "admin"]
|
||||
},
|
||||
{
|
||||
"title": "Data Proses Penawaran Ulang",
|
||||
"path": "tender.prosespenawaranulang",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": ["administrator", "admin"]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -567,6 +559,14 @@
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": ["administrator","surveyor"]
|
||||
},
|
||||
{
|
||||
"title": "Perkerasan jalan",
|
||||
"path": "basicdata.perkerasan-jalan",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": ["administrator","surveyor"]
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -451,6 +451,7 @@
|
||||
<button type="button" data-modal-toggle="#modal_revisi" class="btn btn-warning ml-3">
|
||||
Revisi
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
|
||||
|
||||
<!-- $id = penawaran.id -->
|
||||
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||
|
||||
<div class="card pb-2.5">
|
||||
@@ -46,18 +46,34 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tambah KJPP
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="select " style="width: 25.5em" name="select" id="{{$route[1]}}_kjpps">
|
||||
<option value="0"> - Pilih KJPP - </option>
|
||||
</select>
|
||||
<button class="btn btn-primary" id="{{$route[1]}}_toAddKJPP">
|
||||
Tambah
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- datatables -->
|
||||
<div class="grid">
|
||||
<div class="grid">
|
||||
<form enctype="multipart/form-data" id="form_{{$route[1]}}">
|
||||
<div class="card min-w-full">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Data KJPP</h3>
|
||||
</div>
|
||||
<div class="card-table scrollable-x-auto">
|
||||
<div class="card-table scrollable-x-auto">
|
||||
<table class="table table-border align-middle text-gray-700 font-medium text-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-14 text-center">No</th>
|
||||
<th class="min-w-[250px]">KJPP</th>
|
||||
<th class="min-w-[80px]">KJPP</th>
|
||||
<th>No Proposal</th>
|
||||
<th>Tanggal Proposal</th>
|
||||
<th>Biaya Penawaran</th>
|
||||
<th>Upload Penawaran</th>
|
||||
<th class="min-w-[50px] text-center">Action</th>
|
||||
@@ -65,14 +81,18 @@
|
||||
</thead>
|
||||
<tbody id="tbodyKJPP1">
|
||||
</tbody>
|
||||
</table>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- datatables -->
|
||||
<div class="flex justify-end">
|
||||
<button type="submit" class="btn btn-success" id="{{$route[1]}}_toEditDraft">
|
||||
Simpan Draft
|
||||
</form>
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary" id="{{$route[1]}}_toEdit">
|
||||
Save
|
||||
Pengajuan Penawaran
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
159
resources/views/prosespenawaran/editulang.blade.php
Normal file
159
resources/views/prosespenawaran/editulang.blade.php
Normal file
@@ -0,0 +1,159 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
@php
|
||||
// $route = Route::currentRouteName();
|
||||
// dd($route);
|
||||
$route = explode('.', Route::currentRouteName());
|
||||
@endphp
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
<!-- id ==> penawaran.id -->
|
||||
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||
<div class="card pb-2.5">
|
||||
<div class="card-header" id="basic_settings">
|
||||
<h3 class="card-title">
|
||||
Tambah Data Proses Penawaran Ulang
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('tender.prosespenawaran.show', $id) }}" class="btn btn-xs btn-primary" title="Detail"><i class="ki-filled ki-abstract-26"></i> Detail</a>
|
||||
<a href="{{ route('tender.prosespenawaran.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body lg:py-7.5 grid grid-cols-3">
|
||||
<div class="mb-5">
|
||||
<h3 class="text-md font-medium text-gray-900">
|
||||
Nomor Register Permohonan:
|
||||
</h3>
|
||||
<span class="text-2sm text-gray-700">
|
||||
<label class="card-title" id="textReg">
|
||||
No. registrasi
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="mb-5">
|
||||
<h3 class="text-md font-medium text-gray-900">
|
||||
Kode Penawaran:
|
||||
</h3>
|
||||
<span class="text-2sm text-gray-700">
|
||||
<label class="card-title" id="textCodePenawaran">
|
||||
Kode Penawaran
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="mb-5">
|
||||
<h3 class="text-md font-medium text-gray-900">
|
||||
Status Penawaran:
|
||||
</h3>
|
||||
<span class="text-2sm text-gray-700">
|
||||
<label class="card-title" id="textStatusPenawaran">
|
||||
Status
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- add kjpp -->
|
||||
<div class="card-body grid gap-5">
|
||||
<!-- datatables -->
|
||||
<div class="grid">
|
||||
<div class="card min-w-full">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Tambah KJPP</h3>
|
||||
</div>
|
||||
<div class="card-table scrollable-x-auto">
|
||||
<table class="table table-border align-middle text-gray-700 font-medium text-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="min-w-[180px]">KJPP</th>
|
||||
<th>No Proposal</th>
|
||||
<th>Tanggal Proposal</th>
|
||||
<th>Biaya Penawaran</th>
|
||||
<th>Upload Penawaran</th>
|
||||
<th class="min-w-[50px] text-center">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbodyKJPP0">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<select class="inputku select " style="width: 25.5em" name="select" id="{{$route[1]}}_kjpps1">
|
||||
<option value="0"> - Pilih KJPP - </option>
|
||||
</select>
|
||||
<em id="{{$route[1]}}_kjpp1_msg" class="alert text-danger text-sm"></em>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<input type="text" class="inputku file-input" id="{{$route[1]}}_no_proposal" name="{{$route[1]}}_no_proposal">
|
||||
<em id="{{$route[1]}}_no_proposal_msg" class="alert text-danger text-sm"></em>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<input type="date" class="inputku file-input" id="{{$route[1]}}_tgl_proposal" name="{{$route[1]}}_tgl_proposal" >
|
||||
<em id="{{$route[1]}}_tgl_proposal_msg" class="alert text-danger text-sm"></em>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<div class="input-group">
|
||||
<span class="inputku btn btn-input" id="{{$route[1]}}_rp">Rp.</span>
|
||||
<input type="text" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran" name="{{$route[1]}}_biayaPenawaran">
|
||||
</div>
|
||||
<em id="{{$route[1]}}_biayaPenawaran_msg" class="alert text-danger text-sm"></em>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<input type="file" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan" name="{{$route[1]}}_dokumenPersetujuan" accept="application/pdf" />
|
||||
<em id="{{$route[1]}}_dokumenPersetujuan_msg" class="alert text-danger text-sm"></em>
|
||||
</td>
|
||||
<td valign="top" class="min-w-[50px] text-center">
|
||||
<div class="flex flex-nowrap justify-center">
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Tambah KJPP" onclick="addDataUlang()"><i class="ki-outline ki-bookmark"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- datatables -->
|
||||
<div class="flex justify-end">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- add kjpp -->
|
||||
<div class="card-body grid gap-5">
|
||||
<!-- datatables -->
|
||||
<div class="grid">
|
||||
<div class="card min-w-full">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Data KJPP</h3>
|
||||
</div>
|
||||
<div class="card-table scrollable-x-auto">
|
||||
<table class="table table-border align-middle text-gray-700 font-medium text-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-14 text-center">No</th>
|
||||
<th class="min-w-[80px]">KJPP</th>
|
||||
<th>No Proposal</th>
|
||||
<th>Tanggal Proposal</th>
|
||||
<th>Biaya Penawaran</th>
|
||||
<th>Upload Penawaran</th>
|
||||
<th class="min-w-[50px] text-center">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbodyKJPP1">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- datatables -->
|
||||
<div class="flex justify-end">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@include('lpj::prosespenawaran.js.editulangjs')
|
||||
@@ -170,13 +170,25 @@
|
||||
actions: {
|
||||
title: 'Status',
|
||||
render: (item, data) => {
|
||||
// data.id ==> penawaran.id
|
||||
var iconProses ='';
|
||||
if('tender'==data.status)
|
||||
{
|
||||
iconProses=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran" href="tender/prosespenawaran/${data.id}/edit">
|
||||
<i class="ki-outline ki-notepad-edit"></i>
|
||||
</a>`;
|
||||
}
|
||||
else if('proposal-tender'==data.status)
|
||||
{
|
||||
iconProses=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran Ulang" href="tender/prosespenawaran/${data.id}/editulang">
|
||||
<i class="ki-outline ki-arrow-circle-right"></i>
|
||||
</a>`;
|
||||
}
|
||||
|
||||
return `<div class="flex flex-nowrap justify-center">
|
||||
<a onclick="showPenawaranData(${data.id})" class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail">
|
||||
<i class="ki-outline ki-eye"></i>
|
||||
</a>
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran" href="tender/prosespenawaran/${data.id}/edit">
|
||||
<i class="ki-outline ki-notepad-edit"></i>
|
||||
</a>
|
||||
</a>`+iconProses+`
|
||||
</div>`;
|
||||
},
|
||||
}
|
||||
|
||||
337
resources/views/prosespenawaran/js/editeulangxtjs.blade.php
Normal file
337
resources/views/prosespenawaran/js/editeulangxtjs.blade.php
Normal file
@@ -0,0 +1,337 @@
|
||||
<script tipe="module">
|
||||
function switchProses(id)
|
||||
{
|
||||
removeErrorCssMsg();
|
||||
let c = $('#{{$route[1]}}_check_'+id).val();
|
||||
|
||||
if($('input[name="{{$route[1]}}_check_'+id+'"]').is(':checked'))
|
||||
{
|
||||
// checked
|
||||
// alert('aktif nih');
|
||||
setActiveElement(id);
|
||||
}else
|
||||
{
|
||||
// unchecked
|
||||
//alert('tdk aktif nih');
|
||||
setNonActiveElement(id);
|
||||
}
|
||||
}
|
||||
|
||||
function setActiveElement(id)
|
||||
{
|
||||
$('#{{$route[1]}}_no_proposal_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_tgl_proposal_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_biayaPenawaran_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_dokumenPersetujuan_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_icon_update_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_icon_delete_'+id).removeAttr('disabled');
|
||||
}
|
||||
|
||||
function setNonActiveElement(id)
|
||||
{
|
||||
$('#{{$route[1]}}_no_proposal_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_tgl_proposal_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_biayaPenawaran_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_dokumenPersetujuan_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_icon_update_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_icon_delete_'+id).attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
function updateDataUlang(id, kjpp_id, kjppName){
|
||||
// id ==> detail_penawaran.id
|
||||
removeErrorCssMsg();
|
||||
let no_proposal = $("#{{$route[1]}}_no_proposal_"+id).val();
|
||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal_"+id).val();
|
||||
let biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
||||
let passednih = true;
|
||||
|
||||
if(!no_proposal){
|
||||
$("#{{$route[1]}}_no_proposal_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_no_proposal_msg_"+id).text("Silahkan isi No Proposal");
|
||||
passednih = false;
|
||||
}
|
||||
if(!tgl_proposal){
|
||||
$("#{{$route[1]}}_tgl_proposal_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_tgl_proposal_msg_"+id).text("Silahkan isi Tanggal Proposal");
|
||||
passednih = false;
|
||||
}
|
||||
if(!biaya){
|
||||
$("#{{$route[1]}}_rp_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran_msg_"+id).text("Silahkan isi Biaya Penawaran nya");
|
||||
passednih = false;
|
||||
}
|
||||
if(!filepdf){
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_msg_"+id).text("Silahkan isi dokumen nya");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_"+id).val("");
|
||||
passednih = false;
|
||||
}
|
||||
|
||||
if(passednih)
|
||||
{
|
||||
var file_data = $("#{{$route[1]}}_dokumenPersetujuan_"+id).prop("files")[0];
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateulang', '') }}/"+id;
|
||||
let formData = new FormData();
|
||||
let token = "{{ csrf_token() }}";
|
||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||
formData.append("no_proposal", no_proposal);
|
||||
formData.append("tgl_proposal", tgl_proposal);
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||
formData.append("_method", "PUT");
|
||||
formData.append("_token", token);
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success:function(response){
|
||||
if('success' == response.status)
|
||||
{
|
||||
// toastr.success(response.message);
|
||||
// success
|
||||
var message = response.message;
|
||||
toastrku("success", message);
|
||||
setTimeout(function () {
|
||||
location.reload(true);
|
||||
}, 2000);
|
||||
}
|
||||
else if('error' == response.status)
|
||||
{
|
||||
// toastr.error(response.message);
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
|
||||
},
|
||||
error: function (response, textStatus, errorThrown) {
|
||||
var errors = response.responseJSON.errors;
|
||||
$.each(errors, function (key, value) {
|
||||
console.log("v = " + value);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function deleteData(data, kjppName) {
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert KJPP "+kjppName+"!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data;
|
||||
|
||||
var input_data = new Object();
|
||||
input_data._token = token;
|
||||
input_data.id =data;
|
||||
input_data.kjppName =kjppName;
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "PUT",
|
||||
cache: false,
|
||||
data: input_data,
|
||||
dataType: "json",
|
||||
success: function(response) {
|
||||
console.log(response);
|
||||
if('success' == response.status)
|
||||
{
|
||||
swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
Swal.fire('Error!', response.message.message_error_try_catch[0], 'error');
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
error: function(response, textStatus, errorThrown) {
|
||||
// var errors = response.responseJSON.errors;
|
||||
// console.log(errors);
|
||||
console.log(response);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function addDataUlang()
|
||||
{
|
||||
removeErrorCssMsg();
|
||||
// id ==> penawaran.id
|
||||
let id = $("#id").val();
|
||||
let kjpp_id = $("#{{$route[1]}}_kjpps1").val();
|
||||
let no_proposal = $("#{{$route[1]}}_no_proposal").val();
|
||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal").val();
|
||||
let biaya = $("#{{$route[1]}}_biayaPenawaran").val();
|
||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan").val();
|
||||
let passednih = true;
|
||||
|
||||
|
||||
if("0"==kjpp_id){
|
||||
$("#{{$route[1]}}_kjpps1").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_kjpp1_msg").text("Silahkan pilih KJPP");
|
||||
passednih = false;
|
||||
}
|
||||
|
||||
if(!no_proposal){
|
||||
$("#{{$route[1]}}_no_proposal").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_no_proposal_msg").text("Silahkan isi No Proposal");
|
||||
passednih = false;
|
||||
}
|
||||
if(!tgl_proposal){
|
||||
$("#{{$route[1]}}_tgl_proposal").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_tgl_proposal_msg").text("Silahkan isi Tanggal Proposal");
|
||||
passednih = false;
|
||||
}
|
||||
if(!biaya){
|
||||
$("#{{$route[1]}}_rp").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran_msg").text("Silahkan isi Biaya Penawaran");
|
||||
passednih = false;
|
||||
}
|
||||
if(!filepdf){
|
||||
$("#{{$route[1]}}_dokumenPersetujuan").addClass(" border-danger");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_msg").text("Silahkan isi dokumen");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan").val("");
|
||||
passednih = false;
|
||||
}
|
||||
|
||||
if(passednih)
|
||||
{
|
||||
var file_data = $("#{{$route[1]}}_dokumenPersetujuan").prop("files")[0];
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.storeUlang') }}";
|
||||
let formData = new FormData();
|
||||
let token = "{{ csrf_token() }}";
|
||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||
formData.append("penawaran_id", id);
|
||||
formData.append("no_proposal", no_proposal);
|
||||
formData.append("tgl_proposal", tgl_proposal);
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||
formData.append("_token", token);
|
||||
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success:function(response){
|
||||
if('success' == response.status)
|
||||
{
|
||||
// toastr.success(response.message);
|
||||
// success
|
||||
var message = response.message;
|
||||
toastrku("success", message);
|
||||
setTimeout(function () {
|
||||
location.reload(true);
|
||||
}, 2000);
|
||||
}
|
||||
else if('error' == response.status)
|
||||
{
|
||||
// toastr.error(response.message);
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
|
||||
},
|
||||
error: function (response, textStatus, errorThrown) {
|
||||
var errors = response.responseJSON.errors;
|
||||
$.each(errors, function (key, value) {
|
||||
console.log("v = " + value);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function deleteDataUlang(data, kjppName) {
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert KJPP "+kjppName+"!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatusUlang','') }}/"+data;
|
||||
|
||||
var input_data = new Object();
|
||||
input_data._token = token;
|
||||
input_data.id =data;
|
||||
input_data.kjppName =kjppName;
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "PUT",
|
||||
cache: false,
|
||||
data: input_data,
|
||||
dataType: "json",
|
||||
success: function(response) {
|
||||
// console.log(response);
|
||||
if('success' == response.status)
|
||||
{
|
||||
swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var arr =response.message; // JSON Object
|
||||
const keyToCheck1 = "active_date_range";
|
||||
const keyToCheck2 = "message_error_try_catch";
|
||||
const exists1 = keyToCheck1 in arr;
|
||||
const exists2 = keyToCheck2 in arr;
|
||||
|
||||
if(exists1)
|
||||
{
|
||||
Swal.fire('Error!', response.message.active_date_range[0], 'error').then(() => {
|
||||
// window.location.reload();
|
||||
setTimeout(function () {
|
||||
var url = "{{ route('tender.prosespenawaran.index') }}";
|
||||
$(location).attr('href',url);
|
||||
}, 2000);
|
||||
});
|
||||
}
|
||||
else if(exists2)
|
||||
{
|
||||
Swal.fire('Error!', response.message.message_error_try_catch[0], 'error').then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
error: function(response, textStatus, errorThrown) {
|
||||
// var errors = response.responseJSON.errors;
|
||||
// console.log(errors);
|
||||
console.log(response);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -35,21 +35,11 @@
|
||||
|
||||
function updateData(id, kjpp_id, kjppName){
|
||||
removeErrorCssMsg();
|
||||
let no_proposal = $("#{{$route[1]}}_no_proposal_"+id).val();
|
||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal_"+id).val();
|
||||
let biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
||||
let passednih = true;
|
||||
if(!biaya){
|
||||
$("#{{$route[1]}}_rp_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_biayaPenawaran_msg_"+id).text("Silahkan isi Biaya Penawaran nya");
|
||||
passednih = false;
|
||||
}
|
||||
if(!filepdf){
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_"+id).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_msg_"+id).text("Silahkan isi dokumen nya");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_"+id).val("");
|
||||
passednih = false;
|
||||
}
|
||||
|
||||
if(passednih)
|
||||
{
|
||||
@@ -58,7 +48,9 @@
|
||||
let formData = new FormData();
|
||||
let token = "{{ csrf_token() }}";
|
||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("no_proposal", no_proposal);
|
||||
formData.append("tgl_proposal", tgl_proposal);
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||
formData.append("_method", "PUT");
|
||||
formData.append("_token", token);
|
||||
@@ -149,7 +141,5 @@
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -39,6 +39,7 @@
|
||||
$("#textReg").text(response.penawaran.nomor_registrasi);
|
||||
$("#textCodePenawaran").text(response.penawaran.code);
|
||||
setTablesKJPP1(response.penawrandetails);
|
||||
setKJPPList(response.kjpps);
|
||||
}
|
||||
else if('error' == response.status)
|
||||
{
|
||||
@@ -53,28 +54,64 @@
|
||||
});
|
||||
}
|
||||
|
||||
function setKJPPList(datas)
|
||||
{
|
||||
$('#{{$route[1]}}_kjpps').empty().append('<option value="0"> - Pilih KJPP - </option>');
|
||||
|
||||
$.each(datas, function(key, value){
|
||||
var stringVal = value.code+' - '+value.name;
|
||||
$('#{{$route[1]}}_kjpps').append(new Option(stringVal, value.id));
|
||||
});
|
||||
}
|
||||
|
||||
function setTablesKJPP1(datas)
|
||||
{
|
||||
let i=1;
|
||||
$.each(datas, function(key, value){
|
||||
var kjppName = value.kjpp_code+' - '+value.kjpp_name;
|
||||
var biaya_penawaran = value.biaya_penawaran;// alert(biaya_penawaran);
|
||||
var no_proposal = (value.no_proposal)??'';// alert(no_proposal);
|
||||
var tgl_proposal = (value.tgl_proposal)??'';// alert(tgl_proposal);
|
||||
var htmlDokumenPersetujuanDownload='';
|
||||
var dokumenPersetujuanDownload = value.dokumen_persetujuan;
|
||||
if(dokumenPersetujuanDownload)
|
||||
{
|
||||
htmlDokumenPersetujuanDownload='<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a href="'+value.dokumen_persetujuan+'" class="badge badge-sm badge-outline" download="'+value.attachment+'">'+value.attachment+'<i class="ki-filled ki-cloud-download"></i></a></div>';
|
||||
htmlDokumenPersetujuanDownload='<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a href="'+value.dokumen_persetujuan+'" class="badge badge-sm badge-outline" download="'+value.attachment+'">'+value.attachment+' <i class="ki-filled ki-cloud-download"></i></a></div>';
|
||||
}
|
||||
|
||||
|
||||
var markup = '<tr>';
|
||||
markup +='<td valign="top">'+i+'</td>';
|
||||
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></td>';
|
||||
markup +='<td valign="top"><div class="input-group"><span class="inputku btn btn-input" id="{{$route[1]}}_rp_'+value.id+'">Rp.</span><input type="text" disabled="" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran_'+value.id+'" name="{{$route[1]}}_biayaPenawaran_'+value.id+'"></div><em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em></td>';
|
||||
markup +='<td><input type="file" disabled="" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" name="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" accept="application/pdf" /><em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload+'</td>';
|
||||
markup +='<td><div class="flex flex-nowrap justify-center">';
|
||||
markup +='<a disabled="" class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Proses Penawaran '+kjppName+'" onclick="updateData('+value.id+','+value.kjpp_rekanan_id+',\''+kjppName+'\')"><i class="ki-outline ki-bookmark"></i></a>';
|
||||
markup +='<a disabled="" class="delete btn btn-sm btn-icon btn-clear btn-danger" id="{{$route[1]}}_icon_delete_'+value.id+'" onclick="deleteData('+value.id+',\''+kjppName+'\')" title="Hapus Proses Penawaran '+kjppName+'"><i class="ki-outline ki-trash"></i></a>';
|
||||
markup +='<label class="switch"><input name="{{$route[1]}}_check_'+value.id+'" id="{{$route[1]}}_check_'+value.id+'" onclick="switchProses('+value.id+')" type="checkbox" value="0"/><span class="switch-label">Proses</span></label></div></td>';
|
||||
// No Proposal
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input type="hidden" id="{{$route[1]}}_penawarandetail_id_'+value.id+'" name="{{$route[1]}}_penawarandetail_id[]" value="'+value.id+'">';
|
||||
markup +='<input type="text" value="'+no_proposal+'" class="inputku file-input" id="{{$route[1]}}_no_proposal_'+value.id+'" name="{{$route[1]}}_no_proposal[]">';
|
||||
markup +='<em id="{{$route[1]}}_no_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// No Proposal
|
||||
// Tanggal Proposal
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input type="date" value="'+tgl_proposal+'" class="inputku file-input" id="{{$route[1]}}_tgl_proposal_'+value.id+'" name="{{$route[1]}}_tgl_proposal[]" >';
|
||||
markup +='<em id="{{$route[1]}}_tgl_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// Tanggal Proposal
|
||||
|
||||
// Biaya Penawaran
|
||||
markup +='<td valign="top">';
|
||||
markup +='<div class="input-group"><span class="inputku btn btn-input" id="{{$route[1]}}_rp_'+value.id+'">Rp.</span><input type="text" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran_'+value.id+'" name="{{$route[1]}}_biayaPenawaran[]"></div>';
|
||||
markup +='<em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// Biaya Penawaran
|
||||
// Upload Penawaran
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input type="file" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" name="{{$route[1]}}_dokumenPersetujuan[]" accept="application/pdf" />';
|
||||
markup +='<em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload;
|
||||
markup +='</td>';
|
||||
// Upload Penawaran
|
||||
markup +='<td valign="top"><div class="flex flex-nowrap justify-center">';
|
||||
markup +='<a class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Proses Penawaran '+kjppName+'" onclick="updateData('+value.id+','+value.kjpp_rekanan_id+',\''+kjppName+'\')"><i class="ki-outline ki-bookmark"></i></a>';
|
||||
markup +='<a class="delete btn btn-sm btn-icon btn-clear btn-danger" id="{{$route[1]}}_icon_delete_'+value.id+'" onclick="deleteData('+value.id+',\''+kjppName+'\')" title="Hapus Proses Penawaran '+kjppName+'"><i class="ki-outline ki-trash"></i></a>';
|
||||
markup +='</div></td>';
|
||||
markup += '</tr>';
|
||||
|
||||
$('#tbodyKJPP1').append(markup);
|
||||
@@ -84,10 +121,11 @@
|
||||
if(biaya_penawaran)
|
||||
biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
|
||||
$("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
|
||||
|
||||
i++;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(document).on("input", "input:file", function(e) {
|
||||
let fileName = e.target.files[0].name;
|
||||
let inputFile = e.target.id;
|
||||
@@ -107,7 +145,7 @@
|
||||
// updateAll penawaran & permohonan status
|
||||
$("#{{$route[1]}}_toEdit").click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
// $id = penawaran.id
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateAll',$id) }}";
|
||||
@@ -150,5 +188,106 @@
|
||||
});
|
||||
});
|
||||
|
||||
$('#form_{{$route[1]}}').submit(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var formData = new FormData(this);
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateDraft',$id) }}";
|
||||
formData.append('_token', token);
|
||||
formData.append('_method', 'PUT');
|
||||
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
data: formData,
|
||||
cache: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(response) {
|
||||
console.log(response);
|
||||
|
||||
if ('success' == response.status)
|
||||
{
|
||||
// toastr.success(response.message);
|
||||
// success
|
||||
var message = response.message;
|
||||
toastrku("success", message);
|
||||
setTimeout(function () {
|
||||
location.reload(true);
|
||||
}, 2000);
|
||||
//
|
||||
}
|
||||
else if('error' == response.status)
|
||||
{
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
|
||||
},
|
||||
error: function(response, textStatus, errorThrown) {
|
||||
// var errors = response.responseJSON.errors;
|
||||
// console.log(errors);
|
||||
console.log(response);
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#{{$route[1]}}_toAddKJPP").click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
let kjpp_id = $("#{{$route[1]}}_kjpps").val();
|
||||
let id = $("#id").val();
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.store') }}";
|
||||
|
||||
var input_data = new Object();
|
||||
input_data._token= token;
|
||||
input_data.kjpp_id= kjpp_id;
|
||||
input_data.penawaran_id= id;
|
||||
|
||||
if(kjpp_id>0)
|
||||
{
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
cache: false,
|
||||
data: input_data,
|
||||
success:function(response){
|
||||
|
||||
if ('success' == response.status)
|
||||
{
|
||||
// toastr.success(response.message);
|
||||
// success
|
||||
var message = response.message;
|
||||
toastrku("success", message);
|
||||
setTimeout(function () {
|
||||
location.reload(true);
|
||||
}, 2000);
|
||||
}
|
||||
else if('error' == response.status)
|
||||
{
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
},
|
||||
error: function (response, textStatus, errorThrown) {
|
||||
console.log(response);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
swal.fire({
|
||||
title: "Perhatikan",
|
||||
text: "Silahkan pilih KJPP terlebih dahulu",
|
||||
icon: "error"
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
151
resources/views/prosespenawaran/js/editulangjs.blade.php
Normal file
151
resources/views/prosespenawaran/js/editulangjs.blade.php
Normal file
@@ -0,0 +1,151 @@
|
||||
@push('scripts')
|
||||
@include('lpj::assetsku.includenya')
|
||||
@include('lpj::prosespenawaran.js.editeulangxtjs')
|
||||
<script type="module">
|
||||
|
||||
$(document).ready(function() {
|
||||
prepareForm();
|
||||
});
|
||||
|
||||
function prepareForm()
|
||||
{
|
||||
setData();
|
||||
}
|
||||
|
||||
function setData()
|
||||
{
|
||||
let id = $("#id").val();
|
||||
let token = "{{ csrf_token() }}";
|
||||
// alert('token = ' + token);
|
||||
var useURL = "{{ route('tender.prosespenawaran.setDataUlang') }}";
|
||||
var input_data = new Object();
|
||||
input_data._token = token;
|
||||
input_data.id = id;
|
||||
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
data: input_data,
|
||||
dataType: "json",
|
||||
beforeSend: function() {
|
||||
// if ($("#myLoader").hasClass("pre-loader hidden")) {
|
||||
// pleaseStartLoader();
|
||||
// }
|
||||
},
|
||||
success: function(response) {
|
||||
console.log(response);
|
||||
|
||||
if("success"==response.status)
|
||||
{
|
||||
var statusText = response.penawaran.status;
|
||||
$("#textReg").text(response.penawaran.nomor_registrasi);
|
||||
$("#textCodePenawaran").text(response.penawaran.code);
|
||||
$("#textStatusPenawaran").text(statusText);
|
||||
setTablesKJPP1(response.penawrandetails);
|
||||
setKJPPList1(response.kjpps);
|
||||
}
|
||||
else
|
||||
{
|
||||
// toastr.error(response.message);
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
|
||||
},
|
||||
error: function(xhr) {
|
||||
},
|
||||
complete: function() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setTablesKJPP1(datas)
|
||||
{
|
||||
let i=1;
|
||||
$.each(datas, function(key, value){
|
||||
var kjppName = value.kjpp_code+' - '+value.kjpp_name;
|
||||
var biaya_penawaran = value.biaya_penawaran;// alert(biaya_penawaran);
|
||||
var no_proposal = (value.no_proposal)??'';// alert(no_proposal);
|
||||
var tgl_proposal = (value.tgl_proposal)??'';// alert(tgl_proposal);
|
||||
var htmlDokumenPersetujuanDownload='';
|
||||
var dokumenPersetujuanDownload = value.dokumen_persetujuan;
|
||||
if(dokumenPersetujuanDownload)
|
||||
{
|
||||
htmlDokumenPersetujuanDownload='<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a href="'+value.dokumen_persetujuan+'" class="badge badge-sm badge-outline" download="'+value.attachment+'">'+value.attachment+' <i class="ki-filled ki-cloud-download"></i></a></div>';
|
||||
}
|
||||
|
||||
var markup = '<tr>';
|
||||
markup +='<td valign="top">'+i+'</td>';
|
||||
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></td>';
|
||||
// No Proposal
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input type="hidden" id="{{$route[1]}}_penawarandetail_id_'+value.id+'" name="{{$route[1]}}_penawarandetail_id[]" value="'+value.id+'">';
|
||||
markup +='<input disabled="" type="text" value="'+no_proposal+'" class="inputku file-input" id="{{$route[1]}}_no_proposal_'+value.id+'" name="{{$route[1]}}_no_proposal[]">';
|
||||
markup +='<em id="{{$route[1]}}_no_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// No Proposal
|
||||
// Tanggal Proposal
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input disabled="" type="date" value="'+tgl_proposal+'" class="inputku file-input" id="{{$route[1]}}_tgl_proposal_'+value.id+'" name="{{$route[1]}}_tgl_proposal[]" >';
|
||||
markup +='<em id="{{$route[1]}}_tgl_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// Tanggal Proposal
|
||||
|
||||
// Biaya Penawaran
|
||||
markup +='<td valign="top">';
|
||||
markup +='<div class="input-group"><span class="inputku btn btn-input" id="{{$route[1]}}_rp_'+value.id+'">Rp.</span><input disabled="" type="text" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran_'+value.id+'" name="{{$route[1]}}_biayaPenawaran[]"></div>';
|
||||
markup +='<em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||
markup +='</td>';
|
||||
// Biaya Penawaran
|
||||
// Upload Penawaran
|
||||
markup +='<td valign="top">';
|
||||
markup +='<input disabled="" type="file" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" name="{{$route[1]}}_dokumenPersetujuan[]" accept="application/pdf" />';
|
||||
markup +='<em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload;
|
||||
markup +='</td>';
|
||||
// Upload Penawaran
|
||||
markup +='<td valign="top"><div class="flex flex-nowrap justify-center">';
|
||||
markup +='<a disabled="" class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Proses Penawaran '+kjppName+'" onclick="updateDataUlang('+value.id+','+value.kjpp_rekanan_id+',\''+kjppName+'\')"><i class="ki-outline ki-bookmark"></i></a>';
|
||||
markup +='<a disabled="" class="delete btn btn-sm btn-icon btn-clear btn-danger" id="{{$route[1]}}_icon_delete_'+value.id+'" onclick="deleteDataUlang('+value.id+',\''+kjppName+'\')" title="Hapus Proses Penawaran '+kjppName+'"><i class="ki-outline ki-trash"></i></a>';
|
||||
markup +='<label class="switch"><input name="{{$route[1]}}_check_'+value.id+'" id="{{$route[1]}}_check_'+value.id+'" onclick="switchProses('+value.id+')" type="checkbox" value="0"/><span class="switch-label">Proses</span></label>';
|
||||
markup +='</div></td>';
|
||||
markup += '</tr>';
|
||||
|
||||
$('#tbodyKJPP1').append(markup);
|
||||
|
||||
// pengecekan kondisi format number
|
||||
var biaya_penawaran_format = "";
|
||||
if(biaya_penawaran)
|
||||
biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
|
||||
$("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
|
||||
|
||||
i++;
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on("input", "input:file", function(e) {
|
||||
let fileName = e.target.files[0].name;
|
||||
let inputFile = e.target.id;
|
||||
const myArray = inputFile.split("_");
|
||||
let penawaranID = myArray[myArray.length-1];
|
||||
let kjppName = $("#{{$route[1]}}_kjppName_"+penawaranID).text();
|
||||
let upld = fileName.split(".").pop();
|
||||
if(upld == "pdf" || upld =="PDF"){}
|
||||
else{
|
||||
removeErrorCssMsg();
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_"+penawaranID).addClass(" border-danger");
|
||||
$("#{{$route[1]}}_dokumenPersetujuan_msg_"+penawaranID).text("Silahkan Masukan tipe file PDF Mas");
|
||||
$("#"+inputFile).val("");
|
||||
}
|
||||
});
|
||||
|
||||
function setKJPPList1(datas)
|
||||
{
|
||||
$('#{{$route[1]}}_kjpps1').empty().append('<option value="0"> - Pilih KJPP - </option>');
|
||||
|
||||
$.each(datas, function(key, value){
|
||||
var stringVal = value.code+' - '+value.name;
|
||||
$('#{{$route[1]}}_kjpps1').append(new Option(stringVal, value.id));
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
@@ -14,7 +14,18 @@
|
||||
Detail Data Proses Penawaran
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('tender.prosespenawaran.edit', $id) }}" class="btn btn-xs btn-primary" title="Register"><i class="ki-filled ki-arrow-circle-right"></i> Proses Penawaran</a>
|
||||
@php
|
||||
$buttonProses='';
|
||||
if('tender'==$prosespenawaran->status)
|
||||
{
|
||||
$buttonProses='<a href="'. route('tender.prosespenawaran.edit', $id) .'" class="btn btn-xs btn-primary" title="Proses Penawaran"><i class="ki-outline ki-notepad-edit"></i> Proses Penawaran</a>';
|
||||
}
|
||||
elseif ('proposal-tender'==$prosespenawaran->status)
|
||||
{
|
||||
$buttonProses='<a href="'. route('tender.prosespenawaran.editulang', $id) .'" class="btn btn-xs btn-primary" title="Proses Penawaran Ulang"><i class="ki-filled ki-arrow-circle-right"></i> Proses Penawaran Ulang</a>';
|
||||
}
|
||||
@endphp
|
||||
{!! $buttonProses !!}
|
||||
<a href="{{ route('tender.prosespenawaran.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -49,6 +49,30 @@
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Name Url
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('name_url') border-danger bg-danger-light @enderror" type="text"
|
||||
name="name_url" value="{{ $region->name_url ?? '' }}">
|
||||
@error('name_url')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Url
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('url') border-danger bg-danger-light @enderror" type="text"
|
||||
name="url" value="{{ $region->url ?? '' }}">
|
||||
@error('url')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Save
|
||||
|
||||
@@ -40,6 +40,10 @@
|
||||
<span class="sort"> <span class="sort-label"> Region </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[250px]" data-datatable-column="name">
|
||||
<span class="sort"> <span class="sort-label"> Name URL </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -121,6 +125,9 @@
|
||||
name: {
|
||||
title: 'Region',
|
||||
},
|
||||
name_url:{
|
||||
title: 'Name Url',
|
||||
},
|
||||
actions: {
|
||||
title: 'Status',
|
||||
render: (item, data) => {
|
||||
|
||||
@@ -18,42 +18,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputDataLoaksi = [];
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1],
|
||||
['label' => 'Blok/Nomor', 'index' => 2],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3],
|
||||
['label' => 'Kecamatan', 'index' => 4],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5],
|
||||
['label' => 'Provinsi', 'index' => 6]
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
|
||||
|
||||
@include('lpj::surveyor.components.header')
|
||||
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<div class=" py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisa Unit</h1>
|
||||
</div>
|
||||
@@ -31,44 +38,40 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Unit</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('jenis_unit') border-danger bg-danger-light @enderror"
|
||||
name="jenis_unit">
|
||||
<option value="">Select Jenis Unit</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($jenisBangunan))
|
||||
@foreach ($jenisBangunan as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('jenis_unit', isset($analisa) && optional($analisa->analisaUnit)->jenis_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@foreach ($jenisBangunan as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="jenis_unit[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('jenis_unit')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-jenis_unit" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi Unit</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('kondisi_unit') border-danger bg-danger-light @enderror"
|
||||
name="kondisi_unit">
|
||||
<option value="">Select Kondisi Unit</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($kondisiBangunan))
|
||||
@foreach ($kondisiBangunan as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('kondisi_unit', isset($analisa) && optional($analisa->analisaUnit)->kondisi_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@foreach ($kondisiBangunan as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="kondisi_unit[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('kondisi_unit')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-kondisi_unit" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -77,20 +80,20 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Posisi Unit</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('posisi_unit') border-danger bg-danger-light @enderror"
|
||||
name="posisi_unit">
|
||||
<option value="">Select Posisi Unit</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($ketinggianTanah))
|
||||
@foreach ($ketinggianTanah as $item)
|
||||
<option value="{{ $item->name }}" {{ old('posisi_unit', isset($analisa) && optional($analisa->analisaUnit)->posisi_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="posisi_unit[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('posisi_unit')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-posisi_unit" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -100,20 +103,21 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Lantai</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('lantai') border-danger bg-danger-light @enderror"
|
||||
name="lantai">
|
||||
<option value="">Select Lantai</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($lantai))
|
||||
@foreach ($lantai as $item)
|
||||
<option value="{{ $item->name }}" {{ old('lantai', isset($analisa) && optional($analisa->analisaUnit)->lantai) == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="lantai[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('lantai')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-lantai" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -122,41 +126,42 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">View</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('view') border-danger bg-danger-light @enderror"
|
||||
name="view">
|
||||
<option value="">Select View</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($viewUnit))
|
||||
@foreach ($viewUnit as $item)
|
||||
<option value="{{ $item->name }}" {{ old('view', isset($analisa) && optional($analisa->analisaUnit)->view) == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="view[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('view')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-view" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Bentuk Unit</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('bentuk_unit') border-danger bg-danger-light @enderror"
|
||||
name="bentuk_unit">
|
||||
<option value="">Select Bentuk Unit</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-2">
|
||||
@if (isset($bentukTanah))
|
||||
@foreach ($bentukTanah as $item)
|
||||
<option value="{{ $item->name }}" {{ old('bentuk_unit', isset($analisa) && optional($analisa->analisaUnit)->bentuk_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="bentuk_unit[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('bentuk_unit')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<em id="error-bentuk_unit" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,181 +1,195 @@
|
||||
|
||||
{{-- @if ($analisaType == 'tanah_bangunan') --}}
|
||||
<div class=" bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="y-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Luas Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="sesuai"
|
||||
{{ old('luas_tanah_bagunan') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Sesuai</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="tidak sesuai"
|
||||
{{ old('luas_tanah_bagunan') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak Sesuai</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@error('luas_tanah_bagunan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Jenis Bangunan -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('jenis_bangunan') border-danger bg-danger-light @enderror"
|
||||
name="jenis_bangunan">
|
||||
<option value="">Select Jenis Bangunan</option>
|
||||
@if (isset($jenisBangunan))
|
||||
@foreach ($jenisBangunan as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('jenis_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->jenis_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('jenis_bangunan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kondisi Bangunan -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('kondisi_bangunan') border-danger bg-danger-light @enderror"
|
||||
name="kondisi_bangunan">
|
||||
<option value="">Select Kondisi Bangunan</option>
|
||||
@if (isset($kondisiBangunan))
|
||||
@foreach ($kondisiBangunan as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('kondisi_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kondisi_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('kondisi_bangunan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Sifat Bangunan -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56"> Sifat Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('sifat_bangunan') border-danger bg-danger-light @enderror"
|
||||
name="sifat_bangunan">
|
||||
<option value="">Select Sifat Bangunan</option>
|
||||
@if (isset($sifatBangunan))
|
||||
@foreach ($sifatBangunan as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('sifat_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->sifat_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('sifat_bangunan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Spek Bangunan -->
|
||||
<div class="gap-2.5">
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Spek Bangunan</label>
|
||||
<label class="form-label max-w-56">Luas Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="sesuai"
|
||||
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Sesuai</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="tidak sesuai"
|
||||
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak Sesuai</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
|
||||
<div class="spek-bangunan w-full gap-4">
|
||||
<input type="hidden" name="nama_bagunan[]" value="Bangunan">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
|
||||
@if (@isset($spekKategoriBagunan))
|
||||
@foreach ($spekKategoriBagunan as $item)
|
||||
<div>
|
||||
<label
|
||||
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('name') border-danger bg-danger-light @enderror"
|
||||
name="name[]">
|
||||
<option value="">Select {{ $item->name }}</option>
|
||||
@foreach ($spekBangunan as $spek)
|
||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||
<option value="{{ $spek->name }}"
|
||||
{{ old('name') == $spek->name ? 'selected' : '' }}>
|
||||
{{ $spek->name }}
|
||||
</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
@error('name')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<!-- Jenis Bangunan -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($jenisBangunan))
|
||||
@foreach ($jenisBangunan as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
|
||||
|
||||
value="{{ $item->name }}" {{
|
||||
old('jenis_bangunan') == $item->name || isset($forminspeksi['jenis_bangunan']) == $item->name ? 'checked' : ''
|
||||
}}/>
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<div class="flex items-center">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input type="text" name="jenis_bangunan" class="input mt-2" id="bentukTanahInput"
|
||||
placeholder="Masukkan Jenis Bangunan...">
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<em id="error-jenis_bangunan" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kondisi Bangunan -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($kondisiBangunan))
|
||||
@foreach ($kondisiBangunan as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
|
||||
value="{{ $item->name }}" {{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<div class="flex items-center">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
|
||||
value="{{ $item->name }}" {{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input type="text" name="kondisi_bangunan_lainnya" class="input mt-2" id="bentukTanahInput"
|
||||
placeholder="Masukkan Kondisi Bangunan..."
|
||||
value="{{ old('kondisi_bangunan_lainnya', $forminspeksi['kondisi_bangunan_lainnya'] ?? '') }}">
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-kondisi_bangunan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Sifat Bangunan -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Sifat Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($sifatBangunan))
|
||||
@foreach ($sifatBangunan as $item)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||
<input class="checkbox" name="sifat_bangunan[]" type="checkbox"
|
||||
value="{{ $item->name }}" {{ in_array($item->name, old('sifat_bangunan', $forminspeksi['sifat_bangunan'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input type="text" name="sifat_bangunan_input[]" class="input w-full" id="sifat_bangunan"
|
||||
placeholder="Masukkan {{ $item->name }}..."
|
||||
value="{{ old('sifat_bangunan_input.' . $loop->index, $forminspeksi['sifat_bangunan_input'][$loop->index] ?? '') }}">
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-sifat_bangunan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Spek Bangunan -->
|
||||
|
||||
|
||||
|
||||
<div class="gap-2.5">
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Spek Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
|
||||
<div class="spek-bangunan w-full gap-4">
|
||||
<input type="hidden" name="nama_bagunan[]" value="Bangunan">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
|
||||
@if (@isset($spekKategoriBagunan))
|
||||
@foreach ($spekKategoriBagunan as $item)
|
||||
<div>
|
||||
<input type="hidden" name="spek_kategori_bangunan[]" value="{{ $item->name }}">
|
||||
<label
|
||||
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4" style="margin-top: 10px">
|
||||
@foreach ($spekBangunan as $spek)
|
||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||
<label class="form-label flex items-center gap-2.5">
|
||||
<input class="checkbox" name="spek_bangunan_{{ $item->name }}[]"
|
||||
type="checkbox" value="{{ $spek->name }}" />
|
||||
{{ $spek->name }}
|
||||
</label>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<em id="error-spek_bangunan_{{ $item->name }}" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<button type="button"
|
||||
class="mt-2 btn btn-danger btn-outline btn-xs delete-button">Hapus</button>
|
||||
</div>
|
||||
<button type="button"
|
||||
class="mt-2 btn btn-danger btn-outline btn-xs delete-button">Hapus</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end">
|
||||
<button class="btn btn-xs btn-primary" type="button" id="addBagunan">
|
||||
tambah bangunan
|
||||
<i class="ki-filled ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end">
|
||||
<button class="btn btn-xs btn-primary" type="button" id="addBagunan">
|
||||
tambah bangunan
|
||||
<i class="ki-filled ki-plus"></i>
|
||||
</button>
|
||||
|
||||
<!-- Sarana pelengkap -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Sarana pelengkap</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($saranaPelengkap))
|
||||
@foreach ($saranaPelengkap as $item)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
|
||||
value="{{ $item->name }}" {{ in_array($item->name, old('sarana_pelengkap', $forminspeksi['sarana_pelengkap'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input type="text" name="sarana_pelengkap_input[]" class="input w-full" id="bentukTanahInput"
|
||||
placeholder="Masukkan {{ $item->name }}..."
|
||||
value="{{ old('sarana_pelengkap_input.' . $loop->index, $forminspeksi['sarana_pelengkap_input'][$loop->index] ?? '') }}">
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Sarana pelengkap -->
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Sarana pelengkap</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('sarana_pelengkap') border-danger bg-danger-light @enderror"
|
||||
name="sarana_pelengkap">
|
||||
<option value="">Select Posisi Kavling</option>
|
||||
@if (isset($saranaPelengkap))
|
||||
@foreach ($saranaPelengkap as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('sarana_pelengkap', isset($analisa) && optional($analisa->analisaTanahBangunan)->sarana_pelengkap) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('sarana_pelengkap')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{-- @endif --}}
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
const spekBangunanContainer = document.getElementById('spek-bangunan-container');
|
||||
|
||||
@@ -19,15 +19,14 @@
|
||||
$fotoIds[] = $item->jenis_jaminan_id;
|
||||
$permohonanFotoId[] = $item->permohonan_id;
|
||||
}
|
||||
$perbandingan =
|
||||
in_array($permohonan->id, $permohonanFotoId) && in_array($dokumen->jenisJaminan->id, $fotoIds);
|
||||
|
||||
} elseif (request()->has('form') && request('form') === 'inspeksi' && isset($analisa)) {
|
||||
$jenisIds = [];
|
||||
foreach ($analisa as $item) {
|
||||
$jenisIds[] = $item->jenis_jaminan_id;
|
||||
}
|
||||
|
||||
$perbandingan = isset($analisa) && in_array($dokumen->jenisJaminan->id, $jenisIds);
|
||||
|
||||
}
|
||||
@endphp
|
||||
@if ($perbandingan)
|
||||
|
||||
351
resources/views/surveyor/components/fakta.blade.php
Normal file
351
resources/views/surveyor/components/fakta.blade.php
Normal file
@@ -0,0 +1,351 @@
|
||||
{{-- analisa fakta --}}
|
||||
<div class="card bg-white rounded-lg overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class=" py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Fakta</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Positif</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="fakta_positif[]" rows="3">{{ old('fakta_positif.0', $forminspeksi['fakta_positif'][0] ?? '') }}</textarea>
|
||||
|
||||
<em id="error-fakta_positif" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary btn-sm">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Negatif</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="3">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
|
||||
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
<button class="btn btn-primary btn-sm">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal' && $analisaType != 'kendaraan' && $analisaType != 'pesawat')
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Rute Menuju</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju.0', $forminspeksi['rute_menuju'][0] ?? '') }}</textarea>
|
||||
<em id="error-rute_menuju" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Batas batas</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-1 gap-4 items-center w-full">
|
||||
@php
|
||||
$inputBatas = [];
|
||||
$inputBatas = [
|
||||
[
|
||||
'label' => 'Utara',
|
||||
'index' => 0,
|
||||
'value' => old('batas_batas.0', $forminspeksi['batas_batas'][0] ?? ''),
|
||||
],
|
||||
[
|
||||
'label' => 'Timur',
|
||||
'index' => 1,
|
||||
'value' => $forminspeksi['batas_batas'][1] ?? '',
|
||||
],
|
||||
[
|
||||
'label' => 'Selatan',
|
||||
'index' => 2,
|
||||
'value' => $forminspeksi['batas_batas'][2] ?? '',
|
||||
],
|
||||
[
|
||||
'label' => 'Barat',
|
||||
'index' => 3,
|
||||
'value' => $forminspeksi['batas_batas'][3] ?? '',
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
@if ($inputBatas > 0)
|
||||
@foreach ($inputBatas as $item)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<input type="text" name="batas_batas[]" class="input"
|
||||
value="{{ $item['value'] }}" />
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-batas_batas" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="kondisi_linkungan[]" rows="3">{{ old('kondisi_linkungan.0', $forminspeksi['kondisi_linkungan'][0] ?? '') }}</textarea>
|
||||
|
||||
<em id="error-kondisi_linkungan" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary btn-sm mt-5 ">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi lain terkait Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="kondisi_lain_bangunan[]" rows="3">{{ old('kondisi_lain_bangunan.0', $forminspeksi['kondisi_lain_bangunan'][0] ?? '') }}</textarea>
|
||||
|
||||
<em id="error-kondisi_lain_bangunan" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary btn-sm mt-5 ">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="informasi_dokument" rows="3">{{ old('informasi_dokument.0', $forminspeksi['informasi_dokument'][0] ?? '') }}</textarea>
|
||||
|
||||
<em id="error-informasi_dokument" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary btn-sm mt-5 ">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Informasi Tata Ruang -->
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal' && $analisaType != 'kendaraan' && $analisaType != 'pesawat')
|
||||
<div class="card w-full bg-white">
|
||||
<div class="card-body">
|
||||
<div class="py-4">
|
||||
<h1 class="text-md font-medium text-gray-900">Informasi Dinas Tata Ruang</h1>
|
||||
</div>
|
||||
<!-- Informasi Tata Ruang Form -->
|
||||
<div class="grid gap-5">
|
||||
|
||||
|
||||
@php
|
||||
$inputDinasTata = [
|
||||
[
|
||||
'label' => 'Peruntukan',
|
||||
'name' => 'peruntukan',
|
||||
'index' => 0,
|
||||
'value' => old(
|
||||
'peruntukan',
|
||||
isset($forminspeksi['peruntukan']) ? $forminspeksi['peruntukan'] : '',
|
||||
),
|
||||
],
|
||||
[
|
||||
'label' => 'KDB',
|
||||
'name' => 'kdb',
|
||||
'index' => 1,
|
||||
'value' => old('kdb', isset($forminspeksi['kdb']) ? $forminspeksi['kdb'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'KDH',
|
||||
'name' => 'kdh',
|
||||
'index' => 2,
|
||||
'value' => old('kdh', isset($forminspeksi['kdh']) ? $forminspeksi['kdh'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'gsb',
|
||||
'name' => 'gsb',
|
||||
'index' => 3,
|
||||
'value' => old('gsb', isset($forminspeksi['gsb']) ? $forminspeksi['gsb'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'Max Lantai',
|
||||
'name' => 'max_lantai',
|
||||
'index' => 4,
|
||||
'value' => old(
|
||||
'max_lantai',
|
||||
isset($forminspeksi['max_lantai']) ? $forminspeksi['max_lantai'] : '',
|
||||
),
|
||||
],
|
||||
[
|
||||
'label' => 'KLB',
|
||||
'name' => 'klb',
|
||||
'index' => 5,
|
||||
'value' => old('klb', isset($forminspeksi['klb']) ? $forminspeksi['klb'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'GSS',
|
||||
'name' => 'gss',
|
||||
'index' => 6,
|
||||
'value' => old('gss', isset($forminspeksi['gss']) ? $forminspeksi['gss'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'Pelebaran Jalan',
|
||||
'name' => 'pelebaran_jalan',
|
||||
'index' => 7,
|
||||
'value' => old(
|
||||
'pelebaran_jalan',
|
||||
isset($forminspeksi['pelebaran_jalan']) ? $forminspeksi['pelebaran_jalan'] : '',
|
||||
),
|
||||
],
|
||||
[
|
||||
'label' => 'Nama Petugas TK',
|
||||
'name' => 'nama_petugas',
|
||||
'index' => 8,
|
||||
'value' => old(
|
||||
'nama_petugas',
|
||||
isset($forminspeksi['nama_petugas']) ? $forminspeksi['nama_petugas'] : '',
|
||||
),
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputDinasTata) > 0)
|
||||
@foreach ($inputDinasTata as $item)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
|
||||
@error($item['name'])
|
||||
<em class="alert text-danger text-sm"></em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Gistaru</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<div class="w-full">
|
||||
<input id="inputGistaru" type="file" name="foto_gistaru"
|
||||
class="file-input file-input-bordered w-full" accept="image/*"
|
||||
onchange="previewImage(this, 'gistaru-preview')">
|
||||
<img id="gistaru-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_gistaru']) ? $forminspeksi['foto_gistaru'] : '')) }}"
|
||||
alt="Foto Gistaru" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_gistaru']) ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
<a href="https://gistaru.atrbpn.go.id/rtronline" type="button" class="btn btn-light"
|
||||
target="_blank">
|
||||
<i class="ki-outline ki-abstract-33"></i> Gistaru
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Bhumi</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<div class="w-full">
|
||||
<input id="inputBhumi" type="file" name="foto_bhumi"
|
||||
class="file-input file-input-bordered w-full" accept="image/*"
|
||||
onchange="previewImage(this, 'bhumi-preview')">
|
||||
<img id="bhumi-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_bhumi']) ? $forminspeksi['foto_bhumi'] : '')) }}"
|
||||
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_bhumi']) ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
<a href="https://bhumi.atrbpn.go.id/peta" type="button" class="btn btn-light"
|
||||
target="_blank">
|
||||
<i class="ki-outline ki-abstract-33"></i> Bhumi
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (isset($link_url_region->regions->url))
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">{{ $link_url_region->regions->name_url }}</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<div class="w-full">
|
||||
<input id="inputArgisRegion" type="file" name="foto_argis_region"
|
||||
class="file-input file-input-bordered w-full" accept="image/*"
|
||||
onchange="previewImage(this, 'argis-region-preview')">
|
||||
<img id="argis-region-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_argis_region']) ? $forminspeksi['foto_argis_region'] : '')) }}"
|
||||
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_argis_region']) ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
<a href="{{ $link_url_region->regions->url }}" type="button" class="btn btn-light"
|
||||
target="_blank">
|
||||
<i class="ki-outline ki-abstract-33"></i>
|
||||
{{ $link_url_region->regions->name_url }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- Peta Section -->
|
||||
|
||||
<div class="mt-2" style="margin-top: 20px">
|
||||
<input type="hidden" name="lat" id="lat"
|
||||
value="{{ old('lat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lat : '') }}">
|
||||
<input type="hidden" name="lng" id="lng"
|
||||
value="{{ old('lng', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lng : '') }}">
|
||||
<div class=" border p-6 rounded-lg shadow-lg flex items-center justify-center"
|
||||
style="height: 300px">
|
||||
<iframe id="mapFrame" frameborder="0" style="width: 100%; height: 100%;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Upload Photo Button -->
|
||||
<div class=" flex w-full mt-2" style="margin-top: 20px">
|
||||
<div class="flex flex-col input-group w-full">
|
||||
<label for="" class="block text-sm font-medium text-gray-700">Upload Photo</label>
|
||||
|
||||
<div class="w-full">
|
||||
<input id="foto_tempat" type="file" name="foto_tempat"
|
||||
class="file-input file-input-bordered w-full" accept="image/*"
|
||||
onchange="previewImage(this, 'argis-region-preview')">
|
||||
<img id="argis-region-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_tempat']) ? $forminspeksi['foto_tempat'] : '')) }}"
|
||||
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_tempat']) ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notes Section -->
|
||||
<div class="mt-2" style="margin-top: 20px">
|
||||
<div class="bg-white p-6 rounded-lg">
|
||||
<h4 class="block text-sm font-medium text-gray-700 mt-2">Catatan yang Perlu Diperhatikan
|
||||
</h4>
|
||||
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', $forminspeksi['keterangan'] ?? '') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<script>
|
||||
function previewImage(input, previewId) {
|
||||
if (input.files && input.files[0]) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(e) {
|
||||
$('#' + previewId).attr('src', e.target.result).show();
|
||||
}
|
||||
reader.readAsDataURL(input.files[0]);
|
||||
} else {
|
||||
$('#' + previewId).hide();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
File diff suppressed because it is too large
Load Diff
305
resources/views/surveyor/components/header.blade.php
Normal file
305
resources/views/surveyor/components/header.blade.php
Normal file
@@ -0,0 +1,305 @@
|
||||
<div class=" card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="py-4">
|
||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||
</div>
|
||||
<div class="grid gap-5 grid-cols-2">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tujuan Penilaian</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@if (isset($permohonan->tujuanPenilaian))
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal Survey</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Cab/Direktorat</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@if (isset($permohonan->branch))
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">AO</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@if (isset($permohonan->user))
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
|
||||
<label class="form-label max-w-56">Debitur/Perwakilan</label>
|
||||
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
|
||||
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
|
||||
<input type="text" class="input form-control" name="debitur_perwakilan[]"
|
||||
value="{{ old('debitur_perwakilan', isset($forminspeksi['debitur_perwakilan']) ? implode(', ', $forminspeksi['debitur_perwakilan']) : '') }}"
|
||||
placeholder="Masukkan Debitur/Perwakilan" />
|
||||
<button type="button" class="btn btn-danger btn-outline btn-xs delete-button"
|
||||
style="display: none">Hapus</button>
|
||||
</div>
|
||||
</div>
|
||||
<button id="addPerwakilan" type="button" class="btn-md btn btn-primary">
|
||||
<i class="ki-filled ki-plus"></i>
|
||||
</button>
|
||||
<em id="error-debitur_perwakilan" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Nama Cadeb/Debitur</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nama</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@if (isset($permohonan->debiture))
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Deskripsi Aset jaminan</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Aset</label>
|
||||
<div>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@if (isset($permohonan->debiture->documents))
|
||||
@foreach ($permohonan->debiture->documents as $item)
|
||||
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
|
||||
name="jenis_asset" value="sesuai" {{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
|
||||
name="jenis_asset" value="tidak sesuai" {{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||
<select id="jenis_asset"
|
||||
class="input w-full @error('jenis_asset_tidak_sesuai') border-danger bg-danger-light @enderror"
|
||||
name="jenis_asset_tidak_sesuai" style="{{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||
<option value="">Select Jenis asset</option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}" {{ old('jenis_asset_tidak_sesuai', $forminspeksi['jenis_asset_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Alamat</label>
|
||||
<div>
|
||||
|
||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||
<span class="text-2sm text-gray-700">
|
||||
{{ $dokumen->pemilik->address ?? '' }},
|
||||
<br> {{ $dokumen->pemilik->village->name ?? '' }},
|
||||
{{ $dokumen->pemilik->district->name ?? '' }}, {{ $dokumen->pemilik->city->name ?? '' }},
|
||||
{{ $dokumen->pemilik->province->name ?? '' }} -
|
||||
{{ $dokumen->pemilik->village->postal_code ?? '' }}
|
||||
</span>
|
||||
@endforeach
|
||||
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input onclick="toggleTidakSesuai('alamat_sesuai','alamat_tidak_sesuai')" type="radio"
|
||||
class="radio" name="alamat_sesuai" value="sesuai" {{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input onclick="toggleTidakSesuai('alamat_sesuai','alamat_tidak_sesuai')" type="radio"
|
||||
class="radio" name="alamat_sesuai" value="tidak sesuai" {{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
|
||||
<input type="text" name="alamat_tidak_sesuai" id="alamat_tidak_sesuai"
|
||||
class="input w-full" placeholder="Masukan jenis asset Tanah"
|
||||
value="{{ old('alamat_tidak_sesuai', $forminspeksi['alamat_tidak_sesuai'] ?? '') }}" style="{{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
<div class="grid gap-2 mt-5" >
|
||||
@php
|
||||
|
||||
$inputDataLoaksi = [];
|
||||
$inputDataLoaksi = [
|
||||
[
|
||||
'label' => 'Jl.',
|
||||
'index' => 0,
|
||||
'name' => 'nama_jalan',
|
||||
'value' => old(
|
||||
'nama_jalan', isset($forminspeksi['nama_jalan']) ? $forminspeksi['nama_jalan'] : '',
|
||||
),
|
||||
],
|
||||
|
||||
[
|
||||
'label' => 'Desa/Kelurahan',
|
||||
'index' => 3,
|
||||
'name' => 'desa_kelurahan',
|
||||
'value' => old(
|
||||
'desa_kelurahan', isset($forminspeksi['desa_kelurahan']) ? $forminspeksi['desa_kelurahan'] : '',
|
||||
)
|
||||
],
|
||||
[
|
||||
'label' => 'Kecamatan',
|
||||
'index' => 4,
|
||||
'name' => 'kecamatan',
|
||||
'value' => old(
|
||||
'kecamatan', isset($forminspeksi['kecamatan']) ? $forminspeksi['kecamatan'] : '',
|
||||
)
|
||||
],
|
||||
[
|
||||
'label' => 'Kota/Kabupaten',
|
||||
'index' => 5,
|
||||
'name' => 'kota_kabupaten',
|
||||
'value' => old(
|
||||
'kota_kabupaten', isset($forminspeksi['kota_kabupaten']) ? $forminspeksi['kota_kabupaten'] : '',
|
||||
)
|
||||
],
|
||||
[
|
||||
'label' => 'Provinsi',
|
||||
'index' => 6,
|
||||
'name' => 'provinsi',
|
||||
'value' => old(
|
||||
'provinsi', isset($forminspeksi['provinsi']) ? $forminspeksi['provinsi'] : '',
|
||||
)
|
||||
],
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}"
|
||||
value="{{ $item['value'] }}">
|
||||
|
||||
@error($item['name'])
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Titik Koordinat Google Maps</h1>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Koordinat</label>
|
||||
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
|
||||
<div class="grid grid-cols-2 gap-4 items-center w-full">
|
||||
<input class="input" type="text" name="kordinat_lat" id="lat"
|
||||
value="{{ old('kordinat_lat') }}" @readonly(true)>
|
||||
<input class="input" type="text" name="kordinat_lng" id="lng"
|
||||
value="{{ old('kordinat_lng') }}" @readonly(true)>
|
||||
</div>
|
||||
<button type="button" class="btn btn-sm btn-primary" onclick="getUserLocation()">Ambil Kordinat</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-text">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Status Kepemilikan</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Izin Bangunan</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">SPPT PBB</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Dokument Lainnya</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Hubungan cadeb/debitur dengan Pemilik Jaminan</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,7 +32,8 @@
|
||||
|
||||
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200"
|
||||
data-accordion-item="true" id="accordion_1_item_1">
|
||||
<button class="accordion-toggle py-4 group mx-8" data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
|
||||
<button class="accordion-toggle py-4 group mx-8"
|
||||
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
|
||||
<span class="text-base text-gray-900 font-medium">
|
||||
Jaminan {{ $loop->index + 1 }}
|
||||
</span>
|
||||
@@ -124,720 +125,96 @@
|
||||
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form id="debiturForm"
|
||||
action="{{ isset($analisa->id) ? route('debitur.update', $analisa->id) : route('surveyor.store') }}"
|
||||
method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||
@if (isset($analisa->id))
|
||||
<input type="hidden" name="id" value="{{ $analisa->id }}">
|
||||
@method('PUT')
|
||||
@endif
|
||||
@csrf
|
||||
{{-- <div class="card">
|
||||
<div class="card-body"> --}}
|
||||
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||
@if (isset($analisa->id))
|
||||
<input type="hidden" name="id" value="{{ $analisa->id }}">
|
||||
@method('PUT')
|
||||
@endif
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||
|
||||
@php
|
||||
$analisaType = 'unknown';
|
||||
$data = [
|
||||
'tanah' => 'Tanah',
|
||||
'unit_rumah' => 'Rumah Tinggal / Ruko (Unit) / Apartemen (Unit) / Gudang',
|
||||
'tanah_bangunan' => 'Kawasan Industrial / Komersil / Residensial - Perumahan',
|
||||
'unit_gedung' => 'Gedung Apartement / Kantor / Condotel (Strata Title)',
|
||||
'tanah_bangunan' => 'Mall',
|
||||
];
|
||||
@php
|
||||
$analisaType = 'unknown';
|
||||
$data = [
|
||||
'tanah' => 'Tanah',
|
||||
'unit_rumah' => 'Rumah Tinggal / Ruko (Unit) / Apartemen (Unit) / Gudang',
|
||||
'tanah_bangunan' => 'Kawasan Industrial / Komersil / Residensial - Perumahan',
|
||||
'unit_gedung' => 'Gedung Apartement / Kantor / Condotel (Strata Title)',
|
||||
'tanah_bangunan' => 'Mall',
|
||||
];
|
||||
|
||||
if (isset($analisa->id)) {
|
||||
$analisaType = $analisa->type;
|
||||
} else {
|
||||
foreach ($data as $key => $value) {
|
||||
if (
|
||||
isset($jenisJaminanData) &&
|
||||
trim(strtolower($jenisJaminanData)) === trim(strtolower($value))
|
||||
) {
|
||||
$analisaType = $key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($analisaType === 'tanah') {
|
||||
$analisaType = 'tanah_bangunan';
|
||||
if (isset($analisa->id)) {
|
||||
$analisaType = $analisa->type;
|
||||
} else {
|
||||
foreach ($data as $key => $value) {
|
||||
if (
|
||||
isset($jenisJaminanData) &&
|
||||
trim(strtolower($jenisJaminanData)) === trim(strtolower($value))
|
||||
) {
|
||||
$analisaType = $key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($analisaType === 'tanah') {
|
||||
$analisaType = 'tanah_bangunan';
|
||||
}
|
||||
|
||||
if ($analisaType === 'unit_rumah' || $analisaType === 'unit_gedung') {
|
||||
$analisaType = 'unit';
|
||||
}
|
||||
if ($analisaType === 'unit_rumah' || $analisaType === 'unit_gedung') {
|
||||
$analisaType = 'unit';
|
||||
}
|
||||
|
||||
@endphp
|
||||
@endphp
|
||||
|
||||
<input type="hidden" name="action" value="{{ $analisaType }}">
|
||||
<input type="hidden" name="type" value="{{ $analisaType }}">
|
||||
<input type="hidden" name="action" value="{{ $analisaType }}">
|
||||
<input type="hidden" name="type" value="{{ $analisaType }}">
|
||||
|
||||
@if ($analisaType == 'tanah_bangunan')
|
||||
@include('lpj::surveyor.components.tanah')
|
||||
@elseif($analisaType == 'unit')
|
||||
@include('lpj::surveyor.components.apartemen-kantor')
|
||||
@elseif($analisaType == 'alat-berat')
|
||||
@include('lpj::surveyor.components.alat-berat')
|
||||
@elseif($analisaType == 'mesin')
|
||||
@include('lpj::surveyor.components.mesin')
|
||||
@elseif($analisaType == 'kapal')
|
||||
@include('lpj::surveyor.components.kapal')
|
||||
@elseif($analisaType == 'kendaraan')
|
||||
@include('lpj::surveyor.components.kendaraan')
|
||||
@endif
|
||||
@if ($analisaType == 'tanah_bangunan')
|
||||
@include('lpj::surveyor.components.tanah')
|
||||
@elseif($analisaType == 'unit')
|
||||
@include('lpj::surveyor.components.apartemen-kantor')
|
||||
@elseif($analisaType == 'alat-berat')
|
||||
@include('lpj::surveyor.components.alat-berat')
|
||||
@elseif($analisaType == 'mesin')
|
||||
@include('lpj::surveyor.components.mesin')
|
||||
@elseif($analisaType == 'kapal')
|
||||
@include('lpj::surveyor.components.kapal')
|
||||
@elseif($analisaType == 'kendaraan')
|
||||
@include('lpj::surveyor.components.kendaraan')
|
||||
@elseif($analisaType == 'pesawat')
|
||||
@include('lpj::surveyor.components.pesawat')
|
||||
@endif
|
||||
|
||||
@if($analisaType == 'tanah_bangunan')
|
||||
@include('lpj::surveyor.components.bangunan')
|
||||
@endif
|
||||
@if ($analisaType == 'tanah_bangunan')
|
||||
@include('lpj::surveyor.components.bangunan')
|
||||
@endif
|
||||
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal')
|
||||
<div class=" bg-white rounded-lg overflow-hidden">
|
||||
<div class=" text-white py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Lingkungan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<!-- Jarak dari Objek Utama -->
|
||||
<div class="bg-gray-50 rounded-lg">
|
||||
<div class="grid grid-cols-3 gap-5">
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Jarak Dari Jalan
|
||||
Utama</label>
|
||||
<input type="text" class="input mt-2" name="jarak_jalan_utama" placeholder="Km"
|
||||
value="{{ old('jarak_jalan_utama', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->jarak_jalan_utama : '') }}">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Jarak ke CBD Point</label>
|
||||
<input type="text" class="input mt-2" name="jarak_cbd_point" placeholder="Km"
|
||||
value="{{ old('jarak_cbd_point', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->jarak_cbd_point : '') }}">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan
|
||||
objek</label>
|
||||
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2"
|
||||
placeholder="Meter"
|
||||
value="{{ old('lebar_perkerasan_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lebar_perkerasan_jalan : '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Alamat</label>
|
||||
<input type="text" name="alamat" class="input mt-2"
|
||||
placeholder="Masukkan Nama Jalan"
|
||||
value="{{ old('alamat', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->alamat : '') }}">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Perkerasan Jalan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('perkerasan_jalan') border-danger bg-danger-light @enderror"
|
||||
name="perkerasan_jalan">
|
||||
<option value="">Select Perkerasan Jalan</option>
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('perkerasan_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->perkerasan_jalan : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('perkerasan_jalan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Lalulintas -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Lalulintas Depan Lokasi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('lalu_lintas') border-danger bg-danger-light @enderror"
|
||||
name="lalu_lintas">
|
||||
<option value="">Select Lalulintas Depan Lokasi</option>
|
||||
@if (isset($laluLintasLokasi))
|
||||
@foreach ($laluLintasLokasi as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('lalu_lintas', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lalu_lintas : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('lalu_lintas')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Golongan Hidup Sekitar -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Golongan Hidup Sekitar</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('gol_mas_sekitar') border-danger bg-danger-light @enderror"
|
||||
name="gol_mas_sekitar">
|
||||
<option value="">Select Golongan Hidup Sekitar</option>
|
||||
|
||||
@if (isset($golMasySekitar))
|
||||
@foreach ($golMasySekitar as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('gol_mas_sekitar', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->gol_mas_sekitar : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('gol_mas_sekitar')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tingkat Keramaian -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tingkat Keramaian</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('tingkat_keramaian') border-danger bg-danger-light @enderror"
|
||||
name="tingkat_keramaian">
|
||||
<option value="">Select Tingkat Keramaian</option>
|
||||
@if (isset($tingkatKeramaian))
|
||||
@foreach ($tingkatKeramaian as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('tingkat_keramaian', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->tingkat_keramaian : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('tingkat_keramaian')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tataletak di Area -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tataletak di Area</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('terletak_diarea') border-danger bg-danger-light @enderror"
|
||||
name="terletak_diarea">
|
||||
<option value="">Select Tataletak di Area</option>
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('terletak_diarea', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->terletak_diarea : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('terletak_diarea')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Struktru tata letak -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Struktru tata letak</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="disekitar_lokasi" value="tidak"
|
||||
{{ old('disekitar_lokasi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->disekitar_lokasi : '') == 'tidak' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Telah Ada Bangunan</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="disekitar_lokasi" value="ya"
|
||||
{{ old('disekitar_lokasi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->disekitar_lokasi : '') == 'ya' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Belum Ada Bangunan</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@error('disekitar_lokasi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dekat Makam -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dekat Makamh</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="dekat_makam" value="ya"
|
||||
{{ old('dekat_makam', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_makam : '') == 'ya' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="dekat_makam" value="tidak"
|
||||
{{ old('dekat_makam', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_makam : '') == 'tidak' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@error('dekatMakam')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal' && $analisaType != 'kendaraan' && $analisaType != 'pesawat')
|
||||
@include('lpj::surveyor.components.lingkungan')
|
||||
@endif
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dekat Tps</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="dekat_tps" value="ya"
|
||||
{{ old('dekat_tps', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_tps : '') == 'ya' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="dekat_tps" value="tidak"
|
||||
{{ old('dekat_tps', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_tps : '') == 'tidak' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
@include('lpj::surveyor.components.fakta')
|
||||
|
||||
@error('dekatTps')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Merupakan daerah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('merupakan_daerah') border-danger bg-danger-light @enderror"
|
||||
name="merupakan_daerah">
|
||||
<option value="">Select Merupakan daerah</option>
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('merupakan_daerah', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->merupakan_daerah : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('merupakan_daerah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Fasilitas Umum Sekitar -->
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Fasilitas Umum dekat Object</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('fasilitas_dekat_object') border-danger bg-danger-light @enderror"
|
||||
name="fasilitas_dekat_object">
|
||||
<option value="">Select Fasilitas Umum Ddekat Object</option>
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('fasilitas_dekat_object', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->fasilitas_dekat_object : '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('fasilitas_dekat_object')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||
<button type="button" class="btn btn-success" id="saveButton" onclick="submitData()">
|
||||
<span id="saveButtonText">Save</span>
|
||||
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;" id="saveButtonSpinner">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class=" bg-white rounded-lg overflow-hidden">
|
||||
<div class=" py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Fakta</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Positif</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="fakta_positif" rows="3">{{ old('fakta_positif', isset($analisa->analisaFakta) ? $analisa->analisaFakta->fakta_positif : '') }}</textarea>
|
||||
@error('fakta_positif')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Negatif</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="fakta_negatif" rows="3">{{ old('fakta_negatif', isset($analisa->analisaFakta) ? $analisa->analisaFakta->fakta_negatif : '') }}</textarea>
|
||||
@error('fakta_negatif')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal')
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Rute Menuju</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju', isset($analisa->analisaFakta) ? $analisa->analisaFakta->rute_menuju : '') }}</textarea>
|
||||
@error('rute_menuju')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Batas batas</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 gap-4 items-center w-full">
|
||||
<div>
|
||||
<select class="select mt-2" name="batas_batas">
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->id }}"
|
||||
{{ old('batas_batas', isset($analisa->analisaFakta) ? $analisa->analisaFakta->batas_batas : '') == $item->id ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input name="keteranganBatas" type="text" class="input mt-2">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@error('batas_batas')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="kondisi_linkungan" rows="3">{{ old('kondisi_linkungan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kondisi_linkungan : '') }}</textarea>
|
||||
@error('kondisi_linkungan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi lain terkait Bangunan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="kondisi_lain_bangunan" rows="3">{{ old('kondisi_lain_bangunan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kondisi_lain_bangunan : '') }}</textarea>
|
||||
@error('kondisi_lain_bangunan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea mt-2" name="informasi_dokument" rows="3">{{ old('informasi_dokument', isset($analisa->analisaFakta) ? $analisa->analisaFakta->informasi_dokument : '') }}</textarea>
|
||||
@error('informasi_dokument')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Informasi Tata Ruang -->
|
||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal')
|
||||
|
||||
<div class="">
|
||||
<!-- Header -->
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Informasi Dinas Tata Ruang</h1>
|
||||
</div>
|
||||
|
||||
<!-- Informasi Tata Ruang Form -->
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Peruntukan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="peruntukan" class="input"
|
||||
placeholder="Masukkan Peruntukan"
|
||||
value="{{ old('peruntukan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->peruntukan : '') }}">
|
||||
@error('peruntukan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">KDB</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="kdb" class="input" placeholder="Masukkan KDB"
|
||||
value="{{ old('kdb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kdb : '') }}">
|
||||
@error('kdb')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">KDH</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="kdh" class="input" placeholder="Masukkan KDH"
|
||||
value="{{ old('kdh', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kdh : '') }}">
|
||||
@error('kdh')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">GSB</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="gsb" class="input" placeholder="Masukkan GSB"
|
||||
value="{{ old('gsb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->gsb : '') }}">
|
||||
@error('gsb')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Max Lantai</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="max_lantai" class="input"
|
||||
placeholder="Masukkan Max Lantai"
|
||||
value="{{ old('max_lantai', isset($analisa->analisaFakta) ? $analisa->analisaFakta->max_lantai : '') }}">
|
||||
@error('maxLantai')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">KLB</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="klb" class="input" placeholder="Masukkan KLB"
|
||||
value="{{ old('klb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->klb : '') }}">
|
||||
@error('klb')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">GSS</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="gss" class="input" placeholder="Masukkan GSS"
|
||||
value="{{ old('gss', isset($analisa->analisaFakta) ? $analisa->analisaFakta->gss : '') }}">
|
||||
@error('gss')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Pelebaran Jalan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="pelebaran_jalan" class="input"
|
||||
placeholder="Masukkan Pelebaran Jalan"
|
||||
value="{{ old('pelebaran_jalan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->pelebaran_jalan : '') }}">
|
||||
@error('pelebaran_jalan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nama Petugas TK</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="nama_petugas" class="input"
|
||||
placeholder="Masukkan Petugas TK"
|
||||
value="{{ old('nama_petugas', isset($analisa->analisaFakta) ? $analisa->analisaFakta->nama_petugas : '') }}">
|
||||
@error('nama_petugas')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Gistaru</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute[]" value="rute">
|
||||
<input id="inputRute" type="file" name="foto_rute"
|
||||
class="file-input file-input-bordered w-full" accept="image/*">
|
||||
<button id="gistaru" type="button" class="btn btn-light"
|
||||
onclick="openModal('gistaru')">
|
||||
<i class="ki-outline ki-abstract-33"></i> Gistaru
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Bumi</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<input id="inputRute" type="file" name="foto_rute"
|
||||
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
|
||||
<button id="bumi" type="button" class="btn btn-light"
|
||||
onclick="openModal('bumi')">
|
||||
<i class="ki-outline ki-abstract-33"></i> Bumi
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Peta Section -->
|
||||
|
||||
<div class="mt-2" style="margin-top: 20px">
|
||||
<input type="hidden" name="lat" id="lat"
|
||||
value="{{ old('lat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lat : '') }}">
|
||||
<input type="hidden" name="lng" id="lng"
|
||||
value="{{ old('lng', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lng : '') }}">
|
||||
<div class=" border p-6 rounded-lg shadow-lg flex items-center justify-center"
|
||||
style="height: 300px">
|
||||
<iframe id="mapFrame" frameborder="0" style="width: 100%; height: 100%;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Upload Photo Button -->
|
||||
<div class=" flex w-full mt-2" style="margin-top: 20px">
|
||||
<div class="flex flex-col input-group w-full">
|
||||
|
||||
<div>
|
||||
@if (old('foto_tempat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->foto_tempat : ''))
|
||||
<img src="{{ asset('storage/' . old('foto_tempat', $analisa->analisaFakta->foto_tempat)) }}"
|
||||
alt="Gambar Tempat" style="width: 18rem;">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<label for="" class="block text-sm font-medium text-gray-700">Upload Photo</label>
|
||||
<input class="file-input" name="foto_tempat"
|
||||
value="{{ old('foto_tempat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->foto_tempat : '') }}"
|
||||
type="file" accept="image/*" />
|
||||
|
||||
@error('foto_tempat')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Notes Section -->
|
||||
<div class="mt-2" style="margin-top: 20px">
|
||||
<div class="bg-white p-6 rounded-lg">
|
||||
<h4 class="block text-sm font-medium text-gray-700 mt-2">Catatan yang Perlu Diperhatikan
|
||||
</h4>
|
||||
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->keterangan : '') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||
<button type="submit" class="btn btn-success">
|
||||
Save
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{{-- </div>
|
||||
</div> --}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" data-modal="true" id="modal" data-backdrop="static" data-keyboard="false">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">Kunjungan</h3>
|
||||
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||
<i class="ki-outline ki-cross"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body" id="screenshotContainer" style="height: 500px">
|
||||
<iframe id="mapFrameGis" style="width: 100%; height: 100%;"></iframe>
|
||||
</div>
|
||||
<div class="modal-footer flex justify-end">
|
||||
<button id="takeScreenshot" class="btn btn-success">Take Screenshot</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script>
|
||||
function getMap(params) {
|
||||
const iframe = document.getElementById('mapFrameGis');
|
||||
const maps = [
|
||||
'https://gistaru.atrbpn.go.id/rtronline/',
|
||||
'https://bhumi.atrbpn.go.id/peta'
|
||||
];
|
||||
|
||||
iframe.src = maps[params];
|
||||
}
|
||||
|
||||
function openModal(type) {
|
||||
const modalGistaru = document.getElementById('gistaru');
|
||||
const modalBumi = document.getElementById('bumi');
|
||||
|
||||
if (type === 'bumi') {
|
||||
modalBumi.setAttribute('data-modal-toggle', '#modal');
|
||||
}else if (type === 'gistaru') {
|
||||
modalGistaru.setAttribute('data-modal-toggle', '#modal');
|
||||
}
|
||||
|
||||
getMap(type === 'gistaru' ? 0 : 1);
|
||||
}
|
||||
|
||||
document.getElementById('takeScreenshot').addEventListener('click', () => {
|
||||
const screenshotContainer = document.getElementById('screenshotContainer');
|
||||
const canvas = document.createElement('canvas');
|
||||
canvas.width = screenshotContainer.offsetWidth;
|
||||
canvas.height = screenshotContainer.offsetHeight;
|
||||
const ctx = canvas.getContext('2d');
|
||||
ctx.drawImage(document.getElementById('mapFrame'), 0, 0, canvas.width, canvas.height);
|
||||
const dataURL = canvas.toDataURL('image/jpeg');
|
||||
|
||||
// Tampilkan gambar di atas input
|
||||
const inputRute = document.getElementById('inputRute');
|
||||
const img = document.createElement('img');
|
||||
img.src = dataURL;
|
||||
img.style.maxWidth = '100%';
|
||||
img.style.maxHeight = '200px';
|
||||
inputRute.parentNode.insertBefore(img, inputRute);
|
||||
|
||||
// Isi input dengan data URL gambar
|
||||
inputRute.value = dataURL;
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
|
||||
<script>
|
||||
// Fungsi untuk mengambil lokasi pengguna
|
||||
function getUserLocation() {
|
||||
@@ -877,4 +254,65 @@
|
||||
}
|
||||
window.onload = getUserLocation;
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
function toggleTidakSesuai(field, inputId) {
|
||||
const selectedValue = $(`[name="${field}"]:checked, [name="${field}"]:checked`).val();
|
||||
const inputField = $(`#${inputId}`);
|
||||
|
||||
if (selectedValue === 'tidak sesuai' || selectedValue === 'lainnya') {
|
||||
inputField.show();
|
||||
} else {
|
||||
inputField.hide().val('');
|
||||
}
|
||||
}
|
||||
|
||||
function submitData() {
|
||||
const formElement = $('#formInspeksi')[0];
|
||||
const formData = new FormData(formElement);
|
||||
|
||||
// Disable the button and show the spinner
|
||||
$('#saveButton').prop('disabled', true);
|
||||
$('#saveButtonText').hide();
|
||||
$('#saveButtonSpinner').show();
|
||||
|
||||
$.ajax({
|
||||
url: '{{ route('surveyor.store') }}',
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
window.location.href =
|
||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=inspeksi';
|
||||
}
|
||||
console.log(response);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
let errors = xhr.responseJSON?.errors;
|
||||
$('.alert').text('');
|
||||
if (errors) {
|
||||
$.each(errors, function(key, value) {
|
||||
$(`#error-${key}`).text(value[0]);
|
||||
});
|
||||
}
|
||||
console.error('Terjadi error:', error); // Menampilkan pesan error di konsol
|
||||
console.log('Status:', status);
|
||||
console.log('Response:', xhr.responseText);
|
||||
console.log(errors);
|
||||
},
|
||||
complete: function() {
|
||||
// Re-enable the button and hide the spinner
|
||||
$('#saveButton').prop('disabled', false);
|
||||
$('#saveButtonText').show();
|
||||
$('#saveButtonSpinner').hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -8,52 +8,18 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
<input type="text" name="hub_calon_debitur" class="input"
|
||||
placeholder="Masukkan Hubungan Calon Debitur">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
@error('hub_calon_debitur')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
@php
|
||||
$inputDataLoaksi = [];
|
||||
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1],
|
||||
['label' => 'Blok/Nomor', 'index' => 2],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3],
|
||||
['label' => 'Kecamatan', 'index' => 4],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5],
|
||||
['label' => 'Provinsi', 'index' => 6]
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
|
||||
</div>
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||
</div>
|
||||
@@ -13,10 +16,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
||||
</div>
|
||||
@@ -44,46 +49,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputDataLoaksi = [];
|
||||
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1],
|
||||
['label' => 'Blok/Nomor', 'index' => 2],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3],
|
||||
['label' => 'Kecamatan', 'index' => 4],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5],
|
||||
['label' => 'Provinsi', 'index' => 6],
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
||||
</div>
|
||||
@@ -158,3 +131,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
308
resources/views/surveyor/components/lingkungan.blade.php
Normal file
308
resources/views/surveyor/components/lingkungan.blade.php
Normal file
@@ -0,0 +1,308 @@
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<div class=" text-white py-4">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Lingkungan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<!-- Jarak dari Objek Utama -->
|
||||
<div class=" rounded-lg">
|
||||
<div class="grid grid-cols-2 gap-5">
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Jarak Dari Jalan
|
||||
Utama</label>
|
||||
<input type="text" class="input mt-2" name="jarak_jalan_utama" placeholder="Km"
|
||||
value="{{ old('jarak_jalan_utama', isset($forminspeksi['jarak_jalan_utama']) ? $forminspeksi['jarak_jalan_utama'] : '') }}">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Jalan</label>
|
||||
<input type="text" name="jalan_linkungan" class="input mt-2"
|
||||
placeholder="Masukkan Nama Jalan"
|
||||
value="{{ old('jalan_linkungan', isset($forminspeksi['jalan_linkungan']) ? $forminspeksi['jalan_linkungan'] : '') }}">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Jarak ke CBD Point</label>
|
||||
<input type="text" class="input mt-2" name="jarak_cbd_point" placeholder="Km"
|
||||
value="{{ old('jarak_cbd_point', isset($forminspeksi['jarak_cbd_point']) ? $forminspeksi['jarak_cbd_point'] : '') }}">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700">Nama CBD Point</label>
|
||||
<input type="text" class="input mt-2" name="nama_cbd_point" placeholder="Km"
|
||||
value="{{ old('nama_cbd_point', isset($forminspeksi['nama_cbd_point']) ? $forminspeksi['nama_cbd_point'] : '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full mt-4">
|
||||
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan
|
||||
objek</label>
|
||||
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2" placeholder="Meter"
|
||||
value="{{ old('lebar_perkerasan_jalan', isset($forminspeksi['lebar_perkerasan_jalan']) ? $forminspeksi['lebar_perkerasan_jalan'] : '') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Perkerasan Jalan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex gap-12">
|
||||
@if (isset($perkerasanJalan))
|
||||
@foreach ($perkerasanJalan as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="perkerasan_jalan" type="checkbox" value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-perkerasan-jalan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Lalulintas -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Lalu Lintas Depan Lokasi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($laluLintasLokasi))
|
||||
@foreach ($laluLintasLokasi as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="lalu_lintas[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, explode(',', old('lalu_lintas', $forminspeksi['lalu_lintas'] ?? ''))) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-lalu-lintas" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Golongan Hidup Sekitar -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Golongan Masy Sekitar</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($golMasySekitar))
|
||||
@foreach ($golMasySekitar as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="gol_mas_sekitar[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, explode(',', old('gol_mas_sekitar', $forminspeksi['gol_mas_sekitar'] ?? ''))) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-gol_mas_sekitar" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tingkat Keramaian -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tingkat Keramaian</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($tingkatKeramaian))
|
||||
@foreach ($tingkatKeramaian as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="tingkat_keramaian[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, explode(',', old('tingkat_keramaian', $forminspeksi['tingkat_keramaian'] ?? ''))) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-tingkat_keramaian" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Terletak Di Area -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Terletak Di Area</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="terletak_diarea[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, explode(',', old('terletak_diarea', $forminspeksi['terletak_diarea'] ?? ''))) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Dekat Makam -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dekat Makam</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col gap-2 mt-2">
|
||||
<div class="flex w-full items-center gap-4">
|
||||
<label class="text-sm flex items-center gap-2.5 text-nowrap">
|
||||
<input onclick="toggledekatMakam(true)" type="radio" class="radio"
|
||||
name="dekat_makam" value="ya"
|
||||
{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }} />
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<div id="dekat-makam" class="grid grid-cols-2 gap-4"
|
||||
style="{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'ya' ? 'visibility: visible; height: auto;' : 'visibility: hidden; height: 0;' }}">
|
||||
<div class="flex items-center gap-2">
|
||||
<label for="">Jarak</label>
|
||||
<input type="text" class="input mt-2" name="jarak_makam"
|
||||
value="{{ old('jarak_makam', $forminspeksi['jarak_makam'] ?? '') }}"
|
||||
placeholder="Km">
|
||||
</div>
|
||||
<input type="text" class="input mt-2" name="nama_makam"
|
||||
value="{{ old('nama_makam', $forminspeksi['nama_makam'] ?? '') }}"
|
||||
placeholder="Nama TPU">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input onclick="toggledekatMakam(false)" type="radio" class="radio"
|
||||
name="dekat_makam" value="tidak"
|
||||
{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }} />
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-dekat_makam" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dekat Tps -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dekat Tps</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col gap-2 mt-2">
|
||||
<div class="flex w-full items-center gap-4">
|
||||
<label onclick="toggledekatTps(true)"
|
||||
class="text-sm flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="dekat_tps" value="ya"
|
||||
{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }} />
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<div id="dekat-tps" class="grid grid-cols-2 gap-4"
|
||||
style="{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'ya' ? 'visibility: visible; height: auto;' : 'visibility: hidden; height: 0;' }}">
|
||||
<div class="flex items-center gap-2">
|
||||
<label for="">Jarak</label>
|
||||
<input type="text" class="input mt-2" name="jarak_tps"
|
||||
value="{{ old('jarak_tps', $forminspeksi['jarak_tps'] ?? '') }}"
|
||||
placeholder="Km">
|
||||
</div>
|
||||
<input type="text" class="input mt-2" name="nama_tps"
|
||||
value="{{ old('nama_tps', $forminspeksi['nama_tps'] ?? '') }}"
|
||||
placeholder="Nama TPS">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input onclick="toggledekatTps(false)" type="radio" class="radio" name="dekat_tps"
|
||||
value="tidak"
|
||||
{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }} />
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-dekat_tps" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Merupakan daerah -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Merupakan daerah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="merupakan_daerah[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, explode(',', old('merupakan_daerah', $forminspeksi['merupakan_daerah'] ?? []))) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-merupakan_daerah" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Fasilitas Umum Sekitar -->
|
||||
<!-- Fasilitas Umum Sekitar -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Fasilitas Umum dekat Object</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
@php
|
||||
|
||||
$selectedFasilitas = is_array(
|
||||
old('fasilitas_dekat_object', $forminspeksi['fasilitas_dekat_object'] ?? []),
|
||||
)
|
||||
? old('fasilitas_dekat_object', $forminspeksi['fasilitas_dekat_object'] ?? [])
|
||||
: explode(
|
||||
',',
|
||||
old(
|
||||
'fasilitas_dekat_object',
|
||||
$forminspeksi['fasilitas_dekat_object'] ?? '',
|
||||
),
|
||||
);
|
||||
@endphp
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="fasilitas_dekat_object[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, $selectedFasilitas) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-fasilitas_dekat_object" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
function toggledekatMakam(value) {
|
||||
const selectElement = document.getElementById('dekat-makam');
|
||||
if (value) {
|
||||
selectElement.style.visibility = 'visible';
|
||||
selectElement.style.height = 'auto';
|
||||
} else {
|
||||
selectElement.style.visibility = 'hidden';
|
||||
selectElement.style.height = '0';
|
||||
}
|
||||
}
|
||||
|
||||
function toggledekatTps(value) {
|
||||
const selectElement = document.getElementById('dekat-tps');
|
||||
if (value) {
|
||||
selectElement.style.visibility = 'visible';
|
||||
selectElement.style.height = 'auto';
|
||||
} else {
|
||||
selectElement.style.visibility = 'hidden';
|
||||
selectElement.style.height = '0';
|
||||
}
|
||||
}
|
||||
|
||||
function toggledisekitarLokasi(value) {
|
||||
const selectElement = document.getElementById('disekitarLokasi');
|
||||
if (value) {
|
||||
selectElement.style.visibility = 'visible';
|
||||
selectElement.style.height = 'auto';
|
||||
} else {
|
||||
selectElement.style.visibility = 'hidden';
|
||||
selectElement.style.height = '0';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
38
resources/views/surveyor/components/lokasi-jaminan.blade.php
Normal file
38
resources/views/surveyor/components/lokasi-jaminan.blade.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
|
||||
@php
|
||||
|
||||
$inputDataLoaksi = [];
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0, 'name' => 'nama_jalan', 'value' => old('lokasi_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_jalan : '')],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1, 'name' => 'perumahan_gang', 'value' => old('lokasi_perumahan_gang', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_perumahan_gang : '')],
|
||||
['label' => 'Blok/Nomor', 'index' => 2, 'name' => 'blok_nomor', 'value' => old('lokasi_blok_nomor', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_blok_nomor : '')],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3, 'name' => 'desa_kelurahan', 'value' => old('lokasi_desa_kelurahan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_desa_kelurahan : '')],
|
||||
['label' => 'Kecamatan', 'index' => 4, 'name' => 'kecamatan' , 'value' => old('lokasi_kecamatan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kecamatan : '')],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5, 'name' => 'kota_kotamadya', 'value' => old('lokasi_kota_kotamadya', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kota_kotamadya : '')],
|
||||
['label' => 'Provinsi', 'index' => 6, 'name' => 'provinsi', 'value' => old('lokasi_provinsi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_provinsi : '')],
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
|
||||
|
||||
@error($item['name'])
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
@@ -16,42 +16,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputDataLoaksi = [];
|
||||
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1],
|
||||
['label' => 'Blok/Nomor', 'index' => 2],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3],
|
||||
['label' => 'Kecamatan', 'index' => 4],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5],
|
||||
['label' => 'Provinsi', 'index' => 6]
|
||||
];
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
580
resources/views/surveyor/components/pesawat.blade.php
Normal file
580
resources/views/surveyor/components/pesawat.blade.php
Normal file
@@ -0,0 +1,580 @@
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input" placeholder="Masukkan Hubungan Calon Debitur">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Hubungan Wakil Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input" placeholder="Masukkan Hubungan Calon Debitur">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Data Data Umum</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Pesawat</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
|
||||
name="hadapMataAngin">
|
||||
<option value="">Select Model Kendaraan </option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('hadapMataAngin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Size</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
|
||||
name="hadapMataAngin">
|
||||
<option value="">Select Model Kendaraan </option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('hadapMataAngin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
|
||||
name="hadapMataAngin">
|
||||
<option value="">Select Model Kendaraan </option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('hadapMataAngin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$inputDataJaminan = [];
|
||||
|
||||
$inputDataJaminan = [
|
||||
['label' => 'Nama Pesawat', 'index' => 0],
|
||||
['label' => 'Model', 'index' => 1],
|
||||
['label' => 'Nomor Registrasi', 'index' => 2],
|
||||
['label' => 'Tahun Pembuatan', 'index' => 3],
|
||||
['label' => 'Certificate of Airworthines (C of A)', 'index' => 4],
|
||||
[
|
||||
'label' => 'Certificate of Registration (C of A)',
|
||||
'index' => 5,
|
||||
],
|
||||
|
||||
[
|
||||
'label' => 'Total Service Hours (TSN - Total Time Since New)',
|
||||
'index' => 6,
|
||||
],
|
||||
[
|
||||
'label' => 'Total Service Cycles (CSN - Cycle Since New)',
|
||||
'index' => 7,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataJaminan) > 0)
|
||||
@foreach ($inputDataJaminan as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Maintainence Data</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
@php
|
||||
$inputMaintenece = [];
|
||||
$inputMaintenece = [
|
||||
['label' => 'Last A Check', 'index' => 0],
|
||||
['label' => 'Next A Check', 'index' => 1],
|
||||
['label' => 'Last B Check', 'index' => 2],
|
||||
['label' => 'Next B Check', 'index' => 3],
|
||||
['label' => 'Last C Check', 'index' => 4],
|
||||
['label' => 'Next C Check', 'index' => 5],
|
||||
['label' => 'Next D Check (Overhaul)', 'index' => 6],
|
||||
['label' => 'Last D Check (Overhaul)', 'index' => 7],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputMaintenece) > 0)
|
||||
@foreach ($inputMaintenece as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Fungsi konfigurasi</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
@php
|
||||
$inputFungsiKonfigurasi = [];
|
||||
$inputFungsiKonfigurasi = [
|
||||
['label' => 'Instrument Landing System (ILS)', 'index' => 0],
|
||||
['label' => 'Traffic Collision Avoidance System (TCAS)', 'index' => 1],
|
||||
['label' => 'Windshear', 'index' => 2],
|
||||
['label' => 'Electronic Flight Instrument System (EFIS)', 'index' => 3],
|
||||
['label' => 'Winglets ', 'index' => 4],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputFungsiKonfigurasi) > 0)
|
||||
@foreach ($inputFungsiKonfigurasi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Kabin pesawat</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
@php
|
||||
$inputMaintenece = [];
|
||||
$inputMaintenece = [
|
||||
['label' => 'Maksimal Penumpang', 'index' => 0],
|
||||
['label' => 'Jumlah Kursi', 'index' => 1],
|
||||
['label' => 'Kursi Pramugari/Pramugara', 'index' => 2],
|
||||
['label' => 'Kartu Fitur keselamatan', 'index' => 3],
|
||||
['label' => 'Sabuk Pengaman', 'index' => 4],
|
||||
['label' => 'Lampu Kabin', 'index' => 5],
|
||||
['label' => 'Lampu Pintu Keluar', 'index' => 6],
|
||||
['label' => 'Intercom Kabin', 'index' => 7],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputMaintenece) > 0)
|
||||
@foreach ($inputMaintenece as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Struktur Pesawat</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Badan pesawat', 'index' => 0],
|
||||
['label' => 'Sayap Pesawat', 'index' => 1],
|
||||
['label' => 'Ekor peswat', 'index' => 2],
|
||||
['label' => 'Landing Gear', 'index' => 3],
|
||||
['label' => 'Sabuk Pengaman', 'index' => 4],
|
||||
['label' => 'Sistem Pengelasan', 'index' => 5],
|
||||
];
|
||||
@endphp
|
||||
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Fungsi Navigasi dan Komunikasi</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Gps', 'index' => 0],
|
||||
['label' => 'Radar', 'index' => 1],
|
||||
['label' => 'Radio Komunikasi', 'index' => 2],
|
||||
['label' => 'Lampu Navigasi', 'index' => 3],
|
||||
['label' => 'Sistem Autopilot', 'index' => 4],
|
||||
];
|
||||
@endphp
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Sistem Bahan Bakar dan Hidrolic</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Tangki Bahan Bakar', 'index' => 0],
|
||||
['label' => 'Saluran & Pipa Bahan Bakar', 'index' => 1],
|
||||
['label' => 'Pompa Bahan Bakar', 'index' => 2],
|
||||
['label' => 'Sistem Hidrolik Utama', 'index' => 3],
|
||||
['label' => 'Sistem Pendigin Hidrolik', 'index' => 4],
|
||||
];
|
||||
@endphp
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Mesin dan Propulis</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Mesin Utama', 'index' => 0],
|
||||
['label' => 'Sistem Pendorong', 'index' => 1],
|
||||
['label' => 'Sistem Pendigin Mesin', 'index' => 2],
|
||||
['label' => 'Sistem pelumasan', 'index' => 3],
|
||||
['label' => 'Filter dan Perangkat Pendukung', 'index' => 4],
|
||||
];
|
||||
@endphp
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Fungsi keselamatan dan darurat</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Jaket pelampung', 'index' => 0],
|
||||
['label' => 'Pintu darurat', 'index' => 1],
|
||||
['label' => 'Alat Pemadaman Kebakaran', 'index' => 2],
|
||||
['label' => 'Sistem Alaram Darurat', 'index' => 3],
|
||||
['label' => 'Sekoci', 'index' => 4],
|
||||
['label' => 'Masker Oksigen', 'index' => 4],
|
||||
['label' => 'Sabuk Pengaman', 'index' => 4],
|
||||
];
|
||||
@endphp
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Interior dan Sistem Pendukung Kabin</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
$inputStrukturPeswat = [];
|
||||
$inputStrukturPeswat = [
|
||||
['label' => 'Sistem ventilasi & AC', 'index' => 0],
|
||||
['label' => 'Sistem Penerangan Kabin', 'index' => 1],
|
||||
['label' => 'Panel Informasi Penumpang', 'index' => 2],
|
||||
['label' => 'Sistem Hiburan Kabin', 'index' => 3],
|
||||
];
|
||||
@endphp
|
||||
@if (count($inputStrukturPeswat) > 0)
|
||||
@foreach ($inputStrukturPeswat as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="bentuk_tanah" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea name="deskripsi" id="" class="textarea"></textarea>
|
||||
@error('deskripsi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,248 +1,371 @@
|
||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisa Tanah</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
@include('lpj::surveyor.components.header')
|
||||
|
||||
<!-- Luas tanah -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Luas Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas" value="sesuai"
|
||||
{{ old('luas') == 'sesuai' && $analisa->luas ? 'checked' : '' }}>
|
||||
<span class="ml-2">Sesuai</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas" value="tidak sesuai"
|
||||
{{ old('luas') == 'tidak sesuai' && $analisa->luas ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak Sesuai</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-body">
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisa Tanah</h1>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
|
||||
name="hadapMataAngin">
|
||||
<option value="">Select Hadap Mata Angin</option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
<div class="grid gap-5">
|
||||
<!-- Luas tanah -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Luas Tanah</label>
|
||||
<div class="mt-2">
|
||||
@if (isset($permohonan->debiture->documents))
|
||||
@foreach ($permohonan->debiture->documents as $item)
|
||||
@php
|
||||
$details = json_decode($item->detail);
|
||||
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
||||
@endphp
|
||||
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m2</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('hadapMataAngin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
|
||||
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
|
||||
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Sesuai</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
||||
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
|
||||
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak Sesuai</span>
|
||||
</label>
|
||||
<input type="text" name="luas_tanah_tidak_sesuai" id="luas_tanah_tidak_sesuai"
|
||||
class="input w-full" placeholder="Masukan Luas Tanah"
|
||||
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['luas_tanah_tidak_sesuai'] ?? '') }}"
|
||||
style="{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||
</div>
|
||||
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bentuk Tanah -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Bentuk Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('bentuk_tanah') border-danger bg-danger-light @enderror"
|
||||
name="bentuk_tanah">
|
||||
<option value="">Select Bentuk Tanah</option>
|
||||
@if (isset($bentukTanah))
|
||||
@foreach ($bentukTanah as $item)
|
||||
|
||||
@if (isset($analisa) && isset($analisa->analisaTanahBangunan))
|
||||
<option value="{{ $item->name }}"
|
||||
{{ $analisa->analisaTanahBangunan->bentuk_tanah == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
@else
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('bentuk_tanah') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
|
||||
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')"
|
||||
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Sesuai</span>
|
||||
</label>
|
||||
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
|
||||
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')"
|
||||
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak Sesuai</span>
|
||||
</label>
|
||||
|
||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||
<select id="hadap_mata_angin_tidak_sesuai"
|
||||
class="input w-full @error('hadap_mata_angin_tidak_sesuai') border-danger bg-danger-light @enderror"
|
||||
name="hadap_mata_angin_tidak_sesuai"
|
||||
style="{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||
<option value="">Select Hadap Mata Angin</option>
|
||||
@if (isset($arahMataAngin))
|
||||
@foreach ($arahMataAngin as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('bentuk_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kontur Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('kontur_tanah') border-danger bg-danger-light @enderror"
|
||||
name="kontur_tanah">
|
||||
<option value="">Select Kontur Tanah</option>
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('kontur_tanah', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_tanah) == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('kontur_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Beda Ketinggian Dengan Jalan -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('ketinggian_jalan') border-danger bg-danger-light @enderror"
|
||||
name="ketinggian_jalan">
|
||||
<option value="">Select Ketinggian Dengan Jalan</option>
|
||||
@if (isset($ketinggianTanah))
|
||||
@foreach ($ketinggianTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('ketinggian_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->ketinggian_jalan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('ketinggian_jalan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Kontur Jalan Depan Objek -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
|
||||
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'menurun' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Menurun</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="kontur_jalan" value="rata"
|
||||
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'rata' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Rata</span>
|
||||
</label>
|
||||
</select>
|
||||
</div>
|
||||
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
|
||||
@error('kontur_jalan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Posisi Kavling</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('posisi_kavling') border-danger bg-danger-light @enderror"
|
||||
name="posisi_kavling">
|
||||
<option value="">Select Posisi Kavling</option>
|
||||
@if (isset($posisiKavling))
|
||||
@foreach ($posisiKavling as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('posisi_kavling', isset($analisa) && optional($analisa->analisaTanahBangunan)->posisi_kavling) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
@error('posisi_kavling')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Tusuk Sate -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tusuk Sate</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="tusuk_sate" value="yes"
|
||||
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'yes' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="tusuk_sate" value="no"
|
||||
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'no' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
<!-- Bentuk Tanah -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Bentuk Tanah</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($bentukTanah))
|
||||
@foreach ($bentukTanah as $item)
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<div class="flex items-center">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('bentuk_tanah', [])) || (isset($forminspeksi['bentuk_tanah']) && in_array($item->name, $forminspeksi['bentuk_tanah'])) ? 'checked' : '' }}
|
||||
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input id="bentuk_tanah_lainnya" type="text" name="bentuk_tanah_lainnya"
|
||||
class="input w-full mt-2" placeholder="Masukkan bentuk tanah..."
|
||||
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')">
|
||||
</div>
|
||||
@else
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('bentuk_tanah', [])) || (isset($forminspeksi['bentuk_tanah']) && in_array($item->name, $forminspeksi['bentuk_tanah'])) ? 'checked' : '' }}
|
||||
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-bentuk_tanah" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
|
||||
@error('tusuk_sate')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Lockland -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Locklande</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="lockland" value="yes"
|
||||
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'yes' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="lockland" value="no"
|
||||
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'no' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
|
||||
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kontur Tanah</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($konturTanah))
|
||||
@foreach ($konturTanah as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-kontur_tanah" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
@error('lockland')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kondisi Fisik Tanah -->
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('kondisi_fisik_tanah') border-danger bg-danger-light @enderror"
|
||||
name="kondisi_fisik_tanah">
|
||||
<option value="">Select Posisi Kavling</option>
|
||||
@if (isset($kondisiFisikTanah))
|
||||
@foreach ($kondisiFisikTanah as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('kondisi_fisik_tanah', isset($analisa) && optional($analisa->analisaTanahBangunan)->kondisi_fisik_tanah) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
@error('kondisi_fisik_tanah')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
<!-- Beda Ketinggian Dengan Jalan -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
|
||||
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($ketinggianTanah))
|
||||
@foreach ($ketinggianTanah as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="ketinggian_jalan[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['ketinggian_jalan'] ?? [])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-ketinggian_jalan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Kontur Jalan Depan Objek -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
|
||||
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Menurun</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="kontur_jalan" value="rata"
|
||||
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
|
||||
<span class="ml-2">Rata</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-kontur_jalan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Posisi Kavling</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($posisiKavling))
|
||||
@foreach ($posisiKavling as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('posisi_kavling', [])) || (isset($forminspeksi['posisi_kavling']) && in_array($item->name, $forminspeksi['posisi_kavling'])) ? 'checked' : '' }} />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<div class="flex items-center">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||
value="{{ $item->name }}" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
<input type="text" name="posisi_kavling_lainnya" class="input mt-2"
|
||||
id="bentukTanahInput" placeholder="Masukkan Posisi Kavling">
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-posisi_kavling" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Tusuk Sate -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tusuk Sate</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="tusuk_sate" value="yes"
|
||||
{{ old('tusuk_sate') == 'yes' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'yes') ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="tusuk_sate" value="no"
|
||||
{{ old('tusuk_sate') == 'no' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'no') ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-tusuk_sate" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Lockland -->
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Lockland</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="lockland" value="yes"
|
||||
{{ old('lockland') == 'yes' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'yes') ? 'checked' : '' }}>
|
||||
<span class="ml-2">Ya</span>
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input type="radio" class="radio" name="lockland" value="no"
|
||||
{{ old('lockland') == 'no' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'no') ? 'checked' : '' }}>
|
||||
<span class="ml-2">Tidak</span>
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-lockland" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kondisi Fisik Tanah -->
|
||||
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($kondisiFisikTanah))
|
||||
@foreach ($kondisiFisikTanah as $item)
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['kondisi_fisik_tanah'])) ? 'checked' : '' }}
|
||||
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
|
||||
<!-- Display input field only if "lainnya" is selected -->
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<div class="flex items-center">
|
||||
<input type="text" name="kondisi_fisik_tanah_lainnya"
|
||||
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
|
||||
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
|
||||
value="{{ old('kondisi_fisik_tanah_lainnya') }}">
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<em id="error-kondisi_fisik_tanah" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
function handleSelectionChange() {
|
||||
const select = document.getElementById('bentukTanahSelect');
|
||||
const input = document.getElementById('bentukTanahInput');
|
||||
|
||||
if (select.value === 'lainnya') {
|
||||
input.style.display = 'block';
|
||||
input.value = ''; // Kosongkan input
|
||||
input.focus(); // Fokus pada input
|
||||
} else {
|
||||
input.style.display = 'none';
|
||||
input.value = select.value; // Isi input dengan nilai yang dipilih
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function toggleJenisAsset(params) {
|
||||
const inputData = document.querySelector(`input[name="${params}"]:checked`);
|
||||
const luasTanah = document.getElementById('jenis_asset');
|
||||
|
||||
if (inputData && inputData.value === 'tidak sesuai') {
|
||||
luasTanah.style.display = 'block';
|
||||
} else {
|
||||
luasTanah.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function toggleAlamat(params) {
|
||||
const inputData = document.querySelector(`input[name="${params}"]:checked`);
|
||||
const luasTanah = document.getElementById('alamat');
|
||||
|
||||
if (inputData && inputData.value === 'tidak sesuai') {
|
||||
luasTanah.style.display = 'block';
|
||||
} else {
|
||||
luasTanah.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function toggleTidakSesuaiHadap(showSelect) {
|
||||
const selectElement = document.getElementById('selectTidakSesuai');
|
||||
selectElement.style.display = showSelect ? 'block' : 'none';
|
||||
}
|
||||
|
||||
|
||||
const perwakilanContainer = document.getElementById('perwakilan');
|
||||
const addPerwakilanButton = document.getElementById('addPerwakilan');
|
||||
|
||||
// Tambahkan event listener untuk tombol "Tambah"
|
||||
addPerwakilanButton.addEventListener('click', function() {
|
||||
// Clone elemen ".perwakilan"
|
||||
const newDiv = perwakilanContainer.querySelector('.perwakilan').cloneNode(true);
|
||||
|
||||
newDiv.querySelector('input').value = '';
|
||||
const deleteButton = newDiv.querySelector('.delete-button');
|
||||
deleteButton.style.display = 'inline-block';
|
||||
|
||||
deleteButton.addEventListener('click', function() {
|
||||
newDiv.remove();
|
||||
});
|
||||
|
||||
perwakilanContainer.appendChild(newDiv);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -100,7 +100,6 @@
|
||||
<button type="submit" class="btn btn-primary " {{ $buttonDisable ? 'disabled' : '' }}>
|
||||
Submit
|
||||
</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -434,94 +434,6 @@ Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Form Pembanding');
|
||||
});
|
||||
|
||||
|
||||
Breadcrumbs::for('registrasi', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Registrasi', route('registrasi.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('registrasi.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasi');
|
||||
$trail->push('Tambah Registrasi');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('registrasi.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasi');
|
||||
$trail->push('Detail Permohona');
|
||||
});
|
||||
// andy add
|
||||
// andy add 20241009
|
||||
Breadcrumbs::for('tender.prosespenawaran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender');
|
||||
$trail->push('Data Proses Penawaran', route('tender.prosespenawaran.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaran.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaran');
|
||||
$trail->push('Tambah Data Proses Penawaran');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaran.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaran');
|
||||
$trail->push('Detail Data Proses Penawaran');
|
||||
});
|
||||
// andy add 20241009
|
||||
// andy add Proses Penawaran Ulang
|
||||
Breadcrumbs::for('tender.prosespenawaranulang', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender');
|
||||
$trail->push('Data Proses Penawaran Ulang', route('tender.prosespenawaranulang.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaranulang.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaranulang');
|
||||
$trail->push('Tambah Data Proses Penawaran Ulang');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaranulang.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaranulang');
|
||||
$trail->push('Detail Data Proses Penawaran Ulang');
|
||||
});
|
||||
// andy add Proses Penawaran Ulang
|
||||
// andy add Otorisasi Tender
|
||||
Breadcrumbs::for('otorisasitender', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Otorisasi Tender');
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender');
|
||||
$trail->push('Data Otorisasi Penawaran', route('otorisasitender.penawaran.index'));
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender.penawaran');
|
||||
$trail->push('Tambah Data Otorisasi Penawaran ');
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender.penawaran');
|
||||
$trail->push('Detail Data Otorisasi Penawaran');
|
||||
});
|
||||
// andy add Otorisasi Tender
|
||||
// spk
|
||||
Breadcrumbs::for('spk', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('SPK', route('spk.index'));
|
||||
});
|
||||
Breadcrumbs::for('spk.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('spk');
|
||||
$trail->push('Buat SPK');
|
||||
});
|
||||
// spk
|
||||
// andy add registrasi final
|
||||
Breadcrumbs::for('registrasifinal', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Registrasi Final', route('registrasifinal.index'));
|
||||
});
|
||||
Breadcrumbs::for('registrasifinal.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasifinal');
|
||||
$trail->push('Detail Registrasi Final');
|
||||
});
|
||||
Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasifinal');
|
||||
$trail->push('Tambah registrasifinal');
|
||||
});
|
||||
// andy add registrasi final
|
||||
|
||||
|
||||
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisator');
|
||||
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
|
||||
@@ -547,6 +459,7 @@ $basicDataRoutes = [
|
||||
'lantai-unit' => 'Lantai Unit',
|
||||
'view-unit' => 'View Unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'perkerasan-jalan' => 'Perkerasan jalan'
|
||||
];
|
||||
|
||||
|
||||
@@ -636,3 +549,6 @@ Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('basicdata');
|
||||
$trail->push('SLA', route('basicdata.sla.index'));
|
||||
});
|
||||
|
||||
// add andy
|
||||
require __DIR__ . '/breadcrumbs_registrasi.php';
|
||||
|
||||
95
routes/breadcrumbs_registrasi.php
Normal file
95
routes/breadcrumbs_registrasi.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
use Diglactic\Breadcrumbs\Breadcrumbs;
|
||||
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
|
||||
|
||||
// registrasi
|
||||
Breadcrumbs::for('registrasi', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Registrasi', route('registrasi.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('registrasi.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasi');
|
||||
$trail->push('Tambah Registrasi');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('registrasi.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasi');
|
||||
$trail->push('Detail Permohona');
|
||||
});
|
||||
// registrasi
|
||||
// prosespenawaran
|
||||
Breadcrumbs::for('tender.prosespenawaran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender');
|
||||
$trail->push('Data Proses Penawaran', route('tender.prosespenawaran.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaran.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaran');
|
||||
$trail->push('Tambah Data Proses Penawaran');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaran.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaran');
|
||||
$trail->push('Detail Data Proses Penawaran');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaran.editulang', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaran');
|
||||
$trail->push('Tambah Data Proses Penawaran Ulang');
|
||||
});
|
||||
// prosespenawaran
|
||||
// Proses Penawaran Ulang
|
||||
Breadcrumbs::for('tender.prosespenawaranulang', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender');
|
||||
$trail->push('Data Proses Penawaran Ulang', route('tender.prosespenawaranulang.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaranulang.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaranulang');
|
||||
$trail->push('Tambah Data Proses Penawaran Ulang');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('tender.prosespenawaranulang.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('tender.prosespenawaranulang');
|
||||
$trail->push('Detail Data Proses Penawaran Ulang');
|
||||
});
|
||||
// Proses Penawaran Ulang
|
||||
// Otorisasi Tender
|
||||
Breadcrumbs::for('otorisasitender', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Otorisasi Tender');
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender');
|
||||
$trail->push('Data Otorisasi Penawaran', route('otorisasitender.penawaran.index'));
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender.penawaran');
|
||||
$trail->push('Tambah Data Otorisasi Penawaran ');
|
||||
});
|
||||
Breadcrumbs::for('otorisasitender.penawaran.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('otorisasitender.penawaran');
|
||||
$trail->push('Detail Data Otorisasi Penawaran');
|
||||
});
|
||||
// Otorisasi Tender
|
||||
// spk
|
||||
Breadcrumbs::for('spk', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('SPK', route('spk.index'));
|
||||
});
|
||||
Breadcrumbs::for('spk.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('spk');
|
||||
$trail->push('Buat SPK');
|
||||
});
|
||||
// spk
|
||||
// registrasi final
|
||||
Breadcrumbs::for('registrasifinal', function (BreadcrumbTrail $trail) {
|
||||
$trail->push('Registrasi Final', route('registrasifinal.index'));
|
||||
});
|
||||
Breadcrumbs::for('registrasifinal.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasifinal');
|
||||
$trail->push('Detail Registrasi Final');
|
||||
});
|
||||
Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasifinal');
|
||||
$trail->push('Tambah registrasifinal');
|
||||
});
|
||||
// registrasi final
|
||||
@@ -37,18 +37,24 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::get('prosespenawaran/datatables', 'dataForDatatables')->name('prosespenawaran.datatables');
|
||||
Route::get('prosespenawaran/datatableskjppList_1', 'dataForDatatablesKJPPList_1')->name('prosespenawaran.datatableskjppList_1');
|
||||
|
||||
// show data
|
||||
Route::get('/prosespenawaran/{prosespenawaran}', 'show')->name('prosespenawaran.show');
|
||||
Route::post('prosespenawaran/setData', 'setData')->name('prosespenawaran.setData');
|
||||
|
||||
Route::get('prosespenawaran/{prosespenawaran}/edit', 'edit')->name('prosespenawaran.edit');
|
||||
|
||||
// update one
|
||||
Route::put('/prosespenawaran/{prosespenawaran}', 'update')->name('prosespenawaran.update');
|
||||
// update all
|
||||
Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
|
||||
// update draft
|
||||
Route::put('/prosespenawaranDraft/{prosespenawaranDraft}', 'updateDraft')->name('prosespenawaran.updateDraft');
|
||||
// delete KJPP, status set = 0
|
||||
Route::put('/prosespenawaranKJPPStatus/{prosespenawaranKJPPStatus}', 'updateKJPPStatus')->name('prosespenawaran.updateKJPPStatus');
|
||||
|
||||
// add KJPP to detail_penawaran
|
||||
Route::post('prosespenawaran/store', 'store')->name('prosespenawaran.store');
|
||||
Route::post('prosespenawaran/storeUlang', 'storeUlang')->name('prosespenawaran.storeUlang');
|
||||
|
||||
// edit proses penawaran ulang
|
||||
Route::get('prosespenawaran/{prosespenawaran}/editulang', 'editulang')->name('prosespenawaran.editulang');
|
||||
Route::post('prosespenawaran/setDataUlang', 'setDataUlang')->name('prosespenawaran.setDataUlang');
|
||||
Route::put('/prosespenawaran2/{prosespenawaran2}', 'updateulang')->name('prosespenawaran.updateulang');
|
||||
Route::put('/prosespenawaranKJPPStatusUlang/{prosespenawaranKJPPStatusUlang}', 'updateKJPPStatusUlang')->name('prosespenawaran.updateKJPPStatusUlang');
|
||||
});
|
||||
|
||||
// Proses Penawaran Ulang
|
||||
|
||||
@@ -294,6 +294,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
'lantai-unit' => 'Lantai Unit',
|
||||
'view-unit' => 'View Unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'perkerasan-jalan' => 'Perkerasan jalan',
|
||||
];
|
||||
|
||||
foreach ($headers as $type => $header) {
|
||||
|
||||
Reference in New Issue
Block a user