update basic data surveyor

This commit is contained in:
majid
2024-11-25 16:40:14 +07:00
parent 102f0e07ae
commit 107b1ca590
29 changed files with 1225 additions and 246 deletions

View File

@@ -4,6 +4,7 @@ namespace Modules\Lpj\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Inspeksi;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
class PenilaiController extends Controller class PenilaiController extends Controller
@@ -21,6 +22,22 @@ class PenilaiController extends Controller
/** /**
* Show the form for creating a new resource. * Show the form for creating a new resource.
*/ */
public function lampiran($id){
$permohonan = Permohonan::with('debiture.documents')->find($id);
$jaminanId = $permohonan->debiture->documents->first()->jenis_jaminan_id;
$inpeksi = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
$formFoto = null;
if ($inpeksi) {
$formFoto = json_decode($inpeksi->foto_form, true);
}
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto'));
}
public function create() public function create()
{ {
return view('lpj::create'); return view('lpj::create');

View File

@@ -116,7 +116,7 @@ class PenilaianController extends Controller
} }
if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region') { if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region') {
$status = 'registered'; $status = $permohonan->status;
} else { } else {
$status = 'assign'; $status = 'assign';
} }

View File

@@ -39,12 +39,19 @@ use Modules\Lpj\Models\Teams;
use Modules\Lpj\Models\Lantai; use Modules\Lpj\Models\Lantai;
use Modules\Lpj\Models\Inspeksi; use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\ViewUnit; use Modules\Lpj\Models\ViewUnit;
use Modules\Lpj\Models\JenisUnit;
use Modules\Lpj\Models\BentukUnit;
use Modules\Lpj\Models\PosisiUnit;
use Modules\Lpj\Models\TerletakArea;
use Modules\Lpj\Models\FasilitasObjek;
use Modules\Lpj\Models\MerupakanDaerah;
use Modules\Lpj\Models\ObjekJaminan; use Modules\Lpj\Models\ObjekJaminan;
use Modules\Lpj\Models\ModelAlatBerat; use Modules\Lpj\Models\ModelAlatBerat;
use Modules\Lpj\Models\JenisPesawat; use Modules\Lpj\Models\JenisPesawat;
use Modules\Lpj\Models\JenisKapal; use Modules\Lpj\Models\JenisKapal;
use Modules\Lpj\Models\JenisKendaraan; use Modules\Lpj\Models\JenisKendaraan;
use Modules\Lpj\Models\RuteJaminan; use Modules\Lpj\Models\RuteJaminan;
use Modules\Lpj\Models\HubunganPemilikJaminan;
use Modules\Lpj\Models\AnalisaUnit; use Modules\Lpj\Models\AnalisaUnit;
use Modules\Lpj\Models\GolonganMasySekitar; use Modules\Lpj\Models\GolonganMasySekitar;
use Modules\Lpj\Models\TingkatKeramaian; use Modules\Lpj\Models\TingkatKeramaian;
@@ -566,6 +573,8 @@ class SurveyorController extends Controller
$jenisKapal = JenisKapal::all(); $jenisKapal = JenisKapal::all();
$jenisPesawat = JenisPesawat::all(); $jenisPesawat = JenisPesawat::all();
$modelAlatBerat = ModelAlatBerat::all(); $modelAlatBerat = ModelAlatBerat::all();
$hubCadeb =HubunganPemilikJaminan::all();
// return response()->json([ // return response()->json([
// 'per'=> // 'per'=>
@@ -606,7 +615,8 @@ class SurveyorController extends Controller
'jenisKendaraan', 'jenisKendaraan',
'jenisKapal', 'jenisKapal',
'jenisPesawat', 'jenisPesawat',
'modelAlatBerat' 'modelAlatBerat',
'hubCadeb'
)); ));
} }
@@ -779,6 +789,12 @@ class SurveyorController extends Controller
'model-alat-berat' => ['Model Alat Berat', 'model-alat-berat', ModelAlatBerat::class], 'model-alat-berat' => ['Model Alat Berat', 'model-alat-berat', ModelAlatBerat::class],
'jenis-kapal' => ['Jenis Kapal', 'jenis-kapal', JenisKapal::class], 'jenis-kapal' => ['Jenis Kapal', 'jenis-kapal', JenisKapal::class],
'jenis-kendaraan' => ['Jenis Kendaraan', 'jenis-kendaraan', JenisKendaraan::class], 'jenis-kendaraan' => ['Jenis Kendaraan', 'jenis-kendaraan', JenisKendaraan::class],
'jenis-unit' => ['Jenis unit', 'jenis-unit', JenisUnit::class],
'terletak-area' => ['Terletak di Area', 'terletak-area', TerletakArea::class],
'merupakan-daerah' => ['Merupakan Daerah', 'merupakan-daerah', MerupakanDaerah::class],
'posisi-unit' => ['Posisi unit', 'posisi-unit', PosisiUnit::class],
'bentuk-unit' => ['Bentuk unit', 'bentuk-unit', BentukUnit::class],
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek', FasilitasObjek::class],
]; ];
@@ -931,6 +947,12 @@ class SurveyorController extends Controller
'Model alat berat' => ModelAlatBerat::class, 'Model alat berat' => ModelAlatBerat::class,
'Jenis kapal' => JenisKapal::class, 'Jenis kapal' => JenisKapal::class,
'Jenis kendaraan' => JenisKendaraan::class, 'Jenis kendaraan' => JenisKendaraan::class,
'Terletak di Area' => TerletakArea::class,
'Posisi unit' => PosisiUnit::class,
'Bentuk unit' => BentukUnit::class,
'Fasilitas Umum Dekat Objek' => FasilitasObjek::class,
'Merupakan Daerah' => MerupakanDaerah::class,
'Jenis unit' => JenisUnit::class,
]; ];
@@ -1067,6 +1089,12 @@ class SurveyorController extends Controller
'model-alat-berat' => ModelAlatBerat::class, 'model-alat-berat' => ModelAlatBerat::class,
'jenis-kapal' => JenisKapal::class, 'jenis-kapal' => JenisKapal::class,
'jenis-kendaraan' => JenisKendaraan::class, 'jenis-kendaraan' => JenisKendaraan::class,
'terletak-area' => TerletakArea::class,
'posisi-unit' => PosisiUnit::class,
'bentuk-unit' => BentukUnit::class,
'fasilitas-objek' => FasilitasObjek::class,
'merupakan-daerah' => MerupakanDaerah::class,
'jenis-unit' => JenisUnit::class,
]; ];
@@ -1125,6 +1153,12 @@ class SurveyorController extends Controller
'model-alat-berat' => ['Model alat berat', 'model-alat-berat'], 'model-alat-berat' => ['Model alat berat', 'model-alat-berat'],
'jenis-kapal' => ['Jenis kapal', 'jenis-kapal'], 'jenis-kapal' => ['Jenis kapal', 'jenis-kapal'],
'jenis-kendaraan' => ['Jenis kendaraan', 'jenis-kendaraan'], 'jenis-kendaraan' => ['Jenis kendaraan', 'jenis-kendaraan'],
'jenis-unit' => ['Jenis unit', 'jenis-unit'],
'terletak-area' => ['Terletak di Area', 'terletak-area'],
'merupakan-daerah' => ['Merupakan Daerah', 'merupakan-daerah'],
'posisi-unit' => ['Posisi unit', 'posisi-unit'],
'bentuk-unit' => ['Bentuk unit', 'bentuk-unit'],
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek'],
]; ];
private function getAssetData($data) private function getAssetData($data)

View File

@@ -3,7 +3,6 @@
namespace Modules\Lpj\Http\Requests; namespace Modules\Lpj\Http\Requests;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
class SurveyorRequest extends FormRequest class SurveyorRequest extends FormRequest
@@ -32,6 +31,12 @@ class SurveyorRequest extends FormRequest
'model-alat-berat' => 'model_alat_berat', 'model-alat-berat' => 'model_alat_berat',
'jenis-kapal' => 'jenis_kapal', 'jenis-kapal' => 'jenis_kapal',
'jenis-kendaraan' => 'jenis_kendaraan', 'jenis-kendaraan' => 'jenis_kendaraan',
'jenis-unit' => 'jenis_unit',
'terletak-area' => 'terletak_area',
'merupakan-daerah' => 'merupakan_daerah',
'posisi-unit' => 'posisi_unit',
'bentuk-unit' => 'bentuk_unit',
'fasilitas-objek' => 'fasilitas_objek',
]; ];
/** /**

24
app/Models/BentukUnit.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\BentukUnitFactory;
class BentukUnit extends Model
{
use HasFactory;
protected $table = 'bentuk_unit';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): BentukUnitFactory
// {
// // return BentukUnitFactory::new();
// }
}

View 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\FasilitasObjekFactory;
class FasilitasObjek extends Model
{
use HasFactory;
protected $table = 'fasilitas_objek';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): FasilitasObjekFactory
// {
// // return FasilitasObjekFactory::new();
// }
}

24
app/Models/JenisUnit.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\JenisUnitFactory;
class JenisUnit extends Model
{
use HasFactory;
protected $table = 'jenis_unit';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): JenisUnitFactory
// {
// // return JenisUnitFactory::new();
// }
}

View File

@@ -0,0 +1,24 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\MerupakanDaerahFactory;
class MerupakanDaerah extends Model
{
use HasFactory;
protected $table = 'merupakan_daerah';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): MerupakanDaerahFactory
// {
// // return MerupakanDaerahFactory::new();
// }
}

24
app/Models/PosisiUnit.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\PosisiUnitFactory;
class PosisiUnit extends Model
{
use HasFactory;
protected $table = 'posisi_unit';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): PosisiUnitFactory
// {
// // return PosisiUnitFactory::new();
// }
}

View File

@@ -0,0 +1,25 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\TerletakAreaFactory;
class TerletakArea extends Model
{
use HasFactory;
protected $table = 'terletak_area';
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['code', 'name', 'status'];
// protected static function newFactory(): TerletakAreaFactory
// {
// // return TerletakAreaFactory::new();
// }
}

View File

@@ -0,0 +1,37 @@
<?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('terletak_area', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('terletak_area');
}
};

View File

@@ -0,0 +1,37 @@
<?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('merupakan_daerah', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('merupakan_daerah');
}
};

View File

@@ -0,0 +1,37 @@
<?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('fasilitas_objek', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('fasilitas_objek');
}
};

View File

@@ -0,0 +1,37 @@
<?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('posisi_unit', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('posisi_unit');
}
};

View File

@@ -0,0 +1,37 @@
<?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('jenis_unit', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('jenis_unit');
}
};

View File

@@ -0,0 +1,37 @@
<?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('bentuk_unit', function (Blueprint $table) {
$table->id();
$table->string('code')->unique()->index();
$table->string('name');
$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('bentuk_unit');
}
};

View File

@@ -496,6 +496,49 @@
"roles": ["administrator","surveyor"] "roles": ["administrator","surveyor"]
}, },
{
"title": "Jenis Unit",
"path": "basicdata.jenis-unit",
"classes": "",
"attributes": [],
"permission": "",
"roles": ["administrator","surveyor"]
},
{
"title": "Bentuk Unit",
"path": "basicdata.bentuk-unit",
"classes": "",
"attributes": [],
"permission": "",
"roles": ["administrator","surveyor"]
},
{
"title": "Merupakan Daerah",
"path": "basicdata.merupakan-daerah",
"classes": "",
"attributes": [],
"permission": "",
"roles": ["administrator","surveyor"]
},
{
"title": "Fasilitas Umum Dekat Objek",
"path": "basicdata.fasilitas-objek",
"classes": "",
"attributes": [],
"permission": "",
"roles": ["administrator","surveyor"]
},
{
"title": "Posisi Unit",
"path": "basicdata.posisi-unit",
"classes": "",
"attributes": [],
"permission": "",
"roles": ["administrator","surveyor"]
},
{ {
"title": "Lalu Lintas Sekitar", "title": "Lalu Lintas Sekitar",
"path": "basicdata.lalu-lintas-lokasi", "path": "basicdata.lalu-lintas-lokasi",

View File

@@ -0,0 +1,259 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card pb-2.5">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Lampiran foto dan dokument
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i>
Back</a>
</div>
</div>
<div class="card-body grid gap-5">
@if (isset($permohonan))
<div data-accordion="true">
@foreach ($permohonan->debiture->documents as $dokumen)
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200"
data-accordion-item="true" id="accordion_detail_jaminan">
<button class="accordion-toggle py-4 group "
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium">
Dokument
</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-table scrollable-x-auto pb-3">
<a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
class="ml-6 btn btn-dark dark:btn-light">
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
</a>
<table class="table align-middle text-sm text-gray-500">
@foreach ($dokumen->detail as $detail)
<tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px] align-top">
Dokumen Jaminan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(
json_decode($detail->dokumen_jaminan),
)
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(
json_decode($detail->dokumen_nomor),
)
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div class="flex w-full lg:w-[30%]">
@if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo']))
@if (!empty($dokumen_nomor))
<span class="flex-1 mt-2 text-info">Nomor
Dokumen :
{{ $dokumen_nomor[$index] }}</span>
@endif
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
{{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
@endif
<span
class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
class="ki-filled ki-eye mr-2"></i>Preview</span>
</div>
<br>
@endforeach
@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>
@endforeach
</div>
@endif
</div>
</div>
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Rute Menuju Lokasi
</h3>
</div>
<div class="card-body">
@if (isset($formFoto))
@foreach ($formFoto['rute_menuju_lokasi'] as $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name_rute'] . ' ' . $loop->index + 1 }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['foto_rute']) }}" alt="">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Object Jaminan
</h3>
</div>
<div class="card-body">
@if (isset($formFoto['object_jaminan']))
@foreach ($formFoto['object_jaminan'] as $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
{{ $item['nama_objek'] }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['foto_object']) }}" alt="">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@if (isset($formFoto['foto_basement']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Basement
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Basemnt
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($formFoto['foto_basement']) }}" alt="">
</div>
</div>
</div>
</div>
</div>
@endif
@if (isset($formFoto['foto_gerbang']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Gerbang
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Gerbang
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($formFoto['foto_gerbang']) }}" alt="">
</div>
</div>
</div>
</div>
</div>
@endif
@if (isset($formFoto['pendamping']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Pendamping
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Pendamping
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($formFoto['pendamping']) }}" alt="">
</div>
</div>
</div>
</div>
</div>
@endif
</div>
@endsection

View File

@@ -91,120 +91,154 @@
</div> </div>
</div> </div>
@foreach($permohonan->debiture->documents as $dokumen) @foreach ($permohonan->debiture->documents as $dokumen)
<div class="card"> <div class="card">
<div class="card-body grid gap-5"> <div class="card-body grid gap-5">
<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">
@php @php
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first(); $surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first(); $penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
@endphp @endphp
<label class="form-label max-w-56"> <label class="form-label max-w-56">
Surveyor Surveyor
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $surveyor->userPenilaiTeam->name }}</p> <p class="flex w-full text-gray-600 font-medium text-sm">{{ $surveyor->userPenilaiTeam->name }}
</p>
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $permohonan->region->name }}</p> <p class="flex w-full text-gray-600 font-medium text-sm">{{ $permohonan->region->name }}</p>
</div>
<label class="form-label max-w-56">
Penilai
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $penilai->userPenilaiTeam->name }}
</p>
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ $permohonan->region->name }}
</p>
</div>
</div> </div>
<label class="form-label max-w-56"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
Penilai <label class="form-label max-w-56">
</label> Tujuan Penilaian
<div class="flex flex-wrap items-baseline w-full"> </label>
<p class="flex text-gray-600 font-medium text-sm w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $penilai->userPenilaiTeam->name }}</p> {{ $permohonan->tujuanPenilaian->name }}</p>
<label class="form-label max-w-56">
<p class="flex w-full text-gray-600 font-medium text-sm"> Jenis Jaminan
{{ $permohonan->region->name }} </label>
<p class="flex text-gray-600 font-medium text-sm w-full">
@foreach ($permohonan->debiture->documents as $document)
{{ $document->jenisjaminan->name }}
@endforeach
</p> </p>
</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">
<label class="form-label max-w-56"> Tanggal Survei
Tujuan Penilaian </label>
</label> <div class="flex flex-wrap items-baseline w-full">
<p class="flex text-gray-600 font-medium text-sm w-full"> <p class="flex w-full text-gray-600 font-medium text-sm">
{{ $permohonan->tujuanPenilaian->name }}</p> {{ formatTanggalIndonesia($permohonan->created_at) }}</p>
<label class="form-label max-w-56"> </div>
Jenis Jaminan
</label>
<p class="flex text-gray-600 font-medium text-sm w-full">
@foreach ($permohonan->debiture->documents as $document)
{{ $document->jenisjaminan->name }}
@endforeach
</p>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tanggal Survei
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ formatTanggalIndonesia($permohonan->created_at) }}</p>
</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">
<label class="form-label max-w-56"> Tanggal Laporan
Tanggal Laporan </label>
</label> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-wrap items-baseline w-full"> <p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-gray-600 font-medium text-sm"> {{ formatTanggalIndonesia($permohonan->created_at) }}</p>
{{ formatTanggalIndonesia($permohonan->created_at) }}</p> </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">
<label class="form-label max-w-56"> No. Laporan
No. Laporan </label>
</label> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-wrap items-baseline w-full"> <p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-gray-600 font-medium text-sm"> PJ/001/001</p>
PJ/001/001</p> </div>
</div> </div>
</div> </div>
</div> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full card-footer mt-2 ">
<div class="flex gap-5">
<a class="btn btn-primary" href="{{ route('penilai.lampiran', $permohonan->id) }}">
LAMPIRAN FOTO DAN DOKUMEN
</a>
<a class="btn btn-primary" data-modal-toggle="#modal_2">
KERTAS KERJA
</a>
<a class="btn btn-primary" href="#">
PAPARAN
</a>
<a class="btn btn-primary" href="#">
WORKSHEET
</a>
</div>
<div class="flex justify-end gap-5">
<a class="btn btn-success" href="#">
SAVE
</a>
<a class="btn btn-success" href="#">
REPORT
</a>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full card-footer mt-2 "> <a class="btn btn-success" href="#">
<div class="flex gap-5"> PRINT OUT
<a class="btn btn-primary" href=""> </a>
LAMPIRAN FOTO DAN DOKUMEN </div>
</a>
<a class="btn btn-primary" href="">
KERTAS KERJA
</a>
<a class="btn btn-primary" href="">
PAPARAN
</a>
<a class="btn btn-primary" href="">
WORKSHEET
</a>
</div>
<div class="flex justify-end gap-5">
<a class="btn btn-success" href="">
SAVE
</a>
<a class="btn btn-success" href="">
REPORT
</a>
<a class="btn btn-success" href="">
PRINT OUT
</a>
</div> </div>
</div> </div>
</div>
@endforeach @endforeach
</div>
<div class="modal" data-modal="true" id="modal_2">
<div class="modal-content modal-center-y max-w-[600px]">
<div class="modal-header">
<h3 class="modal-title">
Kertas Kerja
</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 grid gap-5">
<div class="flex items-baseline w-full">
<label for="" class="form-label max-w-56">Import Kertas Kerja</label>
<div class="flex justify-center items-center gap-2">
<input type="file" name="" id="" class="file-input">
<button class="btn btn-outline btn-success">Upload</button>
</div>
</div>
<div class="form-group flex items-baseline flex-wrap">
<a class="btn btn-outline btn-primary w-full" href="#">Export Kertas Kerja</a>
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div> </div>
@endsection @endsection

View File

@@ -16,7 +16,6 @@
<h3 class="card-title"> <h3 class="card-title">
Form Assignment Form Assignment
</h3> </h3>
</div> </div>
<div class="card-body"> <div class="card-body">
@@ -449,7 +448,7 @@
const urlAssignment = const urlAssignment =
"{{ isset($penilaian->nomor_registrasi) ? route('penilaian.update', $permohonan) : route('penilaian.store') }}"; "{{ isset($penilaian->nomor_registrasi) ? route('penilaian.update', $permohonan) : route('penilaian.store') }}";
$.ajax({ $.ajax({
url: urlAssignment, url: urlAssignment,
type: 'POST', type: 'POST',

View File

@@ -39,8 +39,8 @@
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch"> <div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2"> <div class="flex flex-col items-start gap-2">
@if (isset($jenisBangunan)) @if (isset($jenisUnit))
@foreach ($jenisBangunan as $item) @foreach ($jenisUnit as $item)
<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 class="checkbox" name="jenis_unit[]" type="checkbox" <input class="checkbox" name="jenis_unit[]" type="checkbox"
value="{{ $item->name }}" {{ in_array($item->name, old('jenis_unit', $forminspeksi['jenis_unit'] ?? [])) ? 'checked' : '' }} /> value="{{ $item->name }}" {{ in_array($item->name, old('jenis_unit', $forminspeksi['jenis_unit'] ?? [])) ? 'checked' : '' }} />
@@ -80,8 +80,8 @@
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch"> <div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2"> <div class="flex flex-col items-start gap-2">
@if (isset($ketinggianTanah)) @if (isset($posisiUnit))
@foreach ($ketinggianTanah as $item) @foreach ($posisiUnit as $item)
<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 class="checkbox" name="posisi_unit[]" type="checkbox" <input class="checkbox" name="posisi_unit[]" type="checkbox"
value="{{ $item->name }}" {{ in_array($item->name, old('posisi_unit', $forminspeksi['posisi_unit'] ?? [])) ? 'checked' : '' }} /> value="{{ $item->name }}" {{ in_array($item->name, old('posisi_unit', $forminspeksi['posisi_unit'] ?? [])) ? 'checked' : '' }} />
@@ -146,8 +146,8 @@
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch"> <div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2"> <div class="flex flex-col items-start gap-2">
@if (isset($bentukTanah)) @if (isset($bentukUnit))
@foreach ($bentukTanah as $item) @foreach ($bentukUnit as $item)
<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 class="checkbox" name="bentuk_unit[]" type="checkbox" <input class="checkbox" name="bentuk_unit[]" type="checkbox"
value="{{ $item->name }}" {{ in_array($item->name, old('bentuk_unit', $forminspeksi['bentuk_unit'] ?? [])) ? 'checked' : '' }} /> value="{{ $item->name }}" {{ in_array($item->name, old('bentuk_unit', $forminspeksi['bentuk_unit'] ?? [])) ? 'checked' : '' }} />

View File

@@ -9,15 +9,20 @@
<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-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" onclick="toggleTidakSesuai('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai')" class="radio" name="luas_tanah_bagunan" value="sesuai"
{{ old('luas_tanah_bagunan', $forminspeksi['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" onclick="toggleTidakSesuai('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai')" value="tidak sesuai"
{{ old('luas_tanah_bagunan', $forminspeksi['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>
<input type="text" name="luas_tanah_bagunan_tidak_sesuai" id="luas_tanah_bagunan_tidak_sesuai"
class="input w-full" placeholder="Masukan Luas Bangunan Tidak Sesuai..."
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['luas_tanah_bagunan_tidak_sesuai'] ?? '') }}"
style="{{ old('luas_tanah_bagunan_bagunan', $forminspeksi['luas_tanah_bagunan_bagunan'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div> </div>
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em> <em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
</div> </div>

View File

@@ -63,9 +63,7 @@
<td> <td>
@php @php
$formFoto = json_decode($forminspeksi['foto_form'], true); $formFoto = json_decode($forminspeksi['foto_form'], true);
$formIns = json_decode($forminspeksi['data_form'], true); $formIns = json_decode($forminspeksi['data_form'], true);
@endphp @endphp
@if (isset($formFoto['object_jaminan']) && @if (isset($formFoto['object_jaminan']) &&
@@ -92,24 +90,65 @@
<tr> <tr>
<td> <td>
<p>Alamat</p> <p>Alamat</p>
<p>Desa</p>
<p>Kecamatan</p>
<p>Kabupaten</p>
<p>Provinsi</p>
</td> </td>
<td> <td>
<input type="text" class="input" value="{{ isset($formIns['nama_jalan']) ? $formIns['nama_jalan'] . ' ' . $formIns['desa_kelurahan'] : ""}}" /> <input type="text" class="input"
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['kecamatan']) ? $formIns['kecamatan'] : ""}}" /> value="{{ isset($formIns['nama_jalan']) ? $formIns['nama_jalan'] . ' ' . $formIns['desa_kelurahan'] : '' }}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['kota_kabupaten']) ? $formIns['kota_kabupaten'] : ""}}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['provinsi']) ? $formIns['provinsi'] : ""}}" />
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" /> <input type="text" class="input" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
</td> </td>
</tr> </tr>
<tr>
<td>Desa</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['kecamatan']) ? $formIns['kecamatan'] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['kecamatan']) ? $formIns['kecamatan'] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>Kabupaten</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['kota_kabupaten']) ? $formIns['kota_kabupaten'] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>Provinsi</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['provinsi']) ? $formIns['provinsi'] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr> <tr>
<td> <td>
Tahun Penilaian Tahun Penilaian
@@ -253,14 +292,16 @@
</td> </td>
<td> <td>
<div class="flex items-center"> <div class="flex items-center">
<input type="text" class="input" placeholder="Objek Penilaian" value="{{ isset($formIns['kordinat_lat']) ? $formIns['kordinat_lat'] : ""}}" /> <input type="text" class="input" placeholder="Objek Penilaian"
<input type="text" class="input" placeholder="Objek Penilaian" value="{{ isset($formIns['kordinat_lng']) ? $formIns['kordinat_lng'] : ""}}" /> value="{{ isset($formIns['kordinat_lat']) ? $formIns['kordinat_lat'] : '' }}" />
<input type="text" class="input" placeholder="Objek Penilaian"
value="{{ isset($formIns['kordinat_lng']) ? $formIns['kordinat_lng'] : '' }}" />
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="flex items-center"> <div class="flex items-center">
<input type="text" class="input" placeholder="Data pembanding" /> <input type="text" class="input" placeholder="Data pembanding" />
<input type="text" class="input" placeholder="Data pembanding" /> <input type="text" class="input" placeholder="Data pembanding" />
</div> </div>
</td> </td>
</tr> </tr>
@@ -282,29 +323,60 @@
<tr> <tr>
<td> <td>
<p>Jarak Ke jalan utama</p> <p>Jarak Ke jalan utama</p>
<p>Lebar jalan depan aset (m)</p>
<p>Posisi kavling</p>
<p>Tingkat Keramaian (Occupancy)</p>
</td> </td>
<td> <td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['jarak_jalan_utama']) ? $formIns['jarak_jalan_utama'] : '' }}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['jarak_jalan_utama']) ? $formIns['jarak_jalan_utama'] : ""}}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['jarak_cbd_point']) ? $formIns['jarak_cbd_point'] : ""}}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['posisi_kavling']) ? $formIns['posisi_kavling'][0] : ""}}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['tingkat_keramaian']) ? $formIns['tingkat_keramaian'][0] : ""}}" />
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" /> <input type="text" class="input" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" /> </td>
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" /> </tr>
<tr>
<td>
<p>Lebar jalan depan aset (m)</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['jarak_cbd_point']) ? $formIns['jarak_cbd_point'] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Posisi kavling</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['posisi_kavling']) ? $formIns['posisi_kavling'][0] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Tingkat Keramaian (Occupancy)</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['tingkat_keramaian']) ? $formIns['tingkat_keramaian'][0] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -313,29 +385,92 @@
<tr> <tr>
<td> <td>
<p>Kondisi Fisik Tanah</p> <p>Kondisi Fisik Tanah</p>
<p>Beda Ketinggian dengan Jalan</p>
<p>Bentuk Tanah</p>
<p>Lebar Depan</p>
<p>Fasos Fasum</p>
<p>Lain-lain</p>
</td> </td>
<td> <td>
<input type="text" class="input" placeholder="Objek Penilaian" value="{{ isset($formIns['kondisi_fisik_tanah']) ? $formIns['kondisi_fisik_tanah'][0] : ""}}" /> <input type="text" class="input" placeholder="Objek Penilaian"
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['ketinggian_jalan']) ? $formIns['ketinggian_jalan'][0] : ""}}" /> value="{{ isset($formIns['kondisi_fisik_tanah']) ? $formIns['kondisi_fisik_tanah'][0] : '' }}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['bentuk_tanah']) ? $formIns['bentuk_tanah'][0] : ""}}" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" value="{{ isset($formIns['bentuk_tanah']) ? $formIns['bentuk_tanah'][0] : ""}}" /> </td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Beda Ketinggian dengan Jalan</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['ketinggian_jalan']) ? $formIns['ketinggian_jalan'][0] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Bentuk Tanah</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['bentuk_tanah']) ? $formIns['bentuk_tanah'][0] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Lebar Depan</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian"
value="{{ isset($formIns['bentuk_tanah']) ? $formIns['bentuk_tanah'][0] : '' }}" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr>
<td>
<p>Fasos Fasum</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian" /> <input type="text" class="input mt-2" placeholder="Objek Penilaian" />
<input type="text" class="input mt-2" placeholder="Objek Penilaian" /> <input type="text" class="input mt-2" placeholder="Objek Penilaian" />
</td> </td>
<td class="text-center"> <td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" /> <input type="text" class="input" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
<input type="text" class="input mt-2" placeholder="Data Pembanding 1" />
</td> </td>
</tr> </tr>
<tr>
<td>
<p>Lain-lain</p>
</td>
<td>
<input type="text" class="input mt-2" placeholder="Objek Penilaian" />
</td>
<td class="text-center">
<input type="text" class="input" placeholder="Data Pembanding 1" />
</td>
</tr>
<tr> <tr>
<td> <td>
Karakteristik Ekonomi Karakteristik Ekonomi
@@ -416,13 +551,13 @@
} else { } else {
// Other rows get text inputs // Other rows get text inputs
const numInputs = row.querySelectorAll('input').length; const numInputs = row.querySelectorAll('input').length;
for (let i = 0; i < numInputs; i++) { // for (let i = 0; i < numInputs; i++) {
const textInput = document.createElement('input'); const textInput = document.createElement('input');
textInput.type = 'text'; textInput.type = 'text';
textInput.className = 'input mt-2'; textInput.className = 'input mt-2';
textInput.placeholder = `Data Pembanding ${columnCount}`; textInput.placeholder = `Data Pembanding ${columnCount}`;
newCell.appendChild(textInput); newCell.appendChild(textInput);
} // }
} }
row.appendChild(newCell); row.appendChild(newCell);

View File

@@ -61,7 +61,7 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden"> <div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body"> <div class="card-body">
<div class="py-4 px-6"> <div class="py-4">
<h1 class="text-md font-medium text-gray-900">Nama Cadeb/Debitur</h1> <h1 class="text-md font-medium text-gray-900">Nama Cadeb/Debitur</h1>
</div> </div>
@@ -250,15 +250,16 @@
</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">Koordinat</label> <label class="form-label max-w-56">Koordinat</label>
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5"> <div id="perwakilan" class="flex items-baseline w-full gap-5">
<div class="grid grid-cols-2 gap-4 items-center w-full"> <div class="grid grid-cols-2 gap-4 items-center w-full">
<input class="input" type="text" name="kordinat_lat" id="lat" <input class="input" type="text" placeholder="Masukan Koordinat Latitude" type="text" name="kordinat_lat" id="lat"
value="{{ old('kordinat_lat') }}" @readonly(true)> value="{{ old('kordinat_lat') }}">
<input class="input" type="text" name="kordinat_lng" id="lng" <input class="input" type="text" placeholder="Masukan Koordinat Longitude" name="kordinat_lng" id="lng"
value="{{ old('kordinat_lng') }}" @readonly(true)> value="{{ old('kordinat_lng') }}" >
</div> </div>
<button type="button" class="btn btn-sm btn-primary" onclick="getUserLocation()">Ambil <a target="_blank" href="https://www.google.com/maps"type="button" class="btn btn-md btn-outline btn-primary" >
Kordinat</button> <i class="ki-filled ki-map"></i>Ambil
Kordinat</a>
</div> </div>
</div> </div>
</div> </div>
@@ -362,10 +363,45 @@
<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">Pemilik Jaminan</label> <label class="form-label max-w-56">Pemilik Jaminan</label>
<div class="flex flex-wrap items-baseline w-full"> <div>
@foreach ($permohonan->debiture->documents as $dokumen) <div class="flex flex-wrap items-baseline w-full">
{{ $dokumen->pemilik->hubungan_pemilik->name?? "" }} @foreach ($permohonan->debiture->documents as $dokumen)
@endforeach {{ $dokumen->pemilik->hubungan_pemilik->name?? "" }}
@endforeach
</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="toggleTidakSesuai('hub_cadeb','hub_cadeb_tidak_sesuai')" type="radio" class="radio"
name="hub_cadeb" value="sesuai"
{{ old('hub_cadeb', $forminspeksi['hub_cadeb'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleTidakSesuai('hub_cadeb', 'hub_cadeb_tidak_sesuai')" type="radio" class="radio"
name="hub_cadeb" value="tidak sesuai"
{{ old('hub_cadeb', $forminspeksi['hub_cadeb'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="hub_cadeb_tidak_sesuai"
class="input w-full
name="hub_cadeb_tidak_sesuai"
style="{{ old('hub_cadeb', $forminspeksi['hub_cadeb'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<option value="">Select Hubungan Cadeb</option>
@if (isset($hubCadeb))
@foreach ($hubCadeb as $item)
<option value="{{ $item->name }}"
{{ old('hub_cadeb_tidak_sesuai', $forminspeksi['hub_cadeb_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
</div>
<em id="error-hub_cadeb" class="alert text-danger text-sm"></em>
</div>
</div> </div>
</div> </div>
@@ -376,10 +412,46 @@
<h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1> <h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1>
<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">Penghuni Jaminan</label> <label class="form-label max-w-56">Penghuni Jaminan</label>
<div class="flex flex-wrap items-baseline w-full">
@foreach ($permohonan->debiture->documents as $dokumen) <div>
{{ $dokumen->penghuni->hubungan_penghuni->name?? "" }} <div class="flex flex-wrap items-baseline w-full">
@endforeach @foreach ($permohonan->debiture->documents as $dokumen)
{{ $dokumen->penghuni->hubungan_penghuni->name?? "" }}
@endforeach
</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="toggleTidakSesuai('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai')" type="radio" class="radio"
name="hub_cadeb_penghuni" value="sesuai"
{{ old('hub_cadeb_penghuni', $forminspeksi['hub_cadeb_penghuni'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleTidakSesuai('hub_cadeb_penghuni', 'hub_cadeb_Penghuni_tidak_sesuai')" type="radio" class="radio"
name="hub_cadeb_penghuni" value="tidak sesuai"
{{ old('hub_cadeb_penghuni', $forminspeksi['hub_cadeb_penghuni'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="hub_cadeb_Penghuni_tidak_sesuai"
class="input w-full
name="hub_cadeb_Penghuni_tidak_sesuai"
style="{{ old('hub_cadeb', $forminspeksi['hub_cadeb'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<option value="">Select Hubungan Cadeb</option>
@if (isset($hubCadeb))
@foreach ($hubCadeb as $item)
<option value="{{ $item->name }}"
{{ old('hub_cadeb_Penghuni_tidak_sesuai', $forminspeksi['hub_cadeb_Penghuni_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
</div>
<em id="error-hub_cadeb" class="alert text-danger text-sm"></em>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -164,20 +164,6 @@
</div> </div>
@endif @endif
</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 --> <!-- Upload Photo Button -->
<div class=" flex w-full mt-2" style="margin-top: 20px"> <div class=" flex w-full mt-2" style="margin-top: 20px">
<div class="flex flex-col input-group w-full"> <div class="flex flex-col input-group w-full">
@@ -198,8 +184,8 @@
</div> </div>
<!-- Notes Section --> <!-- Notes Section -->
<div class="mt-2" style="margin-top: 20px"> <div class="mt-2" >
<div class="bg-white p-6 rounded-lg"> <div class="bg-white rounded-lg">
<h4 class="block text-sm font-medium text-gray-700 mt-2">Catatan yang Perlu Diperhatikan <h4 class="block text-sm font-medium text-gray-700 mt-2">Catatan yang Perlu Diperhatikan
</h4> </h4>
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', $forminspeksi['keterangan'] ?? '') }}</textarea> <textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', $forminspeksi['keterangan'] ?? '') }}</textarea>

View File

@@ -69,47 +69,6 @@
</div> </div>
@endsection @endsection
@push('scripts') @push('scripts')
<script>
// Fungsi untuk mengambil lokasi pengguna
function getUserLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
alert("Geolocation tidak didukung oleh browser ini.");
}
}
// Fungsi untuk menampilkan posisi
function showPosition(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
document.getElementById('lat').value = lat;
document.getElementById('lng').value = lng;
var mapUrl = `https://www.google.com/maps?q=${lat},${lng}&z=15&output=embed`;
document.getElementById('mapFrame').src = mapUrl;
}
// Fungsi untuk menangani error jika lokasi tidak bisa diambil
function showError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
alert("Pengguna menolak permintaan geolokasi.");
break;
case error.POSITION_UNAVAILABLE:
alert("Informasi lokasi tidak tersedia.");
break;
case error.TIMEOUT:
alert("Permintaan lokasi pengguna berakhir.");
break;
case error.UNKNOWN_ERROR:
alert("Terjadi kesalahan yang tidak diketahui.");
break;
}
}
window.onload = getUserLocation;
</script>
<script type="text/javascript"> <script type="text/javascript">
function toggleTidakSesuai(field, inputId) { function toggleTidakSesuai(field, inputId) {
const selectedValue = $(`[name="${field}"]:checked, [name="${field}"]:checked`).val(); const selectedValue = $(`[name="${field}"]:checked, [name="${field}"]:checked`).val();
@@ -168,9 +127,7 @@
} }
}); });
} }
</script>
<script>
function previewImage(input, previewId) { function previewImage(input, previewId) {
if (input.files && input.files[0]) { if (input.files && input.files[0]) {
var reader = new FileReader(); var reader = new FileReader();

View File

@@ -128,8 +128,8 @@
<label class="form-label max-w-56">Terletak Di Area</label> <label class="form-label max-w-56">Terletak Di Area</label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4"> <div class="flex flex-col items-start gap-4">
@if (isset($konturTanah)) @if (isset($terletakDiArea))
@foreach ($konturTanah as $item) @foreach ($terletakDiArea as $item)
<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 class="checkbox" name="terletak_diarea[]" type="checkbox" <input class="checkbox" name="terletak_diarea[]" type="checkbox"
value="{{ $item->name }}" value="{{ $item->name }}"
@@ -143,6 +143,49 @@
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em> <em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
</div> </div>
</div> </div>
<!-- Disekitar Lokasi -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Disekitar Lokasi</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col gap-2 mt-2">
<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">Telah ada bangunan</span>
</label>
<div class="flex w-full items-center gap-4">
<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="" class="text-sm text-gray-700">Kondisi bangunan</label>
<input type="text" class="input mt-2" name="jarak_makam"
value="{{ old('jarak_makam', $forminspeksi['jarak_makam'] ?? '') }}"
placeholder="Km">
</div>
<div class="flex items-center gap-2">
<label for="" class="text-sm text-gray-700">Sifat bangunan</label>
<input type="text" class="input mt-2" name="nama_makam"
value="{{ old('nama_makam', $forminspeksi['nama_makam'] ?? '') }}"
placeholder="Nama TPU">
</div>
</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">Belum ada bangunan</span>
</label>
</div>
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Dekat Makam --> <!-- Dekat Makam -->
<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">Dekat Makam</label> <label class="form-label max-w-56">Dekat Makam</label>
@@ -222,8 +265,8 @@
<label class="form-label max-w-56">Merupakan daerah</label> <label class="form-label max-w-56">Merupakan daerah</label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4"> <div class="flex flex-col items-start gap-4">
@if (isset($konturTanah)) @if (isset($merupakanDaerah))
@foreach ($konturTanah as $item) @foreach ($merupakanDaerah as $item)
<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 class="checkbox" name="merupakan_daerah[]" type="checkbox" <input class="checkbox" name="merupakan_daerah[]" type="checkbox"
value="{{ $item->name }}" value="{{ $item->name }}"
@@ -238,13 +281,13 @@
</div> </div>
<!-- Fasilitas Umum Sekitar --> <!-- Fasilitas Umum Sekitar -->
<!-- Fasilitas Umum Sekitar -->
<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">Fasilitas Umum dekat Object</label> <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-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4"> <div class="flex flex-col items-start gap-4">
@if (isset($konturTanah)) @if (isset($fasilitasObjek))
@foreach ($konturTanah as $item) @foreach ($fasilitasObjek as $item)
@php @php
$selectedFasilitas = is_array( $selectedFasilitas = is_array(

View File

@@ -474,6 +474,12 @@ $basicDataRoutes = [
'model-alat-berat' => 'Model Alat Berat', 'model-alat-berat' => 'Model Alat Berat',
'jenis-kapal' => 'Jenis kapal', 'jenis-kapal' => 'Jenis kapal',
'jenis-kendaraan' => 'Jenis kendaraan', 'jenis-kendaraan' => 'Jenis kendaraan',
'jenis-unit' => 'Jenis unit',
'terletak-area' => 'Terletak di Area',
'merupakan-daerah' => 'Merupakan Daerah',
'posisi-unit' => 'Posisi unit',
'bentuk-unit' => 'Bentuk unit',
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
]; ];
@@ -559,6 +565,12 @@ Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
$trail->push('Detail Penilai'); $trail->push('Detail Penilai');
}); });
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Lampiran Foto dan Dokument');
});
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) { 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'));

View File

@@ -299,6 +299,13 @@ Route::middleware(['auth'])->group(function () {
'model-alat-berat' => 'Model Alat Berat', 'model-alat-berat' => 'Model Alat Berat',
'jenis-kapal' => 'Jenis kapal', 'jenis-kapal' => 'Jenis kapal',
'jenis-kendaraan' => 'Jenis kendaraan', 'jenis-kendaraan' => 'Jenis kendaraan',
'jenis-unit' => 'Jenis unit',
'terletak-area' => 'Terletak di Area',
'merupakan-daerah' => 'Merupakan Daerah',
'posisi-unit' => 'Posisi unit',
'bentuk-unit' => 'Bentuk unit',
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
]; ];
foreach ($headers as $type => $header) { foreach ($headers as $type => $header) {
@@ -492,6 +499,11 @@ Route::middleware(['auth'])->group(function () {
Route::get('/', [PenilaiController::class, 'index'])->name('index'); Route::get('/', [PenilaiController::class, 'index'])->name('index');
Route::get('/{id}/show', [PenilaiController::class, 'show'])->name('show'); Route::get('/{id}/show', [PenilaiController::class, 'show'])->name('show');
Route::get('datatables', [PenilaiController::class, 'dataForDatatables'])->name('dataForTables'); Route::get('datatables', [PenilaiController::class, 'dataForDatatables'])->name('dataForTables');
Route::get('lampiran/{id}', [PenilaiController::class, 'lampiran'])->name('lampiran');
}); });
}); });