🎨 feat(ui-noc): tambah field nomor rekening lebih bayar & perbaikan styling konsistensi Tailwind
- Form NOC: tambah field nomor rekening lebih bayar (input number, readonly jika ada memo, hidden default, support old value & error handling) - Foto Lampiran: ubah layout jadi grid 4 kolom dengan shadow & hover effect, perbaikan urutan class Tailwind & judul kategori lebih prominent - Foto Lampiran: optimasi class container (relative, overflow-hidden, flex) & perbaikan spacing array $fotoTypes - LPJ Sederhana Standar: konsistensi class grid/flex/input-group, role 'penilai' ditambahkan untuk akses tombol simpan, perbaikan kondisi disabled button - Resume: optimasi class grid, flex, card-body, card-title, text, dan konsistensi urutan Tailwind di seluruh komponen - Konsistensi class: perbaikan di form, foto-lampiran, lpj-standar, resume agar mengikuti urutan Tailwind (layout → sizing → styling) - Struktur HTML: dirapikan untuk layout yang lebih responsif & semantik, dengan grid/flex yang lebih optimal - UX: tampilan foto lebih rapi, form lebih mudah digunakan, role-based access lebih jelas, field tambahan untuk kebutuhan bisnis - Dampak: data NOC lebih lengkap (tracking rekening lebih bayar), styling konsisten, UX meningkat, kode lebih maintainable
This commit is contained in:
@@ -5,8 +5,9 @@
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'administrator','DD Appraisal', 'EO Appraisal']) && Request::is('penilai/lampiran'))
|
||||
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'administrator', 'DD Appraisal', 'EO Appraisal']) &&
|
||||
Request::is('penilai/lampiran'))
|
||||
@include('lpj::component.detail-jaminan', [
|
||||
'backLink' => 'otorisator.view-laporan',
|
||||
'queryParams' => [
|
||||
@@ -15,6 +16,7 @@
|
||||
'inspeksiId' => request()->query('inspeksiId'),
|
||||
'jaminanId' => request()->query('jaminanId'),
|
||||
'statusLpj' => 1,
|
||||
'header' => request('header'),
|
||||
],
|
||||
'title' => 'Paparan dokument',
|
||||
])
|
||||
@@ -30,13 +32,13 @@
|
||||
|
||||
|
||||
@if (isset($formDenah['denahs']) && is_array($formDenah['denahs']) && count($formDenah['denahs']) > 0)
|
||||
<div class="card ">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
<div class="card">
|
||||
<div class="uppercase card-header bg-agi-50">
|
||||
Denah
|
||||
</div>
|
||||
@foreach ($formDenah['denahs'] as $index => $denah)
|
||||
<div class="card-body ">
|
||||
<div class="w-full grid gap-5 ">
|
||||
<div class="card-body">
|
||||
<div class="grid gap-5 w-full">
|
||||
<!-- Preview Container -->
|
||||
<div class="preview-container-{{ $index }}" class="flex items-center">
|
||||
@if (isset($denah['foto_denah']))
|
||||
@@ -45,30 +47,31 @@
|
||||
@endphp
|
||||
|
||||
@if (in_array($fileExtension, ['jpg', 'jpeg', 'png']))
|
||||
<img src="{{ asset('storage/' . $denah['foto_denah']) }}" class="max-w-full max-h-screen object-contain">
|
||||
<img src="{{ asset('storage/' . $denah['foto_denah']) }}"
|
||||
class="object-contain max-w-full max-h-screen">
|
||||
@elseif($fileExtension === 'pdf')
|
||||
<embed src="{{ asset('storage/' . $denah['foto_denah']) }}" type="application/pdf"
|
||||
width="100%" height="500px">
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex flex-wrap lg:flex-nowrap w-full gap-4 text-start">
|
||||
<div class="flex flex-wrap gap-4 w-full lg:flex-nowrap text-start">
|
||||
<div class="w-full">
|
||||
<div class="flex flex-wrap gap-4">
|
||||
<div class="flex w-full items-center justify-start gap-4">
|
||||
<div class="flex gap-4 justify-start items-center w-full">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Nama Denah</span>
|
||||
</label>
|
||||
<p class="text-md text-gray-700">
|
||||
<p class="text-gray-700 text-md">
|
||||
{{ isset($denah['nama_denah']) ? $denah['nama_denah'] : '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-4">
|
||||
<div class="flex w-full items-center justify-start gap-4">
|
||||
<div class="flex gap-4 justify-start items-center w-full">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Total Luas</span>
|
||||
</label>
|
||||
<p class="text-md text-gray-700">
|
||||
<p class="text-gray-700 text-md">
|
||||
{{ isset($denah['luas_denah']) ? $denah['luas_denah'] . ' m²' : '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,39 +79,40 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-b border-b-gray-200 mt-5"></div>
|
||||
<div class="mt-5 border-b border-b-gray-200"></div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
Kertas Kerja
|
||||
<div class="card">
|
||||
<div class="uppercase card-header bg-agi-50">
|
||||
Kertas Kerja
|
||||
</div>
|
||||
<div class="flex justify-between items-center card-body">
|
||||
|
||||
@php
|
||||
$url = '';
|
||||
$fileName = '';
|
||||
if ($penilai && $penilai->kertas_kerja) {
|
||||
$url = asset('storage/' . $penilai->kertas_kerja);
|
||||
$fileName = basename($penilai->kertas_kerja);
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<button type="button" class="btn btn-primary"
|
||||
onclick="window.open('{{ $url }}', '_blank')">
|
||||
<i class="ki-outline ki-cloud-download"></i>
|
||||
Lihat Kertas Kerja</button>
|
||||
|
||||
<p class="text-gray-700 text-2sm">{{ $fileName }}</p>
|
||||
@else
|
||||
<p class="text-gray-700 text-2sm">Belum ada kertas kerja</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body flex items-center justify-between">
|
||||
|
||||
@php
|
||||
$url = '';
|
||||
$fileName = '';
|
||||
if ($penilai && $penilai->kertas_kerja) {
|
||||
$url = asset('storage/' . $penilai->kertas_kerja);
|
||||
$fileName = basename($penilai->kertas_kerja);
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<button type="button" class="btn btn-primary" onclick="window.open('{{ $url }}', '_blank')">
|
||||
<i class="ki-outline ki-cloud-download"></i>
|
||||
Lihat Kertas Kerja</button>
|
||||
|
||||
<p class="text-2sm text-gray-700">{{ $fileName }}</p>
|
||||
@else
|
||||
<p class="text-2sm text-gray-700">Belum ada kertas kerja</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user