Merge branch 'staging' into feature/senior-officer
This commit is contained in:
@@ -305,7 +305,7 @@ class PenilaiController extends Controller
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$permohonan = Permohonan::with(['debiture.documents.jenisjaminan', 'region.teams.teamsUsers.user', 'penilaian', 'documents.inspeksi'])->find($id);
|
||||
$permohonan = Permohonan::with(['debiture.documents.jenisjaminan', 'region.teams.teamsUsers.user', 'penilaian', 'documents.inspeksi','jenisPenilaian','laporanExternal'])->find($id);
|
||||
|
||||
|
||||
// return response()->json(['permohonan' => $permohonan]);
|
||||
|
||||
@@ -815,7 +815,7 @@ class TenderController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.ulang.index')
|
||||
return redirect()->back()
|
||||
->with('success', 'Email Penawaran Berhasil Terkirim!');
|
||||
} catch (\Exception $e) {
|
||||
// Log email gagal untuk setiap KJPP
|
||||
@@ -871,7 +871,7 @@ class TenderController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])
|
||||
return redirect()->back()
|
||||
->with('error', 'Email Penawaran Gagal Terkirim!');
|
||||
}
|
||||
}
|
||||
@@ -1015,7 +1015,7 @@ class TenderController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.ulang.index')->with('success', 'Email Penawaran Berhasil Terkirim!');
|
||||
return redirect()->back()->with('success', 'Email Penawaran Berhasil Terkirim!');
|
||||
} catch (\Exception $e) {
|
||||
// Log email gagal
|
||||
foreach ($kjpps as $email) {
|
||||
@@ -1067,7 +1067,7 @@ class TenderController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])->with('error', 'Email Penawaran Gagal Terkirim!');
|
||||
return redirect()->back()->with('error', 'Email Penawaran Gagal Terkirim!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,4 +235,9 @@
|
||||
{
|
||||
return $this->hasMany(LampiranDokumen::class);
|
||||
}
|
||||
|
||||
public function laporanExternal()
|
||||
{
|
||||
return $this->belongsTo(LaporanExternal::class,'id','permohonan_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,72 @@
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<!-- New section for Lampiran Dokumen -->
|
||||
<div class="card border border-agi-100 min-w-full mt-5">
|
||||
<div class="card-header light:bg-agi-50">
|
||||
<h3 class="card-title">
|
||||
Lampiran Dokumen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||
@forelse($permohonan->lampiranDokumen as $lampiran)
|
||||
<div class="border p-4 rounded-lg">
|
||||
<h4 class="font-semibold mb-2">{{ $lampiran->nama_file }}</h4>
|
||||
<p class="text-sm text-gray-600 mb-2">Keterangan : {{ $lampiran->keterangan }}</p>
|
||||
<div class="flex justify-between items-center">
|
||||
<div>
|
||||
<a href="{{ Storage::url($lampiran->path_file) }}" target="_blank" class="text-blue-600 hover:underline">
|
||||
<i class="ki-filled ki-eye mr-2"></i>View
|
||||
</a>
|
||||
<a href="{{ Storage::url($lampiran->path_file) }}" download="{{ Storage::url($lampiran->path_file) }}" class="text-green-600 hover:underline ml-4">
|
||||
<i class="ki-filled ki-cloud-download mr-2"></i>Download
|
||||
</a>
|
||||
</div>
|
||||
@if(Auth::user()->hasRole('administrator'))
|
||||
<form action="{{ route('lampiran.delete', $lampiran->id) }}" method="POST" onsubmit="return confirm('Are you sure you want to delete this lampiran?');">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="text-red-600 hover:underline">
|
||||
<i class="ki-filled ki-trash mr-2"></i>Delete
|
||||
</button>
|
||||
</form>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<p class="col-span-3 text-center text-gray-500">Tidak ada lampiran dokumen.</p>
|
||||
@endforelse
|
||||
</div>
|
||||
|
||||
@if(Auth::user()->hasRole(['Penilai', 'administrator','penilai','admin']))
|
||||
<form action="{{ route('lampiran.upload',) }}" method="POST" enctype="multipart/form-data" class="mt-6">
|
||||
@csrf
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label for="nama_file" class="block text-sm font-medium text-gray-700">Nama File</label>
|
||||
<input type="text" name="nama_file" id="nama_file" required class="input mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md">
|
||||
</div>
|
||||
<div>
|
||||
<label for="file" class=" block text-sm font-medium text-gray-700">File</label>
|
||||
<input type="file" name="file" id="file" required class="file-input mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md">
|
||||
</div>
|
||||
<div class="md:col-span-2">
|
||||
<label for="keterangan" class="block text-sm font-medium text-gray-700">Keterangan</label>
|
||||
<textarea name="keterangan" id="keterangan" rows="3" class="textarea mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="submit" class="inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
|
||||
Upload Lampiran
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 grow" id="activity_2024">
|
||||
@include('lpj::component.history-permohonan')
|
||||
</div>
|
||||
|
||||
@@ -275,6 +275,7 @@
|
||||
<table class="table align-middle text-sm text-gray-500">
|
||||
@php $document = $dokumen; @endphp
|
||||
@foreach($document->detail as $detail)
|
||||
@if(isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="text-2xs text-gray-600 uppercase">
|
||||
@@ -340,6 +341,7 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
@@ -388,7 +390,7 @@
|
||||
@endforelse
|
||||
</div>
|
||||
|
||||
@if(Auth::user()->hasRole(['penilai', 'administrator']))
|
||||
@if(Auth::user()->hasRole(['Penilai', 'administrator','penilai','admin']))
|
||||
<form action="{{ route('lampiran.upload',) }}" method="POST" enctype="multipart/form-data" class="mt-6">
|
||||
@csrf
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
<div class="border-t border-gray-300 border-dashed">
|
||||
</div>
|
||||
@foreach($document->detail as $detail)
|
||||
@if(isset($detail->dokumen_jaminan))
|
||||
<div class="flex items-center justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase">
|
||||
<strong>{{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }}</strong>
|
||||
@@ -86,7 +87,6 @@
|
||||
</div>
|
||||
<div class="border-t border-gray-300 border-dashed"></div>
|
||||
|
||||
@if(isset($detail->dokumen_jaminan))
|
||||
@php
|
||||
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan];
|
||||
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []);
|
||||
@@ -127,8 +127,6 @@
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
<div class="flex items-start justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
@@ -140,6 +138,7 @@
|
||||
</div>
|
||||
<div class="border-t border-gray-300 border-dashed mb-3.5">
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -126,17 +126,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -106,8 +106,7 @@
|
||||
<div class="content-max">
|
||||
Aset Jaminan: @foreach ($permohonan->documents as $document)
|
||||
{{ $document->jenisJaminan->name }}
|
||||
@endforeach
|
||||
<span class="flex-wrap">Lokasi Jaminan: @foreach ($permohonan->documents as $document)
|
||||
@endforeach<span class="flex-wrap">Lokasi Jaminan: @foreach ($permohonan->documents as $document)
|
||||
{{ $document->address }}, Kel. @foreach ($villages as $village)
|
||||
{{ $village->name }}
|
||||
@endforeach, Kec. @foreach ($districts as $district)
|
||||
@@ -128,17 +127,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -111,17 +111,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -126,17 +126,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -109,17 +109,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -128,17 +128,17 @@
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $index => $detail)
|
||||
@if($detail->details)
|
||||
@php $luastanah = $luasbangunan = null; @endphp
|
||||
@php $luastanah = $luasbangunan = 0; @endphp
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@foreach($value as $k => $v)
|
||||
@if($k=='luas_tanah')
|
||||
@php
|
||||
$luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luastanah += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@if($k=='luas_bangunan')
|
||||
@php
|
||||
$luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
$luasbangunan += (int) preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v));
|
||||
@endphp
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -85,7 +85,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
@@ -323,6 +322,45 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($permohonan->jenisPenilaian->name=="External")
|
||||
@if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
|
||||
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||
<button class="dropdown-toggle btn btn-primary">
|
||||
Laporan External
|
||||
</button>
|
||||
<div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]">
|
||||
<div class="menu menu-default flex flex-col w-full">
|
||||
@if(isset($permohonan->laporanExternal->file_resume) && !empty($permohonan->laporanExternal->file_resume))
|
||||
<div class="menu-item">
|
||||
<a class="menu-link" onclick="viewPDF('{{ Storage::url($permohonan->laporanExternal->file_resume) }}')">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-badge"></i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
Resume
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@if(isset($permohonan->laporanExternal->file_laporan) && !empty($permohonan->laporanExternal->file_laporan))
|
||||
|
||||
<div class="menu-item">
|
||||
<a class="menu-link" onclick="viewPDF('{{ Storage::url($permohonan->laporanExternal->file_laporan) }}')">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-setting-2"></i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
Laporan
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end gap-5">
|
||||
@@ -362,8 +400,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -412,7 +448,8 @@
|
||||
<div class="flex justify-center items-center gap-2">
|
||||
<input type="file" id="kertas_kerja" class="file-input">
|
||||
<button type="button" class="btn btn-outline btn-success"
|
||||
onclick="uploadKertasKerja({{ $permohonan->id }}, '{{ $documentId }}', '{{ $inspeksiId }}', '{{ $jenisJaminanId }}')">Upload</button>
|
||||
onclick="uploadKertasKerja({{ $permohonan->id }}, '{{ $documentId }}', '{{ $inspeksiId }}', '{{ $jenisJaminanId }}')">Upload
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-between items-center">
|
||||
|
||||
Reference in New Issue
Block a user