Membuat Menu Tender di Data Penawaran: Tambah Data Penawaran dan Detail Data Penawaran

This commit is contained in:
2024-10-04 17:25:41 +07:00
parent b64b44539c
commit f0c2f873c4
9 changed files with 341 additions and 139 deletions

View File

@@ -28,11 +28,34 @@
Nomor Registrasi
</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" value="{{ $penawaran->nomor_registrasi ?? '-' }}" name="nomor_registrasi"
class="flex w-full text-gray-600 font-medium text-sm input-custom" readonly>
@error('nomor_registrasi')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<input class="flex w-full text-gray-600 font-medium text-sm input-custom" type="text"
name="nomor_registrasi" readonly value="{{ $penawaran->nomor_registrasi ?? '-' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Nama KJPP Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="flex w-full text-gray-600 font-medium text-sm input-custom" type="text"
name="nama_kjpp_sebelumnya" readonly value="{{ $penawaran->nama_kjpp_sebelumnya ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Biaya KJPP Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="flex w-full text-gray-600 font-medium text-sm input-custom" type="text"
name="biaya_kjpp_sebelumnya" readonly value="{{ $penawaran->biaya_kjpp_sebelumnya ?? '' }}">
</div>
<label class="form-label max-w-56">
Tanggal Penilaian Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="flex w-full text-gray-600 font-medium text-sm input-custom" type="text"
name="tanggal_penilaian_sebelumnya" readonly
value="{{ $penawaran->tanggal_penilaian_sebelumnya ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@@ -49,44 +72,22 @@
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Nama KJPP Sebelumnya
Data KJPP
</label>
<div class="flex flex-wrap items-baseline w-full">
<select name="nama_kjpp_sebelumnya[]" multiple="multiple"
class="input tomselect w-full @error('nama_kjpp_sebelumnya') border-danger @enderror"
id="nama_kjpp_sebelumnya_select">
<option value="">Pilih Nama KJPP Sebelumnya</option>
<select name="kjpp[]" multiple="multiple"
class="input tomselect w-full @error('kjpp') border-danger @enderror" id="kjpp_select">
<option value="">Pilih Nama KJPP</option>
@foreach ($kjpp as $row)
<option value="{{ $row->name }}"
{{ in_array($row->name, old('nama_kjpp_sebelumnya', [])) ? 'selected' : '' }}>
{{ $row->name }}
</option>
@if (isset($kjpp))
<option value="{{ $row->id }}"
{{ in_array($row->id, old('kjpp', [])) ? 'selected' : '' }}>
{{ $row->name }}
</option>
@endif
@endforeach
</select>
@error('nama_kjpp_sebelumnya')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Biaya KJPP Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('biaya_kjpp_sebelumnya') border-danger @enderror" type="text"
name="biaya_kjpp_sebelumnya" value="{{ old('biaya_kjpp_sebelumnya') }}">
@error('biaya_kjpp_sebelumnya')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
<label class="form-label max-w-56">
Tanggal Penilaian Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('tanggal_penilaian_sebelumnya') border-danger @enderror"
type="date" name="tanggal_penilaian_sebelumnya"
value="{{ old('tanggal_penilaian_sebelumnya') }}">
@error('tanggal_penilaian_sebelumnya')
@error('kjpp')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
@@ -113,6 +114,39 @@
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tanggal Batas Waktu
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('start_date') border-danger @enderror" type="date"
name="start_date" value="{{ old('start_date') }}">
@error('start_date')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
-
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('end_date') border-danger @enderror" type="date" name="end_date"
value="{{ old('end_date') }}">
@error('end_date')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<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 class="textarea @error('catatan') border-danger @enderror" name="catatan" rows="3" id="address">{{ old('catatan') }}</textarea>
@error('catatan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Jenis Laporan
</label>
@@ -137,39 +171,8 @@
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tanggal Awal
Status
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('start_date') border-danger @enderror" type="date"
name="start_date" value="{{ old('start_date') }}">
@error('start_date')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
<label class="form-label max-w-56">
Tanggal Akhir
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('end_date') border-danger @enderror" type="date" name="end_date"
value="{{ old('end_date') }}">
@error('end_date')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<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 class="textarea @error('catatan') border-danger @enderror" name="catatan" rows="3" id="address">{{ old('catatan') }}</textarea>
@error('catatan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Status</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="select w-full @error('status') border-danger @enderror" name="status">
<option value="">Pilih Status</option>

View File

@@ -115,14 +115,12 @@
nama_kjpp_sebelumnya: {
title: 'Nama KJPP Sebelumnya',
render: (item, data) => {
let nama = data.nama_kjpp_sebelumnya;
if (typeof nama === 'string') {
nama = JSON.parse(nama);
const nama = data.nama_kjpp_sebelumnya;
if (nama === null || nama === '') {
return 'Tidak Ada'
} else {
return nama;
}
if (nama.length === 0) {
return `<span class="badge badge-danger badge-xs">Tidak Ada</span>`;
}
return nama.map(n => `<span class="badge badge-primary badge-xs">${n}</span>`).join(' ');
}
},
tanggal_penilaian_sebelumnya: {

View File

@@ -1,3 +1,35 @@
@php
function formatTanggalIndonesia($date)
{
$carbonDate = \Carbon\Carbon::parse($date);
$indonesianMonths = [
'Januari',
'Februari',
'Maret',
'April',
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember',
];
$month = $indonesianMonths[$carbonDate->month - 1];
return $carbonDate->format('d') . ' ' . $month . ' ' . $carbonDate->format('Y');
}
function formatRupiah($number)
{
// Convert to float if the input is a string
$number = (float) $number;
return 'Rp ' . number_format($number, 2, ',', '.');
}
@endphp
@extends('layouts.main')
@section('breadcrumbs')
@@ -25,7 +57,7 @@
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ $penawaran->nomor_registrasi }}
{{ $penawaran->nomor_registrasi ?? '' }}
</p>
</div>
<label class="form-label max-w-56">
@@ -33,7 +65,7 @@
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ $penawaran->code }}
{{ $penawaran->code ?? '' }}
</p>
</div>
</div>
@@ -42,19 +74,9 @@
Nama KJPP Sebelumnya
</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($penawaran->nama_kjpp_sebelumnya) && !empty(json_decode($penawaran->nama_kjpp_sebelumnya, true)))
<div class="flex flex-row space-x-4 text-gray-600 font-medium text-sm gap-1">
@foreach (json_decode($penawaran->nama_kjpp_sebelumnya, true) as $penawaran_code)
@php
$kjpp = $kjpps->firstWhere('name', $penawaran_code);
@endphp
@if ($kjpp)
<div
class="flex flex-row space-x-4 text-white font-medium text-sm badge badge-dark dark-mode:badge dark-mode:text-gray-600 badge-xs">
{{ $kjpp->name }}
</div>
@endif
@endforeach
@if (isset($penawaran->nama_kjpp_sebelumnya) && !empty($penawaran->nama_kjpp_sebelumnya))
<div class="flex flex-row space-x-4 text-gray-600 font-medium text-sm">
{{ $penawaran->nama_kjpp_sebelumnya }}
</div>
@else
<div class="flex flex-row space-x-4 text-gray-600 font-medium text-sm">
@@ -66,15 +88,6 @@
Biaya KJPP Sebelumnya
</label>
<p class="flex w-full text-gray-600 font-medium text-sm">
@php
function formatRupiah($number)
{
// Convert to float if the input is a string
$number = (float) $number;
return 'Rp ' . number_format($number, 2, ',', '.');
}
@endphp
@if (isset($penawaran->biaya_kjpp_sebelumnya))
{{ formatRupiah($penawaran->biaya_kjpp_sebelumnya) }}
@else
@@ -82,7 +95,100 @@
@endif
</p>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tanggal Penilaian Sebelumnya
</label>
@if (isset($penawaran->tanggal_penilaian_sebelumnya) && !empty($penawaran->tanggal_penilaian_sebelumnya))
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ formatTanggalIndonesia($penawaran->tanggal_penilaian_sebelumnya) }}
</p>
@else
<p class="flex w-full text-gray-600 font-medium text-sm">
Tidak Ada
</p>
@endif
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tujuan Penilaian KJPP
</label>
<p class="flex w-full text-gray-600 font-medium text-sm">
@if (isset($tujuan_penilaian_kjpp))
@foreach ($tujuan_penilaian_kjpp as $tpk)
{{ $tpk->name }}
@endforeach
@else
Tidak Ada
@endif
</p>
<label class="form-label max-w-56">
Jenis Laporan
</label>
<p class="flex w-full text-gray-600 font-medium text-sm">
@if (isset($jenis_laporan))
@foreach ($jenis_laporan as $jl)
{{ $jl->name }}
@endforeach
@else
Tidak Ada
@endif
</p>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Tanggal Batas Waktu
</label>
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ formatTanggalIndonesia($penawaran->start_date) }} -
{{ formatTanggalIndonesia($penawaran->end_date) }}
</p>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Catatan
</label>
@if (isset($penawaran->catatan))
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ $penawaran->catatan }}
</p>
@else
<p class="flex w-full text-gray-600 font-medium text-sm">
Tidak Ada
</p>
@endif
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Nama KJPP
</label>
<div class="flex flex-row space-x-4 text-gray-600 font-medium text-sm gap-1">
@if (isset($kjpps) && !empty(json_decode($kjpps, true)))
@foreach ($kjpps as $kjpp)
@if (isset($kjpp))
<div
class="flex flex-row space-x-4 text-white font-medium text-sm badge badge-dark dark-mode:badge dark-mode:text-gray-600 badge-xs">
{{ $kjpp->name }}</div>
@endif
@endforeach
@else
<div class="flex flex-row space-x-4 text-gray-600 font-medium text-sm">Tidak Ada</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Status
</label>
@if (isset($penawaran->status))
<p class="flex w-full text-gray-600 font-medium text-sm">
{{ $penawaran->status }}
</p>
@else
<p class="flex w-full text-gray-600 font-medium text-sm">
Tidak Ada
</p>
@endif
</div>
</div>
</div>
</div>
@endsection
@endsection