update export basic data dan tampilan awal form surveyor
This commit is contained in:
58
app/Exports/BasicDataSurveyorExport.php
Normal file
58
app/Exports/BasicDataSurveyorExport.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Lpj\Exports;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
|
||||||
|
class BasicDataSurveyorExport implements WithColumnFormatting, WithHeadings, FromCollection, withMapping
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
protected $model;
|
||||||
|
|
||||||
|
|
||||||
|
public function __construct($model)
|
||||||
|
{
|
||||||
|
$this->model = $model;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
return $this->model::all();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function map($row)
|
||||||
|
: array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
$row->id,
|
||||||
|
$row->code,
|
||||||
|
$row->name,
|
||||||
|
$row->created_at
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function headings()
|
||||||
|
: array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'ID',
|
||||||
|
'Code',
|
||||||
|
'Name',
|
||||||
|
'Created At'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function columnFormats()
|
||||||
|
: array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'A' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'D' => NumberFormat::FORMAT_DATE_DATETIME
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,8 @@ namespace Modules\Lpj\Http\Controllers;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
@@ -99,22 +101,6 @@ class SurveyorController extends Controller
|
|||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
$bentukTanah = BentukTanah::all();
|
$bentukTanah = BentukTanah::all();
|
||||||
$konturTanah = KonturTanah::all();
|
|
||||||
$posisiKavling = PosisiKavling::all();
|
|
||||||
$ketinggianTanah = KetinggianTanah::all();
|
|
||||||
$kondisiFisikTanah = KondisiFisikTanah::all();
|
|
||||||
$jenisBangunan = JenisBangunan::all();
|
|
||||||
$kondisiBangunan = KondisiBangunan::all();
|
|
||||||
$sifatBangunan = SifatBangunan::all();
|
|
||||||
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
|
||||||
$spekBangunan = SpekBangunan::all();
|
|
||||||
$saranaPelengkap = SaranaPelengkap::all();
|
|
||||||
$arahMataAngin = ArahMataAngin::all();
|
|
||||||
$jenisKendaraan = JenisKendaraan::all();
|
|
||||||
$jenisKapal = JenisKapal::all();
|
|
||||||
$jenisPesawat = JenisPesawat::all();
|
|
||||||
$modelAlatBerat = ModelAlatBerat::all();
|
|
||||||
|
|
||||||
|
|
||||||
$denah = Denah::where('permohonan_id', $id)->get();
|
$denah = Denah::where('permohonan_id', $id)->get();
|
||||||
$fotojaminan = FotoJaminan::where('permohonan_id', $id)->get();
|
$fotojaminan = FotoJaminan::where('permohonan_id', $id)->get();
|
||||||
@@ -122,8 +108,6 @@ class SurveyorController extends Controller
|
|||||||
->where('permohonan_id', $id)
|
->where('permohonan_id', $id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$jenisJaminanIds = $permohonan->debiture->documents->pluck('jenisJaminan.id')->toArray(); // Convert to array
|
$jenisJaminanIds = $permohonan->debiture->documents->pluck('jenisJaminan.id')->toArray(); // Convert to array
|
||||||
|
|
||||||
$jaminanId = $jenisJaminanIds[0];
|
$jaminanId = $jenisJaminanIds[0];
|
||||||
@@ -135,14 +119,14 @@ class SurveyorController extends Controller
|
|||||||
$forminspeksi = json_decode($inpeksi->data_form, true);
|
$forminspeksi = json_decode($inpeksi->data_form, true);
|
||||||
$formFoto = json_decode($inpeksi->foto_form, true);
|
$formFoto = json_decode($inpeksi->foto_form, true);
|
||||||
$formDenah = json_decode($inpeksi->denah_form, true);
|
$formDenah = json_decode($inpeksi->denah_form, true);
|
||||||
|
$formPembanding = json_decode($inpeksi->data_pembanding, true);
|
||||||
} else {
|
} else {
|
||||||
$forminspeksi = null;
|
$forminspeksi = null;
|
||||||
$formFoto = null;
|
$formFoto = null;
|
||||||
$formDenah = null;
|
$formDenah = null;
|
||||||
|
$formPembanding = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return view('lpj::surveyor.detail', compact(
|
return view('lpj::surveyor.detail', compact(
|
||||||
'denah',
|
'denah',
|
||||||
'analisa',
|
'analisa',
|
||||||
@@ -151,25 +135,12 @@ class SurveyorController extends Controller
|
|||||||
'branches',
|
'branches',
|
||||||
'provinces',
|
'provinces',
|
||||||
'bentukTanah',
|
'bentukTanah',
|
||||||
'konturTanah',
|
|
||||||
'posisiKavling',
|
|
||||||
'kondisiFisikTanah',
|
|
||||||
'ketinggianTanah',
|
|
||||||
'kondisiBangunan',
|
|
||||||
'jenisBangunan',
|
|
||||||
'sifatBangunan',
|
|
||||||
'spekKategoriBagunan',
|
|
||||||
'spekBangunan',
|
|
||||||
'saranaPelengkap',
|
|
||||||
'arahMataAngin',
|
|
||||||
'forminspeksi',
|
'forminspeksi',
|
||||||
'formDenah',
|
'formDenah',
|
||||||
'formFoto',
|
'formFoto',
|
||||||
'jaminanId',
|
'jaminanId',
|
||||||
'jenisKendaraan',
|
|
||||||
'jenisKapal',
|
'formPembanding'
|
||||||
'jenisPesawat',
|
|
||||||
'modelAlatBerat'
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -179,7 +150,7 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
$data = $request->validated();
|
$data = $request->validated();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!$data) {
|
if (!$data) {
|
||||||
return response()->json(['success' => false, 'message' => 'Invalid data'], 400);
|
return response()->json(['success' => false, 'message' => 'Invalid data'], 400);
|
||||||
@@ -191,18 +162,22 @@ class SurveyorController extends Controller
|
|||||||
$action = $request->input('type');
|
$action = $request->input('type');
|
||||||
$rules = $this->getActionSpecificRules($data, $action, $request);
|
$rules = $this->getActionSpecificRules($data, $action, $request);
|
||||||
|
|
||||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first();
|
$data = $rules;
|
||||||
|
|
||||||
if (!$inspeksi) {
|
|
||||||
Inspeksi::create([
|
|
||||||
'permohonan_id' => $request->input('permohonan_id'),
|
// $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first();
|
||||||
'data_form' => json_encode($rules),
|
|
||||||
'name' => $request->input('type'),
|
// if (!$inspeksi) {
|
||||||
'jenis_jaminan_id' => $request->input('jenis_jaminan_id'),
|
// Inspeksi::create([
|
||||||
]);
|
// 'permohonan_id' => $request->input('permohonan_id'),
|
||||||
} else {
|
// 'data_form' => json_encode($rules),
|
||||||
$inspeksi->update(['data_form' => json_encode($rules)]);
|
// 'name' => $request->input('type'),
|
||||||
}
|
// 'jenis_jaminan_id' => $request->input('jenis_jaminan_id'),
|
||||||
|
// ]);
|
||||||
|
// } else {
|
||||||
|
// $inspeksi->update(['data_form' => json_encode($rules)]);
|
||||||
|
// }
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
@@ -570,7 +545,7 @@ class SurveyorController extends Controller
|
|||||||
return response()->json(['success' => false, 'message' => 'Failed to save data: ' . $e->getMessage()], 500);
|
return response()->json(['success' => false, 'message' => 'Failed to save data: ' . $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Form inspeksi.
|
* Form inspeksi.
|
||||||
*/
|
*/
|
||||||
@@ -914,23 +889,23 @@ class SurveyorController extends Controller
|
|||||||
'penilaian',
|
'penilaian',
|
||||||
'documents',
|
'documents',
|
||||||
])->findOrFail($id);
|
])->findOrFail($id);
|
||||||
|
|
||||||
$jenisAssetUpdated = false;
|
$jenisAssetUpdated = false;
|
||||||
if ($request->input('types') == 'jenis_asset') {
|
if ($request->input('types') == 'jenis_asset') {
|
||||||
$this->updateJenisAsset($permohonan, $request);
|
$this->updateJenisAsset($permohonan, $request);
|
||||||
$jenisAssetUpdated = true;
|
$jenisAssetUpdated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($request->input('types'), ['analisa_tanah', 'analisa_bangunan', 'analisa_unit'])) {
|
if (in_array($request->input('types'), ['analisa_tanah', 'analisa_bangunan', 'analisa_unit'])) {
|
||||||
$key = match ($request->input('types')) {
|
$key = match ($request->input('types')) {
|
||||||
'analisa_tanah' => 'luas_tanah',
|
'analisa_tanah' => 'luas_tanah',
|
||||||
'analisa_bangunan' => 'luas_bangunan',
|
'analisa_bangunan' => 'luas_bangunan',
|
||||||
'analisa_unit' => 'luas_unit',
|
'analisa_unit' => 'luas_unit',
|
||||||
};
|
};
|
||||||
|
|
||||||
$this->updateDetails($permohonan, $key, $request->input($key));
|
$this->updateDetails($permohonan, $key, $request->input($key));
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'success' => true,
|
'success' => true,
|
||||||
'message' => 'Data berhasil disimpan',
|
'message' => 'Data berhasil disimpan',
|
||||||
@@ -940,8 +915,8 @@ class SurveyorController extends Controller
|
|||||||
return response()->json(['error' => 'Something went wrong', 'message' => $e->getMessage()], 500);
|
return response()->json(['error' => 'Something went wrong', 'message' => $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function updateJenisAsset($permohonan, $request)
|
private function updateJenisAsset($permohonan, $request)
|
||||||
{
|
{
|
||||||
$jenis_jaminan_id = $permohonan->debiture->documents->first()->jenis_jaminan_id;
|
$jenis_jaminan_id = $permohonan->debiture->documents->first()->jenis_jaminan_id;
|
||||||
@@ -951,35 +926,35 @@ class SurveyorController extends Controller
|
|||||||
'jenis_jaminan_id' => $request->input('jenis_asset'),
|
'jenis_jaminan_id' => $request->input('jenis_asset'),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function updateDetails($permohonan, $key, $newValue)
|
private function updateDetails($permohonan, $key, $newValue)
|
||||||
{
|
{
|
||||||
$document = $permohonan->debiture->documents->first();
|
$document = $permohonan->debiture->documents->first();
|
||||||
|
|
||||||
if (!$document) {
|
if (!$document) {
|
||||||
throw new \Exception("Document not found");
|
throw new \Exception("Document not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
$detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->first();
|
$detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->first();
|
||||||
|
|
||||||
if (!$detailsUpdate) {
|
if (!$detailsUpdate) {
|
||||||
throw new \Exception("DetailDokumenJaminan not found");
|
throw new \Exception("DetailDokumenJaminan not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
$datas = json_decode($detailsUpdate->details, true) ?? [];
|
$datas = json_decode($detailsUpdate->details, true) ?? [];
|
||||||
|
|
||||||
if (is_numeric($newValue)) {
|
if (is_numeric($newValue)) {
|
||||||
$newValue = [$key => $newValue];
|
$newValue = [$key => $newValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_array($newValue)) {
|
if (!is_array($newValue)) {
|
||||||
throw new \InvalidArgumentException("'{$key}' must be an array or valid JSON string");
|
throw new \InvalidArgumentException("'{$key}' must be an array or valid JSON string");
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($newValue as $subKey => $value) {
|
foreach ($newValue as $subKey => $value) {
|
||||||
$datas[$subKey] = $value; // Update atau tambahkan key baru
|
$datas[$subKey] = $value; // Update atau tambahkan key baru
|
||||||
}
|
}
|
||||||
|
|
||||||
$detailsUpdate->update([
|
$detailsUpdate->update([
|
||||||
'details' => json_encode($datas),
|
'details' => json_encode($datas),
|
||||||
]);
|
]);
|
||||||
@@ -1230,6 +1205,7 @@ class SurveyorController extends Controller
|
|||||||
'fasilitas-objek' => FasilitasObjek::class,
|
'fasilitas-objek' => FasilitasObjek::class,
|
||||||
'merupakan-daerah' => MerupakanDaerah::class,
|
'merupakan-daerah' => MerupakanDaerah::class,
|
||||||
'jenis-unit' => JenisUnit::class,
|
'jenis-unit' => JenisUnit::class,
|
||||||
|
'perkerasan-jalan' => PerkerasanJalan::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@@ -1303,74 +1279,103 @@ class SurveyorController extends Controller
|
|||||||
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek'],
|
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek'],
|
||||||
];
|
];
|
||||||
|
|
||||||
private function getAssetData($data)
|
private function getAssetData(array $data): array
|
||||||
{
|
{
|
||||||
return [
|
$alamatData = [
|
||||||
'asset' =>[
|
|
||||||
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
|
||||||
'jenis_asset' => $data['jenis_asset'] ?? null,
|
|
||||||
'jenis_asset_tidak_sesuai' => $data['jenis_asset_tidak_sesuai'] ?? null,
|
|
||||||
'alamat_sesuai' => $data['alamat_sesuai'] ?? null,
|
|
||||||
'alamat_tidak_sesuai' => $data['alamat_tidak_sesuai'] ?? null,
|
|
||||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||||
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
|
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
|
||||||
'kecamatan' => $data['kecamatan'] ?? null,
|
'kecamatan' => $data['kecamatan'] ?? null,
|
||||||
'kota_kabupaten' => $data['kota_kabupaten'] ?? null,
|
'kota_kabupaten' => $data['kota_kabupaten'] ?? null,
|
||||||
'provinsi' => $data['provinsi'] ?? null,
|
'provinsi' => $data['provinsi'] ?? null,
|
||||||
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
];
|
||||||
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
|
||||||
]];
|
return [
|
||||||
|
'asset' => [
|
||||||
|
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
||||||
|
'jenis_asset' => [
|
||||||
|
$data['jenis_asset'] => ($data['jenis_asset'] === 'sesuai')
|
||||||
|
? $data['jenis_asset']
|
||||||
|
: ($data['jenis_asset_tidak_sesuai'] ?? null)
|
||||||
|
],
|
||||||
|
'alamat' => [
|
||||||
|
$data['alamat_sesuai'] => $alamatData
|
||||||
|
],
|
||||||
|
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
||||||
|
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
||||||
|
]
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function getTanahData($data, $request): array
|
private function getTanahData(array $data): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'tanah' => [
|
'tanah' => [
|
||||||
|
'luas_tanah' => $this->getFieldData(
|
||||||
'luas_tanah' => $data['luas_tanah'] ?? null,
|
$data,
|
||||||
'luas_tanah_tidak_sesuai' => $data['luas_tanah_tidak_sesuai'] ?? null,
|
'luas_tanah',
|
||||||
'hadap_mata_angin' => $data['hadap_mata_angin'] ?? null,
|
true
|
||||||
'hadap_mata_angin_tidak_sesuai' => $data['hadap_mata_angin_tidak_sesuai'] ?? null,
|
),
|
||||||
'bentuk_tanah' => $data['bentuk_tanah'] ?? null,
|
'hadap_mata_angin' => $this->getFieldData(
|
||||||
'bentuk_tanah_lainnya' => $data['bentuk_tanah_lainnya'] ?? null,
|
$data,
|
||||||
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
'hadap_mata_angin',
|
||||||
'ketinggian_tanah' => $data['ketinggian_tanah'] ?? [],
|
true
|
||||||
'ketinggian_tanah_tidak_sesuai' => $data['ketinggian_tanah_tidak_sesuai'] ?? [],
|
),
|
||||||
'kontur_jalan' => $data['kontur_jalan'] ?? null,
|
'bentuk_tanah' => $this->getFieldData(
|
||||||
'ketinggian_jalan' => $data['ketinggian_jalan'] ?? [],
|
$data,
|
||||||
'posisi_kavling' => $data['posisi_kavling'] ?? [],
|
'bentuk_tanah',
|
||||||
'posisi_kavling_lainnya' => $data['posisi_kavling_lainnya'] ?? null,
|
false,
|
||||||
'tusuk_sate' => $data['tusuk_sate'] ?? null,
|
'lainnya'
|
||||||
'lockland' => $data['lockland'] ?? null,
|
),
|
||||||
'kondisi_fisik_tanah' => $data['kondisi_fisik_tanah'] ?? [],
|
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
||||||
'kondisi_fisik_tanah_lainnya' => $data['kondisi_fisik_tanah_lainnya'] ?? null,
|
'ketinggian_tanah' => [
|
||||||
],
|
'ketinggian' => $data['kontur_tanah'] ?? null,
|
||||||
|
'lebih_tinggi' => $data['ketinggian_lebih_tinggi'] ?? null,
|
||||||
|
'lebih_rendah' => $data['ketinggian_lebih_rendah'] ?? null
|
||||||
|
],
|
||||||
|
'kontur_jalan' => $data['kontur_jalan'] ?? null,
|
||||||
|
'ketinggian_jalan' => $data['ketinggian_jalan'] ?? [],
|
||||||
|
'posisi_kavling' => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'posisi_kavling',
|
||||||
|
false,
|
||||||
|
'lainnya'
|
||||||
|
),
|
||||||
|
'tusuk_sate' => $data['tusuk_sate'] ?? null,
|
||||||
|
'lockland' => $data['lockland'] ?? null,
|
||||||
|
'kondisi_fisik_tanah' => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'kondisi_fisik_tanah',
|
||||||
|
false,
|
||||||
|
'lainnya'
|
||||||
|
)
|
||||||
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function getBangunanData($data, $request): array
|
private function getBangunanData($data, $request): array
|
||||||
{
|
{
|
||||||
$data = $request->all();
|
$data = $request->all();
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
// foreach ($data['nama_bagunan'] as $index => $bangunan) {
|
foreach ($data['nama_bagunan'] as $index => $bangunan) {
|
||||||
// $bangunanData = [
|
$bangunanData = [
|
||||||
// 'bangunan' => $bangunan,
|
'bangunan' => $bangunan,
|
||||||
// 'kategori' => []
|
'kategori' => []
|
||||||
// ];
|
];
|
||||||
|
|
||||||
// foreach ($data['spek_kategori_bangunan'] as $kategoriIndex => $kategori) {
|
foreach ($data['spek_kategori_bangunan'] as $kategoriIndex => $kategori) {
|
||||||
// if (isset($data['spek_bangunan'][$kategori])) {
|
if (isset($data['spek_bangunan'][$kategori])) {
|
||||||
// $bangunanData['kategori'][] = [
|
$bangunanData['kategori'][] = [
|
||||||
// 'kategori' => $kategori,
|
'kategori' => $kategori,
|
||||||
// 'spesifikasi' => $data['spek_bangunan'][$kategori]
|
'spesifikasi' => $data['spek_bangunan'][$kategori]
|
||||||
// ];
|
];
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
// $result[] = $bangunanData;
|
$result[] = $bangunanData;
|
||||||
// }
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'bangunan' => [
|
'bangunan' => [
|
||||||
@@ -1380,10 +1385,11 @@ class SurveyorController extends Controller
|
|||||||
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
||||||
'sifat_bangunan_input' => $data['sifat_bangunan_input'] ?? null,
|
'sifat_bangunan_input' => $data['sifat_bangunan_input'] ?? null,
|
||||||
'spesifikasi_bangunan' => $result ?? null,
|
'spesifikasi_bangunan' => $result ?? null,
|
||||||
// 'spek_bangunan' => $data['spek_bangunan'] ?? [],
|
'sarana_pelengkap' => $this->mapArrayWithInputs(
|
||||||
'sarana_pelengkap' => $data['sarana_pelengkap'] ?? [],
|
$data['sarana_pelengkap'] ?? [],
|
||||||
'sarana_pelengkap_input' => $data['sarana_pelengkap_input'] ?? null,
|
$data['sarana_pelengkap_input'] ?? []
|
||||||
],
|
),
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1423,8 +1429,9 @@ class SurveyorController extends Controller
|
|||||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||||
'rute_menuju' => $data['rute_menuju'] ?? null,
|
'rute_menuju' => $data['rute_menuju'] ?? null,
|
||||||
'batas_batas' => $data['batas_batas'] ?? null,
|
'batas_batas' => $this->mapArrayWithInputs(
|
||||||
'batas_batas_input' => $data['batas_batas_input'] ?? null,
|
$data['batas_batas'] ?? null, $data['batas_batas_input'] ?? null
|
||||||
|
),
|
||||||
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
||||||
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
||||||
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
||||||
@@ -1462,7 +1469,7 @@ class SurveyorController extends Controller
|
|||||||
$factData[$fotoType] = $dataForm[$fotoType] ?? null;
|
$factData[$fotoType] = $dataForm[$fotoType] ?? null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
foreach ($fotoTypes as $fotoType) {
|
foreach ($fotoTypes as $fotoType) {
|
||||||
$factData[$fotoType] = $this->updateOrDeleteFile($data, $request, $fotoType);
|
$factData[$fotoType] = $this->updateOrDeleteFile($data, $request, $fotoType);
|
||||||
}
|
}
|
||||||
@@ -1865,9 +1872,15 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper untuk upload file
|
||||||
|
*
|
||||||
|
* @param $file
|
||||||
|
* @param $type
|
||||||
|
* @return path name
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
// function upload file to storage
|
|
||||||
private function uploadFile($file, $type)
|
private function uploadFile($file, $type)
|
||||||
{
|
{
|
||||||
if (!$file->isValid()) {
|
if (!$file->isValid()) {
|
||||||
@@ -1884,5 +1897,76 @@ class SurveyorController extends Controller
|
|||||||
return str_replace('public/', '', $path);
|
return str_replace('public/', '', $path);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper untuk memetakan array dengan inputannya
|
||||||
|
*
|
||||||
|
* @param array $keys Array kunci
|
||||||
|
* @param array $values Array nilai/input
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
private function mapArrayWithInputs(array $keys, array $values): array
|
||||||
|
{
|
||||||
|
$result = [];
|
||||||
|
|
||||||
|
foreach ($keys as $index => $key) {
|
||||||
|
$result[$key] = $values[$index] ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method generic untuk mengambil data field
|
||||||
|
*
|
||||||
|
* @param array $data Array sumber data
|
||||||
|
* @param string $fieldName Nama field
|
||||||
|
* @param bool $checkKesesuaian Apakah perlu cek kesesuaian
|
||||||
|
* @param string|null $extraField Field tambahan (misal 'lainnya')
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
private function getFieldData(
|
||||||
|
array $data,
|
||||||
|
string $fieldName,
|
||||||
|
bool $checkKesesuaian = false,
|
||||||
|
?string $extraField = null
|
||||||
|
): array {
|
||||||
|
if ($checkKesesuaian) {
|
||||||
|
return [
|
||||||
|
$data[$fieldName] ?? '' => ($data[$fieldName] ?? '') === 'sesuai'
|
||||||
|
? ($data[$fieldName] ?? '')
|
||||||
|
: ($data["{$fieldName}_tidak_sesuai"] ?? '')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = [
|
||||||
|
$fieldName => $data[$fieldName] ?? null
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($extraField) {
|
||||||
|
$result[$extraField] = $data["{$fieldName}_{$extraField}"] ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function export(string $type)
|
||||||
|
{
|
||||||
|
$modelClass = $this->getModelClass($type);
|
||||||
|
|
||||||
|
if (!$modelClass) {
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'message' => 'Invalid type provided.',
|
||||||
|
'available_types' => array_keys($this->modelClasses),
|
||||||
|
], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return Excel download
|
||||||
|
return Excel::download(new BasicDataSurveyorExport($modelClass), $type . '.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ class SurveyorRequest extends FormRequest
|
|||||||
'posisi-unit' => 'posisi_unit',
|
'posisi-unit' => 'posisi_unit',
|
||||||
'bentuk-unit' => 'bentuk_unit',
|
'bentuk-unit' => 'bentuk_unit',
|
||||||
'fasilitas-objek' => 'fasilitas_objek',
|
'fasilitas-objek' => 'fasilitas_objek',
|
||||||
|
'perkerasan-jalan' => 'perkerasan_jalan',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<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 Bagunan</label>
|
<label class="form-label max-w-56">Luas Bagunan</label>
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
|
|
||||||
@if (isset($permohonan->debiture->documents))
|
@if (isset($permohonan->debiture->documents))
|
||||||
@foreach ($permohonan->debiture->documents as $item)
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
@php
|
@php
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
@endphp
|
@endphp
|
||||||
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
<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">
|
||||||
@@ -60,20 +60,16 @@
|
|||||||
<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_bangunan[]" type="checkbox"
|
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ old('jenis_bangunan') == $item->name || isset($forminspeksi['bangunan']['jenis_bangunan']) == $item->name ? 'checked' : '' }} />
|
{{ old('jenis_bangunan') == $item->name || isset($forminspeksi['bangunan']['jenis_bangunan']) == $item->name ? 'checked' : '' }}
|
||||||
|
onclick="toggleCheckboxVisibility('jenis_bangunan', 'jenis_bangunan_lainnya', ['lainnya'])"
|
||||||
|
/>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<div class="flex items-center">
|
<input id="jenis_bangunan_lainnya" type="text" style="display: none;"
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
name="jenis_bangunan_lainnya" class="input w-full mt-2"
|
||||||
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
|
placeholder="Masukkan lainnya..." />
|
||||||
value="{{ $item->name }}" />
|
@endif
|
||||||
{{ $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
|
||||||
</div>
|
</div>
|
||||||
@@ -153,7 +149,7 @@
|
|||||||
@if (@isset($spekKategoriBagunan))
|
@if (@isset($spekKategoriBagunan))
|
||||||
@foreach ($spekKategoriBagunan as $item)
|
@foreach ($spekKategoriBagunan as $item)
|
||||||
<div>
|
<div>
|
||||||
<input type="hidden" name="spek_kategori_bangunan.[]"
|
<input type="hidden" name="spek_kategori_bangunan[]"
|
||||||
value="{{ $item->name }}">
|
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>
|
||||||
|
|||||||
@@ -1,78 +1,122 @@
|
|||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-5 lg:gap-7.5">
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-5 lg:gap-7.5">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@if (request()->has('form') && request('form') === 'denah')
|
<div class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg grid gap-5"
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
style="padding: 20px">
|
||||||
href="{{ route('surveyor.denah', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=create-denah&denah={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
|
||||||
@elseif(request()->has('form') && request('form') === 'foto')
|
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
|
||||||
href="{{ route('surveyor.foto', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=create-foto&foto={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
|
||||||
@elseif(request()->has('form') && request('form') === 'inspeksi')
|
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
|
||||||
href="{{ route('surveyor.inspeksi', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=create-inspeksi&inspeksi={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
|
||||||
|
|
||||||
@elseif(request()->has('form') && request('form') === 'data-pembanding')
|
<div class="card-group flex items-center flex-wrap sm:flex-nowrap justify-between py-4 gap-2.5">
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
<div class="flex items-center gap-3.5">
|
||||||
href="{{ route('surveyor.data-pembanding', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=data-pembanding&pembanding={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
<div class="relative size-[50px] shrink-0">
|
||||||
@endif
|
<svg class="w-full h-full stroke-gray-300 fill-gray-100" fill="none" height="48"
|
||||||
|
|
||||||
<div class="card-body grid items-center">
|
|
||||||
<div class="flex flex-col gap-3">
|
|
||||||
<div class="flex justify-center pt-5">
|
|
||||||
<div class="relative size-[60px] shrink-0">
|
|
||||||
<svg class="w-full h-full stroke-brand-clarity fill-light" fill="none" height="48"
|
|
||||||
viewBox="0 0 44 48" width="44" xmlns="http://www.w3.org/2000/svg">
|
viewBox="0 0 44 48" width="44" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path
|
<path
|
||||||
d="M16 2.4641C19.7128 0.320509 24.2872 0.320508 28 2.4641L37.6506 8.0359C41.3634 10.1795 43.6506 14.141 43.6506 18.4282V29.5718C43.6506 33.859 41.3634 37.8205 37.6506 39.9641L28 45.5359C24.2872 47.6795 19.7128 47.6795 16 45.5359L6.34937 39.9641C2.63655 37.8205 0.349365 33.859 0.349365 29.5718V18.4282C0.349365 14.141 2.63655 10.1795 6.34937 8.0359L16 2.4641Z"
|
d="M16 2.4641C19.7128 0.320509 24.2872 0.320508 28 2.4641L37.6506 8.0359C41.3634 10.1795 43.6506 14.141 43.6506
|
||||||
fill=""></path>
|
18.4282V29.5718C43.6506 33.859 41.3634 37.8205 37.6506 39.9641L28 45.5359C24.2872 47.6795 19.7128 47.6795 16 45.5359L6.34937
|
||||||
|
39.9641C2.63655 37.8205 0.349365 33.859 0.349365 29.5718V18.4282C0.349365 14.141 2.63655 10.1795 6.34937 8.0359L16 2.4641Z"
|
||||||
|
fill="">
|
||||||
|
</path>
|
||||||
<path
|
<path
|
||||||
d="M16.25 2.89711C19.8081 0.842838 24.1919 0.842837 27.75 2.89711L37.4006 8.46891C40.9587 10.5232 43.1506 14.3196 43.1506 18.4282V29.5718C43.1506 33.6804 40.9587 37.4768 37.4006 39.5311L27.75 45.1029C24.1919 47.1572 19.8081 47.1572 16.25 45.1029L6.59937 39.5311C3.04125 37.4768 0.849365 33.6803 0.849365 29.5718V18.4282C0.849365 14.3196 3.04125 10.5232 6.59937 8.46891L16.25 2.89711Z"
|
d="M16.25 2.89711C19.8081 0.842838 24.1919 0.842837 27.75 2.89711L37.4006 8.46891C40.9587 10.5232 43.1506 14.3196 43.1506
|
||||||
stroke=""></path>
|
18.4282V29.5718C43.1506 33.6804 40.9587 37.4768 37.4006 39.5311L27.75 45.1029C24.1919 47.1572 19.8081 47.1572 16.25 45.1029L6.59937
|
||||||
|
39.5311C3.04125 37.4768 0.849365 33.6803 0.849365 29.5718V18.4282C0.849365 14.3196 3.04125 10.5232 6.59937 8.46891L16.25 2.89711Z"
|
||||||
|
stroke="">
|
||||||
|
</path>
|
||||||
</svg>
|
</svg>
|
||||||
<div class="absolute leading-none left-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4">
|
<div
|
||||||
<i class="ki-filled ki-additem text-2xl text-brand"></i>
|
class="absolute leading-none start-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4 rtl:translate-x-2/4">
|
||||||
|
<i class="ki-filled ki-questionnaire-tablet text-1.5xl text-gray-500">
|
||||||
|
</i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col text-center">
|
<div class="flex items-center gap-2.5">
|
||||||
<span class="text-lg font-semibold text-gray-900 hover:text-primary-active mb-px">
|
|
||||||
@php
|
|
||||||
$formType = request()->input('form');
|
|
||||||
$formData = null;
|
|
||||||
$formAction = 'Tambah';
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
@if ($formType === 'inspeksi')
|
<span class="flex items-center gap-1.5 leading-none font-medium text-sm text-gray-900">
|
||||||
@php
|
{{ $dokumen->jenisJaminan->name ?? '' }}
|
||||||
$formData = $forminspeksi ?? null;
|
</sp>
|
||||||
@endphp
|
|
||||||
@elseif ($formType === 'foto')
|
|
||||||
@php
|
|
||||||
$formData = $formFoto ?? null;
|
|
||||||
@endphp
|
|
||||||
@elseif ($formType === 'denah')
|
|
||||||
@php
|
|
||||||
$formData = $formDenah ?? null;
|
|
||||||
@endphp
|
|
||||||
@endif
|
|
||||||
|
|
||||||
@if ($formData)
|
|
||||||
@php
|
|
||||||
$formAction = 'Update';
|
|
||||||
@endphp
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{{ $formAction }}
|
|
||||||
|
|
||||||
|
|
||||||
{{ request('form') }}
|
|
||||||
</span>
|
|
||||||
<span class="text-2sm font-normal text-gray-600">
|
|
||||||
{{ $dokumen->jenisJaminan->name ?? '' }}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@php
|
||||||
|
|
||||||
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT'];
|
||||||
|
|
||||||
|
$href = [
|
||||||
|
[
|
||||||
|
'label' => 'form inspeksi',
|
||||||
|
'url' =>
|
||||||
|
route('surveyor.inspeksi', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $dokumen->jenisJaminan->id,
|
||||||
|
]) .
|
||||||
|
"?form=create-inspeksi&inspeksi={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => $forminspeksi,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes)) {
|
||||||
|
$href[] = [
|
||||||
|
'label' => 'denah tanah dan bangunan',
|
||||||
|
'url' =>
|
||||||
|
route('surveyor.denah', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $dokumen->jenisJaminan->id,
|
||||||
|
]) .
|
||||||
|
"?form=create-denah&denah={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => $formDenah,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tambahkan route lainnya
|
||||||
|
$href = array_merge($href, [
|
||||||
|
[
|
||||||
|
'label' => 'foto',
|
||||||
|
'url' =>
|
||||||
|
route('surveyor.foto', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $dokumen->jenisJaminan->id,
|
||||||
|
]) . "?form=create-foto&foto={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => $formFoto,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'label' => 'data pembanding',
|
||||||
|
'url' =>
|
||||||
|
route('surveyor.data-pembanding', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $dokumen->jenisJaminan->id,
|
||||||
|
]) .
|
||||||
|
"?form=data-pembanding&pembanding={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => $formPembanding,
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@foreach ($href as $item)
|
||||||
|
@if ($item['show'])
|
||||||
|
<a href="{{ $item['url'] }}"
|
||||||
|
class="flex items-center justify-between border border-gray-200 rounded-xl gap-2 px-4 py-4 btn-outline {{ $item['icon'] ? 'btn-success' : 'btn-primary' }} hover:btn-light">
|
||||||
|
<div class="flex items-center gap-3.5">
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<h1 class="text-sm font-medium text-gray-900 mb-px uppercase">
|
||||||
|
{{ $item['label'] }}
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex items-center gap-5">
|
||||||
|
<div class="flex gap-0.5">
|
||||||
|
<div class="btn btn-sm btn-icon btn-clear {{ $item['icon'] ? '' : 'btn-light' }}">
|
||||||
|
|
||||||
|
<i class="ki-filled {{ $item['icon'] ? 'ki-check-circle' : 'ki-notepad-edit'}}"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
</a>
|
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,40 +1,33 @@
|
|||||||
@extends('layouts.main')
|
@extends('layouts.main')
|
||||||
|
|
||||||
{{-- @section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection --}}
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5">
|
<div class="w-full grid gap-5 lg:gap-7.5">
|
||||||
<div class="card min-w-full">
|
|
||||||
<div class="card min-w-full">
|
|
||||||
<div class="card-header">
|
|
||||||
<h3 class="card-title">
|
|
||||||
Data Pembanding
|
|
||||||
</h3>
|
|
||||||
<div class="flex items-center gap-2">
|
|
||||||
<a href="{
|
|
||||||
{ route('surveyor.show', ['id' => request('pembanding')]) }}?form=data-pembanding
|
|
||||||
"
|
|
||||||
class="btn btn-xs btn-info">
|
|
||||||
<i class="ki-filled ki-exit-left"></i> Back
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
<div class="card-grid min-w-full" data-datatable="false" data-datatable-page-size="5"
|
<div class="card-grid min-w-full" data-datatable="false" data-datatable-page-size="5"
|
||||||
data-datatable-state-save="false" id="data-table" data-api-url="">
|
data-datatable-state-save="false" id="data-table" data-api-url="">
|
||||||
|
|
||||||
<form id="dataPembandingForm" method="POST" enctype="multipart/form-data">
|
<form id="dataPembandingForm" method="POST" enctype="multipart/form-data">
|
||||||
@csrf
|
@csrf
|
||||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||||
<input type="hidden" name="type" value="tanah">
|
<input type="hidden" name="type" value="tanah">
|
||||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Data Pembanding
|
||||||
|
</h3>
|
||||||
|
<div class="flex items-center gap-2">
|
||||||
|
<a href="{{ route('surveyor.show', ['id' => request('pembanding')]) }}"
|
||||||
|
class="btn btn-xs btn-info">
|
||||||
|
<i class="ki-filled ki-exit-left"></i> Back
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="card-header py-5 flex-wrap flex justify-end">
|
<div class="card-header py-5 flex-wrap flex justify-end">
|
||||||
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
|
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
|
||||||
<i class="ki-filled ki-plus"></i> Tambah Kolom
|
<i class="ki-filled ki-plus"></i> Tambah Kolom
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
@extends('layouts.main')
|
@extends('layouts.main')
|
||||||
|
|
||||||
{{-- @section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection --}}
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
src="{{ isset($formDenah['foto_denah']) ? asset('storage/' . old('foto_denah', $formDenah['foto_denah'])) : '' }}"
|
src="{{ isset($formDenah['foto_denah']) ? asset('storage/' . old('foto_denah', $formDenah['foto_denah'])) : '' }}"
|
||||||
alt="Gambar foto_denah" style="{{ isset($formDenah['foto_denah']) ? 'width: 30rem;' : 'display: none;' }}">
|
alt="Gambar foto_denah" style="{{ isset($formDenah['foto_denah']) ? 'width: 30rem;' : 'display: none;' }}">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input type="file"
|
<input type="file"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
@extends('layouts.main')
|
@extends('layouts.main')
|
||||||
|
|
||||||
{{-- @section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection --}}
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
Data Jaminan
|
Data Jaminan
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<a href="{{ route('surveyor.show', ['id' => request('foto')]) }}?form=foto"
|
<a href="{{ route('surveyor.show', ['id' => request('foto')]) }}"
|
||||||
class="btn btn-xs btn-info">
|
class="btn btn-xs btn-info">
|
||||||
<i class="ki-filled ki-exit-left"></i> Back
|
<i class="ki-filled ki-exit-left"></i> Back
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,4 +1,20 @@
|
|||||||
<div class=" card w-full bg-white rounded-lg shadow-md ">
|
<div class=" card w-full bg-white rounded-lg shadow-md ">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card-header">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Form Inspeksi
|
||||||
|
</h3>
|
||||||
|
<div class="flex items-center gap-2">
|
||||||
|
<a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}"
|
||||||
|
class="btn btn-xs btn-info">
|
||||||
|
<i class="ki-filled ki-exit-left"></i> Back
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="py-4">
|
<div class="py-4">
|
||||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||||
|
|||||||
@@ -1,32 +1,13 @@
|
|||||||
@extends('layouts.main')
|
@extends('layouts.main')
|
||||||
|
|
||||||
{{-- @section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection --}}
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
<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-header">
|
|
||||||
<h3 class="card-title">
|
|
||||||
Form Inspeksi
|
|
||||||
</h3>
|
|
||||||
<div class="flex items-center gap-2">
|
|
||||||
<a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}?form=inspeksi"
|
|
||||||
class="btn btn-xs btn-info">
|
|
||||||
<i class="ki-filled ki-exit-left"></i> Back
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{{-- <div class="card">
|
|
||||||
<div class="card-body"> --}}
|
|
||||||
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
@@ -65,8 +46,6 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{{-- </div>
|
|
||||||
</div> --}}
|
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
|
|||||||
@@ -50,9 +50,15 @@
|
|||||||
<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="perkerasan_jalan[]" type="checkbox"
|
<input class="checkbox" name="perkerasan_jalan[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, isset($forminspeksi['lingkungan']['perkerasan_jalan']) ? $forminspeksi['lingkungan']['perkerasan_jalan'] : []) ? 'checked' : '' }} />
|
{{ in_array($item->name, isset($forminspeksi['lingkungan']['perkerasan_jalan']) ? $forminspeksi['lingkungan']['perkerasan_jalan'] : []) ? 'checked' : '' }}
|
||||||
|
onclick="toggleCheckboxVisibility('perkerasan_jalan', 'perkerasan_jalan_lainnya', ['lainnya'])"/>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
|
<input id="perkerasan_jalan_lainnya" type="text" style="display: none;"
|
||||||
|
name="perkerasan_jalan_lainnya" class="input w-full mt-2"
|
||||||
|
placeholder="Masukkan lainnya..." />
|
||||||
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -133,10 +139,16 @@
|
|||||||
<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 }}"
|
||||||
{{ isset($forminspeksi['lingkungan']['terletak_diarea']) && in_array($item->name, explode(',', is_array(old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) ? implode(',', old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) : old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? ''))) ? 'checked' : '' }} />
|
{{ isset($forminspeksi['lingkungan']['terletak_diarea']) && in_array($item->name, explode(',', is_array(old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) ? implode(',', old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) : old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? ''))) ? 'checked' : '' }}
|
||||||
|
onclick="toggleCheckboxVisibility('terletak_diarea', 'terletak_diarea_lainnya', ['Lainnya'])" />
|
||||||
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
|
<input id="terletak_diarea_lainnya" type="text" style="display: none;"
|
||||||
|
name="terletak_diarea_lainnya" class="input w-full mt-2"
|
||||||
|
placeholder="Masukkan lainnya..." />
|
||||||
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -246,53 +258,34 @@
|
|||||||
<!-- Opsi Ya -->
|
<!-- Opsi Ya -->
|
||||||
<div class="flex w-full items-center gap-4">
|
<div class="flex w-full items-center gap-4">
|
||||||
<label class="text-sm flex items-center gap-2.5 text-nowrap">
|
<label class="text-sm flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])"
|
||||||
onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])"
|
|
||||||
type="radio" class="radio" name="dekat_tps" value="ya"
|
type="radio" class="radio" name="dekat_tps" value="ya"
|
||||||
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}
|
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }} />
|
||||||
/>
|
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div id="dekat-tps" class="flex flex-wrap gap-4 w-full"
|
||||||
id="dekat-tps"
|
style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
|
||||||
class="flex flex-wrap gap-4 w-full"
|
|
||||||
style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}"
|
|
||||||
>
|
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<label for="jarak_tps" class="form-label max-w-56">Jarak</label>
|
<label for="jarak_tps" class="form-label max-w-56">Jarak</label>
|
||||||
<input
|
<input type="number" id="jarak_tps" class="input mt-2" name="jarak_tps"
|
||||||
type="number"
|
|
||||||
id="jarak_tps"
|
|
||||||
class="input mt-2"
|
|
||||||
name="jarak_tps"
|
|
||||||
value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}"
|
value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}"
|
||||||
placeholder="Km"
|
placeholder="Km" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<label for="nama_tps" class="form-label max-w-56">Nama TPS</label>
|
<label for="nama_tps" class="form-label max-w-56">Nama TPS</label>
|
||||||
<input
|
<input type="text" id="nama_tps" class="input mt-2" name="nama_tps"
|
||||||
type="text"
|
|
||||||
id="nama_tps"
|
|
||||||
class="input mt-2"
|
|
||||||
name="nama_tps"
|
|
||||||
value="{{ old('nama_tps', $forminspeksi['lingkungan']['nama_tps'] ?? '') }}"
|
value="{{ old('nama_tps', $forminspeksi['lingkungan']['nama_tps'] ?? '') }}"
|
||||||
placeholder="Nama TPS"
|
placeholder="Nama TPS" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Opsi Tidak -->
|
<!-- Opsi Tidak -->
|
||||||
<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
|
<input onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])" type="radio"
|
||||||
onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])"
|
class="radio" name="dekat_tps" value="tidak"
|
||||||
type="radio" class="radio"
|
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }} />
|
||||||
name="dekat_tps"
|
|
||||||
value="tidak"
|
|
||||||
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}
|
|
||||||
/>
|
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -332,9 +325,15 @@
|
|||||||
@php
|
@php
|
||||||
|
|
||||||
$selectedFasilitas = is_array(
|
$selectedFasilitas = is_array(
|
||||||
old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? []),
|
old(
|
||||||
|
'fasilitas_dekat_object',
|
||||||
|
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [],
|
||||||
|
),
|
||||||
)
|
)
|
||||||
? old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [])
|
? old(
|
||||||
|
'fasilitas_dekat_object',
|
||||||
|
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [],
|
||||||
|
)
|
||||||
: explode(
|
: explode(
|
||||||
',',
|
',',
|
||||||
old(
|
old(
|
||||||
@@ -353,10 +352,18 @@
|
|||||||
: explode(',', old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? '')),
|
: explode(',', old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? '')),
|
||||||
)
|
)
|
||||||
? 'checked'
|
? 'checked'
|
||||||
: '' }} />
|
: '' }}
|
||||||
|
onclick="toggleCheckboxVisibility('fasilitas_dekat_object', 'fasilitas_dekat_object_lainnya', ['Lainnya'])"
|
||||||
|
/>
|
||||||
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
|
<input id="fasilitas_dekat_object_lainnya" type="text" style="display: none;"
|
||||||
|
name="fasilitas_dekat_object_lainnya" class="input w-full mt-2"
|
||||||
|
placeholder="Masukkan lainnya..." />
|
||||||
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -367,4 +374,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex flex-wrap gap-2.5">
|
<div class="flex flex-wrap gap-2.5">
|
||||||
<div class="h-[24px] border border-r-gray-200"></div>
|
<div class="h-[24px] border border-r-gray-200"></div>
|
||||||
<a class="btn btn-sm btn-light" href=""> Export to Excel </a>
|
<a class="btn btn-sm btn-light" href="{{ route('basicdata.export', $header[1] ) }}"> Export to Excel </a>
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$href = route('basicdata.createData', ['type' => $header[1]]);
|
$href = route('basicdata.createData', ['type' => $header[1]]);
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</th>
|
||||||
<th class="min-w-[250px]" data-datatable-column="name">
|
<th class="min-w-[250px]" data-datatable-column="name">
|
||||||
<span class="sort"> <span class="sort-label"> Jenis Aset </span>
|
<span class="sort"> <span class="sort-label">{{ isset($header[0]) ? $header[0] : '' }}</span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</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>
|
||||||
|
|||||||
@@ -25,20 +25,7 @@
|
|||||||
<div class="card min-w-full py-2 px-2">
|
<div class="card min-w-full py-2 px-2">
|
||||||
<div class="card-header" id="basic_settings">
|
<div class="card-header" id="basic_settings">
|
||||||
<div class="card-title flex flex-row gap-1.5">
|
<div class="card-title flex flex-row gap-1.5">
|
||||||
<a href="{{ route('surveyor.show', array_merge(request()->query(), ['id' => $surveyor, 'form' => 'inspeksi'])) }}"
|
Form Jaminan
|
||||||
class="btn btn-xs {{ request()->has('form') && request('form') == 'inspeksi' ? 'btn-outline btn-primary' : 'btn-light' }}">FORM
|
|
||||||
INSPEKSI</a>
|
|
||||||
|
|
||||||
<a href="{{ route('surveyor.show', array_merge(request()->query(), ['id' => $surveyor, 'form' => 'denah'])) }}"
|
|
||||||
class="btn btn-xs {{ request()->has('form') && request('form') == 'denah' ? 'btn-outline btn-primary' : 'btn-light' }}">DENAH
|
|
||||||
TANAH DAN BANGUNAN</a>
|
|
||||||
|
|
||||||
<a href="{{ route('surveyor.show', array_merge(request()->query(), ['id' => $surveyor, 'form' => 'foto'])) }}"
|
|
||||||
class="btn btn-xs {{ request()->has('form') && request('form') == 'foto' ? 'btn-outline btn-primary' : 'btn-light' }}">FOTO</a>
|
|
||||||
|
|
||||||
<a href="{{ route('surveyor.show', array_merge(request()->query(), ['id' => $surveyor, 'form' => 'data-pembanding'])) }}"
|
|
||||||
class="btn btn-xs {{ request()->has('form') && request('form') == 'data-pembanding' ? 'btn-outline btn-primary' : 'btn-light' }}">DATA
|
|
||||||
PEMBANDING</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -418,6 +418,10 @@
|
|||||||
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Surveyor', route('surveyor.index'));
|
$trail->push('Surveyor', route('surveyor.index'));
|
||||||
});
|
});
|
||||||
|
Breadcrumbs::for('surveyor.inspeksi', function (BreadcrumbTrail $trail) {
|
||||||
|
$trail->parent('surveyor');
|
||||||
|
$trail->push('Form Inspeksi');
|
||||||
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
|
|||||||
954
routes/web.php
954
routes/web.php
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user