Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender
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
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
74
app/Exports/KertasKerjaExport.php
Normal file
74
app/Exports/KertasKerjaExport.php
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
<?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 KertasKerjaExport implements WithColumnFormatting, WithHeadings, FromCollection, WithMapping
|
||||||
|
{
|
||||||
|
protected $data;
|
||||||
|
|
||||||
|
public function __construct($data)
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
return collect([
|
||||||
|
[
|
||||||
|
'Pendekatan pasar',
|
||||||
|
'Nama Pemilik Aset',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Metode Perbandingan Data Pasar',
|
||||||
|
'Nama Pemberi Tugas: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Tanggal Penilaian: ',
|
||||||
|
'Lokasi: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'No.',
|
||||||
|
'Objek Penilaian',
|
||||||
|
'Data Pembanding 1',
|
||||||
|
'Data Pembanding 2',
|
||||||
|
'Data Pembanding 3'
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tambahkan method map()
|
||||||
|
public function map($row): array
|
||||||
|
{
|
||||||
|
return $row;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function headings(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function columnFormats(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'A' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'C' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'D' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'F' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'G' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'P' => NumberFormat::FORMAT_DATE_DATETIME,
|
||||||
|
'Q' => NumberFormat::FORMAT_DATE_DATETIME
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
use Modules\Lpj\Models\HolidayCalendar;
|
use Modules\Lpj\Models\HolidayCalendar;
|
||||||
use Modules\Lpj\Models\PenawaranDetailTender;
|
use Modules\Lpj\Models\PenawaranDetailTender;
|
||||||
use Modules\Lpj\Models\PenawaranTender;
|
use Modules\Lpj\Models\PenawaranTender;
|
||||||
|
use Modules\Lpj\Models\Penilaian;
|
||||||
|
|
||||||
function formatTanggalIndonesia($date, $time = false)
|
function formatTanggalIndonesia($date, $time = false)
|
||||||
{
|
{
|
||||||
@@ -118,22 +119,33 @@
|
|||||||
$noUrutAkhirString = sprintf("%04s", 1);
|
$noUrutAkhirString = sprintf("%04s", 1);
|
||||||
if($penawaran)
|
if($penawaran)
|
||||||
{
|
{
|
||||||
$code_penawaran_last = substr ($maxCode, -4);
|
$isNum = substr($maxCode, 2); // memastikan string ke 3 s/d 8 adalan numiric
|
||||||
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
|
$isNP = substr($maxCode, 0, 2);
|
||||||
$year_now = Carbon::now()->year;
|
if((8 == strlen($maxCode)) && ("NP"==$isNP) && (isNumeric($isNum)))
|
||||||
if ($year_now == $year_penawaran_last) {
|
{
|
||||||
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
|
$code_penawaran_last = substr ($maxCode, -4);
|
||||||
|
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
|
||||||
|
$year_now = Carbon::now()->year;
|
||||||
|
if ($year_now == $year_penawaran_last) {
|
||||||
|
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
|
||||||
|
}
|
||||||
|
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001
|
||||||
}
|
}
|
||||||
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
|
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate last penawaran.no_spk
|
function isNumeric($str)
|
||||||
|
{
|
||||||
|
return ctype_digit($str);
|
||||||
|
}
|
||||||
|
|
||||||
|
// generate last penawaran.no_spk
|
||||||
function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
|
function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
|
||||||
{
|
{
|
||||||
|
|
||||||
// 20241124_001 ==> spk_no_core
|
// 20241124_001 ==> spk_no_core
|
||||||
// XXX / PJ / JKT / MONTH-ROM / FR|SR / 2024
|
// XXX / PJ / JKT / MONTH-ROM / FR|SR / 2024
|
||||||
// 001 / PJ / JKT / XI / FR / 2024
|
// 001 / PJ / JKT / XI / FR / 2024
|
||||||
@@ -148,18 +160,18 @@
|
|||||||
{
|
{
|
||||||
$no_spk_penawaran_last = substr ($maxCode, -3);
|
$no_spk_penawaran_last = substr ($maxCode, -3);
|
||||||
$year_penawaran_last = substr ($maxCode, 0, 4);
|
$year_penawaran_last = substr ($maxCode, 0, 4);
|
||||||
|
|
||||||
if($year_now == $year_penawaran_last)
|
if($year_now == $year_penawaran_last)
|
||||||
{
|
{
|
||||||
$noUrutAkhirString = sprintf("%03s", abs($no_spk_penawaran_last + 1));
|
$noUrutAkhirString = sprintf("%03s", abs($no_spk_penawaran_last + 1));
|
||||||
}
|
}
|
||||||
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 001
|
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 001
|
||||||
}
|
}
|
||||||
|
|
||||||
$month = onRomawi(Carbon::now()->month);
|
$month = onRomawi(Carbon::now()->month);
|
||||||
|
|
||||||
$lastSPK = $noUrutAkhirString.' / PJ / JKT / '. $month .' / ' .$jenis_laporan_code.' / '.$year_now;
|
$lastSPK = $noUrutAkhirString.' / PJ / JKT / '. $month .' / ' .$jenis_laporan_code.' / '.$year_now;
|
||||||
return $lastSPK;
|
return $lastSPK;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRomawi(int $bln): string
|
function onRomawi(int $bln): string
|
||||||
@@ -203,7 +215,7 @@
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function penyebut($nilai) {
|
function penyebut($nilai) {
|
||||||
@@ -230,16 +242,16 @@
|
|||||||
$temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
|
$temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
|
||||||
} else if ($nilai < 1000000000000000) {
|
} else if ($nilai < 1000000000000000) {
|
||||||
$temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
|
$temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
|
||||||
}
|
}
|
||||||
return $temp;
|
return $temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
function terbilang($nilai) {
|
function terbilang($nilai) {
|
||||||
if($nilai<0) {
|
if($nilai<0) {
|
||||||
$hasil = "minus ". trim(penyebut($nilai));
|
$hasil = "minus ". trim(penyebut($nilai));
|
||||||
} else {
|
} else {
|
||||||
$hasil = trim(penyebut($nilai));
|
$hasil = trim(penyebut($nilai));
|
||||||
}
|
}
|
||||||
return $hasil;
|
return $hasil;
|
||||||
}
|
}
|
||||||
// andy add
|
// andy add
|
||||||
@@ -272,3 +284,10 @@
|
|||||||
},
|
},
|
||||||
)->toArray();
|
)->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function countPermohonanForUser($userId)
|
||||||
|
{
|
||||||
|
return Penilaian::whereHas('userPenilai', function ($query) use ($userId) {
|
||||||
|
$query->where('user_id', $userId);
|
||||||
|
})->count();
|
||||||
|
}
|
||||||
|
|||||||
@@ -33,48 +33,33 @@ class ActivityController extends Controller
|
|||||||
|
|
||||||
public function progres_activity()
|
public function progres_activity()
|
||||||
{
|
{
|
||||||
// Ambil user yang sedang login
|
// Ambil user yang sedang login dengan roles
|
||||||
$user = auth()->user();
|
$user = auth()->user()->load('roles');
|
||||||
$roles = $user->load('roles');
|
|
||||||
|
|
||||||
// Inisialisasi regionId dan teamId sebagai null agar bisa dinamis
|
// Inisialisasi regionId dan teamId
|
||||||
$regionId = null;
|
$regionId = $teamId = null;
|
||||||
$teamId = null;
|
|
||||||
|
|
||||||
if ($roles->roles->pluck('name')->contains('senior-officer')) {
|
if ($user->roles->pluck('name')->contains('senior-officer')) {
|
||||||
$userTeam = TeamsUsers::with('team')
|
$userTeam = TeamsUsers::with('team')->firstWhere('user_id', $user->id);
|
||||||
->where('user_id', $user->id)
|
|
||||||
->first();
|
|
||||||
$regionId = $userTeam?->team->regions_id;
|
$regionId = $userTeam?->team->regions_id;
|
||||||
$teamId = $userTeam?->teams_id;
|
$teamId = $userTeam?->teams_id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions', 'user.roles'])
|
$teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions', 'user.roles'])
|
||||||
->whereHas('team', function ($q) use ($regionId, $teamId) {
|
->whereHas('team', function ($q) use ($regionId, $teamId) {
|
||||||
if ($regionId) {
|
$q->when($regionId, fn($q) => $q->where('regions_id', $regionId))
|
||||||
$q->where('regions_id', $regionId);
|
->when($teamId, fn($q) => $q->where('id', $teamId));
|
||||||
}
|
|
||||||
if ($teamId) {
|
|
||||||
$q->where('id', $teamId); // Hanya tim yang sama
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
->where('user_id', '!=', $user->id)
|
->where('user_id', '!=', $user->id)
|
||||||
->whereHas('user.roles', function ($query) {
|
->whereHas('user.roles', fn($q) => $q->whereIn('name', ['surveyor', 'surveyor-penilai']))
|
||||||
// Filter hanya peran 'surveyor' atau 'surveyor-penilai'
|
|
||||||
$query->whereIn('name', ['surveyor', 'surveyor-penilai']);
|
|
||||||
})
|
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return view('lpj::activity.progres_activity.index', compact('teamsActivity'));
|
return view('lpj::activity.progres_activity.index', compact('teamsActivity'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateTeamAssingment(Request $request) {
|
function updateTeamAssingment(Request $request) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$id = $request->input('id');
|
$id = $request->input('id');
|
||||||
$user = PenilaianTeam::where('penilaian_id', $id)->get();
|
$user = PenilaianTeam::where('penilaian_id', $id)->get();
|
||||||
@@ -86,7 +71,7 @@ class ActivityController extends Controller
|
|||||||
}
|
}
|
||||||
return redirect()->route('activity.progres.index')->with('success', 'Surveyor berhasil diganti');
|
return redirect()->route('activity.progres.index')->with('success', 'Surveyor berhasil diganti');
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
return redirect()->route('activity.progres.index')->with('success', $th->getMessage());
|
return redirect()->route('activity.progres.index')->with('success', $th->getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ use Illuminate\Http\Request;
|
|||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
use Modules\Lpj\Models\Inspeksi;
|
use Modules\Lpj\Models\Inspeksi;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
use Modules\Lpj\Exports\KertasKerjaExport;
|
||||||
class PenilaiController extends Controller
|
class PenilaiController extends Controller
|
||||||
{
|
{
|
||||||
public $user;
|
public $user;
|
||||||
@@ -22,7 +24,8 @@ class PenilaiController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Show the form for creating a new resource.
|
* Show the form for creating a new resource.
|
||||||
*/
|
*/
|
||||||
public function lampiran($id){
|
public function lampiran($id)
|
||||||
|
{
|
||||||
$permohonan = Permohonan::with('debiture.documents')->find($id);
|
$permohonan = Permohonan::with('debiture.documents')->find($id);
|
||||||
|
|
||||||
$jaminanId = $permohonan->debiture->documents->first()->jenis_jaminan_id;
|
$jaminanId = $permohonan->debiture->documents->first()->jenis_jaminan_id;
|
||||||
@@ -36,7 +39,7 @@ class PenilaiController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto'));
|
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
@@ -93,21 +96,26 @@ class PenilaiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve data from the database
|
// Retrieve data from the database
|
||||||
$query = Permohonan::query()->where('status', '=', 'done');
|
$query = Permohonan::query();
|
||||||
|
|
||||||
// Apply search filter if provided
|
// Apply search filter if provided
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
$query->where(function ($q) use ($search) {
|
$columns = ['nomor_registrasi', 'debiture.name', 'branch.name', 'user.name', 'tujuanPenilaian.name', 'jenisfasilitasKredit.name'];
|
||||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
$query->where(function ($q) use ($search, $columns) {
|
||||||
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
foreach ($columns as $column) {
|
||||||
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
$q->orWhereRelation(explode('.', $column)[0], explode('.', $column)[1], 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
}
|
||||||
$q->orWhereRelation('jenisfasilitasKredit', 'name', 'LIKE', '%' . $search . '%');
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply whereHas to check penilai_id, role, and user_id specifically for 'penilai' role
|
||||||
|
$query->whereHas('penilaian.userPenilai', function ($q) {
|
||||||
|
$q->where('role', 'penilai') // Ensure the role is 'penilai'
|
||||||
|
->where('user_id', 12); // Ganti dengan Auth::user()->id jika dinamis
|
||||||
|
});
|
||||||
|
|
||||||
// Apply sorting if provided
|
// Apply sorting if provided
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
$order = $request->get('sortOrder');
|
$order = $request->get('sortOrder');
|
||||||
@@ -122,7 +130,7 @@ class PenilaiController extends Controller
|
|||||||
if ($request->has('page') && $request->has('size')) {
|
if ($request->has('page') && $request->has('size')) {
|
||||||
$page = $request->get('page');
|
$page = $request->get('page');
|
||||||
$size = $request->get('size');
|
$size = $request->get('size');
|
||||||
$offset = ($page - 1) * $size; // Calculate the offset
|
$offset = ($page - 1) * $size;
|
||||||
|
|
||||||
$query->skip($offset)->take($size);
|
$query->skip($offset)->take($size);
|
||||||
}
|
}
|
||||||
@@ -131,13 +139,20 @@ class PenilaiController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Get the data for the current page
|
// Get the data for the current page
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisfasilitasKredit'])->get();
|
$data = $query->with([
|
||||||
|
'user',
|
||||||
|
'debiture',
|
||||||
|
'branch',
|
||||||
|
'tujuanPenilaian',
|
||||||
|
'jenisfasilitasKredit',
|
||||||
|
'penilaian.userPenilai' // Ensure this relation is included
|
||||||
|
])->get();
|
||||||
|
|
||||||
// Calculate the page count
|
// Calculate the page count
|
||||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||||
|
|
||||||
// Calculate the current page number
|
// Calculate the current page number
|
||||||
$currentPage = 0 + 1;
|
$currentPage = $request->get('page', 1);
|
||||||
|
|
||||||
// Return the response data as a JSON object
|
// Return the response data as a JSON object
|
||||||
return response()->json([
|
return response()->json([
|
||||||
@@ -150,4 +165,134 @@ class PenilaiController extends Controller
|
|||||||
'data' => $data,
|
'data' => $data,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function kertas_kerja()
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
[
|
||||||
|
'Pendekatan pasar',
|
||||||
|
'Nama Pemilik Aset',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Metode Perbandingan Data Pasar',
|
||||||
|
'Nama Pemberi Tugas: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Tanggal Penilaian: ',
|
||||||
|
'Lokasi: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'No.',
|
||||||
|
'Objek Penilaian',
|
||||||
|
'Data Pembanding 1',
|
||||||
|
'Data Pembanding 2',
|
||||||
|
'Data Pembanding 3'
|
||||||
|
],[
|
||||||
|
'1',
|
||||||
|
'Jenis Aset',
|
||||||
|
'Pembanding 1',
|
||||||
|
'Pembanding 1',
|
||||||
|
'Pembanding 1'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'2',
|
||||||
|
'Luas Tanah',
|
||||||
|
'Pembanding 2',
|
||||||
|
'Pembanding 2',
|
||||||
|
'Pembanding 2'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'3',
|
||||||
|
'Penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'4',
|
||||||
|
'Harga penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],[
|
||||||
|
'5',
|
||||||
|
'Nomor Telepon',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'6',
|
||||||
|
'Estimasi Harga Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'7',
|
||||||
|
'Nama Nara sumber',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'Status Nara sumber',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'9',
|
||||||
|
'Waktu Penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'10',
|
||||||
|
'Titik GPS',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'Alamat',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'12',
|
||||||
|
'Jarak Pembanding dengan Objek (m)',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'13',
|
||||||
|
'Estimasi Rangking Tanah',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'14',
|
||||||
|
'Estimasi Rangking Bangunan',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
]
|
||||||
|
|
||||||
|
];
|
||||||
|
return Excel::download(new KertasKerjaExport($data), 'kertas-kerja.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -298,10 +298,15 @@ class PenilaianController extends Controller
|
|||||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$query->whereIn('status', ['registered', 'registrasi-final']);
|
$query->whereIn('status', ['registered', 'registrasi-final']);
|
||||||
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
|
||||||
$q->where('id', Auth::user()->id);
|
// Filter berdasarkan role
|
||||||
});
|
if (Auth::user()->roles[0]->name !== 'administrator') {
|
||||||
|
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
||||||
|
$q->where('id', Auth::user()->id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
$order = $request->get('sortOrder');
|
$order = $request->get('sortOrder');
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
if ($obj->tanggal_permohonan) {
|
if ($obj->tanggal_permohonan) {
|
||||||
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
|
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
|
||||||
}
|
}
|
||||||
|
|
||||||
if($obj->penawaran->tanggal_penilaian_sebelumnya)
|
if($obj->penawaran->tanggal_penilaian_sebelumnya)
|
||||||
{
|
{
|
||||||
$data[$i]->penawaran->tanggal_penilaian_sebelumnya = Carbon::parse($obj->penawaran->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
$data[$i]->penawaran->tanggal_penilaian_sebelumnya = Carbon::parse($obj->penawaran->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
||||||
@@ -146,7 +146,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
// dd(Carbon::now()->addDays(1)->format('d F Y'));
|
// dd(Carbon::now()->addDays(1)->format('d F Y'));
|
||||||
// dd(Carbon::now()->subDays(1)->format('d F Y')); jenis_laporan_name
|
// dd(Carbon::now()->subDays(1)->format('d F Y')); jenis_laporan_name
|
||||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||||
@@ -178,7 +178,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
|
|
||||||
if($penawaran->detail_penawaran_tgl_proposal)
|
if($penawaran->detail_penawaran_tgl_proposal)
|
||||||
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
||||||
|
|
||||||
// generate no spk
|
// generate no spk
|
||||||
$spk_no_last=$penawaran->spk_no;
|
$spk_no_last=$penawaran->spk_no;
|
||||||
if(!$spk_no_last)
|
if(!$spk_no_last)
|
||||||
@@ -196,7 +196,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
}
|
}
|
||||||
// pengecekan perubahan jenis report
|
// pengecekan perubahan jenis report
|
||||||
// generate no spk
|
// generate no spk
|
||||||
|
|
||||||
// Jangka Waktu
|
// Jangka Waktu
|
||||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||||
$jangka_waktu='';
|
$jangka_waktu='';
|
||||||
@@ -207,17 +207,17 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$persetujuan_sla_final = '...';
|
$persetujuan_sla_final = '...';
|
||||||
if(null !==$penawaran->persetujuan)
|
if(null !==$penawaran->persetujuan)
|
||||||
{
|
{
|
||||||
$sla_resume_text = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_resume);
|
$sla_resume_text = $penawaran->persetujuan->sla_resume;
|
||||||
$sla_final_text = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_final);
|
$sla_final_text = $penawaran->persetujuan->sla_final;
|
||||||
|
|
||||||
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
||||||
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
||||||
|
|
||||||
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
||||||
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
||||||
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
||||||
$persetujuan_sla_final = $sla_final_text.' ('.$sla_final_text_terbilang.')';
|
$persetujuan_sla_final = $sla_final_text.' ('.$sla_final_text_terbilang.')';
|
||||||
|
|
||||||
if($penawaran->penilaian_waktu_penilain)
|
if($penawaran->penilaian_waktu_penilain)
|
||||||
{
|
{
|
||||||
$jangka_waktu_date_start=Carbon::parse($penawaran->penilaian_waktu_penilain)->addDays(1)->format('d F Y');
|
$jangka_waktu_date_start=Carbon::parse($penawaran->penilaian_waktu_penilain)->addDays(1)->format('d F Y');
|
||||||
@@ -226,10 +226,10 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||||
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
||||||
// Jangka Waktu
|
// Jangka Waktu
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('lpj::spk.edit', compact('data', 'penawaran', 'persetujuan_no_proposal', 'persetujuan_tgl_proposal', 'persetujuan_sla_resume', 'persetujuan_sla_final', 'jangka_waktu'));
|
return view('lpj::spk.edit', compact('data', 'penawaran', 'persetujuan_no_proposal', 'persetujuan_tgl_proposal', 'persetujuan_sla_resume', 'persetujuan_sla_final', 'jangka_waktu'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
||||||
|
|
||||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian','dokumenjaminan'])->first();
|
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian','dokumenjaminan'])->first();
|
||||||
|
|
||||||
// Jangka Waktu
|
// Jangka Waktu
|
||||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||||
$jangka_waktu='';
|
$jangka_waktu='';
|
||||||
@@ -282,7 +282,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
// $dataPermohonan=['dokumen' => $newFileNameWithPath];
|
// $dataPermohonan=['dokumen' => $newFileNameWithPath];
|
||||||
// $data->update($dataPermohonan);
|
// $data->update($dataPermohonan);
|
||||||
// update table permohonan
|
// update table permohonan
|
||||||
|
|
||||||
// update table penawaran
|
// update table penawaran
|
||||||
$dataPenawaran['spk_dokumen_path'] = $newFileNameWithPath;
|
$dataPenawaran['spk_dokumen_path'] = $newFileNameWithPath;
|
||||||
// $spk_no_last=$penawaran->spk_no;
|
// $spk_no_last=$penawaran->spk_no;
|
||||||
@@ -296,7 +296,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$dataPenawaran['spk_no_core'] = $date_now.'_'.$spk_number;
|
$dataPenawaran['spk_no_core'] = $date_now.'_'.$spk_number;
|
||||||
|
|
||||||
$penawaran->spk_no = $spk_no_last;
|
$penawaran->spk_no = $spk_no_last;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// pengecekan perubahan jenis report
|
// pengecekan perubahan jenis report
|
||||||
@@ -314,7 +314,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$penawaranM = PenawaranTender::find($penawaran->id);
|
$penawaranM = PenawaranTender::find($penawaran->id);
|
||||||
$penawaranM->update($dataPenawaran);
|
$penawaranM->update($dataPenawaran);
|
||||||
// update table penawaran
|
// update table penawaran
|
||||||
|
|
||||||
// pdf path
|
// pdf path
|
||||||
$spkpenawaran_path = Storage::url($newFileNameWithPath);
|
$spkpenawaran_path = Storage::url($newFileNameWithPath);
|
||||||
|
|
||||||
@@ -324,12 +324,12 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$persetujuan_sla_final = '...';
|
$persetujuan_sla_final = '...';
|
||||||
if(null !==$penawaran->persetujuan)
|
if(null !==$penawaran->persetujuan)
|
||||||
{
|
{
|
||||||
$sla_resume_text = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_resume);
|
$sla_resume_text = $penawaran->persetujuan->sla_resume;
|
||||||
$sla_final_text = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_final);
|
$sla_final_text = $penawaran->persetujuan->sla_final;
|
||||||
|
|
||||||
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
||||||
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
||||||
|
|
||||||
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
||||||
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
||||||
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
||||||
@@ -343,9 +343,9 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||||
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
||||||
// Jangka Waktu
|
// Jangka Waktu
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
// dokumen pdf diambil dari penawaran.spk_dokumen_path
|
// dokumen pdf diambil dari penawaran.spk_dokumen_path
|
||||||
$permohonan = Permohonan::find($id);
|
$permohonan = Permohonan::find($id);
|
||||||
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
||||||
|
|
||||||
return response()->download(storage_path('app/public/' .$document->spk_dokumen_path));
|
return response()->download(storage_path('app/public/' .$document->spk_dokumen_path));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -71,8 +71,10 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'luas_tanah' => 'required',
|
'luas_tanah' => 'required',
|
||||||
|
'luas_tanah_sesuai' => 'nullable',
|
||||||
'luas_tanah_tidak_sesuai' => 'nullable',
|
'luas_tanah_tidak_sesuai' => 'nullable',
|
||||||
'hadap_mata_angin' => 'required',
|
'hadap_mata_angin' => 'required',
|
||||||
|
'hadap_mata_angin_sesuai' => 'nullable',
|
||||||
'hadap_mata_angin_tidak_sesuai' => 'nullable',
|
'hadap_mata_angin_tidak_sesuai' => 'nullable',
|
||||||
'bentuk_tanah' => 'nullable|array',
|
'bentuk_tanah' => 'nullable|array',
|
||||||
'bentuk_tanah_lainnya' => 'nullable',
|
'bentuk_tanah_lainnya' => 'nullable',
|
||||||
@@ -95,12 +97,14 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
|
'luas_tanah_bangunan_sesuai' => 'nullable',
|
||||||
'luas_tanah_bagunan' => 'required',
|
'luas_tanah_bagunan' => 'required',
|
||||||
|
'luas_tanah_bangunan_tidak_sesuai' => 'nullable',
|
||||||
'jenis_bangunan' => 'required',
|
'jenis_bangunan' => 'required',
|
||||||
'kondisi_bangunan' => 'nullable',
|
'kondisi_bangunan' => 'nullable',
|
||||||
'sifat_bangunan' => 'required|array',
|
'sifat_bangunan' => 'required|array',
|
||||||
'sifat_bangunan_input' => 'nullable|array',
|
'sifat_bangunan_input' => 'nullable|array',
|
||||||
'nama_bagunan' => 'required',
|
'nama_bagunan' => 'required|nullable',
|
||||||
'spek_kategori_bangunan.*' => 'required',
|
'spek_kategori_bangunan.*' => 'required',
|
||||||
'spek_bangunan.*' => 'required',
|
'spek_bangunan.*' => 'required',
|
||||||
'sarana_pelengkap' => 'required',
|
'sarana_pelengkap' => 'required',
|
||||||
@@ -116,8 +120,8 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'luas_unit' => 'required',
|
'luas_unit' => 'required',
|
||||||
|
'luas_unit_sesuai' => 'nullable',
|
||||||
'luas_unit_tidak_sesuai' => 'nullable',
|
'luas_unit_tidak_sesuai' => 'nullable',
|
||||||
'jenis_unit' => 'required|array',
|
|
||||||
'kondisi_unit' => 'required|array',
|
'kondisi_unit' => 'required|array',
|
||||||
'posisi_unit' => 'required|array',
|
'posisi_unit' => 'required|array',
|
||||||
'lantai' => 'required|array',
|
'lantai' => 'required|array',
|
||||||
@@ -145,8 +149,8 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'tingkat_keramaian' => 'nullable',
|
'tingkat_keramaian' => 'nullable',
|
||||||
'terletak_diarea' => 'nullable',
|
'terletak_diarea' => 'nullable',
|
||||||
'disekitar_lokasi' => 'nullable',
|
'disekitar_lokasi' => 'nullable',
|
||||||
'kondisi_bangunan_sekitar' => 'nullable',
|
'kondisi_bagunan_disekitar_lokasi' => 'nullable',
|
||||||
'sifat_bangunan_sekitar' => 'nullable',
|
'sifat_bagunan_disekitar_lokasi' => 'nullable',
|
||||||
'dekat_makam' => 'nullable',
|
'dekat_makam' => 'nullable',
|
||||||
'jarak_makam' => 'nullable',
|
'jarak_makam' => 'nullable',
|
||||||
'nama_makam' => 'nullable',
|
'nama_makam' => 'nullable',
|
||||||
@@ -511,10 +515,19 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'permohonan_id' => 'required',
|
'permohonan_id' => 'required',
|
||||||
'type' => 'required',
|
'type' => 'required',
|
||||||
'debitur_perwakilan' => 'required|array',
|
'debitur_perwakilan' => 'required|array',
|
||||||
|
'jenis_asset_name' => 'nullable',
|
||||||
'jenis_asset' => 'required',
|
'jenis_asset' => 'required',
|
||||||
'jenis_asset_tidak_sesuai' => 'nullable',
|
'jenis_asset_tidak_sesuai' => 'nullable',
|
||||||
'alamat_sesuai' => 'required',
|
'alamat_sesuai' => 'required',
|
||||||
'alamat_tidak_sesuai' => 'nullable',
|
'alamat_tidak_sesuai' => 'nullable',
|
||||||
|
|
||||||
|
'hub_cadeb' => 'required',
|
||||||
|
'hub_cadeb_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_tidak_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_penghuni' => 'required',
|
||||||
|
'hub_cadeb_penghuni_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_penghuni_tidak_sesuai' => 'nullable',
|
||||||
|
|
||||||
'nama_jalan' => 'nullable',
|
'nama_jalan' => 'nullable',
|
||||||
'desa_kelurahan' => 'nullable',
|
'desa_kelurahan' => 'nullable',
|
||||||
'kecamatan' => 'nullable',
|
'kecamatan' => 'nullable',
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
'name' => 'required|max:255',
|
'name' => 'required|max:255',
|
||||||
'slug' => 'required|max:255',
|
'slug' => 'required|max:255',
|
||||||
'jenis_legalitas_jaminan_id' => 'nullable',
|
'jenis_legalitas_jaminan_id' => 'nullable',
|
||||||
'form_kategori.*' => 'required',
|
'form_kategori' => 'required',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,13 +39,14 @@
|
|||||||
$this->merge([
|
$this->merge([
|
||||||
'code' => IdGenerator::generate(
|
'code' => IdGenerator::generate(
|
||||||
['table' => 'jenis_jaminan', 'length' => 5, 'prefix' => 'JJ', 'field' => 'code'],
|
['table' => 'jenis_jaminan', 'length' => 5, 'prefix' => 'JJ', 'field' => 'code'],
|
||||||
)
|
),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->merge([
|
$this->merge([
|
||||||
'jenis_legalitas_jaminan_id' => json_encode($this->jenis_legalitas_jaminan_id),
|
'jenis_legalitas_jaminan_id' => json_encode($this->jenis_legalitas_jaminan_id),
|
||||||
'slug' => Str::slug($this->name),
|
'form_kategori' => json_encode($this->form_kategori),
|
||||||
|
'slug' => Str::slug($this->name),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
'nomor_proposal_penawaran' => 'nullable|string|max:255',
|
'nomor_proposal_penawaran' => 'nullable|string|max:255',
|
||||||
'tanggal_proposal_penawaran' => 'nullable|date',
|
'tanggal_proposal_penawaran' => 'nullable|date',
|
||||||
'biaya_final' => 'nullable|numeric|min:0',
|
'biaya_final' => 'nullable|numeric|min:0',
|
||||||
'sla_resume' => 'nullable|date',
|
'sla_resume' => 'nullable|numeric|min:0',
|
||||||
'sla_final' => 'nullable|date|after_or_equal:sla_resume',
|
'sla_final' => 'nullable|numeric|min:0',
|
||||||
'file_persetujuan_penawaran' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
'file_persetujuan_penawaran' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
||||||
'surat_representasi' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
'surat_representasi' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
||||||
'bukti_bayar' => 'nullable|file|mimes:pdf,jpg,jpeg,png|max:10240',
|
'bukti_bayar' => 'nullable|file|mimes:pdf,jpg,jpeg,png|max:10240',
|
||||||
@@ -43,10 +43,7 @@
|
|||||||
'biaya_final.numeric' => 'Biaya final harus berupa angka.',
|
'biaya_final.numeric' => 'Biaya final harus berupa angka.',
|
||||||
'biaya_final.min' => 'Biaya final tidak boleh kurang dari 0.',
|
'biaya_final.min' => 'Biaya final tidak boleh kurang dari 0.',
|
||||||
'sla_resume.required' => 'SLA Resume wajib diisi.',
|
'sla_resume.required' => 'SLA Resume wajib diisi.',
|
||||||
'sla_resume.date' => 'SLA Resume harus berupa tanggal yang valid.',
|
|
||||||
'sla_final.required' => 'SLA Final wajib diisi.',
|
'sla_final.required' => 'SLA Final wajib diisi.',
|
||||||
'sla_final.date' => 'SLA Final harus berupa tanggal yang valid.',
|
|
||||||
'sla_final.after_or_equal' => 'SLA Final harus sama dengan atau setelah SLA Resume.',
|
|
||||||
'file_persetujuan_penawaran.file' => 'File Persetujuan Penawaran harus berupa file.',
|
'file_persetujuan_penawaran.file' => 'File Persetujuan Penawaran harus berupa file.',
|
||||||
'file_persetujuan_penawaran.mimes' => 'File Persetujuan Penawaran harus berupa file PDF, DOC, atau DOCX.',
|
'file_persetujuan_penawaran.mimes' => 'File Persetujuan Penawaran harus berupa file PDF, DOC, atau DOCX.',
|
||||||
'file_persetujuan_penawaran.max' => 'Ukuran File Persetujuan Penawaran tidak boleh lebih dari 10MB.',
|
'file_persetujuan_penawaran.max' => 'Ukuran File Persetujuan Penawaran tidak boleh lebih dari 10MB.',
|
||||||
|
|||||||
@@ -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',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class Inspeksi extends Model
|
|||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* The attributes that are mass assignable.
|
||||||
*/
|
*/
|
||||||
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','jenis_jaminan_id'];
|
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','jenis_jaminan_id','data_pembanding'];
|
||||||
|
|
||||||
public function permohonan()
|
public function permohonan()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,8 +29,6 @@
|
|||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
'tanggal_proposal_penawaran' => 'date',
|
'tanggal_proposal_penawaran' => 'date',
|
||||||
'sla_resume' => 'date',
|
|
||||||
'sla_final' => 'date',
|
|
||||||
'biaya_final' => 'decimal:2',
|
'biaya_final' => 'decimal:2',
|
||||||
'status' => 'boolean',
|
'status' => 'boolean',
|
||||||
'authorized_status' => 'boolean',
|
'authorized_status' => 'boolean',
|
||||||
|
|||||||
@@ -23,4 +23,8 @@ class Regions extends Model
|
|||||||
public function teams(){
|
public function teams(){
|
||||||
return $this->hasMany(Teams::class, 'regions_id', 'id');
|
return $this->hasMany(Teams::class, 'regions_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function penilaiTeam(){
|
||||||
|
return $this->hasMany(PenilaianTeam::class, 'team_id', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('persetujuan_penawaran', function (Blueprint $table) {
|
||||||
|
$table->string('sla_resume')->nullable()->change();
|
||||||
|
$table->string('sla_final')->nullable()->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('persetujuan_penawaran', function (Blueprint $table) {
|
||||||
|
$table->datetime('sls_resume')->nullable(false)->change();
|
||||||
|
$table->datetime('sla_final')->nullable(false)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('inspeksi', function (Blueprint $table) {
|
||||||
|
$table->string('name')->nullable()->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('inspeksi', function (Blueprint $table) {
|
||||||
|
$table->string('name')->nullable(false)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -51,13 +51,12 @@
|
|||||||
@php
|
@php
|
||||||
|
|
||||||
$sortedTeamsActivity = $teamsActivity->sortBy(function ($item) {
|
$sortedTeamsActivity = $teamsActivity->sortBy(function ($item) {
|
||||||
return $item->team->penilaianTeam
|
return $item->team->regions->penilaiTeam
|
||||||
->filter(function ($penilaianTeam) use ($item) {
|
->filter(function ($penilaiTeam) use ($item) {
|
||||||
return $penilaianTeam->user_id == $item->user->id;
|
return $penilaiTeam->user_id == $item->user->id;
|
||||||
})
|
})
|
||||||
->count();
|
->count();
|
||||||
});
|
});
|
||||||
|
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
@foreach ($sortedTeamsActivity as $index => $item)
|
@foreach ($sortedTeamsActivity as $index => $item)
|
||||||
@@ -74,14 +73,7 @@
|
|||||||
</th>
|
</th>
|
||||||
<th class="min-w-[150px]">
|
<th class="min-w-[150px]">
|
||||||
<span class="text-base text-gray-900 font-normal">
|
<span class="text-base text-gray-900 font-normal">
|
||||||
@php
|
<p>Total Task: {{ countPermohonanForUser($item->user->id) }}</p>
|
||||||
$totalTasks = $item->team->penilaianTeam
|
|
||||||
->filter(function ($penilaianTeam) use ($item) {
|
|
||||||
return $penilaianTeam->user_id == $item->user->id;
|
|
||||||
})
|
|
||||||
->count();
|
|
||||||
@endphp
|
|
||||||
<p>Total Task: {{ $totalTasks }}</p>
|
|
||||||
</span>
|
</span>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
@@ -208,7 +200,7 @@
|
|||||||
tanggal_kunjungan: {
|
tanggal_kunjungan: {
|
||||||
title: 'Tgl Kunjungan',
|
title: 'Tgl Kunjungan',
|
||||||
render: (item, data) =>
|
render: (item, data) =>
|
||||||
`${formatDateFromISO(data.tanggal_kunjungan) || ''}`,
|
`${formatDateFromISO(data.waktu_penilaian) || ''}`,
|
||||||
},
|
},
|
||||||
progress: {
|
progress: {
|
||||||
title: 'Progress',
|
title: 'Progress',
|
||||||
@@ -222,6 +214,7 @@
|
|||||||
return `${mulai.getDate()}-${mulai.getMonth() + 1}-${mulai.getFullYear()} - ${selesai.getDate()}-${selesai.getMonth() + 1}-${selesai.getFullYear()}`
|
return `${mulai.getDate()}-${mulai.getMonth() + 1}-${mulai.getFullYear()} - ${selesai.getDate()}-${selesai.getMonth() + 1}-${selesai.getFullYear()}`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
paparan: {
|
paparan: {
|
||||||
title: 'Paparan',
|
title: 'Paparan',
|
||||||
render: (item, data) => `${data.paparan || ''}`,
|
render: (item, data) => `${data.paparan || ''}`,
|
||||||
|
|||||||
@@ -176,16 +176,67 @@
|
|||||||
LAMPIRAN FOTO DAN DOKUMEN
|
LAMPIRAN FOTO DAN DOKUMEN
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="btn btn-primary" data-modal-toggle="#modal_2">
|
<a class="btn btn-primary" data-modal-toggle="#modal_2">
|
||||||
KERTAS KERJA
|
KERTAS KERJA
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-primary" href="#">
|
<a class="btn btn-primary" href="#">
|
||||||
PAPARAN
|
PAPARAN
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="btn btn-primary" href="#">
|
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||||
WORKSHEET
|
<button class="dropdown-toggle btn btn-primary">
|
||||||
</a>
|
WORKSHEET
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-content w-full max-w-56 py-2">
|
||||||
|
<div class="menu menu-default flex flex-col w-full">
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-badge">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
MEMO
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-profile-circle">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
RESUME
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" onclick="seletSederhanaStandart()">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-setting-2">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
LPJ
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-message-programming">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
RAP
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex justify-end gap-5">
|
<div class="flex justify-end gap-5">
|
||||||
@@ -211,6 +262,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="modal" data-modal="true" id="modal_2">
|
<div class="modal" data-modal="true" id="modal_2">
|
||||||
<div class="modal-content modal-center-y max-w-[600px]">
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@@ -232,13 +284,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group flex items-baseline flex-wrap">
|
<div class="form-group flex items-baseline flex-wrap">
|
||||||
|
|
||||||
<a class="btn btn-outline btn-primary w-full" href="#">Export Kertas Kerja</a>
|
<a class="btn btn-outline btn-primary w-full"
|
||||||
|
href="{{ route('penilai.export.kertas-kerja', $permohonan->id) }}">Export Kertas Kerja</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function seletSederhanaStandart() {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Apakah kamu akan memilih lpj standar?',
|
||||||
|
icon: 'warning',
|
||||||
|
showDenyButton: true,
|
||||||
|
showCancelButton: false,
|
||||||
|
confirmButtonText: 'Yes',
|
||||||
|
denyButtonText: 'No',
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
|
||||||
|
} else if (result.isDenied) {
|
||||||
|
Swal.fire('Changes are not saved', '', 'info')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -254,7 +254,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">
|
<label class="form-label max-w-56">
|
||||||
Jadwal Kunjungan
|
Tanggal assign
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
SLA Resume
|
SLA Resume
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="date" name="sla_resume" id="sla_resume" class="input w-full @error('sla_resume') border-danger bg-danger-light @enderror" value="{{ old('sla_resume', $persetujuanPenawaran->sla_resume ?? '') }}">
|
<input type="number" name="sla_resume" id="sla_resume" class="input w-full @error('sla_resume') border-danger bg-danger-light @enderror" value="{{ old('sla_resume', $persetujuanPenawaran->sla_resume ?? '') }}">
|
||||||
@error('sla_resume')
|
@error('sla_resume')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
SLA Final
|
SLA Final
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="date" name="sla_final" id="sla_final" class="input w-full @error('sla_final') border-danger bg-danger-light @enderror" value="{{ old('sla_final', $persetujuanPenawaran->sla_final ?? '') }}">
|
<input type="number" name="sla_final" id="sla_final" class="input w-full @error('sla_final') border-danger bg-danger-light @enderror" value="{{ old('sla_final', $persetujuanPenawaran->sla_final ?? '') }}">
|
||||||
@error('sla_final')
|
@error('sla_final')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
|
|||||||
@@ -176,26 +176,10 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
sla_resume: {
|
sla_resume: {
|
||||||
title: 'SLA Resume',
|
title: 'SLA Resume'
|
||||||
render: (item, data) => {
|
|
||||||
if(data.penawaran_tender.persetujuan) {
|
|
||||||
if (data.penawaran_tender.persetujuan.sla_resume) {
|
|
||||||
return window.formatTanggalIndonesia(`${data.penawaran_tender.persetujuan.sla_resume}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '-';
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
sla_final: {
|
sla_final: {
|
||||||
title: 'SLA Final',
|
title: 'SLA Final'
|
||||||
render: (item, data) => {
|
|
||||||
if(data.penawaran_tender.persetujuan) {
|
|
||||||
if (data.penawaran_tender.persetujuan.sla_final) {
|
|
||||||
return window.formatTanggalIndonesia(`${data.penawaran_tender.persetujuan.sla_final}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '-';
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
catatan: {
|
catatan: {
|
||||||
title: 'Catatan',
|
title: 'Catatan',
|
||||||
|
|||||||
@@ -12,26 +12,44 @@
|
|||||||
<!-- Luas tanah -->
|
<!-- Luas tanah -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Luas Unit</label>
|
<label class="form-label max-w-56">Luas Unit</label>
|
||||||
|
@if (isset($permohonan->debiture->documents))
|
||||||
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
|
@php
|
||||||
|
$luas = $item->detail;
|
||||||
|
$details = json_decode($luas[0]->details, true);
|
||||||
|
$luas_unit = isset($details['luas_unit']) ? $details['luas_unit'] : 'N/A';
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $luas_unit }}">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $luas_unit }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
@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">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])" type="radio" class="radio" name="luas_unit" value="sesuai"
|
<input
|
||||||
|
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
type="radio" class="radio" name="luas_unit" value="sesuai"
|
||||||
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == '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 onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])" type="radio" class="radio" name="luas_unit" value="tidak sesuai"
|
<input
|
||||||
|
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
type="radio" class="radio" name="luas_unit" value="tidak sesuai"
|
||||||
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div id="luas_unit_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="luas_unit_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||||
<input id="analisa_luas_unit_tidak_sesuai" type="text" name="luas_unit_tidak_sesuai" class="input w-full"
|
<input id="analisa_luas_unit_tidak_sesuai" type="text" name="luas_unit_tidak_sesuai"
|
||||||
placeholder="Masukan Luas Tanah"
|
class="input w-full" placeholder="Masukan Luas Tanah"
|
||||||
value="{{ old('luas_unit_tidak_sesuai', $forminspeksi['luas_unit_tidak_sesuai'] ?? '') }}">
|
value="{{ old('luas_unit_tidak_sesuai', $forminspeksi['luas_unit_tidak_sesuai'] ?? '') }}">
|
||||||
<button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('analisa_unit')">Save</button>
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
</div>
|
onclick="updateAnalisa('analisa_unit')">Save</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-luas_unit" class="alert text-danger text-sm"></em>
|
<em id="error-luas_unit" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
@@ -94,8 +112,8 @@
|
|||||||
{{ in_array($item->name, old('lantai', $forminspeksi['lantai'] ?? [])) ? 'checked' : '' }} />
|
{{ in_array($item->name, old('lantai', $forminspeksi['lantai'] ?? [])) ? 'checked' : '' }} />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="lantai_input[]" class="input w-full"
|
<input type="text" name="lantai_input[]" class="input w-full" id="lantaiInput"
|
||||||
id="lantaiInput" placeholder="Masukkan {{ $item->name }}..."
|
placeholder="Masukkan {{ $item->name }}..."
|
||||||
value="{{ old('lantai_input.' . $loop->index, $forminspeksi['lantai_input'][$loop->index] ?? '') }}">
|
value="{{ old('lantai_input.' . $loop->index, $forminspeksi['lantai_input'][$loop->index] ?? '') }}">
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -7,47 +7,53 @@
|
|||||||
<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))
|
|
||||||
@foreach ($permohonan->debiture->documents as $item)
|
|
||||||
@php
|
|
||||||
$luas = $item->detail;
|
|
||||||
$details = json_decode($luas[0]->details, true);
|
|
||||||
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 'N/A';
|
|
||||||
@endphp
|
|
||||||
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
@endif
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
|
||||||
<input type="radio"
|
|
||||||
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
|
|
||||||
class="radio" name="luas_tanah_bagunan" value="sesuai"
|
|
||||||
{{ old('luas_tanah_bagunan', $forminspeksi['bangunan']['luas_tanah_bagunan'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
|
||||||
<span class="ml-2">Sesuai</span>
|
|
||||||
</label>
|
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
|
||||||
<input type="radio" class="radio" name="luas_tanah_bagunan"
|
|
||||||
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
|
|
||||||
value="tidak sesuai"
|
|
||||||
{{ old('luas_tanah_bagunan', $forminspeksi['bangunan']['luas_tanah_bagunan'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<div id="luas_tanah_bagunan_tidak_sesuai" class="flex items-baseline gap-2"
|
@if (isset($permohonan->debiture->documents))
|
||||||
style="{{ old('luas_tanah_bagunan_bagunan', $forminspeksi['bangunan']['luas_tanah_bagunan_bagunan'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
<input type="text"id="analisa_bangunan_tidak_sesuai" name="luas_tanah_bagunan_tidak_sesuai" class="input w-full"
|
@php
|
||||||
placeholder="Masukan Luas Bangunan Tidak Sesuai..."
|
$luas = $item->detail;
|
||||||
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['bangunan']['luas_tanah_bagunan_tidak_sesuai'] ?? '') }}">
|
$details = json_decode($luas[0]->details, true);
|
||||||
<button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('analisa_bangunan')">Save</button>
|
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 'N/A';
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="luas_bangunan_sesuai" class="input" value="{{ $luas_bangunan }}">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
@endif
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||||
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
|
<input type="radio"
|
||||||
|
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
class="radio" name="luas_tanah_bagunan" value="sesuai"
|
||||||
|
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'])) ? 'checked' : '' }}>
|
||||||
|
<span class="ml-2">Sesuai</span>
|
||||||
|
</label>
|
||||||
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
|
<input type="radio" class="radio" name="luas_tanah_bagunan"
|
||||||
|
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
value="tidak sesuai"
|
||||||
|
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<div id="luas_tanah_bagunan_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
|
style="{{ isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak_sesuai']) ? '' : 'display: none;' }}">
|
||||||
|
<input type="text" id="analisa_bangunan_tidak_sesuai"
|
||||||
|
name="luas_tanah_bagunan_tidak_sesuai" class="input w-full"
|
||||||
|
placeholder="Masukan Luas Bangunan Tidak Sesuai..."
|
||||||
|
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak_sesuai'] ?? '') }}">
|
||||||
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
|
onclick="updateAnalisa('analisa_bangunan')">
|
||||||
|
Save
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Jenis Bangunan -->
|
<!-- Jenis Bangunan -->
|
||||||
@@ -60,19 +66,14 @@
|
|||||||
<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 }}" />
|
|
||||||
{{ $item->name }}
|
|
||||||
</label>
|
|
||||||
<input type="text" name="jenis_bangunan" class="input mt-2"
|
|
||||||
id="bentukTanahInput" placeholder="Masukkan Jenis Bangunan...">
|
|
||||||
</div>
|
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
@@ -153,7 +154,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>
|
||||||
@@ -163,7 +164,7 @@
|
|||||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||||
<label class="form-label flex items-center gap-2.5">
|
<label class="form-label flex items-center gap-2.5">
|
||||||
<input class="checkbox"
|
<input class="checkbox"
|
||||||
name="spek_bangunan[{{ $item->name }}][]"
|
name="spek_bangunan[{{ $item->name }}][]"
|
||||||
type="checkbox" value="{{ $spek->name }}" />
|
type="checkbox" value="{{ $spek->name }}" />
|
||||||
{{ $spek->name }}
|
{{ $spek->name }}
|
||||||
</label>
|
</label>
|
||||||
@@ -199,16 +200,28 @@
|
|||||||
<div class="flex flex-col items-start gap-4">
|
<div class="flex flex-col items-start gap-4">
|
||||||
@if (isset($saranaPelengkap))
|
@if (isset($saranaPelengkap))
|
||||||
@foreach ($saranaPelengkap as $item)
|
@foreach ($saranaPelengkap as $item)
|
||||||
|
@php
|
||||||
|
$isChecked = false;
|
||||||
|
$inputValue = '';
|
||||||
|
|
||||||
|
if (isset($forminspeksi['bangunan']['sarana_pelengkap'])) {
|
||||||
|
foreach ($forminspeksi['bangunan']['sarana_pelengkap'] as $key => $value) {
|
||||||
|
if ($key === $item->name) {
|
||||||
|
$isChecked = true;
|
||||||
|
$inputValue = $value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@endphp
|
||||||
<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 gap-2.5" style="width: 500px">
|
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||||
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
|
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}" {{ $isChecked ? 'checked' : '' }} />
|
||||||
{{ in_array($item->name, old('sarana_pelengkap', $forminspeksi['bangunan']['sarana_pelengkap'] ?? [])) ? 'checked' : '' }} />
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="sarana_pelengkap_input[]" class="input w-full"
|
<input type="text" name="sarana_pelengkap_input[]" class="input w-full"
|
||||||
id="bentukTanahInput" placeholder="Masukkan {{ $item->name }}..."
|
placeholder="Masukkan {{ $item->name }}..." value="{{ $inputValue }}">
|
||||||
value="{{ old('sarana_pelengkap_input.' . $loop->index, $forminspeksi['bangunan']['sarana_pelengkap_input'][$loop->index] ?? '') }}">
|
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
@@ -216,6 +229,7 @@
|
|||||||
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
|
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,78 +1,100 @@
|
|||||||
<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')
|
@php
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
$jaminanId = $dokumen->jenisJaminan->id;
|
||||||
href="{{ route('surveyor.denah', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=create-denah&denah={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
$currentInspeksi = $inspeksiData[$jaminanId] ?? null;
|
||||||
@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')
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT'];
|
||||||
<a class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg"
|
|
||||||
href="{{ route('surveyor.data-pembanding', ['id' => $permohonan->id, 'jaminanId' => $dokumen->jenisJaminan->id]) }}?form=data-pembanding&pembanding={{ $permohonan->id }}&jenis_jaminan={{ $dokumen->jenisJaminan->id }}">
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<div class="card-body grid items-center">
|
$href = [
|
||||||
<div class="flex flex-col gap-3">
|
[
|
||||||
<div class="flex justify-center pt-5">
|
'label' => 'form inspeksi',
|
||||||
<div class="relative size-[60px] shrink-0">
|
'url' => route('surveyor.inspeksi', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-inspeksi&inspeksi={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['data_form']),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes)) {
|
||||||
|
$href[] = [
|
||||||
|
'label' => 'denah tanah dan bangunan',
|
||||||
|
'url' => route('surveyor.denah', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-denah&denah={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['denah_form']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$href = array_merge($href, [
|
||||||
|
[
|
||||||
|
'label' => 'foto',
|
||||||
|
'url' => route('surveyor.foto', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-foto&foto={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['foto_form']),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'label' => 'data pembanding',
|
||||||
|
'url' => route('surveyor.data-pembanding', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=data-pembanding&pembanding={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['data_pembanding']),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
<div class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg grid gap-5"
|
||||||
|
style="padding: 20px">
|
||||||
|
<div class="card-group flex items-center flex-wrap sm:flex-nowrap justify-between py-4 gap-2.5">
|
||||||
|
<div class="flex items-center gap-3.5">
|
||||||
|
<div class="relative size-[50px] shrink-0">
|
||||||
<svg class="w-full h-full stroke-brand-clarity fill-light" fill="none" height="48"
|
<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" fill=""></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"
|
<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" stroke=""></path>
|
||||||
fill=""></path>
|
</svg>
|
||||||
<path
|
<div class="absolute leading-none left-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4">
|
||||||
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"
|
<i class="ki-filled ki-additem text-2xl text-brand"></i>
|
||||||
stroke=""></path>
|
</div>
|
||||||
</svg>
|
|
||||||
<div class="absolute leading-none left-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4">
|
|
||||||
<i class="ki-filled ki-additem text-2xl text-brand"></i>
|
|
||||||
</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">
|
<span class="flex items-center gap-1.5 leading-none font-medium text-sm text-gray-900">
|
||||||
@php
|
|
||||||
$formType = request()->input('form');
|
|
||||||
$formData = null;
|
|
||||||
$formAction = 'Tambah';
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
@if ($formType === 'inspeksi')
|
|
||||||
@php
|
|
||||||
$formData = $forminspeksi ?? null;
|
|
||||||
@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 ?? '' }}
|
{{ $dokumen->jenisJaminan->name ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@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>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
|||||||
@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 min-w-full">
|
<div class="card min-w-full">
|
||||||
@@ -142,17 +142,16 @@
|
|||||||
<div class="w-full grid gap-5">
|
<div class="w-full grid gap-5">
|
||||||
<img id="foto_denah-preview"
|
<img id="foto_denah-preview"
|
||||||
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"
|
||||||
value="{{ old('foto_denah', isset($formDenah['foto_denah']) ? $formDenah['foto_denah'] : '') }}"
|
value="{{ old('foto_denah', isset($formDenah['foto_denah']) ? $formDenah['foto_denah'] : '') }}"
|
||||||
name="foto_denah" class="file-input file-input-bordered w-full "
|
name="foto_denah" class="file-input file-input-bordered w-full "
|
||||||
accept="image/*"
|
accept="image/*" onchange="previewImage(this, 'foto_denah-preview')">
|
||||||
onchange="previewImage(this, 'foto_denah-preview')"
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -178,29 +177,32 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<em id="error-luas" class="alert text-danger text-sm"></em>
|
<em id="error-luas" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||||
<button type="button" class="btn btn-success" id="saveButton" onclick="submitDenah()">
|
<button type="button" class="btn btn-success" id="saveButton" onclick="submitDenah()">
|
||||||
<span id="saveButtonText">Save</span>
|
<span id="saveButtonText">Save</span>
|
||||||
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;"
|
|
||||||
id="saveButtonSpinner">
|
|
||||||
<span class="visually-hidden">Loading...</span>
|
|
||||||
</div>
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="loadingOverlay" class="fixed inset-0 bg-black bg-opacity-50 hidden items-center justify-center z-50">
|
||||||
|
<div class="bg-white p-4 rounded-lg">
|
||||||
|
<div class="loader"></div>
|
||||||
|
<p class="mt-2 text-center">Sedang memproses...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<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();
|
||||||
reader.onload = function(e) {
|
reader.onload = function(e) {
|
||||||
@@ -213,15 +215,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function submitDenah() {
|
function submitDenah() {
|
||||||
|
const loadingOverlay = document.getElementById('loadingOverlay');
|
||||||
|
loadingOverlay.classList.remove('hidden');
|
||||||
|
loadingOverlay.classList.add('flex');
|
||||||
|
|
||||||
const formElement = $('#formDenah')[0];
|
const formElement = $('#formDenah')[0];
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(formElement);
|
||||||
|
|
||||||
// Disable the button and show the spinner
|
|
||||||
$('#saveButton').prop('disabled', true);
|
|
||||||
$('#saveButtonText').hide();
|
|
||||||
$('#saveButtonSpinner').show();
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.storeDenah') }}',
|
url: '{{ route('surveyor.storeDenah') }}',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
@@ -233,9 +233,24 @@
|
|||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
Swal.fire({
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=denah';
|
title: 'Berhasil!',
|
||||||
toastrSuccessBuild(response.message);
|
text: response.message,
|
||||||
|
icon: 'success',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
}).then((response) => {
|
||||||
|
if (response.isConfirmed) {
|
||||||
|
window.location.href =
|
||||||
|
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Error!',
|
||||||
|
text: response.message || 'Terjadi kesalahan',
|
||||||
|
icon: 'error',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
console.log(response);
|
console.log(response);
|
||||||
},
|
},
|
||||||
@@ -255,13 +270,32 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
complete: function() {
|
complete: function() {
|
||||||
// Re-enable the button and hide the spinner
|
loadingOverlay.classList.add('hidden');
|
||||||
$('#saveButton').prop('disabled', false);
|
loadingOverlay.classList.remove('flex');
|
||||||
$('#saveButtonText').show();
|
|
||||||
$('#saveButtonSpinner').hide();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
<style>
|
||||||
|
.loader {
|
||||||
|
border: 4px solid #f3f3f3;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-top: 4px solid #3498db;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -76,19 +76,32 @@
|
|||||||
<label class="form-label max-w-56">Batas batas</label>
|
<label class="form-label max-w-56">Batas batas</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="grid grid-cols-1 gap-4 items-center w-full">
|
<div class="grid grid-cols-1 gap-4 items-center w-full">
|
||||||
|
|
||||||
@if (isset($arahMataAngin))
|
@if (isset($arahMataAngin))
|
||||||
@foreach ($arahMataAngin as $item)
|
@foreach ($arahMataAngin as $item)
|
||||||
|
@php
|
||||||
|
$isChecked = false;
|
||||||
|
$inputValue = '';
|
||||||
|
|
||||||
|
if (isset($forminspeksi['fakta']['batas_batas'])) {
|
||||||
|
foreach ($forminspeksi['fakta']['batas_batas'] as $key => $value) {
|
||||||
|
if ($key === $item->name) {
|
||||||
|
$isChecked = true;
|
||||||
|
$inputValue = $value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@endphp
|
||||||
<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 gap-2.5" style="width: 500px">
|
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||||
<input class="checkbox" name="batas_batas[]" type="checkbox"
|
<input class="checkbox" name="batas_batas[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('batas_batas', $forminspeksi['fakta']['batas_batas'] ?? [])) ? 'checked' : '' }} />
|
{{ $isChecked ? 'checked' : '' }} />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="batas_batas_input[]" class="input w-full"
|
<input type="text" name="batas_batas_input[]" class="input w-full"
|
||||||
id="bentukTanahInput" placeholder="Masukkan Batas {{ $item->name }}..."
|
placeholder="Masukkan Batas {{ $item->name }}..."
|
||||||
value="{{ old('batas_batas_input.' . $loop->index, $forminspeksi['fakta']['batas_batas_input'][$loop->index] ?? '') }}">
|
value="{{ $inputValue }}">
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
@@ -98,6 +111,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
|
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full" id="kondisi-lingkungan-container">
|
<div class="flex flex-wrap items-baseline w-full" id="kondisi-lingkungan-container">
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -585,8 +585,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
<div id="loadingOverlay" class="fixed inset-0 bg-black bg-opacity-50 hidden items-center justify-center z-50">
|
||||||
|
<div class="bg-white p-4 rounded-lg">
|
||||||
|
<div class="loader"></div>
|
||||||
|
<p class="mt-2 text-center">Sedang memproses...</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Modal Kamera -->
|
<!-- Modal Kamera -->
|
||||||
@@ -598,17 +602,16 @@
|
|||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
function submitFoto() {
|
function submitFoto() {
|
||||||
|
const loadingOverlay = document.getElementById('loadingOverlay');
|
||||||
|
loadingOverlay.classList.remove('hidden');
|
||||||
|
loadingOverlay.classList.add('flex');
|
||||||
|
|
||||||
const formElement = $('#formFoto')[0];
|
const formElement = $('#formFoto')[0];
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(formElement);
|
||||||
// for (const [key, value] of formData.entries()) {
|
// for (const [key, value] of formData.entries()) {
|
||||||
// console.log(`Key: ${key}, Value: ${value}`);
|
// console.log(`Key: ${key}, Value: ${value}`);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// Disable the button and show the spinner
|
|
||||||
$('#saveButtonFoto').prop('disabled', true);
|
|
||||||
$('#saveButtonFotoText').hide();
|
|
||||||
$('#saveButtonSpinner').show();
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.storeFoto') }}',
|
url: '{{ route('surveyor.storeFoto') }}',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
@@ -621,10 +624,27 @@
|
|||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
Swal.fire({
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=foto';
|
title: 'Berhasil!',
|
||||||
toastrSuccessBuild(response.message);
|
text: response.message,
|
||||||
|
icon: 'success',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
}).then((response) => {
|
||||||
|
if (response.isConfirmed) {
|
||||||
|
window.location.href =
|
||||||
|
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Error!',
|
||||||
|
text: response.message || 'Terjadi kesalahan',
|
||||||
|
icon: 'error',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
@@ -643,9 +663,8 @@
|
|||||||
},
|
},
|
||||||
complete: function() {
|
complete: function() {
|
||||||
// Re-enable the button and hide the spinner
|
// Re-enable the button and hide the spinner
|
||||||
$('#saveButtonFoto').prop('disabled', false);
|
loadingOverlay.classList.add('hidden');
|
||||||
$('#saveButtonFotoText').show();
|
loadingOverlay.classList.remove('flex');
|
||||||
$('#saveButtonSpinner').hide();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -653,6 +672,28 @@
|
|||||||
@include('lpj::surveyor.js.camera-editor')
|
@include('lpj::surveyor.js.camera-editor')
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.loader {
|
||||||
|
border: 4px solid #f3f3f3;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-top: 4px solid #3498db;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,19 @@
|
|||||||
<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>
|
||||||
@@ -93,6 +108,7 @@
|
|||||||
@if (isset($permohonan->debiture->documents))
|
@if (isset($permohonan->debiture->documents))
|
||||||
@foreach ($permohonan->debiture->documents as $item)
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
|
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
|
||||||
|
<input type="hidden" name="jenis_asset_name" value="{{ $item->jenisJaminan->name }}">
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -101,19 +117,18 @@
|
|||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="jenis_asset" value="sesuai"
|
type="radio" class="radio" name="jenis_asset" value="sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="jenis_asset" value="tidak sesuai"
|
type="radio" class="radio" name="jenis_asset" value="tidak sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
|
|
||||||
<div id="jenis_asset" class="flex items-baseline gap-2"
|
<div id="jenis_asset" class="flex items-baseline gap-2"
|
||||||
style="{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? '' : 'display: none;' }}">
|
||||||
<select id="jenis_asset_tidak_sesuai" class="input w-full"
|
<select id="jenis_asset_tidak_sesuai" class="input w-full"
|
||||||
name="jenis_asset_tidak_sesuai">
|
name="jenis_asset_tidak_sesuai">
|
||||||
<option value="">Select Jenis asset</option>
|
<option value="">Select Jenis asset</option>
|
||||||
@@ -126,13 +141,13 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</select>
|
||||||
<button type="button" class="btn btn-md btn-primary"
|
{{-- <button type="button" class="btn btn-md btn-primary"
|
||||||
onclick="updateAnalisa('jenis_asset')">Save</button>
|
onclick="updateAnalisa('jenis_asset')">Save</button> --}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -147,133 +162,90 @@
|
|||||||
|
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<input
|
||||||
<input
|
onclick="updateAlamatFields('sesuai')"
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'sesuai')"
|
type="radio"
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="sesuai"
|
class="radio"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
name="alamat_sesuai"
|
||||||
<span class="ml-2">Ya</span>
|
value="sesuai"
|
||||||
</label>
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<span class="ml-2">Ya</span>
|
||||||
<input
|
</label>
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'tidak sesuai')"
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="tidak sesuai"
|
<input
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
onclick="updateAlamatFields('tidak sesuai')"
|
||||||
<span class="ml-2">Tidak</span>
|
type="radio"
|
||||||
</label>
|
class="radio"
|
||||||
</div>
|
name="alamat_sesuai"
|
||||||
|
value="tidak sesuai"
|
||||||
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
|
<span class="ml-2">Tidak</span>
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- Alamat Sesuai --}}
|
<div id="alamat_form" class="grid gap-2 mt-5">
|
||||||
<div id="alamat_sesuai" class="grid gap-2 mt-5" style="display: none;">
|
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
|
||||||
@php
|
|
||||||
$fields = [
|
|
||||||
[
|
|
||||||
'label' => 'Jl.',
|
|
||||||
'value' => $dokumen->address ?? '',
|
|
||||||
'name' => 'nama_jalan',
|
|
||||||
'readonly' => false,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Provinsi',
|
|
||||||
'value' => $dokumen->province->name ?? '',
|
|
||||||
'name' => 'provinsi',
|
|
||||||
'readonly' => true,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Kota/Kabupaten',
|
|
||||||
'value' => $dokumen->city->name ?? '',
|
|
||||||
'name' => 'kota_kabupaten',
|
|
||||||
'readonly' => true,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Kecamatan',
|
|
||||||
'value' => $dokumen->district->name ?? '',
|
|
||||||
'name' => 'kecamatan',
|
|
||||||
'readonly' => true,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Kelurahan',
|
|
||||||
'value' => $dokumen->village->name ?? '',
|
|
||||||
'name' => 'desa_kelurahan',
|
|
||||||
'readonly' => true,
|
|
||||||
],
|
|
||||||
];
|
|
||||||
@endphp
|
|
||||||
@foreach ($fields as $field)
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
||||||
<label class="form-label max-w-56">{{ $field['label'] }}</label>
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
|
||||||
<input type="text" class="input" name="{{ $field['name'] }}"
|
|
||||||
value="{{ $field['value'] }}" {{ $field['readonly'] ? 'readonly' : '' }}>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endforeach
|
|
||||||
@endforeach
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{-- Alamat Tidak Sesuai --}}
|
|
||||||
<div id="alamat_tidak_sesuai" class="grid gap-2 mt-5" style="display: none;">
|
|
||||||
@php
|
@php
|
||||||
$inputDataLokasi = [
|
$fields = [
|
||||||
['label' => 'Jl.', 'id' => 'address', 'name' => 'address', 'type' => 'text'],
|
[
|
||||||
|
'label' => 'Jl.',
|
||||||
|
'name' => 'nama_jalan',
|
||||||
|
'id' => 'nama_jalan',
|
||||||
|
'readonly' => false,
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Provinsi',
|
'label' => 'Provinsi',
|
||||||
'id' => 'province_code',
|
|
||||||
'name' => 'provinsi',
|
'name' => 'provinsi',
|
||||||
|
'id' => 'provinsi',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => $provinces,
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Kota/Kabupaten',
|
'label' => 'Kota/Kabupaten',
|
||||||
'id' => 'city_code',
|
|
||||||
'name' => 'kota_kabupaten',
|
'name' => 'kota_kabupaten',
|
||||||
|
'id' => 'kota_kabupaten',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => $provinces,
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Kecamatan',
|
'label' => 'Kecamatan',
|
||||||
'id' => 'district_code',
|
|
||||||
'name' => 'kecamatan',
|
'name' => 'kecamatan',
|
||||||
|
'id' => 'kecamatan',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => $provinces,
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Desa/Kelurahan',
|
'label' => 'Kelurahan',
|
||||||
'id' => 'village_code',
|
|
||||||
'name' => 'desa_kelurahan',
|
'name' => 'desa_kelurahan',
|
||||||
|
'id' => 'desa_kelurahan',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => $provinces,
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
@foreach ($inputDataLokasi as $item)
|
@foreach ($fields as $field)
|
||||||
<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">{{ $item['label'] }}</label>
|
<label class="form-label max-w-56">{{ $field['label'] }}</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@if ($item['type'] === 'text')
|
@if (isset($field['type']) && $field['type'] === 'select')
|
||||||
<input id="{{ $item['id'] }}" name="{{ $item['name'] }}" class="input">
|
<select id="{{ $field['id'] }}" name="{{ $field['name'] }}" class="select w-full">
|
||||||
@else
|
<option value="">{{ $field['label'] }}</option>
|
||||||
<select id="{{ $item['id'] }}" name="{{ $item['name'] }}"
|
@foreach ($field['options'] as $option)
|
||||||
class="select w-full">
|
<option value="{{ $option->code }}">{{ $option->name }}</option>
|
||||||
<option value="">{{ $item['label'] }}</option>
|
@endforeach
|
||||||
@if ($item['id'] === 'province_code')
|
|
||||||
@foreach ($item['options'] as $option)
|
|
||||||
<option value="{{ $option->code }}">{{ $option->name }}</option>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
</select>
|
</select>
|
||||||
|
@else
|
||||||
|
<input type="text" id="{{ $field['id'] }}" name="{{ $field['name'] }}" class="input"
|
||||||
|
{{ $field['readonly'] ? 'readonly' : '' }}>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -409,6 +381,8 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
||||||
|
<input type="hidden" name="hub_cadeb_sesuai"
|
||||||
|
value="{{ $dokumen->pemilik->hubungan_pemilik->name }}" id="">
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -418,14 +392,14 @@
|
|||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb" value="sesuai"
|
type="radio" class="radio" name="hub_cadeb" value="sesuai"
|
||||||
{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb" value="tidak sesuai"
|
type="radio" class="radio" name="hub_cadeb" value="tidak sesuai"
|
||||||
{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['tidak sesuai']))? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
@@ -461,6 +435,9 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full text-sm">
|
<div class="flex flex-wrap items-baseline w-full text-sm">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
{{ $dokumen->penghuni->hubungan_penghuni->name ?? 'N/A' }}
|
{{ $dokumen->penghuni->hubungan_penghuni->name ?? 'N/A' }}
|
||||||
|
<input type="hidden" name="hub_cadeb_penguhuni_sesuai"
|
||||||
|
value="{{ isset($dokumen->penghuni->hubungan_penghuni->name) ?? '' }}"
|
||||||
|
id="">
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -470,21 +447,21 @@
|
|||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb_penghuni" value="sesuai"
|
type="radio" class="radio" name="hub_cadeb_penghuni" value="sesuai"
|
||||||
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb_penghuni', 'hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb_penghuni', 'hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb_penghuni" value="tidak sesuai"
|
type="radio" class="radio" name="hub_cadeb_penghuni" value="tidak sesuai"
|
||||||
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
<select id="hub_cadeb_Penghuni_tidak_sesuai"
|
<select id="hub_cadeb_Penghuni_tidak_sesuai"
|
||||||
class="input w-full
|
class="input w-full
|
||||||
name="hub_cadeb_Penghuni_tidak_sesuai"
|
name="hub_cadeb_Penghuni_tidak_sesuai"
|
||||||
style="{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<option value="">Select Hubungan Cadeb</option>
|
<option value="">Select Hubungan Cadeb</option>
|
||||||
@if (isset($hubPenghuni))
|
@if (isset($hubPenghuni))
|
||||||
@foreach ($hubPenghuni as $item)
|
@foreach ($hubPenghuni as $item)
|
||||||
|
|||||||
@@ -1,39 +1,16 @@
|
|||||||
@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
|
||||||
|
|
||||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||||
|
|
||||||
|
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@if ($dokumen->jenisJaminan)
|
@if ($dokumen->jenisJaminan)
|
||||||
@php
|
@php
|
||||||
@@ -60,17 +37,42 @@
|
|||||||
<span id="saveButtonText">Save</span>
|
<span id="saveButtonText">Save</span>
|
||||||
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;"
|
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;"
|
||||||
id="saveButtonSpinner">
|
id="saveButtonSpinner">
|
||||||
<span class="visually-hidden">Loading...</span>
|
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{{-- </div>
|
</div>
|
||||||
</div> --}}
|
|
||||||
|
<!-- Loading Overlay -->
|
||||||
|
<div id="loadingOverlay" class="fixed inset-0 bg-black bg-opacity-50 hidden items-center justify-center z-50">
|
||||||
|
<div class="bg-white p-4 rounded-lg">
|
||||||
|
<div class="loader"></div>
|
||||||
|
<p class="mt-2 text-center">Sedang memproses...</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
function updateAlamatFields(type) {
|
||||||
|
if (type === 'sesuai') {
|
||||||
|
// Update nilai form dengan data sesuai
|
||||||
|
document.getElementById('nama_jalan').value = "{{ $dokumen->address ?? '' }}";
|
||||||
|
document.getElementById('provinsi').value = "{{ $dokumen->province->code ?? '' }}";
|
||||||
|
document.getElementById('kota_kabupaten').value = "{{ $dokumen->city->code ?? '' }}";
|
||||||
|
document.getElementById('kecamatan').value = "{{ $dokumen->district->code ?? '' }}";
|
||||||
|
document.getElementById('desa_kelurahan').value = "{{ $dokumen->village->code ?? '' }}";
|
||||||
|
} else if (type === 'tidak sesuai') {
|
||||||
|
// Reset nilai form untuk input manual
|
||||||
|
document.getElementById('nama_jalan').value = '';
|
||||||
|
document.getElementById('provinsi').value = '';
|
||||||
|
document.getElementById('kota_kabupaten').value = '';
|
||||||
|
document.getElementById('kecamatan').value = '';
|
||||||
|
document.getElementById('desa_kelurahan').value = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function toggleFieldVisibility(fieldName, inputId, visibleValues = []) {
|
function toggleFieldVisibility(fieldName, inputId, visibleValues = []) {
|
||||||
const selectedValue = $(`[name="${fieldName}"]:checked`).val();
|
const selectedValue = $(`[name="${fieldName}"]:checked`).val();
|
||||||
const inputField = $(`#${inputId}`);
|
const inputField = $(`#${inputId}`);
|
||||||
@@ -126,31 +128,30 @@
|
|||||||
|
|
||||||
|
|
||||||
function toggleAlamatVisibility(idSesuai, idTidakSesuai, selectedValue) {
|
function toggleAlamatVisibility(idSesuai, idTidakSesuai, selectedValue) {
|
||||||
// Ambil elemen berdasarkan ID
|
// Ambil elemen berdasarkan ID
|
||||||
const alamatSesuai = document.getElementById(idSesuai);
|
const alamatSesuai = document.getElementById(idSesuai);
|
||||||
const alamatTidakSesuai = document.getElementById(idTidakSesuai);
|
const alamatTidakSesuai = document.getElementById(idTidakSesuai);
|
||||||
|
|
||||||
// Periksa nilai yang dipilih dan tampilkan elemen yang sesuai
|
// Periksa nilai yang dipilih dan tampilkan elemen yang sesuai
|
||||||
if (selectedValue === 'sesuai') {
|
if (selectedValue === 'sesuai') {
|
||||||
alamatSesuai.style.display = 'grid'; // Tampilkan "Alamat Sesuai"
|
alamatSesuai.style.display = 'grid'; // Tampilkan "Alamat Sesuai"
|
||||||
alamatTidakSesuai.style.display = 'none'; // Sembunyikan "Alamat Tidak Sesuai"
|
alamatTidakSesuai.style.display = 'none'; // Sembunyikan "Alamat Tidak Sesuai"
|
||||||
} else if (selectedValue === 'tidak sesuai') {
|
} else if (selectedValue === 'tidak sesuai') {
|
||||||
alamatSesuai.style.display = 'none'; // Sembunyikan "Alamat Sesuai"
|
alamatSesuai.style.display = 'none'; // Sembunyikan "Alamat Sesuai"
|
||||||
alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai"
|
alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function submitData() {
|
function submitData() {
|
||||||
|
const loadingOverlay = document.getElementById('loadingOverlay');
|
||||||
|
loadingOverlay.classList.remove('hidden');
|
||||||
|
loadingOverlay.classList.add('flex');
|
||||||
|
|
||||||
const formElement = $('#formInspeksi')[0];
|
const formElement = $('#formInspeksi')[0];
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(formElement);
|
||||||
|
|
||||||
// Disable the button and show the spinner
|
|
||||||
$('#saveButton').prop('disabled', true);
|
|
||||||
$('#saveButtonText').hide();
|
|
||||||
$('#saveButtonSpinner').show();
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.store') }}',
|
url: '{{ route('surveyor.store') }}',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
@@ -161,12 +162,26 @@
|
|||||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
// if (response.success) {
|
if (response.success) {
|
||||||
// toastrSuccessBuild(response.message)
|
Swal.fire({
|
||||||
// window.location.href =
|
title: 'Berhasil!',
|
||||||
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=inspeksi';
|
text: response.message,
|
||||||
// }
|
icon: 'success',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
}).then((response) => {
|
||||||
|
if (response.isConfirmed) {
|
||||||
|
window.location.href =
|
||||||
|
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Error!',
|
||||||
|
text: response.message || 'Terjadi kesalahan',
|
||||||
|
icon: 'error',
|
||||||
|
confirmButtonText: 'OK'
|
||||||
|
});
|
||||||
|
}
|
||||||
console.log(response);
|
console.log(response);
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
@@ -185,9 +200,8 @@
|
|||||||
},
|
},
|
||||||
complete: function() {
|
complete: function() {
|
||||||
// Re-enable the button and hide the spinner
|
// Re-enable the button and hide the spinner
|
||||||
$('#saveButton').prop('disabled', false);
|
loadingOverlay.classList.add('hidden');
|
||||||
$('#saveButtonText').show();
|
loadingOverlay.classList.remove('flex');
|
||||||
$('#saveButtonSpinner').hide();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -264,10 +278,8 @@
|
|||||||
success: function(response) {
|
success: function(response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
if (response.jenis_asset) {
|
// window.location.href =
|
||||||
window.location.href =
|
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=inspeksi';
|
|
||||||
}
|
|
||||||
toastrSuccessBuild(response.message);
|
toastrSuccessBuild(response.message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -275,9 +287,44 @@
|
|||||||
console.error('Terjadi error:', error);
|
console.error('Terjadi error:', error);
|
||||||
console.log('Status:', status);
|
console.log('Status:', status);
|
||||||
console.log('Response:', xhr.responseText);
|
console.log('Response:', xhr.responseText);
|
||||||
toastrErrorBuild(error);
|
if (xhr.responseJSON.message) {
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
|
} else {
|
||||||
|
toastrErrorBuild('Terjadi kesalahan');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.loader {
|
||||||
|
border: 4px solid #f3f3f3;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-top: 4px solid #3498db;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.scrollable-x-auto {
|
||||||
|
overflow-x: auto;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
min-width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -157,25 +169,38 @@
|
|||||||
<span class="ml-2">Telah ada bangunan</span>
|
<span class="ml-2">Telah ada bangunan</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="flex w-full items-center gap-4">
|
<div class="flex w-full items-center gap-4">
|
||||||
|
|
||||||
<div id="disekitar_lokasi_sesuai" class="grid grid-cols-2 gap-4 mt-5 mb-5"
|
<div id="disekitar_lokasi_sesuai" class="grid grid-cols-2 gap-4 mt-5 mb-5"
|
||||||
style="display: none;">
|
style="{{ old('disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? '' : 'display: none;' }}">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<label for="" class="text-sm text-gray-700">Kondisi bangunan</label>
|
<label for="" class="text-sm text-gray-700">Kondisi bangunan</label>
|
||||||
|
|
||||||
|
@php
|
||||||
|
$kondisi = ['Cukup', 'Baik', 'Kurang'];
|
||||||
|
@endphp
|
||||||
|
|
||||||
<select class="select" name="kondisi_bagunan_disekitar_lokasi" id="">
|
<select class="select" name="kondisi_bagunan_disekitar_lokasi" id="">
|
||||||
<option value="">pilih kondisi</option>
|
<option value="">pilih kondisi</option>
|
||||||
<option value="Cukup">Cukup</option>
|
@foreach ($kondisi as $item)
|
||||||
<option value="Baik">Baik</option>
|
<option value="{{ $item }}"
|
||||||
<option value="Kurang">Kurang</option>
|
{{ old('kondisi_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
||||||
|
{{ $item }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<label for="" class="text-sm text-gray-700">Sifat bangunan</label>
|
<label for="" class="text-sm text-gray-700">Sifat bangunan</label>
|
||||||
|
@php
|
||||||
|
$sifat = ['Permanen', 'Semi Permanen', 'Tidak Permanen'];
|
||||||
|
@endphp
|
||||||
<select class="select" name="sifat_bagunan_disekitar_lokasi" id="">
|
<select class="select" name="sifat_bagunan_disekitar_lokasi" id="">
|
||||||
<option value="">pilih sifat bagunan</option>
|
<option value="">pilih sifat bagunan</option>
|
||||||
<option value="Permanen">Permanen</option>
|
@foreach ($sifat as $item)
|
||||||
<option value="Semi Permanen">Semi Permanen</option>
|
<option value="{{ $item }}"
|
||||||
<option value="Tidak Permanen">Tidak Permanen</option>
|
{{ old('sifat_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
||||||
|
{{ $item }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -246,53 +271,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 +338,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 +365,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 +387,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,15 +13,15 @@
|
|||||||
<label class="form-label max-w-56">Luas Tanah</label>
|
<label class="form-label max-w-56">Luas Tanah</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
|
||||||
$luas = $item->detail;
|
$luas = $item->detail;
|
||||||
$details = json_decode($luas[0]->details, true);
|
$details = json_decode($luas[0]->details, true);
|
||||||
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
||||||
@endphp
|
@endphp
|
||||||
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
<input type="hidden" name="luas_tanah_sesuai" class="input" value="{{ $luas_tanah }}">
|
||||||
@endforeach
|
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@@ -29,21 +29,22 @@
|
|||||||
<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" value="sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
|
||||||
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
||||||
{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
||||||
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
||||||
{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<input id="analisa_tanah_tidak_sesuai" type="text" name="luas_tanah_tidak_sesuai" class="input w-full"
|
<input id="analisa_tanah_tidak_sesuai" type="text" name="luas_tanah_tidak_sesuai"
|
||||||
placeholder="Masukan Luas Tanah"
|
class="input w-full" placeholder="Masukan Luas Tanah"
|
||||||
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah_tidak_sesuai'] ?? '') }}">
|
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
|
||||||
<button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('analisa_tanah')">Save</button>
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
|
onclick="updateAnalisa('analisa_tanah')">Save</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
|
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
|
||||||
@@ -55,34 +56,46 @@
|
|||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
||||||
|
<div class="mt-2">
|
||||||
|
@if (isset($permohonan->debiture->documents))
|
||||||
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
|
@php
|
||||||
|
$luas = $item->detail;
|
||||||
|
$details = json_decode($luas[0]->details, true);
|
||||||
|
$hadap_mata_angin = isset($details['hadap_mata_angin']) ? $details['hadap_mata_angin'] : 'N/A';
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="hadap_mata_angin_sesuai" class="input" value="{{ $hadap_mata_angin }}">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $hadap_mata_angin }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
|
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
|
||||||
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
||||||
{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['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="hadap_mata_angin" value="tidak sesuai"
|
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
|
||||||
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
||||||
{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
|
|
||||||
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<select
|
<select class="input w-full
|
||||||
class="input w-full
|
|
||||||
id="hadap_matangin_tidak_sesuai"
|
id="hadap_matangin_tidak_sesuai"
|
||||||
name="analisa_tanah_hadap_mata_angin_tidak_sesuai">
|
name="analisa_tanah_hadap_mata_angin_tidak_sesuai">
|
||||||
<option value="">Select Hadap Mata Angin</option>
|
<option value="">Select Hadap Mata Angin</option>
|
||||||
@if (isset($arahMataAngin))
|
@if (isset($arahMataAngin))
|
||||||
@foreach ($arahMataAngin as $item)
|
@foreach ($arahMataAngin as $item)
|
||||||
<option value="{{ $item->name }}"
|
<option value="{{ $item->name }}"
|
||||||
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['tanah']['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -94,6 +107,7 @@
|
|||||||
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bentuk Tanah -->
|
<!-- Bentuk Tanah -->
|
||||||
@@ -106,33 +120,22 @@
|
|||||||
@foreach ($bentukTanah as $item)
|
@foreach ($bentukTanah as $item)
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<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 class="checkbox" name="bentuk_tanah[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="bentuk_tanah[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{
|
{{ in_array($item->name, old('bentuk_tanah', [])) ||
|
||||||
in_array($item->name, old('bentuk_tanah', [])) ||
|
(isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
|
||||||
(isset($forminspeksi['tanah']['bentuk_tanah']) &&
|
is_array($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
|
||||||
is_array($forminspeksi['tanah']['bentuk_tanah']) &&
|
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']))
|
||||||
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']))
|
|
||||||
? 'checked'
|
? 'checked'
|
||||||
: ''
|
: '' }}
|
||||||
}}
|
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])" />
|
||||||
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])"
|
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||||
<input
|
<input id="bentuk_tanah_lainnya" type="text" style="display: none;"
|
||||||
id="bentuk_tanah_lainnya"
|
name="bentuk_tanah_lainnya" class="input w-full mt-2"
|
||||||
type="text"
|
|
||||||
style="display: none;"
|
|
||||||
name="bentuk_tanah_lainnya"
|
|
||||||
class="input w-full mt-2"
|
|
||||||
placeholder="Masukkan bentuk tanah..."
|
placeholder="Masukkan bentuk tanah..."
|
||||||
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah_lainnya'] ?? '') }}"
|
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ?? '') }}" />
|
||||||
/>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -149,20 +152,9 @@
|
|||||||
@if (isset($konturTanah))
|
@if (isset($konturTanah))
|
||||||
@foreach ($konturTanah as $item)
|
@foreach ($konturTanah 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
|
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="kontur_tanah[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{
|
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
|
||||||
in_array(
|
|
||||||
$item->name,
|
|
||||||
old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])
|
|
||||||
)
|
|
||||||
? 'checked'
|
|
||||||
: ''
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -238,27 +230,18 @@
|
|||||||
<div class="flex flex-col items-start gap-4">
|
<div class="flex flex-col items-start gap-4">
|
||||||
@if (isset($posisiKavling))
|
@if (isset($posisiKavling))
|
||||||
@foreach ($posisiKavling as $item)
|
@foreach ($posisiKavling as $item)
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<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 class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="posisi_kavling[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
|
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
|
||||||
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])"
|
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])" />
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<input
|
<input id="posisi_kavling_lainnya" type="text" style="display: none;"
|
||||||
id="posisi_kavling_lainnya"
|
name="posisi_kavling_lainnya" class="input w-full mt-2"
|
||||||
type="text"
|
placeholder="Masukkan Posisi Kavling lainnya..." value="{{ old('posisi_kavling_lainnya', $forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? '') }}" />
|
||||||
style="display: none;"
|
|
||||||
name="posisi_kavling_lainnya"
|
|
||||||
class="input w-full mt-2"
|
|
||||||
placeholder="Masukkan Posisi Kavling lainnya..."
|
|
||||||
/>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -319,7 +302,7 @@
|
|||||||
<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="kondisi_fisik_tanah[]" type="checkbox"
|
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
|
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
|
||||||
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
|
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@@ -330,7 +313,7 @@
|
|||||||
<input type="text" name="kondisi_fisik_tanah_lainnya"
|
<input type="text" name="kondisi_fisik_tanah_lainnya"
|
||||||
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
|
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
|
||||||
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
|
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
|
||||||
value="{{ old('kondisi_fisik_tanah_lainnya') }}">
|
value="{{ old('kondisi_fisik_tanah_lainnya', isset($forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'])) }}">
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@endpush
|
@endpush
|
||||||
|
@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">
|
||||||
|
|
||||||
|
|
||||||
@@ -25,33 +25,12 @@
|
|||||||
<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>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@if (request()->has('form') && request('form') == 'denah')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
@include('lpj::surveyor.components.card-tambah')
|
||||||
@elseif(request()->has('form') && request('form') == 'data-pembanding')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@elseif(request()->has('form') && request('form') == 'foto')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@else
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@endIf
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-footer ">
|
<div class="card-footer ">
|
||||||
@@ -107,11 +86,19 @@
|
|||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href = "{{ route('surveyor.index') }}";
|
// window.location.href = "{{ route('surveyor.index') }}";
|
||||||
|
toastrSuccessBuild(response.message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
console.log('Error checking button status:', error, status, xhr);
|
console.log('Error checking button status:', error, status, xhr);
|
||||||
|
if (xhr.responseJSON.message) {
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
|
}else{
|
||||||
|
toastrErrorBuild('Terjadi kesalahan');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,206 +5,213 @@
|
|||||||
@endsection
|
@endsection
|
||||||
@section('content')
|
@section('content')
|
||||||
@push('styles')
|
@push('styles')
|
||||||
|
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
<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 card-grid min-w-full" data-datatable="false" data-datatable-page-size="5"
|
<div class="card card-grid min-w-full" data-datatable="false" data-datatable-page-size="5"
|
||||||
data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('surveyor.datatables') }}">
|
data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('surveyor.datatables') }}">
|
||||||
<div class="card-header py-5 flex-wrap">
|
<div class="card-header py-5 flex-wrap">
|
||||||
<h3 class="card-title">
|
<h3 class="card-title">
|
||||||
Surveyor
|
Surveyor
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex flex-wrap gap-2 lg:gap-5">
|
<div class="flex flex-wrap gap-2 lg:gap-5">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<label class="input input-sm">
|
<label class="input input-sm">
|
||||||
<i class="ki-filled ki-magnifier"></i>
|
<i class="ki-filled ki-magnifier"></i>
|
||||||
<input placeholder="Search Penilaian" id="search" type="text" value="">
|
<input placeholder="Search Penilaian" id="search" type="text" value="">
|
||||||
</label>
|
</label>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex flex-wrap gap-2.5">
|
|
||||||
<div class="h-[24px] border border-r-gray-200"></div>
|
|
||||||
<a class="btn btn-sm btn-light" href="{{ route('activity.export') }}"> Export to Excel </a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="flex flex-wrap gap-2.5">
|
||||||
<div class="scrollable-x-auto">
|
<div class="h-[24px] border border-r-gray-200"></div>
|
||||||
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm"
|
<a class="btn btn-sm btn-light" href="{{ route('activity.export') }}"> Export to Excel </a>
|
||||||
data-datatable-table="true">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="w-14">
|
|
||||||
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="nomor_registrasi">
|
|
||||||
<span class="sort"><span class="sort-label">Nomor Registrasi</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="tanggal_permohonan">
|
|
||||||
<span class="sort"><span class="sort-label">Tanggal Assigned</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="user_id">
|
|
||||||
<span class="sort"><span class="sort-label">User Pemohon</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="branch_id">
|
|
||||||
<span class="sort"><span class="sort-label">Cabang Pemohon</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="debitur_id">
|
|
||||||
<span class="sort"><span class="sort-label">Debitur</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
|
|
||||||
<span class="sort"><span class="sort-label">Tujuan Penilaian</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="status">
|
|
||||||
<span class="sort"><span class="sort-label">Fasilitas Kredit</span>
|
|
||||||
<span class="sort-icon"></span>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
|
|
||||||
<div class="flex items-center gap-2">
|
|
||||||
Show
|
|
||||||
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
|
|
||||||
page
|
|
||||||
</div>
|
|
||||||
<div class="flex items-center gap-4">
|
|
||||||
<span data-datatable-info="true"></span>
|
|
||||||
<div class="pagination" data-datatable-pagination="true"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="scrollable-x-auto">
|
||||||
|
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm"
|
||||||
|
data-datatable-table="true">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="w-14">
|
||||||
|
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="nomor_registrasi">
|
||||||
|
<span class="sort"><span class="sort-label">Nomor Registrasi</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="tanggal_permohonan">
|
||||||
|
<span class="sort"><span class="sort-label">Tanggal Assigned</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="user_id">
|
||||||
|
<span class="sort"><span class="sort-label">User Pemohon</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="branch_id">
|
||||||
|
<span class="sort"><span class="sort-label">Cabang Pemohon</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="debitur_id">
|
||||||
|
<span class="sort"><span class="sort-label">Debitur</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
|
||||||
|
<span class="sort"><span class="sort-label">Tujuan Penilaian</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="status">
|
||||||
|
<span class="sort"><span class="sort-label">Fasilitas Kredit</span>
|
||||||
|
<span class="sort-icon"></span>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
|
||||||
|
<div class="flex items-center gap-2">
|
||||||
|
Show
|
||||||
|
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
|
||||||
|
page
|
||||||
|
</div>
|
||||||
|
<div class="flex items-center gap-4">
|
||||||
|
<span data-datatable-info="true"></span>
|
||||||
|
<div class="pagination" data-datatable-pagination="true"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
function jadwal(id){
|
function jadwal(id) {
|
||||||
document.getElementById('ids').value = id ;
|
document.getElementById('ids').value = id;
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
<script type="module">
|
|
||||||
|
|
||||||
const element = document.querySelector('#permohonan-table');
|
function freezeInputSurveyor(data) {
|
||||||
const searchInput = document.getElementById('search');
|
|
||||||
const statusFilter = document.getElementById('status-filter');
|
}
|
||||||
const apiUrl = element.getAttribute('data-api-url');
|
</script>
|
||||||
const dataTableOptions = {
|
<script type="module">
|
||||||
apiEndpoint: apiUrl,
|
const element = document.querySelector('#permohonan-table');
|
||||||
pageSize: 5,
|
const searchInput = document.getElementById('search');
|
||||||
order: [{
|
const statusFilter = document.getElementById('status-filter');
|
||||||
column: 'nomor_registrasi',
|
const apiUrl = element.getAttribute('data-api-url');
|
||||||
dir: 'asc'
|
const dataTableOptions = {
|
||||||
}], // Default order by 'nomor_registrasi' ascending
|
apiEndpoint: apiUrl,
|
||||||
columns: {
|
pageSize: 5,
|
||||||
select: {
|
order: [{
|
||||||
render: (item, data, context) => {
|
column: 'nomor_registrasi',
|
||||||
const checkbox = document.createElement('input');
|
dir: 'asc'
|
||||||
checkbox.className = 'checkbox checkbox-sm';
|
}], // Default order by 'nomor_registrasi' ascending
|
||||||
checkbox.type = 'checkbox';
|
columns: {
|
||||||
checkbox.value = data.id.toString();
|
select: {
|
||||||
checkbox.setAttribute('data-datatable-row-check', 'true');
|
render: (item, data, context) => {
|
||||||
return checkbox.outerHTML.trim();
|
const checkbox = document.createElement('input');
|
||||||
|
checkbox.className = 'checkbox checkbox-sm';
|
||||||
|
checkbox.type = 'checkbox';
|
||||||
|
checkbox.value = data.id.toString();
|
||||||
|
checkbox.setAttribute('data-datatable-row-check', 'true');
|
||||||
|
return checkbox.outerHTML.trim();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
nomor_registrasi: {
|
||||||
nomor_registrasi: {
|
title: 'Nomor Registrasi',
|
||||||
title: 'Nomor Registrasi',
|
},
|
||||||
},
|
tanggal_permohonan: {
|
||||||
tanggal_permohonan: {
|
title: 'Tanggal Assigned',
|
||||||
title: 'Tanggal Assigned',
|
},
|
||||||
},
|
user_id: {
|
||||||
user_id: {
|
title: 'User Pemohon',
|
||||||
title: 'User Pemohon',
|
render: (item, data) => `${data.user.name}`,
|
||||||
render: (item, data) => `${data.user.name}`,
|
},
|
||||||
},
|
branch_id: {
|
||||||
branch_id: {
|
title: 'Cabang Pemohon',
|
||||||
title: 'Cabang Pemohon',
|
render: (item, data) => `${data.branch.name}`,
|
||||||
render: (item, data) => `${data.branch.name}`,
|
},
|
||||||
},
|
debitur_id: {
|
||||||
debitur_id: {
|
title: 'Debitur',
|
||||||
title: 'Debitur',
|
render: (item, data) => `${data.debiture.name}`,
|
||||||
render: (item, data) => `${data.debiture.name}`,
|
},
|
||||||
},
|
tujuan_penilaian_id: {
|
||||||
tujuan_penilaian_id: {
|
title: 'Tujuan Penilaian',
|
||||||
title: 'Tujuan Penilaian',
|
render: (item, data) => `${data.tujuan_penilaian.name}`,
|
||||||
render: (item, data) => `${data.tujuan_penilaian.name}`,
|
},
|
||||||
},
|
jenis_fasilitas_kredit_id: {
|
||||||
jenis_fasilitas_kredit_id: {
|
title: 'Fasilitas Kredit',
|
||||||
title: 'Fasilitas Kredit',
|
render: (item, data) => `${data.jenis_fasilitas_kredit.name}`,
|
||||||
render: (item, data) => `${data.jenis_fasilitas_kredit.name}`,
|
},
|
||||||
},
|
actions: {
|
||||||
actions: {
|
title: 'Action',
|
||||||
title: 'Action',
|
render: (item, data) => {
|
||||||
render: (item, data) => {
|
let actionHtml = '';
|
||||||
let actionHtml = '';
|
|
||||||
|
|
||||||
if (data.penilaian.waktu_penilaian == null && data.penilaian.authorized_status == null) {
|
if (data.penilaian.waktu_penilaian == null && data.penilaian.authorized_status == null) {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a class="btn btn-sm btn-icon btn-clear btn-primary" data-modal-toggle="#modal_jadwal" onclick="jadwal(${data.penilaian.id})">
|
<a class="btn btn-sm btn-icon btn-clear btn-primary" data-modal-toggle="#modal_jadwal" onclick="jadwal(${data.penilaian.id})">
|
||||||
<i class="ki-filled ki-calendar-edit"></i>
|
<i class="ki-filled ki-calendar-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
`;
|
`;
|
||||||
} else {
|
} else {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="surveyor/${data.id}/show?form=inspeksi">
|
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="surveyor/${data.id}/show?form=inspeksi">
|
||||||
<i class="ki-outline ki-eye"></i>
|
<i class="ki-outline ki-eye"></i>
|
||||||
</a>
|
</a>
|
||||||
|
<button type="button" class="btn btn-sm btn-icon btn-clear btn-info" onclick="freezeInputSurveyor(${data.id})" data-modal-toggle="#modal_freeze">
|
||||||
|
<i class="ki-filled ki-arrow-circle-right"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
}
|
||||||
|
return actionHtml;
|
||||||
}
|
}
|
||||||
return actionHtml;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let dataTable = new KTDataTable(element, dataTableOptions);
|
||||||
|
|
||||||
|
searchInput.addEventListener('input', function() {
|
||||||
|
const searchValue = this.value.trim();
|
||||||
|
dataTable.search(searchValue, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
// statusFilter.addEventListener('change', function() {
|
||||||
|
// const selectedStatus = this.value;
|
||||||
|
// dataTable.search(selectedStatus);
|
||||||
|
// });
|
||||||
|
|
||||||
|
function convertDate(date) {
|
||||||
|
const createdAt = new Date(date);
|
||||||
|
const day = String(createdAt.getDate()).padStart(2, '0');
|
||||||
|
const month = String(createdAt.getMonth() + 1).padStart(2, '0');
|
||||||
|
const year = createdAt.getFullYear();
|
||||||
|
return `${day}-${month}-${year}`;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
let dataTable = new KTDataTable(element, dataTableOptions);
|
|
||||||
|
|
||||||
searchInput.addEventListener('input', function() {
|
|
||||||
const searchValue = this.value.trim();
|
|
||||||
dataTable.search(searchValue, true);
|
|
||||||
});
|
|
||||||
|
|
||||||
// statusFilter.addEventListener('change', function() {
|
</script>
|
||||||
// const selectedStatus = this.value;
|
|
||||||
// dataTable.search(selectedStatus);
|
|
||||||
// });
|
|
||||||
|
|
||||||
function convertDate(date) {
|
|
||||||
const createdAt = new Date(date);
|
|
||||||
const day = String(createdAt.getDate()).padStart(2, '0');
|
|
||||||
const month = String(createdAt.getMonth() + 1).padStart(2, '0');
|
|
||||||
const year = createdAt.getFullYear();
|
|
||||||
return `${day}-${month}-${year}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
<div class="modal" data-modal="true" id="modal_jadwal" >
|
<div class="modal" data-modal="true" id="modal_jadwal">
|
||||||
<div class="modal-content max-w-[600px] top-[10%]">
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Kunjungan</h3>
|
<h3 class="modal-title">Kunjungan</h3>
|
||||||
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||||
@@ -212,7 +219,8 @@ function jadwal(id){
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form action="{{ route('surveyor.storeJadwal')}}" method="POST" enctype="multipart/form-data" id="revisiForm">
|
<form action="{{ route('surveyor.storeJadwal') }}" method="POST" enctype="multipart/form-data"
|
||||||
|
id="revisiForm">
|
||||||
@method('put')
|
@method('put')
|
||||||
@csrf
|
@csrf
|
||||||
<input id="ids" type="hidden" name="id">
|
<input id="ids" type="hidden" name="id">
|
||||||
@@ -231,8 +239,51 @@ function jadwal(id){
|
|||||||
<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">Catatan</label>
|
<label class="form-label max-w-56">Catatan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<textarea id="deskripsi_penilaian" class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror"
|
<textarea id="deskripsi_penilaian"
|
||||||
rows="3" name="deskripsi_penilaian"></textarea>
|
class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror" rows="3"
|
||||||
|
name="deskripsi_penilaian"></textarea>
|
||||||
|
@error('deskripsi_penilaian')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer justify-end mt-2">
|
||||||
|
<div class="flex gap-4">
|
||||||
|
<button type="button" class="btn btn-light" data-modal-dismiss="true">Cancel</button>
|
||||||
|
<button id="btnSubmit" type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="modal" data-modal="true" id="modal_freeze">
|
||||||
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h3 class="modal-title">Freeze Surveyor</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">
|
||||||
|
<form action="{{ route('surveyor.storeFreeze') }}" method="POST" enctype="multipart/form-data"
|
||||||
|
id="freezeSurveyor">
|
||||||
|
@method('put')
|
||||||
|
@csrf
|
||||||
|
<input id="ids" type="hidden" name="id">
|
||||||
|
|
||||||
|
<div class="pl-1 grid gap-2.5">
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">Catatan</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<textarea id="deskripsi_penilaian"
|
||||||
|
class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror" rows="3"
|
||||||
|
name="deskripsi_penilaian"></textarea>
|
||||||
@error('deskripsi_penilaian')
|
@error('deskripsi_penilaian')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
|
|||||||
@@ -380,7 +380,7 @@ Breadcrumbs::for('tender.penawaran', function (BreadcrumbTrail $trail) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran.ulang');
|
$trail->parent('tender');
|
||||||
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
|
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -390,23 +390,22 @@ Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $
|
|||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran.ulang');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
|
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran.ulang');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
|
|
||||||
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
|
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
|
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
|
||||||
$trail->parent('tender.penawaran.showKirimEmail', ['noreg' => $noreg]);
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Surat Tender KJPP', route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]));
|
$trail->push('Surat Tender KJPP', route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran.ulang');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
|
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -419,6 +418,10 @@ Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) {
|
|||||||
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');
|
||||||
@@ -475,6 +478,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',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@@ -556,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'));
|
||||||
|
|||||||
958
routes/web.php
958
routes/web.php
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user