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?
|
// detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
|
||||||
$query = PenawaranDetailTender::select('id')
|
$query = PenawaranDetailTender::select('id')
|
||||||
->where('penawaran_id', '=', $id)
|
->where('penawaran_id', '=', $id)
|
||||||
|
->where('status','=',1)
|
||||||
->where(function ($query) {
|
->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->orWhere('biaya_penawaran', '', "");
|
||||||
$query->orWhereNull('biaya_penawaran');
|
$query->orWhereNull('biaya_penawaran');
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
'jenis_legalitas_jaminan_id' => $value,
|
'jenis_legalitas_jaminan_id' => $value,
|
||||||
'name' => $request->name[$key],
|
'name' => $request->name[$key],
|
||||||
'keterangan' => $request->keterangan[$key],
|
'keterangan' => $request->keterangan[$key],
|
||||||
|
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : ''
|
||||||
];
|
];
|
||||||
|
|
||||||
$dokumenJaminan = [];
|
$dokumenJaminan = [];
|
||||||
@@ -234,6 +235,7 @@
|
|||||||
'jenis_legalitas_jaminan_id' => $value,
|
'jenis_legalitas_jaminan_id' => $value,
|
||||||
'name' => $request->name[$key],
|
'name' => $request->name[$key],
|
||||||
'keterangan' => $request->keterangan[$key],
|
'keterangan' => $request->keterangan[$key],
|
||||||
|
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : ''
|
||||||
];
|
];
|
||||||
|
|
||||||
$dokumenJaminan = [];
|
$dokumenJaminan = [];
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ class PenilaianController extends Controller
|
|||||||
$teamPenilai = $userTeam->flatMap(function ($team) {
|
$teamPenilai = $userTeam->flatMap(function ($team) {
|
||||||
return $team->teamsUsers->filter(function ($teamUser) {
|
return $team->teamsUsers->filter(function ($teamUser) {
|
||||||
return $teamUser->user->roles->contains(function ($role) {
|
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) {
|
})->map(function ($teamUser) {
|
||||||
return $teamUser->user;
|
return $teamUser->user;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers;
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use Carbon\Carbon;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
@@ -14,6 +15,7 @@ use Illuminate\Support\Facades\Storage;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Modules\Lpj\Models\KJPP;
|
use Modules\Lpj\Models\KJPP;
|
||||||
use Modules\Lpj\Models\PenawaranDetailTender;
|
use Modules\Lpj\Models\PenawaranDetailTender;
|
||||||
|
use Modules\Lpj\Models\PenawaranDetailTenderLog;
|
||||||
use Modules\Lpj\Models\PenawaranTender;
|
use Modules\Lpj\Models\PenawaranTender;
|
||||||
|
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
@@ -38,7 +40,7 @@ class ProsesPenawaranController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve data from the database
|
// 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
|
// Apply search filter if provided
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
@@ -126,7 +128,18 @@ class ProsesPenawaranController extends Controller
|
|||||||
}
|
}
|
||||||
$i++;
|
$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['penawaran'] = $penawaran;
|
||||||
$data['penawrandetails'] = $penawrandetails;
|
$data['penawrandetails'] = $penawrandetails;
|
||||||
$data['status'] = 'success';
|
$data['status'] = 'success';
|
||||||
@@ -154,18 +167,13 @@ class ProsesPenawaranController extends Controller
|
|||||||
$data = array();
|
$data = array();
|
||||||
$dataPenawaranDetail = array();
|
$dataPenawaranDetail = array();
|
||||||
if (request()->ajax()) {
|
if (request()->ajax()) {
|
||||||
$validator = ProsesPenawaranController::rulesEditnya($request, $id);
|
|
||||||
|
|
||||||
if ($validator['fails']) {
|
|
||||||
$data['message'] = $validator['errors'];
|
|
||||||
$data['status'] = 'error';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
||||||
'updated_at' => now(),
|
'updated_at' => now(),
|
||||||
|
'no_proposal' => $request->no_proposal,
|
||||||
|
'tgl_proposal' => $request->tgl_proposal,
|
||||||
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -186,13 +194,6 @@ class ProsesPenawaranController extends Controller
|
|||||||
$newFileNameWithPath = $folderPath . $newFileName;
|
$newFileNameWithPath = $folderPath . $newFileName;
|
||||||
$dataPenawaranDetail['attachment'] = $myFile;
|
$dataPenawaranDetail['attachment'] = $myFile;
|
||||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
$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
|
else
|
||||||
{
|
{
|
||||||
@@ -200,19 +201,18 @@ class ProsesPenawaranController extends Controller
|
|||||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$data['status'] = 'error';
|
|
||||||
$data['message'] ['check_file'] = array("Silahkan upload file");
|
|
||||||
|
|
||||||
}
|
$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) {
|
} catch (Exception $e) {
|
||||||
|
|
||||||
$data['status'] = 'error';
|
$data['status'] = 'error';
|
||||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$data['status'] = 'error';
|
$data['status'] = 'error';
|
||||||
@@ -338,4 +338,492 @@ class ProsesPenawaranController extends Controller
|
|||||||
$prosespenawaran = PenawaranTender::find($id);
|
$prosespenawaran = PenawaranTender::find($id);
|
||||||
return view('lpj::prosespenawaran.show', compact('id', 'prosespenawaran'));
|
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\FotoJaminan;
|
||||||
use Modules\Lpj\Models\Lingkungan;
|
use Modules\Lpj\Models\Lingkungan;
|
||||||
use Modules\Lpj\Models\LantaiUnit;
|
use Modules\Lpj\Models\LantaiUnit;
|
||||||
|
use Modules\Lpj\Models\Teams;
|
||||||
use Modules\Lpj\Models\Lantai;
|
use Modules\Lpj\Models\Lantai;
|
||||||
|
use Modules\Lpj\Models\Inspeksi;
|
||||||
use Modules\Lpj\Models\ViewUnit;
|
use Modules\Lpj\Models\ViewUnit;
|
||||||
use Modules\Lpj\Models\ObjekJaminan;
|
use Modules\Lpj\Models\ObjekJaminan;
|
||||||
use Modules\Lpj\Models\RuteJaminan;
|
use Modules\Lpj\Models\RuteJaminan;
|
||||||
@@ -121,6 +123,8 @@ class SurveyorController extends Controller
|
|||||||
->where('permohonan_id', $id)
|
->where('permohonan_id', $id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
$inpeksi = Inspeksi::where('permohonan_id', $id)->get();
|
||||||
|
$forminspeksi = json_decode($inpeksi[0]->data_form, true);
|
||||||
|
|
||||||
|
|
||||||
return view('lpj::surveyor.detail', compact(
|
return view('lpj::surveyor.detail', compact(
|
||||||
@@ -151,38 +155,123 @@ class SurveyorController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(FormSurveyorRequest $request)
|
public function store(FormSurveyorRequest $request)
|
||||||
{
|
{
|
||||||
$validatedData = $request->validated();
|
|
||||||
DB::beginTransaction();
|
$data = $request->validated();
|
||||||
|
if ($data) {
|
||||||
try {
|
try {
|
||||||
$analisa = Analisa::create($validatedData);
|
|
||||||
|
|
||||||
if ($analisa) {
|
|
||||||
$validatedData['analisa_id'] = $analisa->id;
|
|
||||||
|
|
||||||
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);
|
$formatTanahJson = [
|
||||||
$validatedData['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), 'foto_tempat');
|
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
||||||
AnalisaFakta::create($validatedData);
|
'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,
|
||||||
|
];
|
||||||
|
|
||||||
DB::commit();
|
|
||||||
return redirect()->route('surveyor.show', [
|
$formatBangunanJson = [
|
||||||
'id' => $validatedData['permohonan_id'],
|
'luas_tanah_bangunan' => $data['luas_tanah_bangunan'] ?? null,
|
||||||
'form' => 'inspeksi'
|
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
|
||||||
])->with('success', 'Data form surveyor berhasil disimpan');
|
'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) {
|
} catch (Exception $e) {
|
||||||
DB::rollback();
|
|
||||||
return response()->json(['error' => 'Failed to save data', 'details' => $e->getMessage()], 500);
|
return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,31 +360,117 @@ class SurveyorController extends Controller
|
|||||||
'lantai.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
'lantai.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||||
'name_lantai_unit.*' => 'nullable|string|max:255',
|
'name_lantai_unit.*' => 'nullable|string|max:255',
|
||||||
'foto_lantai_unit.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
'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 {
|
try {
|
||||||
$pendampingPath = $this->uploadFile($request->file('pendamping'), 'pendamping');
|
|
||||||
|
|
||||||
$fotojaminan = FotoJaminan::create([
|
$rute_menuju_lokasi = [];
|
||||||
'pendamping' => $pendampingPath,
|
$object_jaminan = [];
|
||||||
'permohonan_id' => $validatedData['permohonan_id'],
|
$lingkungan = [];
|
||||||
'jenis_jaminan_id' => $validatedData['jenis_jaminan_id'],
|
$foto_lantai_unit = [];
|
||||||
|
$foto_lantai_lainnya = [];
|
||||||
|
$foto_rute_lainnya = [];
|
||||||
|
|
||||||
|
|
||||||
|
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 {
|
||||||
|
|
||||||
$this->processObjekUploads($request, $fotojaminan);
|
Inspeksi::create([
|
||||||
$this->processLantaiUnitUploads($request, $fotojaminan);
|
'permohonan_id' => $request->input('permohonan_id'),
|
||||||
$this->processUploads('rute', $request, $fotojaminan);
|
'foto_form' => json_encode($formatFotojson)
|
||||||
$this->processUploads('lingkungan', $request, $fotojaminan);
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
DB::commit();
|
|
||||||
return redirect()->route('surveyor.show', [
|
// DB::commit();
|
||||||
'id' => $validatedData['permohonan_id'],
|
|
||||||
'form' => 'foto'
|
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
||||||
])->with('success', 'Data foto berhasil disimpan');
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
DB::rollBack();
|
|
||||||
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
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->whereRaw('LOWER(status) = ?', ['assign']);
|
||||||
|
|
||||||
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
$query->whereHas('penilaian.userPenilai', function ($q) {
|
||||||
$q->where('id', Auth::user()->id);
|
$q->where('user_id', Auth::user()->id);
|
||||||
|
$q->where('role', 'surveyor');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -544,7 +720,7 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$filteredRecords = $query->count();
|
$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);
|
$pageCount = ceil($totalRecords / $size);
|
||||||
|
|
||||||
@@ -567,8 +743,14 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
$permohonan = $this->getPermohonanJaminanId($id, $jaminanId);
|
$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();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
|
|
||||||
@@ -600,7 +782,9 @@ class SurveyorController extends Controller
|
|||||||
->where('jenis_jaminan_id', $jaminanId)
|
->where('jenis_jaminan_id', $jaminanId)
|
||||||
->first();
|
->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(
|
return view('lpj::surveyor.components.inspeksi', compact(
|
||||||
@@ -626,7 +810,9 @@ class SurveyorController extends Controller
|
|||||||
'golMasySekitar',
|
'golMasySekitar',
|
||||||
'tingkatKeramaian',
|
'tingkatKeramaian',
|
||||||
'laluLintasLokasi',
|
'laluLintasLokasi',
|
||||||
'perkerasanJalan'
|
'perkerasanJalan',
|
||||||
|
'link_url_region',
|
||||||
|
'forminspeksi'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -654,7 +840,10 @@ class SurveyorController extends Controller
|
|||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::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'));
|
return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -740,11 +929,9 @@ class SurveyorController extends Controller
|
|||||||
->with('success', 'created successfully');
|
->with('success', 'created successfully');
|
||||||
|
|
||||||
} catch (Exeception $e) {
|
} catch (Exeception $e) {
|
||||||
|
return redirect()
|
||||||
return response()->json(array('error' => $e->getMessage()), 400);
|
->route('basicdata.' . $type .'.index')
|
||||||
// return redirect()
|
->with('error', $th->getMessage());
|
||||||
// ->route('basicdata.' . $type .'.index')
|
|
||||||
// ->with('error', $th->getMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -779,6 +966,7 @@ class SurveyorController extends Controller
|
|||||||
$header = $dataMap[$type] ?? '';
|
$header = $dataMap[$type] ?? '';
|
||||||
$model = $modelClass::findOrFail($id);
|
$model = $modelClass::findOrFail($id);
|
||||||
|
|
||||||
|
$spekKategoriBagunan = null;
|
||||||
if ($type == 'spek-bangunan') {
|
if ($type == 'spek-bangunan') {
|
||||||
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
||||||
|
|
||||||
|
|||||||
@@ -197,6 +197,9 @@ class TeamsController extends Controller
|
|||||||
->leftJoin('users', 'teams_users.user_id', '=', 'users.id')
|
->leftJoin('users', 'teams_users.user_id', '=', 'users.id')
|
||||||
->addSelect('users.id as user_id', 'users.name as user_name');
|
->addSelect('users.id as user_id', 'users.name as user_name');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Filter pencarian
|
// Filter pencarian
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
|
|||||||
@@ -19,10 +19,11 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$commonRules = $this->getCommonRules();
|
$commonRules = $this->getBangunanRules();
|
||||||
$actionSpecificRules = $this->getActionSpecificRules();
|
$actionSpecificRules = $this->getActionSpecificRules();
|
||||||
|
|
||||||
return array_merge($commonRules, $actionSpecificRules);
|
return array_merge($commonRules, $actionSpecificRules);
|
||||||
|
return $actionSpecificRules;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,44 +32,29 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
private function getCommonRules(): array
|
private function getCommonRules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'jenis_jaminan_id' => 'required',
|
'fakta_positif' => 'nullable|array',
|
||||||
'type' => 'required',
|
'fakta_negatif' => 'nullable|array',
|
||||||
'permohonan_id' => 'required',
|
'rute_menuju' => 'nullable',
|
||||||
'luas' => 'required',
|
'batas_batas' => 'nullable|array',
|
||||||
'jarak_jalan_utama' => 'required',
|
'kondisi_linkungan' => 'nullable|array',
|
||||||
'alamat' => 'required',
|
'kondisi_lain_bangunan' => 'nullable|array',
|
||||||
'jarak_cbd_point' => 'required',
|
'informasi_dokument' => 'nullable',
|
||||||
'lebar_perkerasan_jalan' => 'required',
|
'peruntukan' => 'nullable',
|
||||||
'perkerasan_jalan' => 'required',
|
'kdb' => 'nullable',
|
||||||
'lalu_lintas' => 'required',
|
'kdh' => 'nullable',
|
||||||
'gol_mas_sekitar' => 'required',
|
'gsb' => 'nullable',
|
||||||
'tingkat_keramaian' => 'required',
|
'max_lantai' => 'nullable',
|
||||||
'terletak_diarea' => 'required',
|
'klb' => 'nullable',
|
||||||
'disekitar_lokasi' => 'required',
|
'gss' => 'nullable',
|
||||||
'dekat_makam' => 'required',
|
'pelebaran_jalan' => 'nullable',
|
||||||
'dekat_tps' => 'required',
|
'nama_petugas' => 'nullable',
|
||||||
'merupakan_daerah' => 'required',
|
'lat' => 'nullable|numeric',
|
||||||
'fasilitas_dekat_object' => 'required',
|
'lng' => 'nullable|numeric',
|
||||||
'fakta_positif' => 'required',
|
'foto_gistaru' => 'nullable',
|
||||||
'fakta_negatif' => 'required',
|
'foto_bhumi' => 'nullable',
|
||||||
'rute_menuju' => 'required',
|
'foto_argis_region' => 'nullable',
|
||||||
'batas_batas' => 'required',
|
'foto_tempat' => 'nullable',
|
||||||
'kondisi_linkungan' => 'required',
|
'keterangan' => 'nullable',
|
||||||
'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',
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,38 +66,70 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
$action = $this->input('action');
|
$action = $this->input('action');
|
||||||
|
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'tanah_bangunan':
|
case 'tanah':
|
||||||
return $this->getTanahBangunanRules();
|
return $this->getTanahRules();
|
||||||
case 'unit':
|
case 'unit':
|
||||||
return $this->getUnitRules();
|
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:
|
default:
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get rules specific to tanah_bangunan action.
|
* Get rules specific to tanah action.
|
||||||
*/
|
*/
|
||||||
private function getTanahBangunanRules(): array
|
|
||||||
|
public function getTanahRules(): array
|
||||||
|
{
|
||||||
|
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',
|
||||||
|
'posisi_kavling' => 'required|array',
|
||||||
|
'posisi_kavling_lainnya' => 'nullable',
|
||||||
|
'tusuk_sate' => 'required',
|
||||||
|
'lockland' => 'required',
|
||||||
|
'kondisi_fisik_tanah' => 'required|array',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get rules specific to Bangunan action.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private function getBangunanRules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'bentuk_tanah' => 'required',
|
|
||||||
'kontur_tanah' => 'required',
|
|
||||||
'posisi_kavling' => 'required',
|
|
||||||
'ketinggian_jalan' => 'required',
|
|
||||||
'kondisi_fisik_tanah' => 'required',
|
|
||||||
'kontur_jalan' => 'required',
|
|
||||||
'kondisi_bangunan' => 'required',
|
|
||||||
'sifat_bangunan' => 'required',
|
|
||||||
'sarana_pelengkap' => 'required',
|
|
||||||
'luas_tanah_bagunan' => 'required',
|
'luas_tanah_bagunan' => 'required',
|
||||||
'tusuk_sate' => 'required',
|
|
||||||
'name.*' => 'required|string',
|
|
||||||
'kategori.*' => 'required|string',
|
|
||||||
'lockland' => 'required',
|
|
||||||
'jenis_bangunan' => 'required',
|
'jenis_bangunan' => 'required',
|
||||||
'kondisi_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',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,12 +140,107 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'jenis_unit' => 'required',
|
'luas_unit' => 'required',
|
||||||
'kondisi_unit' => 'required',
|
'luas_unit_tidak_sesuai' => 'nullable',
|
||||||
'posisi_unit' => 'required',
|
'jenis_unit' => 'required|array',
|
||||||
'lantai' => 'required',
|
'kondisi_unit' => 'required|array',
|
||||||
'view' => 'required',
|
'posisi_unit' => 'required|array',
|
||||||
'bentuk_unit' => 'required',
|
'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 [
|
return [
|
||||||
'jenis_penilaian_id' => 'required|max:255',
|
'jenis_penilaian_id' => 'required|max:255',
|
||||||
'teams_id' => 'required|max:255',
|
'teams_id' => 'required|max:255',
|
||||||
'tanggal_kunjungan' => 'required|max:255',
|
'tanggal_kunjungan' => 'required|max:255',
|
||||||
'status' => 'required|string',
|
'status' => 'required|string',
|
||||||
'nomor_registrasi' => 'required|string',
|
'nomor_registrasi' => 'required|string',
|
||||||
|
|
||||||
'surveyor_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,penilai_id',
|
'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_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,surveyor_id',
|
||||||
'penilai_surveyor_id' => 'nullable',
|
'penilai_surveyor_id' => 'nullable',
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ class RegionRequest extends FormRequest
|
|||||||
$rules = [
|
$rules = [
|
||||||
'name' => 'required|string|max:255',
|
'name' => 'required|string|max:255',
|
||||||
'status' => 'nullable|boolean',
|
'status' => 'nullable|boolean',
|
||||||
|
'url' => 'nullable|string|max:255',
|
||||||
|
'name_url' => 'nullable|string|max:255',
|
||||||
'authorized_at' => 'nullable|datetime',
|
'authorized_at' => 'nullable|datetime',
|
||||||
'authorized_status' => 'nullable|string|max:1',
|
'authorized_status' => 'nullable|string|max:1',
|
||||||
'authorized_by' => 'nullable|exists:users,id',
|
'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(){
|
public function penilaian(){
|
||||||
|
|
||||||
return $this->hasMany(Penilaian::class, 'penilaian_id', 'id');
|
return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function newFactory(): PenilaianTeamFactory
|
protected static function newFactory(): PenilaianTeamFactory
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class Regions extends Model
|
|||||||
protected $table = 'regions';
|
protected $table = 'regions';
|
||||||
|
|
||||||
protected $fillable = [
|
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(){
|
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');
|
||||||
|
}
|
||||||
|
};
|
||||||
16
module.json
16
module.json
@@ -59,14 +59,6 @@
|
|||||||
"attributes": [],
|
"attributes": [],
|
||||||
"permission": "",
|
"permission": "",
|
||||||
"roles": ["administrator", "admin"]
|
"roles": ["administrator", "admin"]
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Data Proses Penawaran Ulang",
|
|
||||||
"path": "tender.prosespenawaranulang",
|
|
||||||
"classes": "",
|
|
||||||
"attributes": [],
|
|
||||||
"permission": "",
|
|
||||||
"roles": ["administrator", "admin"]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -567,6 +559,14 @@
|
|||||||
"attributes": [],
|
"attributes": [],
|
||||||
"permission": "",
|
"permission": "",
|
||||||
"roles": ["administrator","surveyor"]
|
"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">
|
<button type="button" data-modal-toggle="#modal_revisi" class="btn btn-warning ml-3">
|
||||||
Revisi
|
Revisi
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<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 }}">
|
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||||
|
|
||||||
<div class="card pb-2.5">
|
<div class="card pb-2.5">
|
||||||
@@ -46,8 +46,22 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</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 -->
|
<!-- 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 min-w-full">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h3 class="card-title">Data KJPP</h3>
|
<h3 class="card-title">Data KJPP</h3>
|
||||||
@@ -57,7 +71,9 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="w-14 text-center">No</th>
|
<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>Biaya Penawaran</th>
|
||||||
<th>Upload Penawaran</th>
|
<th>Upload Penawaran</th>
|
||||||
<th class="min-w-[50px] text-center">Action</th>
|
<th class="min-w-[50px] text-center">Action</th>
|
||||||
@@ -71,8 +87,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- datatables -->
|
<!-- datatables -->
|
||||||
<div class="flex justify-end">
|
<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">
|
<button type="button" class="btn btn-primary" id="{{$route[1]}}_toEdit">
|
||||||
Save
|
Pengajuan Penawaran
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</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: {
|
actions: {
|
||||||
title: 'Status',
|
title: 'Status',
|
||||||
render: (item, data) => {
|
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">
|
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">
|
<a onclick="showPenawaranData(${data.id})" class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail">
|
||||||
<i class="ki-outline ki-eye"></i>
|
<i class="ki-outline ki-eye"></i>
|
||||||
</a>
|
</a>`+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>
|
|
||||||
</div>`;
|
</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){
|
function updateData(id, kjpp_id, kjppName){
|
||||||
removeErrorCssMsg();
|
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 biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
||||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
||||||
let passednih = true;
|
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)
|
if(passednih)
|
||||||
{
|
{
|
||||||
@@ -58,6 +48,8 @@
|
|||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
let token = "{{ csrf_token() }}";
|
let token = "{{ csrf_token() }}";
|
||||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
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("biaya_penawaran", biaya);
|
||||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||||
formData.append("_method", "PUT");
|
formData.append("_method", "PUT");
|
||||||
@@ -150,6 +142,4 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -39,6 +39,7 @@
|
|||||||
$("#textReg").text(response.penawaran.nomor_registrasi);
|
$("#textReg").text(response.penawaran.nomor_registrasi);
|
||||||
$("#textCodePenawaran").text(response.penawaran.code);
|
$("#textCodePenawaran").text(response.penawaran.code);
|
||||||
setTablesKJPP1(response.penawrandetails);
|
setTablesKJPP1(response.penawrandetails);
|
||||||
|
setKJPPList(response.kjpps);
|
||||||
}
|
}
|
||||||
else if('error' == response.status)
|
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)
|
function setTablesKJPP1(datas)
|
||||||
{
|
{
|
||||||
let i=1;
|
let i=1;
|
||||||
$.each(datas, function(key, value){
|
$.each(datas, function(key, value){
|
||||||
var kjppName = value.kjpp_code+' - '+value.kjpp_name;
|
var kjppName = value.kjpp_code+' - '+value.kjpp_name;
|
||||||
var biaya_penawaran = value.biaya_penawaran;// alert(biaya_penawaran);
|
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 htmlDokumenPersetujuanDownload='';
|
||||||
var dokumenPersetujuanDownload = value.dokumen_persetujuan;
|
var dokumenPersetujuanDownload = value.dokumen_persetujuan;
|
||||||
if(dokumenPersetujuanDownload)
|
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>';
|
var markup = '<tr>';
|
||||||
markup +='<td valign="top">'+i+'</td>';
|
markup +='<td valign="top">'+i+'</td>';
|
||||||
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></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>';
|
// No Proposal
|
||||||
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 valign="top">';
|
||||||
markup +='<td><div class="flex flex-nowrap justify-center">';
|
markup +='<input type="hidden" id="{{$route[1]}}_penawarandetail_id_'+value.id+'" name="{{$route[1]}}_penawarandetail_id[]" value="'+value.id+'">';
|
||||||
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 +='<input type="text" value="'+no_proposal+'" class="inputku file-input" id="{{$route[1]}}_no_proposal_'+value.id+'" name="{{$route[1]}}_no_proposal[]">';
|
||||||
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 +='<em id="{{$route[1]}}_no_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
|
||||||
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>';
|
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>';
|
markup += '</tr>';
|
||||||
|
|
||||||
$('#tbodyKJPP1').append(markup);
|
$('#tbodyKJPP1').append(markup);
|
||||||
@@ -84,6 +121,7 @@
|
|||||||
if(biaya_penawaran)
|
if(biaya_penawaran)
|
||||||
biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
|
biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
|
||||||
$("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
|
$("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -107,7 +145,7 @@
|
|||||||
// updateAll penawaran & permohonan status
|
// updateAll penawaran & permohonan status
|
||||||
$("#{{$route[1]}}_toEdit").click(function(e) {
|
$("#{{$route[1]}}_toEdit").click(function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
// $id = penawaran.id
|
||||||
//define variable
|
//define variable
|
||||||
let token = "{{ csrf_token() }}";
|
let token = "{{ csrf_token() }}";
|
||||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateAll',$id) }}";
|
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>
|
</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
|
Detail Data Proses Penawaran
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex items-center gap-2">
|
<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>
|
<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>
|
</div>
|
||||||
|
|||||||
@@ -49,6 +49,30 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<div class="flex justify-end">
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
Save
|
Save
|
||||||
|
|||||||
@@ -40,6 +40,10 @@
|
|||||||
<span class="sort"> <span class="sort-label"> Region </span>
|
<span class="sort"> <span class="sort-label"> Region </span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</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>
|
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -121,6 +125,9 @@
|
|||||||
name: {
|
name: {
|
||||||
title: 'Region',
|
title: 'Region',
|
||||||
},
|
},
|
||||||
|
name_url:{
|
||||||
|
title: 'Name Url',
|
||||||
|
},
|
||||||
actions: {
|
actions: {
|
||||||
title: 'Status',
|
title: 'Status',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
|
|||||||
@@ -18,42 +18,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="py-4 px-6">
|
{{-- lokasi jaminan --}}
|
||||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||||
</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>
|
|
||||||
</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">
|
<div class=" py-4 px-6">
|
||||||
<h1 class="text-md font-medium text-gray-900">Analisa Unit</h1>
|
<h1 class="text-md font-medium text-gray-900">Analisa Unit</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -31,44 +38,40 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Jenis Unit</label>
|
<label class="form-label max-w-56">Jenis Unit</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('jenis_unit') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-2">
|
||||||
name="jenis_unit">
|
|
||||||
<option value="">Select Jenis Unit</option>
|
|
||||||
@if (isset($jenisBangunan))
|
@if (isset($jenisBangunan))
|
||||||
@foreach ($jenisBangunan as $item)
|
@foreach ($jenisBangunan as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('jenis_unit', isset($analisa) && optional($analisa->analisaUnit)->jenis_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="jenis_unit[]" type="checkbox"
|
||||||
</option>
|
value="{{ $item->name }}" />
|
||||||
|
{{ $item->name }}
|
||||||
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-jenis_unit" class="alert text-danger text-sm"></em>
|
||||||
@error('jenis_unit')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kondisi Unit</label>
|
<label class="form-label max-w-56">Kondisi Unit</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('kondisi_unit') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-2">
|
||||||
name="kondisi_unit">
|
|
||||||
<option value="">Select Kondisi Unit</option>
|
|
||||||
@if (isset($kondisiBangunan))
|
@if (isset($kondisiBangunan))
|
||||||
@foreach ($kondisiBangunan as $item)
|
@foreach ($kondisiBangunan as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('kondisi_unit', isset($analisa) && optional($analisa->analisaUnit)->kondisi_unit) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="kondisi_unit[]" type="checkbox"
|
||||||
</option>
|
value="{{ $item->name }}" />
|
||||||
|
{{ $item->name }}
|
||||||
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-kondisi_unit" class="alert text-danger text-sm"></em>
|
||||||
@error('kondisi_unit')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -77,20 +80,20 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Posisi Unit</label>
|
<label class="form-label max-w-56">Posisi Unit</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('posisi_unit') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-2">
|
||||||
name="posisi_unit">
|
|
||||||
<option value="">Select Posisi Unit</option>
|
|
||||||
@if (isset($ketinggianTanah))
|
@if (isset($ketinggianTanah))
|
||||||
@foreach ($ketinggianTanah as $item)
|
@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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-posisi_unit" class="alert text-danger text-sm"></em>
|
||||||
@error('posisi_unit')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -100,20 +103,21 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Lantai</label>
|
<label class="form-label max-w-56">Lantai</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('lantai') border-danger bg-danger-light @enderror"
|
|
||||||
name="lantai">
|
<div class="flex flex-col items-start gap-2">
|
||||||
<option value="">Select Lantai</option>
|
|
||||||
@if (isset($lantai))
|
@if (isset($lantai))
|
||||||
@foreach ($lantai as $item)
|
@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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-lantai" class="alert text-danger text-sm"></em>
|
||||||
@error('lantai')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -122,41 +126,42 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">View</label>
|
<label class="form-label max-w-56">View</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('view') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-2">
|
||||||
name="view">
|
|
||||||
<option value="">Select View</option>
|
|
||||||
@if (isset($viewUnit))
|
@if (isset($viewUnit))
|
||||||
@foreach ($viewUnit as $item)
|
@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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-view" class="alert text-danger text-sm"></em>
|
||||||
@error('view')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Bentuk Unit</label>
|
<label class="form-label max-w-56">Bentuk Unit</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex-wrap items-stretch">
|
||||||
class="input tomselect w-full @error('bentuk_unit') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-2">
|
||||||
name="bentuk_unit">
|
|
||||||
<option value="">Select Bentuk Unit</option>
|
|
||||||
@if (isset($bentukTanah))
|
@if (isset($bentukTanah))
|
||||||
@foreach ($bentukTanah as $item)
|
@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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-bentuk_unit" class="alert text-danger text-sm"></em>
|
||||||
@error('bentuk_unit')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
{{-- @if ($analisaType == 'tanah_bangunan') --}}
|
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||||
<div class=" bg-white rounded-lg shadow-md overflow-hidden">
|
<div class="card-body">
|
||||||
<div class="y-4 px-6">
|
<div class="">
|
||||||
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
|
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
@@ -11,97 +11,116 @@
|
|||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<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">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="sesuai"
|
<input type="radio" class="radio" name="luas_tanah_bagunan" value="sesuai"
|
||||||
{{ old('luas_tanah_bagunan') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas_tanah_bagunan" value="tidak sesuai"
|
<input type="radio" class="radio" name="luas_tanah_bagunan" value="tidak sesuai"
|
||||||
{{ old('luas_tanah_bagunan') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
|
||||||
@error('luas_tanah_bagunan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Jenis Bangunan -->
|
<!-- Jenis Bangunan -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Jenis Bangunan</label>
|
<label class="form-label max-w-56">Jenis Bangunan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
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))
|
@if (isset($jenisBangunan))
|
||||||
@foreach ($jenisBangunan as $item)
|
@foreach ($jenisBangunan as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('jenis_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->jenis_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
|
||||||
</option>
|
|
||||||
|
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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
|
||||||
|
<em id="error-jenis_bangunan" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
@error('jenis_bangunan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Kondisi Bangunan -->
|
<!-- Kondisi Bangunan -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kondisi Bangunan</label>
|
<label class="form-label max-w-56">Kondisi Bangunan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
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))
|
@if (isset($kondisiBangunan))
|
||||||
@foreach ($kondisiBangunan as $item)
|
@foreach ($kondisiBangunan as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('kondisi_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kondisi_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
|
||||||
</option>
|
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>
|
||||||
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-kondisi_bangunan" class="alert text-danger text-sm"></em>
|
||||||
@error('kondisi_bangunan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Sifat Bangunan -->
|
<!-- Sifat Bangunan -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56"> Sifat Bangunan</label>
|
<label class="form-label max-w-56">Sifat Bangunan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
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))
|
@if (isset($sifatBangunan))
|
||||||
@foreach ($sifatBangunan as $item)
|
@foreach ($sifatBangunan as $item)
|
||||||
<option value="{{ $item->name }}"
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
{{ old('sifat_bangunan', isset($analisa) && optional($analisa->analisaTanahBangunan)->sifat_bangunan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||||
</option>
|
<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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-sifat_bangunan" class="alert text-danger text-sm"></em>
|
||||||
@error('sifat_bangunan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Spek Bangunan -->
|
<!-- Spek Bangunan -->
|
||||||
<div class="gap-2.5">
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
||||||
<label class="form-label max-w-56">Spek Bangunan</label>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
|
||||||
<div class="spek-bangunan w-full gap-4">
|
<div class="spek-bangunan w-full gap-4">
|
||||||
<input type="hidden" name="nama_bagunan[]" value="Bangunan">
|
<input type="hidden" name="nama_bagunan[]" value="Bangunan">
|
||||||
@@ -109,26 +128,23 @@
|
|||||||
@if (@isset($spekKategoriBagunan))
|
@if (@isset($spekKategoriBagunan))
|
||||||
@foreach ($spekKategoriBagunan as $item)
|
@foreach ($spekKategoriBagunan as $item)
|
||||||
<div>
|
<div>
|
||||||
|
<input type="hidden" name="spek_kategori_bangunan[]" value="{{ $item->name }}">
|
||||||
<label
|
<label
|
||||||
class="form-label flex items-center gap-3 text-nowrap">{{ $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-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4" style="margin-top: 10px">
|
||||||
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)
|
@foreach ($spekBangunan as $spek)
|
||||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||||
<option value="{{ $spek->name }}"
|
<label class="form-label flex items-center gap-2.5">
|
||||||
{{ old('name') == $spek->name ? 'selected' : '' }}>
|
<input class="checkbox" name="spek_bangunan_{{ $item->name }}[]"
|
||||||
|
type="checkbox" value="{{ $spek->name }}" />
|
||||||
{{ $spek->name }}
|
{{ $spek->name }}
|
||||||
</option>
|
</label>
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</div>
|
||||||
|
|
||||||
@error('name')
|
<em id="error-spek_bangunan_{{ $item->name }}" class="alert text-danger text-sm"></em>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -150,31 +166,29 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Sarana pelengkap -->
|
<!-- Sarana pelengkap -->
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Sarana pelengkap</label>
|
<label class="form-label max-w-56">Sarana pelengkap</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
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))
|
@if (isset($saranaPelengkap))
|
||||||
@foreach ($saranaPelengkap as $item)
|
@foreach ($saranaPelengkap as $item)
|
||||||
<option value="{{ $item->name }}"
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
{{ old('sarana_pelengkap', isset($analisa) && optional($analisa->analisaTanahBangunan)->sarana_pelengkap) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||||
</option>
|
<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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('sarana_pelengkap')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{-- @endif --}}
|
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -19,15 +19,14 @@
|
|||||||
$fotoIds[] = $item->jenis_jaminan_id;
|
$fotoIds[] = $item->jenis_jaminan_id;
|
||||||
$permohonanFotoId[] = $item->permohonan_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)) {
|
} elseif (request()->has('form') && request('form') === 'inspeksi' && isset($analisa)) {
|
||||||
$jenisIds = [];
|
$jenisIds = [];
|
||||||
foreach ($analisa as $item) {
|
foreach ($analisa as $item) {
|
||||||
$jenisIds[] = $item->jenis_jaminan_id;
|
$jenisIds[] = $item->jenis_jaminan_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$perbandingan = isset($analisa) && in_array($dokumen->jenisJaminan->id, $jenisIds);
|
|
||||||
}
|
}
|
||||||
@endphp
|
@endphp
|
||||||
@if ($perbandingan)
|
@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>
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
@endsection --}}
|
@endsection --}}
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
<div class="card min-w-full">
|
<div class="card min-w-full">
|
||||||
<div class="card min-w-full">
|
<div class="card min-w-full">
|
||||||
@@ -20,111 +19,70 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@php
|
<div class="card-body grid gap-5 grid-cols-2">
|
||||||
$jenisJaminanData = null;
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
@endphp
|
<label class="form-label max-w-56">Nama Debitur</label>
|
||||||
<div data-accordion="true">
|
<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 class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">Alamat Object</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@php
|
|
||||||
$jenisJaminanData = $dokumen->jenisJaminan->name ?? '';
|
|
||||||
@endphp
|
|
||||||
<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 }}">
|
|
||||||
<span class="text-base text-gray-900 font-medium">
|
|
||||||
Jaminan {{ $loop->index + 1 }}
|
|
||||||
</span>
|
|
||||||
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
|
|
||||||
</i>
|
|
||||||
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
|
|
||||||
</i>
|
|
||||||
</button>
|
|
||||||
<div class="accordion-content hidden" id="accordion_detail_jaminan_{{ $loop->index }}">
|
|
||||||
<div class="card-body lg:py-7.5 grid grid-cols-2">
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Pemilik Jaminan:
|
|
||||||
</h3>
|
|
||||||
<span class="text-2sm text-gray-700">
|
|
||||||
{{ $dokumen->pemilik->name ?? '' }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Jenis Jaminan:
|
|
||||||
</h3>
|
|
||||||
<span class="text-2sm text-gray-700">
|
|
||||||
{{ $dokumen->jenisJaminan->name ?? '' }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Hubungan Pemilik Jaminan:
|
|
||||||
</h3>
|
|
||||||
<span class="text-2sm text-gray-700">
|
|
||||||
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Alamat Pemilik Jaminan:
|
|
||||||
</h3>
|
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $dokumen->pemilik->address ?? '' }},
|
{{ $dokumen->pemilik->address ?? '' }},
|
||||||
<br> {{ $dokumen->pemilik->village->name ?? '' }},
|
{{ $dokumen->pemilik->village->name ?? '' }},
|
||||||
{{ $dokumen->pemilik->district->name ?? '' }},
|
{{ $dokumen->pemilik->district->name ?? '' }},
|
||||||
{{ $dokumen->pemilik->city->name ?? '' }},
|
{{ $dokumen->pemilik->city->name ?? '' }},
|
||||||
{{ $dokumen->pemilik->province->name ?? '' }} -
|
{{ $dokumen->pemilik->province->name ?? '' }} -
|
||||||
{{ $dokumen->pemilik->village->postal_code ?? '' }}
|
{{ $dokumen->pemilik->village->postal_code ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-table scrollable-x-auto pb-3">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<table class="table align-middle text-sm text-gray-500">
|
<label class="form-label max-w-56">Nomor Registrasi</label>
|
||||||
@foreach ($dokumen->detail as $detail)
|
<div class="flex flex-wrap items-base line w-full">
|
||||||
<tr>
|
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</p>
|
||||||
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
|
</div>
|
||||||
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
</div>
|
||||||
</td>
|
|
||||||
<td class="py-2 text-gray-800 font-normaltext-sm">
|
|
||||||
{{ $detail->name ?? '' }}
|
|
||||||
</td>
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
</tr>
|
<label class="form-label max-w-56">Cab/Direktorat</label>
|
||||||
<tr>
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<td class="py-3 max-w-[100px]">
|
@if (isset($permohonan->branch))
|
||||||
Dokumen Jaminan
|
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
|
||||||
</td>
|
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
|
||||||
@if (isset($detail->dokumen_jaminan))
|
|
||||||
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id]) }}"
|
|
||||||
class="badge badge-sm badge-outline mt-2">{{ basename($detail->dokumen_jaminan) }}
|
|
||||||
<i class="ki-filled ki-cloud-download"></i></a>
|
|
||||||
@endif
|
@endif
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="py-3 max-w-[100px]">
|
|
||||||
Keterangan
|
|
||||||
</td>
|
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
|
||||||
{{ $detail->keterangan ?? '' }}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">Nomor Laporan</label>
|
||||||
|
<div class="flex flex-wrap items-base line w-full">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</p>
|
||||||
|
</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>
|
||||||
@endforeach
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="card">
|
{{-- <div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body"> --}}
|
||||||
<form action="{{ route('surveyor.storeFoto') }}" method="POST" class="grid gap-5"
|
<form id="formFoto" method="POST" class="grid gap-5" enctype="multipart/form-data">
|
||||||
enctype="multipart/form-data">
|
|
||||||
@if (isset($fotoJaminan->id))
|
@if (isset($fotoJaminan->id))
|
||||||
<input type="hidden" name="id" value="{{ $fotoJaminan->id }}">
|
<input type="hidden" name="id" value="{{ $fotoJaminan->id }}">
|
||||||
@method('PUT')
|
@method('PUT')
|
||||||
@@ -144,7 +102,7 @@
|
|||||||
'tanah_bangunan' => 'Mall',
|
'tanah_bangunan' => 'Mall',
|
||||||
];
|
];
|
||||||
|
|
||||||
$analisaType = 'unknown';
|
$analisaType = 'tanah';
|
||||||
if (isset($analisa->id)) {
|
if (isset($analisa->id)) {
|
||||||
$analisaType = $analisa->type ?? 'unknown';
|
$analisaType = $analisa->type ?? 'unknown';
|
||||||
} else {
|
} else {
|
||||||
@@ -169,8 +127,9 @@
|
|||||||
<input type="hidden" name="analisa_type" value="{{ $analisaType }}">
|
<input type="hidden" name="analisa_type" value="{{ $analisaType }}">
|
||||||
|
|
||||||
|
|
||||||
<div class="bg-white rounded-lg shadow-md">
|
<div class="card bg-white rounded-lg shadow-md">
|
||||||
<div class="bg-blue-600 text-white py-4 px-6 flex items-center justify-between">
|
<div class="card-body">
|
||||||
|
<div class=" text-white py-4 px-6 flex items-center justify-between">
|
||||||
<h1 class="text-md font-medium text-gray-900">Rute Menuju Lokasi</h1>
|
<h1 class="text-md font-medium text-gray-900">Rute Menuju Lokasi</h1>
|
||||||
<button id="btnRute" type="button" class="btn btn-primary btn-sm">
|
<button id="btnRute" type="button" class="btn btn-primary btn-sm">
|
||||||
<i class="ki-filled ki-plus text-lg"></i>
|
<i class="ki-filled ki-plus text-lg"></i>
|
||||||
@@ -216,6 +175,8 @@
|
|||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@else
|
@else
|
||||||
|
|
||||||
|
|
||||||
<div id="inputContainerRute" style="margin-top: 10px">
|
<div id="inputContainerRute" style="margin-top: 10px">
|
||||||
<div class="flex w-full items-center justify-center gap-4 mb-4">
|
<div class="flex w-full items-center justify-center gap-4 mb-4">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
@@ -224,16 +185,18 @@
|
|||||||
|
|
||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input class="name_rute" type="hidden" name="name_rute[]" value="rute">
|
<input class="name_rute" type="hidden" name="name_rute[]" value="rute">
|
||||||
|
{{-- <img id="foto_rute-preview" src="" alt="Foto Argis Region"
|
||||||
|
class="mt-2 max-w-full h-auto" style="display: none;"> --}}
|
||||||
<input id="inputRute" type="file" name="foto_rute[]"
|
<input id="inputRute" type="file" name="foto_rute[]"
|
||||||
class="file-input file-input-bordered w-full" accept="image/*"
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera"
|
||||||
capture="camera">
|
onchange="previewImage(this, 'foto_rute-preview')">
|
||||||
<button type="button" id="btnCamera" class="btn btn-light"
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
data-modal-toggle="#cameraModal">
|
data-modal-toggle="#cameraModal">
|
||||||
<i class="ki-outline ki-abstract-33"></i> Camera
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="btn btn-danger btn-sm delete-btn"
|
<button type="button" class="btn btn-danger btn-sm delete-btn" style="display: none;"
|
||||||
style="display: none;" id="btnDelete">
|
id="btnDelete">
|
||||||
<i class="ki-filled ki-trash"></i>
|
<i class="ki-filled ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -245,10 +208,43 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
<div id="inputContainerRute" style="margin-top: 10px">
|
||||||
|
<div class="flex w-full items-center justify-center gap-4 mb-4">
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
<span class="form-label">Foto Gerbang & Nama Perumahan</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<div class="input-group w-full flex gap-2">
|
||||||
|
<input class="name_gerbang" type="hidden" name="name_gerbang" value="rute">
|
||||||
|
{{-- <img id="foto_gerbang-preview" src="" alt="Foto Gerbong"
|
||||||
|
class="mt-2 max-w-full h-auto" style="display: none;"> --}}
|
||||||
|
<input id="inputRute" type="file" name="foto_gerbang"
|
||||||
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera"
|
||||||
|
onchange="previewImage(this, 'foto_gerbang-preview')">
|
||||||
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
|
data-modal-toggle="#cameraModal">
|
||||||
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<span class="alert text-danger text-sm"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="ruteLainnya" style="margin-top: 10px">
|
||||||
|
|
||||||
<div class="bg-white rounded-lg shadow-md">
|
</div>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-primary btn-sm" id="btnAddMore" style="margin-top: 10px">
|
||||||
|
<i class="ki-outline ki-plus text-2sm"></i>
|
||||||
|
Lainnya
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card bg-white rounded-lg shadow-md">
|
||||||
|
<div class="card-body">
|
||||||
<div class=" text-white py-4 px-6 flex items-center justify-between">
|
<div class=" text-white py-4 px-6 flex items-center justify-between">
|
||||||
<h1 class="text-md font-medium text-gray-900">Objek Jaminan</h1>
|
<h1 class="text-md font-medium text-gray-900">Objek Jaminan</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -279,6 +275,8 @@
|
|||||||
<label class="form-label max-w-56"><span
|
<label class="form-label max-w-56"><span
|
||||||
class="form-label">{{ $view['label'] }}</span>
|
class="form-label">{{ $view['label'] }}</span>
|
||||||
</label>
|
</label>
|
||||||
|
<input type="hidden" class="form-control" name="name_objek[]"
|
||||||
|
value="{{ $view['label'] }}" />
|
||||||
<div class="w-full grid gap-5">
|
<div class="w-full grid gap-5">
|
||||||
@if (isset($fotoJaminan) && isset($fotoJaminan->objekJaminan[$view['index']]))
|
@if (isset($fotoJaminan) && isset($fotoJaminan->objekJaminan[$view['index']]))
|
||||||
<img src="{{ asset('storage/' . $fotoJaminan->objekJaminan[$view['index']]->foto_objek) }}"
|
<img src="{{ asset('storage/' . $fotoJaminan->objekJaminan[$view['index']]->foto_objek) }}"
|
||||||
@@ -295,7 +293,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<textarea name="name_objek[]" class="textarea" rows="3" placeholder="Deskripsi">{{ isset($fotoJaminan) && isset($fotoJaminan->objekJaminan[$view['index']]) ? str_replace($view['label'] . ': ', '', $fotoJaminan->objekJaminan[$view['index']]->name_objek) : '' }}</textarea>
|
<textarea name="deskripsi_objek[]" class="textarea" rows="3" placeholder="Deskripsi">{{ isset($fotoJaminan) && isset($fotoJaminan->objekJaminan[$view['index']]) ? str_replace($view['label'] . ': ', '', $fotoJaminan->objekJaminan[$view['index']]->name_objek) : '' }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@error('foto_objek.' . $view['index'])
|
@error('foto_objek.' . $view['index'])
|
||||||
@@ -314,6 +312,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="flex flex-wrap gap-4 w-full">
|
<div class="flex flex-wrap gap-4 w-full">
|
||||||
|
<div class="w-full ">
|
||||||
<div class=" text-white py-4 px-6 flex items-center justify-between w-full">
|
<div class=" text-white py-4 px-6 flex items-center justify-between w-full">
|
||||||
<label class="form-label">
|
<label class="form-label">
|
||||||
<span class="form-label">Lantai</span>
|
<span class="form-label">Lantai</span>
|
||||||
@@ -357,7 +356,10 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@else
|
@else
|
||||||
<div id="inputContainerLantai" class="w-full">
|
<div id="inputContainerLantai" class="w-full">
|
||||||
|
|
||||||
|
|
||||||
<div class="flex w-full items-center justify-center gap-4">
|
<div class="flex w-full items-center justify-center gap-4">
|
||||||
|
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
<span class="form-label">Foto Lantai 1</span>
|
<span class="form-label">Foto Lantai 1</span>
|
||||||
</label>
|
</label>
|
||||||
@@ -382,14 +384,53 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
<div id="inputContainerBasement" class="w-full" style="margin-top: 10px">
|
||||||
|
<div class="flex w-full items-center justify-center gap-4">
|
||||||
|
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
<span class="form-label">Basement</span>
|
||||||
|
</label>
|
||||||
|
<div class="input-group w-full flex gap-2">
|
||||||
|
<input type="hidden" name="name_basement" value="basement">
|
||||||
|
<input id="inputLantai" type="file" name="foto_basement"
|
||||||
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
|
||||||
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
|
data-modal-toggle="#cameraModal">
|
||||||
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn btn-danger btn-sm delete-btn" style="display: none;"
|
||||||
|
id="btnDelete">
|
||||||
|
<i class="ki-filled ki-trash"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
@error('foto_lantai_unit.*')
|
||||||
|
<span class="alert text-danger text-sm">{{ $message }}</span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="lantaiLainnya" style="margin-top: 10px">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-primary btn-sm" id="btnAddMoreObject"
|
||||||
|
style="margin-top: 10px">
|
||||||
|
<i class="ki-outline ki-plus text-2sm"></i>
|
||||||
|
Lainnya
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class=" bg-white rounded-lg shadow-md">
|
<div class="card bg-white rounded-lg shadow-md">
|
||||||
<div class="bg-blue-600 text-white py-4 px-6 flex items-center justify-between">
|
<div class="card-body">
|
||||||
|
|
||||||
|
|
||||||
|
<div class=" text-white py-4 px-6 flex items-center justify-between">
|
||||||
<h1 class="text-md font-medium text-gray-900">Lingkungan</h1>
|
<h1 class="text-md font-medium text-gray-900">Lingkungan</h1>
|
||||||
<button id="btnLingkungan" type="button" class="btn btn-primary btn-sm">
|
<button id="btnLingkungan" type="button" class="btn btn-primary btn-sm">
|
||||||
<i class="ki-filled ki-plus text-lg"></i>
|
<i class="ki-filled ki-plus text-lg"></i>
|
||||||
@@ -441,8 +482,7 @@
|
|||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input type="hidden" name="name_lingkungan[]" value="lingkungan">
|
<input type="hidden" name="name_lingkungan[]" value="lingkungan">
|
||||||
<input id="inputLingkungan" type="file" name="foto_lingkungan[]"
|
<input id="inputLingkungan" type="file" name="foto_lingkungan[]"
|
||||||
class="file-input file-input-bordered w-full" accept="image/*"
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
|
||||||
capture="camera">
|
|
||||||
|
|
||||||
<button type="button" id="btnCamera" class="btn btn-light"
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
data-modal-toggle="#cameraModal">
|
data-modal-toggle="#cameraModal">
|
||||||
@@ -450,8 +490,8 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="button" class="btn btn-danger btn-sm delete-btn"
|
<button type="button" class="btn btn-danger btn-sm delete-btn" style="display: none;"
|
||||||
style="display: none;" id="btnDelete">
|
id="btnDelete">
|
||||||
<i class="ki-filled ki-trash"></i>
|
<i class="ki-filled ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -464,11 +504,13 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class=" bg-white rounded-lg shadow-md">
|
<div class="card bg-white rounded-lg shadow-md">
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
|
||||||
<div class="bg-blue-600 text-white py-4 px-6 flex items-center justify-between">
|
<div class=" text-white py-4 px-6 flex items-center justify-between">
|
||||||
<h1 class="text-md font-medium text-gray-900">Pendamping</h1>
|
<h1 class="text-md font-medium text-gray-900">Pendamping</h1>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 5px">
|
<div style="margin-top: 5px">
|
||||||
@@ -484,16 +526,15 @@
|
|||||||
@endif
|
@endif
|
||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input id="inputPendamping" type="file" name="pendamping"
|
<input id="inputPendamping" type="file" name="pendamping"
|
||||||
class="file-input file-input-bordered w-full" accept="image/*"
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
|
||||||
capture="camera">
|
|
||||||
<button type="button" id="btnCamera" class="btn btn-light"
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
data-modal-toggle="#cameraModal">
|
data-modal-toggle="#cameraModal">
|
||||||
<i class="ki-outline ki-abstract-33"></i> Camera
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="button" class="btn btn-danger btn-sm delete-btn"
|
<button type="button" class="btn btn-danger btn-sm delete-btn" style="display: none;"
|
||||||
style="display: none;" id="btnDelete">
|
id="btnDelete">
|
||||||
<i class="ki-filled ki-trash"></i>
|
<i class="ki-filled ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -503,20 +544,27 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||||
<button type="submit" class="btn btn-success">
|
<button type="button" class="btn btn-success" id="saveButtonFoto" onclick="submitFoto()">
|
||||||
Save
|
<span id="saveButtonFotoText">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>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
|
|
||||||
|
</form>
|
||||||
|
{{--
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> --}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Modal Kamera -->
|
<!-- Modal Kamera -->
|
||||||
|
|
||||||
<div class="modal fade" data-modal="true" id="cameraModal" data-backdrop="" data-keyboard="false">
|
<div class="modal fade" data-modal="true" id="cameraModal" data-backdrop="" data-keyboard="false">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
|
||||||
@@ -609,9 +657,138 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
@include('lpj::surveyor.js.camera-editor')
|
|
||||||
<script>
|
<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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function submitFoto() {
|
||||||
|
const formElement = $('#formFoto')[0];
|
||||||
|
const formData = new FormData(formElement);
|
||||||
|
for (const [key, value] of formData.entries()) {
|
||||||
|
console.log(`Key: ${key}, Value: ${value}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable the button and show the spinner
|
||||||
|
$('#saveButtonFoto').prop('disabled', true);
|
||||||
|
$('#saveButtonFotoText').hide();
|
||||||
|
$('#saveButtonSpinner').show();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: '{{ route('surveyor.storeFoto') }}',
|
||||||
|
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=foto';
|
||||||
|
// }
|
||||||
|
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
|
||||||
|
$('#saveButtonFoto').prop('disabled', false);
|
||||||
|
$('#saveButtonFotoText').show();
|
||||||
|
$('#saveButtonSpinner').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@include('lpj::surveyor.js.camera-editor')
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
|
const ruteLainnyaDiv = document.getElementById("ruteLainnya");
|
||||||
|
const lantaiLainnyaDiv = document.getElementById("lantaiLainnya");
|
||||||
|
|
||||||
|
// Function to add delete event listeners to existing buttons
|
||||||
|
function addDeleteListeners(container) {
|
||||||
|
container.querySelectorAll(".delete-button").forEach(button => {
|
||||||
|
button.addEventListener("click", function() {
|
||||||
|
this.closest(
|
||||||
|
".flex.items-baseline.flex-wrap.lg\\:flex-nowrap.gap-2\\.5.mb-5"
|
||||||
|
).remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add delete listeners to existing buttons
|
||||||
|
addDeleteListeners(ruteLainnyaDiv);
|
||||||
|
addDeleteListeners(lantaiLainnyaDiv);
|
||||||
|
|
||||||
|
function createNewDiv(container, inputName) {
|
||||||
|
const newDiv = document.createElement("div");
|
||||||
|
newDiv.className = "flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-5";
|
||||||
|
newDiv.innerHTML = `
|
||||||
|
<label class="flex flex-col form-label max-w-56">
|
||||||
|
Masukkan nama ${inputName}
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<div class="flex flex-col lg:flex-row gap-2 w-full">
|
||||||
|
<div class="flex flex-wrap items-baseline px-2">
|
||||||
|
<input class="input" type="text" name="name_${inputName}[]">
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<div class="input-group w-full flex gap-2">
|
||||||
|
<input id="inputPendamping" type="file" name="foto_${inputName}"
|
||||||
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
|
||||||
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
|
data-modal-toggle="#cameraModal">
|
||||||
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn btn-danger btn-sm delete-button">
|
||||||
|
<i class="ki-filled ki-trash"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
container.appendChild(newDiv);
|
||||||
|
addDeleteListeners(container);
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("btnAddMore").addEventListener("click", function() {
|
||||||
|
createNewDiv(ruteLainnyaDiv, "rute_lainnya");
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("btnAddMoreObject").addEventListener("click", function() {
|
||||||
|
createNewDiv(lantaiLainnyaDiv, "lantai_lainnya");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const style = document.createElement('style');
|
const style = document.createElement('style');
|
||||||
style.textContent = `
|
style.textContent = `
|
||||||
.draggable-text {
|
.draggable-text {
|
||||||
|
|||||||
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"
|
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200"
|
||||||
data-accordion-item="true" id="accordion_1_item_1">
|
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">
|
<span class="text-base text-gray-900 font-medium">
|
||||||
Jaminan {{ $loop->index + 1 }}
|
Jaminan {{ $loop->index + 1 }}
|
||||||
</span>
|
</span>
|
||||||
@@ -124,11 +125,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="card">
|
{{-- <div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body"> --}}
|
||||||
<form id="debiturForm"
|
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||||
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))
|
@if (isset($analisa->id))
|
||||||
<input type="hidden" name="id" value="{{ $analisa->id }}">
|
<input type="hidden" name="id" value="{{ $analisa->id }}">
|
||||||
@method('PUT')
|
@method('PUT')
|
||||||
@@ -186,658 +185,36 @@
|
|||||||
@include('lpj::surveyor.components.kapal')
|
@include('lpj::surveyor.components.kapal')
|
||||||
@elseif($analisaType == 'kendaraan')
|
@elseif($analisaType == 'kendaraan')
|
||||||
@include('lpj::surveyor.components.kendaraan')
|
@include('lpj::surveyor.components.kendaraan')
|
||||||
|
@elseif($analisaType == 'pesawat')
|
||||||
|
@include('lpj::surveyor.components.pesawat')
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($analisaType == 'tanah_bangunan')
|
@if ($analisaType == 'tanah_bangunan')
|
||||||
@include('lpj::surveyor.components.bangunan')
|
@include('lpj::surveyor.components.bangunan')
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if ($analisaType != 'mesin' && $analisaType != 'kapal')
|
@if ($analisaType != 'mesin' && $analisaType != 'kapal' && $analisaType != 'kendaraan' && $analisaType != 'pesawat')
|
||||||
<div class=" bg-white rounded-lg overflow-hidden">
|
@include('lpj::surveyor.components.lingkungan')
|
||||||
<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>
|
|
||||||
|
|
||||||
|
|
||||||
<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>
|
|
||||||
|
|
||||||
@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>
|
|
||||||
@endif
|
@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">
|
@include('lpj::surveyor.components.fakta')
|
||||||
<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">
|
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||||
<button type="submit" class="btn btn-success">
|
<button type="button" class="btn btn-success" id="saveButton" onclick="submitData()">
|
||||||
Save
|
<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>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
{{-- </div>
|
||||||
|
</div> --}}
|
||||||
</div>
|
</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
|
@endsection
|
||||||
@push('scripts')
|
@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>
|
<script>
|
||||||
// Fungsi untuk mengambil lokasi pengguna
|
// Fungsi untuk mengambil lokasi pengguna
|
||||||
function getUserLocation() {
|
function getUserLocation() {
|
||||||
@@ -877,4 +254,65 @@
|
|||||||
}
|
}
|
||||||
window.onload = getUserLocation;
|
window.onload = getUserLocation;
|
||||||
</script>
|
</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
|
@endpush
|
||||||
|
|||||||
@@ -8,52 +8,18 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.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>
|
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<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">
|
placeholder="Masukkan Hubungan Calon Debitur">
|
||||||
|
|
||||||
@error('bentuk_tanah')
|
@error('hub_calon_debitur')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="py-4 px-6">
|
{{-- lokasi jaminan --}}
|
||||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||||
</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>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
<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">
|
<div class="py-4 px-6">
|
||||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -13,10 +16,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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">
|
<div class="py-4 px-6">
|
||||||
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,46 +49,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="py-4 px-6">
|
{{-- lokasi jaminan --}}
|
||||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||||
</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>
|
</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">
|
<div class="py-4 px-6">
|
||||||
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -158,3 +131,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
|
|
||||||
<div class="py-4 px-6">
|
{{-- lokasi jaminan --}}
|
||||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||||
</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>
|
|
||||||
</div>
|
</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">
|
@include('lpj::surveyor.components.header')
|
||||||
<div class="py-4 px-6">
|
|
||||||
|
<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">Analisa Tanah</h1>
|
<h1 class="text-md font-medium text-gray-900">Analisa Tanah</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
|
|
||||||
<!-- Luas tanah -->
|
<!-- Luas tanah -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Luas Tanah</label>
|
<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
|
||||||
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<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">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas" value="sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
|
||||||
{{ old('luas') == 'sesuai' && $analisa->luas ? 'checked' : '' }}>
|
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
|
||||||
|
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas" value="tidak sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
||||||
{{ old('luas') == 'tidak sesuai' && $analisa->luas ? 'checked' : '' }}>
|
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
|
||||||
|
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</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>
|
||||||
|
|
||||||
@error('bentuk_tanah')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
|
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||||
name="hadapMataAngin">
|
<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>
|
<option value="">Select Hadap Mata Angin</option>
|
||||||
@if (isset($arahMataAngin))
|
@if (isset($arahMataAngin))
|
||||||
@foreach ($arahMataAngin as $item)
|
@foreach ($arahMataAngin as $item)
|
||||||
<option value="{{ $item->name }}"
|
<option value="{{ $item->name }}"
|
||||||
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
||||||
|
{{ $item->name }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('hadapMataAngin')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Bentuk Tanah -->
|
<!-- Bentuk Tanah -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Bentuk Tanah</label>
|
<label class="form-label max-w-56">Bentuk Tanah</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select class="input tomselect w-full @error('bentuk_tanah') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-4">
|
||||||
name="bentuk_tanah">
|
|
||||||
<option value="">Select Bentuk Tanah</option>
|
|
||||||
@if (isset($bentukTanah))
|
@if (isset($bentukTanah))
|
||||||
@foreach ($bentukTanah as $item)
|
@foreach ($bentukTanah as $item)
|
||||||
|
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||||
@if (isset($analisa) && isset($analisa->analisaTanahBangunan))
|
<div class="flex items-center">
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ $analisa->analisaTanahBangunan->bentuk_tanah == $item->name ? 'selected' : '' }}>
|
<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 }}
|
{{ $item->name }}
|
||||||
</option>
|
</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
|
@else
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('bentuk_tanah') == $item->name ? 'selected' : '' }}>
|
<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 }}
|
{{ $item->name }}
|
||||||
</option>
|
</label>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-bentuk_tanah" class="alert text-danger text-sm"></em>
|
||||||
@error('bentuk_tanah')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kontur Tanah</label>
|
<label class="form-label max-w-56">Kontur Tanah</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select class="input tomselect w-full @error('kontur_tanah') border-danger bg-danger-light @enderror"
|
|
||||||
name="kontur_tanah">
|
<div class="flex flex-col items-start gap-4">
|
||||||
<option value="">Select Kontur Tanah</option>
|
|
||||||
@if (isset($konturTanah))
|
@if (isset($konturTanah))
|
||||||
@foreach ($konturTanah as $item)
|
@foreach ($konturTanah as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('kontur_tanah', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_tanah) == $item->name ? 'selected' : '' }}>
|
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
|
||||||
|
value="{{ $item->name }}"
|
||||||
|
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</option>
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-kontur_tanah" class="alert text-danger text-sm"></em>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('kontur_tanah')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Beda Ketinggian Dengan Jalan -->
|
<!-- Beda Ketinggian Dengan Jalan -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<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>
|
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select
|
|
||||||
class="input tomselect w-full @error('ketinggian_jalan') border-danger bg-danger-light @enderror"
|
|
||||||
name="ketinggian_jalan">
|
<div class="flex flex-col items-start gap-4">
|
||||||
<option value="">Select Ketinggian Dengan Jalan</option>
|
|
||||||
@if (isset($ketinggianTanah))
|
@if (isset($ketinggianTanah))
|
||||||
@foreach ($ketinggianTanah as $item)
|
@foreach ($ketinggianTanah as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('ketinggian_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->ketinggian_jalan) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="ketinggian_jalan[]" type="checkbox"
|
||||||
</option>
|
value="{{ $item->name }}"
|
||||||
|
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['ketinggian_jalan'] ?? [])) ? 'checked' : '' }} />
|
||||||
|
{{ $item->name }}
|
||||||
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-ketinggian_jalan" class="alert text-danger text-sm"></em>
|
||||||
@error('ketinggian_jalan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Kontur Jalan Depan Objek -->
|
<!-- Kontur Jalan Depan Objek -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<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>
|
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
|
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
|
||||||
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'menurun' ? 'checked' : '' }}>
|
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Menurun</span>
|
<span class="ml-2">Menurun</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="kontur_jalan" value="rata"
|
<input type="radio" class="radio" name="kontur_jalan" value="rata"
|
||||||
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'rata' ? 'checked' : '' }}>
|
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Rata</span>
|
<span class="ml-2">Rata</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<em id="error-kontur_jalan" class="alert text-danger text-sm"></em>
|
||||||
@error('kontur_jalan')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
||||||
<label class="form-label max-w-56">Posisi Kavling</label>
|
<label class="form-label max-w-56">Posisi Kavling</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select class="input tomselect w-full @error('posisi_kavling') border-danger bg-danger-light @enderror"
|
<div class="flex flex-col items-start gap-4">
|
||||||
name="posisi_kavling">
|
|
||||||
<option value="">Select Posisi Kavling</option>
|
|
||||||
@if (isset($posisiKavling))
|
@if (isset($posisiKavling))
|
||||||
@foreach ($posisiKavling as $item)
|
@foreach ($posisiKavling as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('posisi_kavling', isset($analisa) && optional($analisa->analisaTanahBangunan)->posisi_kavling) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||||
</option>
|
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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
@error('posisi_kavling')
|
<em id="error-posisi_kavling" class="alert text-danger text-sm"></em>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Tusuk Sate -->
|
<!-- Tusuk Sate -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Tusuk Sate</label>
|
<label class="form-label max-w-56">Tusuk Sate</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<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">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="tusuk_sate" value="yes"
|
<input type="radio" class="radio" name="tusuk_sate" value="yes"
|
||||||
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'yes' ? 'checked' : '' }}>
|
{{ old('tusuk_sate') == 'yes' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'yes') ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="tusuk_sate" value="no"
|
<input type="radio" class="radio" name="tusuk_sate" value="no"
|
||||||
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'no' ? 'checked' : '' }}>
|
{{ old('tusuk_sate') == 'no' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'no') ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<em id="error-tusuk_sate" class="alert text-danger text-sm"></em>
|
||||||
@error('tusuk_sate')
|
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Lockland -->
|
<!-- Lockland -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Locklande</label>
|
<label class="form-label max-w-56">Lockland</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<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">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="lockland" value="yes"
|
<input type="radio" class="radio" name="lockland" value="yes"
|
||||||
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'yes' ? 'checked' : '' }}>
|
{{ old('lockland') == 'yes' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'yes') ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="lockland" value="no"
|
<input type="radio" class="radio" name="lockland" value="no"
|
||||||
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'no' ? 'checked' : '' }}>
|
{{ old('lockland') == 'no' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'no') ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@error('lockland')
|
<em id="error-lockland" class="alert text-danger text-sm"></em>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Kondisi Fisik Tanah -->
|
<!-- Kondisi Fisik Tanah -->
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
|
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
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))
|
@if (isset($kondisiFisikTanah))
|
||||||
@foreach ($kondisiFisikTanah as $item)
|
@foreach ($kondisiFisikTanah as $item)
|
||||||
<option value="{{ $item->name }}"
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
{{ old('kondisi_fisik_tanah', isset($analisa) && optional($analisa->analisaTanahBangunan)->kondisi_fisik_tanah) == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
|
||||||
</option>
|
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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
<em id="error-kondisi_fisik_tanah" class="alert text-danger text-sm"></em>
|
||||||
@error('kondisi_fisik_tanah')
|
</div>
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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' : '' }}>
|
<button type="submit" class="btn btn-primary " {{ $buttonDisable ? 'disabled' : '' }}>
|
||||||
Submit
|
Submit
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|||||||
@@ -434,94 +434,6 @@ Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) {
|
|||||||
$trail->push('Form Pembanding');
|
$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) {
|
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('otorisator');
|
$trail->parent('otorisator');
|
||||||
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
|
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
|
||||||
@@ -547,6 +459,7 @@ $basicDataRoutes = [
|
|||||||
'lantai-unit' => 'Lantai Unit',
|
'lantai-unit' => 'Lantai Unit',
|
||||||
'view-unit' => 'View Unit',
|
'view-unit' => 'View Unit',
|
||||||
'bentuk-unit' => 'Bentuk unit',
|
'bentuk-unit' => 'Bentuk unit',
|
||||||
|
'perkerasan-jalan' => 'Perkerasan jalan'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@@ -636,3 +549,6 @@ Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
|
|||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('SLA', route('basicdata.sla.index'));
|
$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/datatables', 'dataForDatatables')->name('prosespenawaran.datatables');
|
||||||
Route::get('prosespenawaran/datatableskjppList_1', 'dataForDatatablesKJPPList_1')->name('prosespenawaran.datatableskjppList_1');
|
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
|
// update one
|
||||||
Route::put('/prosespenawaran/{prosespenawaran}', 'update')->name('prosespenawaran.update');
|
Route::put('/prosespenawaran/{prosespenawaran}', 'update')->name('prosespenawaran.update');
|
||||||
// update all
|
// update all
|
||||||
Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
|
Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
|
||||||
|
// update draft
|
||||||
|
Route::put('/prosespenawaranDraft/{prosespenawaranDraft}', 'updateDraft')->name('prosespenawaran.updateDraft');
|
||||||
// delete KJPP, status set = 0
|
// delete KJPP, status set = 0
|
||||||
Route::put('/prosespenawaranKJPPStatus/{prosespenawaranKJPPStatus}', 'updateKJPPStatus')->name('prosespenawaran.updateKJPPStatus');
|
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
|
// Proses Penawaran Ulang
|
||||||
|
|||||||
@@ -294,6 +294,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
'lantai-unit' => 'Lantai Unit',
|
'lantai-unit' => 'Lantai Unit',
|
||||||
'view-unit' => 'View Unit',
|
'view-unit' => 'View Unit',
|
||||||
'bentuk-unit' => 'Bentuk unit',
|
'bentuk-unit' => 'Bentuk unit',
|
||||||
|
'perkerasan-jalan' => 'Perkerasan jalan',
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($headers as $type => $header) {
|
foreach ($headers as $type => $header) {
|
||||||
|
|||||||
Reference in New Issue
Block a user