Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender

This commit is contained in:
2024-11-07 15:39:30 +07:00
17 changed files with 351 additions and 252 deletions

View File

@@ -4,6 +4,8 @@
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Exception; use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Modules\Location\Models\City; use Modules\Location\Models\City;
@@ -18,8 +20,6 @@
use Modules\Lpj\Models\JenisJaminan; use Modules\Lpj\Models\JenisJaminan;
use Modules\Lpj\Models\JenisLegalitasJaminan; use Modules\Lpj\Models\JenisLegalitasJaminan;
use Modules\Lpj\Models\PemilikJaminan; use Modules\Lpj\Models\PemilikJaminan;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use ZipArchive; use ZipArchive;
class DokumenJaminanController extends Controller class DokumenJaminanController extends Controller
@@ -72,45 +72,41 @@
$document = DokumenJaminan::create($validate); $document = DokumenJaminan::create($validate);
try { if ($request->jenis_legalitas_jaminan_id) {
foreach ($request->dokumen_jaminan as $key => $value) { foreach ($request->jenis_legalitas_jaminan_id as $key => $value) {
$file_name = $value->getClientOriginalName(); $detailData = [
'dokumen_jaminan_id' => $document->id,
'jenis_legalitas_jaminan_id' => $value,
'name' => $request->name[$key],
'keterangan' => $request->keterangan[$key],
];
if ($file_name) { $dokumenJaminan = [];
try { $dokumenNomor = [];
$file_name = $value->getClientOriginalName(); if (isset($request->dokumen_jaminan[$key]) && is_array($request->dokumen_jaminan[$key])) {
$value->storeAs( foreach ($request->dokumen_jaminan[$key] as $index => $file) {
'public/jaminan/' . $debitur->id . '/' . $document->id . '/', if ($file) {
$file_name, $file_name = $file->getClientOriginalName();
); $file->storeAs(
'public/jaminan/' . $debitur->id . '/' . $document->id . '/',
$detail = [ $file_name,
'dokumen_jaminan_id' => $document->id, );
'jenis_legalitas_jaminan_id' => $request->jenis_legalitas_jaminan_id[$key], $dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
'dokumen_jaminan' => 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name, $dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '';
'name' => $request->name[$key], }
'keterangan' => $request->keterangan[$key],
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : '',
];
DetailDokumenJaminan::create($detail);
} catch (Exception $e) {
DB::rollBack();
return redirect()->route('debitur.jaminan.index', $id)->with(
'error',
'Gagal upload file dokumen jaminan ' . $key . ': ' . $e->getMessage(),
);
} }
} }
if (!empty($dokumenJaminan)) {
$detailData['dokumen_jaminan'] = json_encode($dokumenJaminan);
$detailData['dokumen_nomor'] = json_encode($dokumenNomor);
}
DetailDokumenJaminan::create($detailData);
} }
DB::commit();
} catch (Exception $e) {
DB::rollBack();
return redirect()->route('debitur.jaminan.index', $id)->with(
'error',
'gg' . $e->getMessage(),
);
} }
DB::commit();
return redirect()->route('debitur.jaminan.index', $id)->with( return redirect()->route('debitur.jaminan.index', $id)->with(
'success', 'success',
'Dokumen Jaminan berhasil ditambahkan', 'Dokumen Jaminan berhasil ditambahkan',
@@ -149,6 +145,7 @@
$debitur = Debiture::find($id); $debitur = Debiture::find($id);
$validate = $request->validated(); $validate = $request->validated();
if ($validate) { if ($validate) {
try { try {
DB::beginTransaction(); DB::beginTransaction();
@@ -226,44 +223,59 @@
$document->update($validate); $document->update($validate);
// Get existing detail documents // Get existing detail documents
$existingDetails = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get()->keyBy('id'); $existingDetails = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get()->keyBy(
'id',
);
if($request->jenis_legalitas_jaminan_id){ if ($request->jenis_legalitas_jaminan_id) {
foreach($request->jenis_legalitas_jaminan_id as $key => $value){ foreach ($request->jenis_legalitas_jaminan_id as $key => $value) {
$detailData = [ $detailData = [
'dokumen_jaminan_id' => $document->id, 'dokumen_jaminan_id' => $document->id,
'jenis_legalitas_jaminan_id' => $value, 'jenis_legalitas_jaminan_id' => $value,
'name' => $request->name[$key], 'name' => $request->name[$key],
'keterangan' => $request->keterangan[$key], 'keterangan' => $request->keterangan[$key],
]; ];
$dokumenJaminan = []; $dokumenJaminan = [];
$dokumenNomor=[];
if (isset($request->dokumen_jaminan[$key]) && is_array($request->dokumen_jaminan[$key])) { if (isset($request->dokumen_jaminan[$key]) && is_array($request->dokumen_jaminan[$key])) {
foreach($request->dokumen_jaminan[$key] as $file) { foreach ($request->dokumen_jaminan[$key] as $index => $file) {
if ($file) { if ($file) {
$file_name = $file->getClientOriginalName(); $file_name = $file->getClientOriginalName();
$file->storeAs( $file->storeAs(
'public/jaminan/' . $debitur->id . '/' . $document->id . '/', 'public/jaminan/' . $debitur->id . '/' . $document->id . '/',
$file_name $file_name,
); );
$dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name; $dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
$dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '';
} }
} }
} }
if (!empty($dokumenJaminan)) { if (!empty($dokumenJaminan)) {
$detailData['dokumen_jaminan'] = json_encode($dokumenJaminan); $detailData['dokumen_jaminan'] = json_encode($dokumenJaminan);
$detailData['dokumen_nomor'] = json_encode($dokumenNomor);
} }
if (isset($request->detail_dokumen_jaminan_id[$key])) { if (isset($request->detail_dokumen_jaminan_id[$key])) {
$detailId = $request->detail_dokumen_jaminan_id[$key]; $detailId = $request->detail_dokumen_jaminan_id[$key];
$detailDocument = $existingDetails->get($detailId); $detailDocument = $existingDetails->get($detailId);
if ($detailDocument) { if ($detailDocument) {
// Merge new files with existing ones // Merge new files with existing ones
if (!empty($dokumenJaminan)) { if (!empty($dokumenJaminan)) {
$existingFiles = json_decode($detailDocument->dokumen_jaminan, true) ?: []; $existingFiles = json_decode(
$mergedFiles = array_merge($existingFiles, $dokumenJaminan); $detailDocument->dokumen_jaminan,
true,
) ?: [];
$existingNomor = json_decode(
$detailDocument->dokumen_nomor,
true,
) ?: [];
$mergedFiles = array_merge($existingFiles, $dokumenJaminan);
$mergedNomor = array_merge($existingNomor, $dokumenNomor);
$detailData['dokumen_jaminan'] = json_encode($mergedFiles); $detailData['dokumen_jaminan'] = json_encode($mergedFiles);
$detailData['dokumen_nomor'] = json_encode($mergedNomor);
} }
$detailDocument->update($detailData); $detailDocument->update($detailData);
$existingDetails->forget($detailId); $existingDetails->forget($detailId);
@@ -299,24 +311,26 @@
$id, $id,
$jaminan, $jaminan,
) { ) {
$document = DokumenJaminan::find($jaminan); $document = DokumenJaminan::find($jaminan);
$details = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get(); $details = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get();
$debitur = Debiture::find($document->debiture_id); $debitur = Debiture::find($document->debiture_id);
$provinces = Province::all(); $provinces = Province::all();
$cities = City::where('province_code', $document->province_code)->get(); $cities = City::where('province_code', $document->province_code)->get();
$districts = District::where('city_code', $document->city_code)->get(); $districts = District::where('city_code', $document->city_code)->get();
$villages = Village::where('district_code', $document->district_code)->get(); $villages = Village::where('district_code', $document->district_code)->get();
$jenisJaminan = JenisJaminan::all(); $jenisJaminan = JenisJaminan::all();
$jenisLegalitasJaminan = JenisLegalitasJaminan::all(); $jenisLegalitasJaminan = JenisLegalitasJaminan::all();
$_jenisJaminan = JenisJaminan::find($document->jenis_jaminan_id); $_jenisJaminan = JenisJaminan::find($document->jenis_jaminan_id);
$legalitasJaminan = json_decode($_jenisJaminan->jenis_legalitas_jaminan_id, true); $legalitasJaminan = json_decode($_jenisJaminan->jenis_legalitas_jaminan_id, true);
$currentLegalitasJaminan = JenisLegalitasJaminan::whereIn('id',$document->detail->pluck('jenis_legalitas_jaminan_id')->toArray())->get(); $currentLegalitasJaminan = JenisLegalitasJaminan::whereIn(
'id',
$document->detail->pluck('jenis_legalitas_jaminan_id')->toArray(),
)->get();
// Remove values from $legalitasJaminan that are in $currentLegalitasJaminan // Remove values from $legalitasJaminan that are in $currentLegalitasJaminan
@@ -324,8 +338,8 @@
$legalitas = JenisLegalitasJaminan::whereIn('code', $legalitasJaminan)->get(); $legalitas = JenisLegalitasJaminan::whereIn('code', $legalitasJaminan)->get();
$pemilikJaminan = PemilikJaminan::where('debiture_id', $document->debiture_id)->get(); $pemilikJaminan = PemilikJaminan::where('debiture_id', $document->debiture_id)->get();
$hubunganPemilik = HubunganPemilikJaminan::all(); $hubunganPemilik = HubunganPemilikJaminan::all();
return view( return view(
'lpj::debitur.jaminan', 'lpj::debitur.jaminan',
@@ -341,7 +355,7 @@
'villages', 'villages',
'pemilikJaminan', 'pemilikJaminan',
'hubunganPemilik', 'hubunganPemilik',
'legalitas' 'legalitas',
), ),
); );
} }
@@ -378,7 +392,9 @@
if ($zip->open($zipFilePath, ZipArchive::CREATE) === true) { if ($zip->open($zipFilePath, ZipArchive::CREATE) === true) {
foreach ($documents as $document) { foreach ($documents as $document) {
$files = is_array(json_decode($document->dokumen_jaminan)) ? json_decode($document->dokumen_jaminan) : [$document->dokumen_jaminan]; $files = is_array(json_decode($document->dokumen_jaminan)) ? json_decode(
$document->dokumen_jaminan,
) : [$document->dokumen_jaminan];
foreach ($files as $file) { foreach ($files as $file) {
$filePath = storage_path('app/public/' . $file); $filePath = storage_path('app/public/' . $file);
@@ -411,7 +427,9 @@
{ {
$dokumen = request()->get('dokumen'); $dokumen = request()->get('dokumen');
$document = DetailDokumenJaminan::find($dokumen); $document = DetailDokumenJaminan::find($dokumen);
$file = is_array(json_decode($document->dokumen_jaminan)) ? json_decode($document->dokumen_jaminan) : [$document->dokumen_jaminan]; $file = is_array(json_decode($document->dokumen_jaminan)) ? json_decode(
$document->dokumen_jaminan,
) : [$document->dokumen_jaminan];
return response()->download(storage_path('app/public/' . $file[request()->get('index')])); return response()->download(storage_path('app/public/' . $file[request()->get('index')]));
} }
@@ -425,20 +443,19 @@
} }
public function getLegalitasJaminan($id = 10, $jenisJaminanId = 1) : JsonResponse public function getLegalitasJaminan($id = 10, $jenisJaminanId = 1)
{ : JsonResponse {
$jenisJaminan = JenisJaminan::findOrFail($jenisJaminanId);
$jenisJaminan = JenisJaminan::findOrFail($jenisJaminanId); $legalitasJaminan = $jenisJaminan->jenis_legalitas_jaminan_id;
$legalitasJaminan = $jenisJaminan->jenis_legalitas_jaminan_id;
$newLegalitasJaminan = JenisLegalitasJaminan::whereIn('code', json_decode($legalitasJaminan, true))->get(); $newLegalitasJaminan = JenisLegalitasJaminan::whereIn('code', json_decode($legalitasJaminan, true))->get();
$existingLegalitas = []; $existingLegalitas = [];
$newLegalitas = []; $newLegalitas = [];
// Create a set of new jenis_legalitas_jaminan_ids for quick lookup // Create a set of new jenis_legalitas_jaminan_ids for quick lookup
$newLegalitasIds = $newLegalitasJaminan->pluck('id')->toArray(); $newLegalitasIds = $newLegalitasJaminan->pluck('id')->toArray();
if($id>0) { if ($id > 0) {
$document = DokumenJaminan::findOrFail($id); $document = DokumenJaminan::findOrFail($id);
if ($document && $document->detail) { if ($document && $document->detail) {
foreach ($document->detail as $detail) { foreach ($document->detail as $detail) {
@@ -448,12 +465,17 @@
'id' => $detail->id, 'id' => $detail->id,
'jenis_legalitas_jaminan_id' => $detail->jenis_legalitas_jaminan_id, 'jenis_legalitas_jaminan_id' => $detail->jenis_legalitas_jaminan_id,
'name' => $detail->jenisLegalitasJaminan->name, 'name' => $detail->jenisLegalitasJaminan->name,
'dokumen_jaminan' => json_decode($detail->dokumen_jaminan) ?? $detail->dokumen_jaminan, 'dokumen_jaminan' => json_decode(
$detail->dokumen_jaminan,
) ?? $detail->dokumen_jaminan,
'dokumen_nomor' => json_decode(
$detail->dokumen_nomor,
) ?? $detail->dokumen_nomor,
'custom_field' => $detail->jenisLegalitasJaminan->custom_field, 'custom_field' => $detail->jenisLegalitasJaminan->custom_field,
'custom_field_type' => $detail->jenisLegalitasJaminan->custom_field_type, 'custom_field_type' => $detail->jenisLegalitasJaminan->custom_field_type,
'details' => $detail->details, 'details' => $detail->details,
'keterangan' => $detail->keterangan, 'keterangan' => $detail->keterangan,
'is_existing' => true 'is_existing' => true,
]; ];
} }
} }
@@ -463,15 +485,16 @@
foreach ($newLegalitasJaminan as $legalitas) { foreach ($newLegalitasJaminan as $legalitas) {
if (!Collection::make($existingLegalitas)->contains('jenis_legalitas_jaminan_id', $legalitas->id)) { if (!Collection::make($existingLegalitas)->contains('jenis_legalitas_jaminan_id', $legalitas->id)) {
$newLegalitas[] = [ $newLegalitas[] = [
'id' => null, 'id' => null,
'jenis_legalitas_jaminan_id' => $legalitas->id, 'jenis_legalitas_jaminan_id' => $legalitas->id,
'name' => $legalitas->name, 'name' => $legalitas->name,
'dokumen_jaminan' => null, 'dokumen_jaminan' => null,
'custom_field' => $legalitas->custom_field, 'dokumen_nomor' => null,
'custom_field_type' => $legalitas->custom_field_type, 'custom_field' => $legalitas->custom_field,
'details' => null, 'custom_field_type' => $legalitas->custom_field_type,
'keterangan' => null, 'details' => null,
'is_existing' => false 'keterangan' => null,
'is_existing' => false,
]; ];
} }
} }

View File

@@ -75,7 +75,7 @@ class ProsesPenawaranController extends Controller
// Get the data for the current page // Get the data for the current page
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); //$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
$data = $query->with(['tujuanPenilaianKJPP','permohonan','permohonan.debiture'])->get(); $data = $query->with(['tujuanPenilaianKjpp','permohonan','permohonan.debiture'])->get();
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords / $request->get('size')); $pageCount = ceil($totalRecords / $request->get('size'));
@@ -116,7 +116,6 @@ class ProsesPenawaranController extends Controller
->get(); ->get();
if ($penawaran) { if ($penawaran) {
$i=0; $i=0;
foreach($penawrandetails as $obj) foreach($penawrandetails as $obj)
{ {

View File

@@ -3,10 +3,19 @@
namespace Modules\Lpj\Http\Controllers; namespace Modules\Lpj\Http\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Carbon\Carbon; use Carbon\Carbon;
use Exception; use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Regions;
// use Modules\Location\Models\City; // use Modules\Location\Models\City;
// use Modules\Location\Models\District; // use Modules\Location\Models\District;
// use Modules\Location\Models\Province; // use Modules\Location\Models\Province;
@@ -20,16 +29,6 @@ use Exception;
// use Modules\Lpj\Models\JenisJaminan; // use Modules\Lpj\Models\JenisJaminan;
// use Modules\Lpj\Models\JenisLegalitasJaminan; // use Modules\Lpj\Models\JenisLegalitasJaminan;
// use Modules\Lpj\Models\PemilikJaminan; // use Modules\Lpj\Models\PemilikJaminan;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Regions;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Modules\Lpj\Models\PenawaranTender;
class RegistrasiFinalController extends Controller class RegistrasiFinalController extends Controller
{ {
@@ -47,11 +46,12 @@ use Modules\Lpj\Models\PenawaranTender;
} }
// Retrieve data from the database // Retrieve data from the database
$query =PenawaranTender::query() $query = PenawaranTender::with(['permohonan', 'tujuanPenilaianKjpp'])->whereHas(
->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') 'permohonan',
->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') function ($q) {
->where('penawaran.status','=','spk') $q->where('status', '=', 'spk');
->withCount('penawarandetails'); },
)->withCount('penawarandetails');
// 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'))) {
@@ -90,25 +90,23 @@ use Modules\Lpj\Models\PenawaranTender;
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); //$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
$data = $query->with(['permohonan'])->get(); $data = $query->with(['permohonan'])->get();
// dd($data); // dd($data);
$i=0; $i = 0;
foreach($data as $obj) foreach ($data as $obj) {
{ if ($obj->tanggal_penilaian_sebelumnya) {
if($obj->tanggal_penilaian_sebelumnya) $data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format(
{ 'd F Y H:i:s',
$data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s'); );
} }
if($obj->biaya_kjpp_sebelumnya) if ($obj->biaya_kjpp_sebelumnya) {
{
$data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya); $data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
} }
// date_range // date_range
if($obj->start_date && $obj->end_date) if ($obj->start_date && $obj->end_date) {
{ $data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y') . ' - ' . Carbon::parse(
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.Carbon::parse($obj->end_date)->format('d M Y'); $obj->end_date,
)->format('d M Y');
} }
$i++; $i++;
@@ -129,21 +127,20 @@ use Modules\Lpj\Models\PenawaranTender;
'pageCount' => $pageCount, 'pageCount' => $pageCount,
'page' => $currentPage, 'page' => $currentPage,
'totalCount' => $totalRecords, 'totalCount' => $totalRecords,
'data' => $data 'data' => $data,
]); ]);
} }
public function show($id) public function show($id)
{ {
$permohonan = Permohonan::find($id); $permohonan = Permohonan::find($id);
if($permohonan->dokumen) if ($permohonan->dokumen) {
{ $pdfSPK_path = Storage::url($permohonan->dokumen);
$pdfSPK_path = Storage::url($permohonan->dokumen);
$permohonan->dokumen = $pdfSPK_path; $permohonan->dokumen = $pdfSPK_path;
$permohonan->dokumen = '| <a download href="'. $pdfSPK_path.'" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf &nbsp;&nbsp;<i class="ki-filled ki-cloud-download"></i></a>'; $permohonan->dokumen = '| <a download href="' . $pdfSPK_path . '" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf &nbsp;&nbsp;<i class="ki-filled ki-cloud-download"></i></a>';
} }
return view('lpj::registrasifinal.show', compact('id','permohonan')); return view('lpj::registrasifinal.show', compact('id', 'permohonan'));
} }
public function edit($id) public function edit($id)
@@ -151,129 +148,123 @@ use Modules\Lpj\Models\PenawaranTender;
return view('lpj::registrasifinal.edit', compact('id')); return view('lpj::registrasifinal.edit', compact('id'));
} }
public function setData(Request $request): JsonResponse public function setData(Request $request)
{ : JsonResponse {
$data = array(); $data = [];
$datas = array(); $datas = [];
if (request()->ajax()) { if (request()->ajax()) {
$id = $request->id; $id = $request->id;
$datas = Permohonan::find($id); $datas = Permohonan::find($id);
if ($datas) { if ($datas) {
$penawaran=null; $penawaran = null;
$regions=null; $regions = null;
$regions=Regions::pluck('name', 'id'); $regions = Regions::pluck('name', 'id');
$penawaran = PenawaranTender::where('nomor_registrasi','=',$datas->nomor_registrasi)->first(); $penawaran = PenawaranTender::where('nomor_registrasi', '=', $datas->nomor_registrasi)->first();
$penawaranString = ""; $penawaranString = "";
if($penawaran->status) if ($penawaran->status) {
{ $penawaranString = convertSlug($penawaran->status);
$penawaranString = convertSlug($penawaran->status);
$penawaran->status = $penawaranString; $penawaran->status = $penawaranString;
} }
if($datas->dokumen) if ($datas->dokumen) {
{ $pdfSPK_path = Storage::url($datas->dokumen);
$pdfSPK_path = Storage::url($datas->dokumen);
$datas->dokumen = $pdfSPK_path; $datas->dokumen = $pdfSPK_path;
} }
$data['status'] = 'success'; $data['status'] = 'success';
$data['regions'] = $regions; $data['regions'] = $regions;
$data['penawaran'] = $penawaran; $data['penawaran'] = $penawaran;
$data['datas'] = $datas; $data['datas'] = $datas;
$data['message']['message_success'] = array("data successfully found"); $data['message']['message_success'] = ["data successfully found"];
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['datas'] = null; $data['datas'] = null;
$data['message']['message_data'] = array("data not found"); $data['message']['message_data'] = ["data not found"];
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message']['message_ajax'] = array("no ajax request"); $data['message']['message_ajax'] = ["no ajax request"];
} }
return response()->json($data); return response()->json($data);
} }
public function update(Request $request, $id): JsonResponse public function update(Request $request, $id)
{ : JsonResponse {
// init // init
$data = array(); $data = [];
$dataPermohonan = array(); $dataPermohonan = [];
$dataPenawaran = array(); $dataPenawaran = [];
if (request()->ajax()) { if (request()->ajax()) {
$validator = RegistrasiFinalController::rulesEditnya($request, $id); $validator = RegistrasiFinalController::rulesEditnya($request, $id);
if ($validator['fails']) { if ($validator['fails']) {
$data['message'] = $validator['errors']; $data['message'] = $validator['errors'];
$data['status'] = 'error'; $data['status'] = 'error';
} } else {
else
{
DB::beginTransaction(); DB::beginTransaction();
try { try {
// update table permohonan => status (registrasi-final), region_id, keterangan, authorized_at, authorized_status, authorized_by // update table permohonan => status (registrasi-final), region_id, keterangan, authorized_at, authorized_status, authorized_by
// update table penawaran => status (registrasi-final) // update table penawaran => status (registrasi-final)
$dataPermohonan = [ $dataPermohonan = [
'status' => 'registrasi-final', 'status' => 'registrasi-final',
'region_id' => $request->region, 'region_id' => $request->region,
'keterangan' => $request->catatan, 'keterangan' => $request->catatan,
'authorized_at' => now(), 'authorized_at' => now(),
'authorized_status' =>1, 'authorized_status' => 1,
'authorized_by' => Auth::id() 'authorized_by' => Auth::id(),
]; ];
$dataPenawaran = ['status' => 'registrasi-final']; $dataPenawaran = ['status' => 'registrasi-final'];
$permohonan = Permohonan::find($id); $permohonan = Permohonan::find($id);
$penawaran = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first(); $penawaran = PenawaranTender::where('nomor_registrasi', '=', $permohonan->nomor_registrasi)
->first();
$permohonan->update($dataPermohonan); $permohonan->update($dataPermohonan);
$penawaran->update($dataPenawaran); $penawaran->update($dataPenawaran);
// //
DB::commit(); DB::commit();
$data['status'] = 'success'; $data['status'] = 'success';
$data['message']['message_success'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' successfully'); $data['message']['message_success'] = ['Regitrasi Final ' . $permohonan->nomor_registrasi . ' successfully'];
} catch (Exception $e) { } catch (Exception $e) {
DB::rollBack(); DB::rollBack();
$data['status'] = 'error'; $data['status'] = 'error';
$data['message']['message_try_catch'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' failed.'); $data['message']['message_try_catch'] = ['Regitrasi Final ' . $permohonan->nomor_registrasi . ' failed.'];
} }
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message']['message_ajax'] = array("no ajax request"); $data['message']['message_ajax'] = ["no ajax request"];
} }
return response()->json($data); return response()->json($data);
} }
public function rulesEditnya($request, $id) public function rulesEditnya($request, $id)
{ {
$validate_catatan=''; $validate_catatan = '';
$validateIt = [ $validateIt = [
// 'name' diambil dari definisi parameter yang di kirim pada POST Data // 'name' diambil dari definisi parameter yang di kirim pada POST Data
'region' => 'required', 'region' => 'required',
'catatan' => 'required', 'catatan' => 'required',
]; ];
$messageIt = [ $messageIt = [
'region.required' => 'Silahkan pilih Region', 'region.required' => 'Silahkan pilih Region',
'catatan.required' => 'Silahkan isi Catatan' 'catatan.required' => 'Silahkan isi Catatan',
]; ];
$validator = Validator::make($request->all(), $validateIt, $messageIt); $validator = Validator::make($request->all(), $validateIt, $messageIt);
$data['fails'] = $validator->fails(); $data['fails'] = $validator->fails();
$data['errors'] = $validator->errors(); $data['errors'] = $validator->errors();
return $data; return $data;

View File

@@ -96,6 +96,14 @@ use Illuminate\Support\Facades\Auth;
} }
// data dokumen_spk
if($obj->dokumen)
{
$spkpenawaran_path = Storage::url($obj->dokumen);
// dd($spkpenawaran_path);
$data[$i]->dokumen = $spkpenawaran_path;
}
$i++; $i++;
} }

View File

@@ -16,6 +16,7 @@
'jenis_legalitas_jaminan_id', 'jenis_legalitas_jaminan_id',
'name', 'name',
'dokumen_jaminan', 'dokumen_jaminan',
'dokumen_nomor',
'keterangan', 'keterangan',
'details', 'details',
'status', 'status',

View File

@@ -20,7 +20,7 @@ return new class extends Migration
$table->string('kontur_tanah'); $table->string('kontur_tanah');
$table->string('ketinggian_jalan'); $table->string('ketinggian_jalan');
$table->string('kontur_jalan'); $table->string('kontur_jalan');
$table->string('posis_kavling'); $table->string('posisi_kavling');
$table->enum('tusuk_sate', ['yes', 'no']); $table->enum('tusuk_sate', ['yes', 'no']);
$table->enum('lockland', ['yes', 'no']); $table->enum('lockland', ['yes', 'no']);
$table->string('kondisi_fisik_tanah'); $table->string('kondisi_fisik_tanah');

View File

@@ -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('detail_dokumen_jaminan', function (Blueprint $table) {
$table->string('dokumen_nomor')->nullable()->after('dokumen_jaminan');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('detail_dokumen_jaminan', function (Blueprint $table) {
$table->dropColumn('dokumen_nomor');
});
}
};

View File

@@ -69,7 +69,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="py-3 max-w-[100px] align-top" > <td class="py-3 max-w-[100px] align-top">
Dokumen Jaminan Dokumen Jaminan
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
@@ -77,16 +77,22 @@
@if(isset($detail->dokumen_jaminan)) @if(isset($detail->dokumen_jaminan))
@php @php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; $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] : []);
@endphp @endphp
@foreach($dokumen_jaminan as $index => $dokumen) @foreach($dokumen_jaminan as $index => $dokumen)
@if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo'])) <div class="flex w-full lg:w-[30%]">
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}" @if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo']))
class="badge badge-sm badge-outline mt-2 mr-2"> @if(!empty($dokumen_nomor))
{{ basename($dokumen) }} <span class="flex-1 mt-2 text-info">Nomor Dokumen : {{ $dokumen_nomor[$index] }}</span>
<i class="ki-filled ki-cloud-download"></i> @endif
</a> <a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
@endif class="flex-none badge badge-sm badge-outline mt-2 mr-2">
<span class="badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i class="ki-filled ki-eye mr-2"></i>Preview</span> {{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
@endif
<span class="flex-none badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i class="ki-filled ki-eye mr-2"></i>Preview</span>
</div>
<br> <br>
@endforeach @endforeach
@endif @endif

View File

@@ -146,10 +146,10 @@
<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">
Nama Dokumen Nomor
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<input class="input " type="text" id="name" name="name[]" value="{{ $detail->name ?? "" }}" placeholder="Nama Dokumen"> <input class="input " type="text" id="name" name="name[]" value="{{ $detail->name ?? "" }}" placeholder="Nomor">
</div> </div>
</div> </div>
@@ -158,25 +158,36 @@
Dokumen Jaminan Dokumen Jaminan
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col w-full gap-2" id="file-container-{{$n}}"> <div class="flex flex-col w-full gap-2" id="file-container-{{$n}}">
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<input class="file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" multiple> <input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumen">
<button type="button" class="btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button> <input class="flex-1 file-input" type="file" name="dokumen_jaminan[{{ $n }}][]">
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button>
</div> </div>
<div id="additional-files-{{ $n }}"></div> <div id="additional-files-{{ $n }}"></div>
</div> </div>
@if(isset($detail->dokumen_jaminan)) @if(isset($detail->dokumen_jaminan))
@php @if(isset($detail->dokumen_jaminan))
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; @php
@endphp $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan];
@foreach($dokumen_jaminan as $index => $dokumen) $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []);
<a href="{{ route('debitur.jaminan.download', ['id' => $debitur->id, 'dokumen' => $detail->id, 'index' => $index]) }}" @endphp
class="badge badge-sm badge-outline mt-2 mr-2"> <div class="flex flex-col w-full gap-2">
{{ basename($dokumen) }} @foreach($dokumen_jaminan as $index => $dokumen)
<i class="ki-filled ki-cloud-download"></i> <div class="flex w-full lg:w-[30%]">
</a> @if(!empty($dokumen_nomor))
@endforeach <span class="flex-1 mt-2 text-info text-sm">Nomor Dokumen : {{ $dokumen_nomor[$index] }}</span>
@endif
<a href="{{ route('debitur.jaminan.download', ['id' => $debitur->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
{{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
</div>
@endforeach
</div>
@endif
@endif @endif
</div> </div>
</div> </div>
@@ -234,10 +245,10 @@
<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">
Nama Dokumen Nomor
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<input class="input " type="text" id="name" name="name[]" value="" placeholder="Nama Dokumen"> <input class="input " type="text" id="name" name="name[]" value="" placeholder="Nomor">
</div> </div>
</div> </div>
@@ -246,10 +257,11 @@
Dokumen Jaminan Dokumen Jaminan
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col w-full gap-2" id="file-container-{{$n}}"> <div class="flex flex-col w-full gap-2" id="file-container-{{$n}}">
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<input class="file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" multiple> <input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumen">
<button type="button" class="btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button> <input class="flex-1 file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" multiple>
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button>
</div> </div>
<div id="additional-files-{{ $n }}"></div> <div id="additional-files-{{ $n }}"></div>
</div> </div>
@@ -287,8 +299,8 @@
</div> </div>
@php $n++; @endphp @php $n++; @endphp
@endforeach @endforeach
@endif
</div> </div>
@endif
<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">
@@ -496,10 +508,10 @@
<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">
Nama Dokumen Nomor
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<input class="input" type="text" name="name[]" value="${item.name || ''}" placeholder="Nama Dokumen"> <input class="input" type="text" name="name[]" value="${item.name || ''}" placeholder="Nomor">
</div> </div>
</div> </div>
@@ -508,10 +520,13 @@
Dokumen Jaminan Dokumen Jaminan
</label> </label>
<div class="flex flex-wrap items-baseline w-full" id="file-container-${index}"> <div class="flex flex-wrap items-baseline w-full" id="file-container-${index}">
${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id) : ''} <div class="flex flex-col w-full gap-2">
${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ''}
</div>
<div class="flex items-center gap-2 my-2 w-full"> <div class="flex items-center gap-2 my-2 w-full">
<input class="file-input" type="file" name="dokumen_jaminan[${index}][]" multiple> <input class="flex-1 input" type="text" name="dokumen_nomor[${index}][]" placeholder="Nomor Dokumen">
<button type="button" class="btn btn-primary w-[100px] text-center" onclick="addFileInput(${index})">Add File</button> <input class="flex-1 file-input" type="file" name="dokumen_jaminan[${index}][]" multiple>
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput(${index})">Add File</button>
</div> </div>
</div> </div>
</div> </div>
@@ -541,32 +556,14 @@
.catch(error => console.error('Error:', error)); .catch(error => console.error('Error:', error));
} }
function renderExistingFiles(dokumenJaminan, debiturId, itemId) {
if (typeof dokumenJaminan === 'string') {
return `
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}" class="badge badge-sm badge-outline mt-2 mr-2">
${dokumenJaminan.split('/').pop()}
<i class="ki-filled ki-cloud-download"></i>
</a>
`;
} else if (Array.isArray(dokumenJaminan)) {
return dokumenJaminan.map(file => `
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}&file=${encodeURIComponent(file)}" class="badge badge-sm badge-outline mt-2 mr-2">
${file.split('/').pop()}
<i class="ki-filled ki-cloud-download"></i>
</a>
`).join('');
}
return '';
}
function addFileInput(index) { function addFileInput(index) {
const container = document.getElementById(`file-container-${index}`); const container = document.getElementById(`file-container-${index}`);
const newInput = document.createElement('div'); const newInput = document.createElement('div');
newInput.className = 'flex items-center gap-2 mb-2 w-full'; newInput.className = 'flex items-center gap-2 mb-2 w-full';
newInput.innerHTML = ` newInput.innerHTML = `
<input class="file-input" type="file" name="dokumen_jaminan[${index}][]" multiple> <input class="flex-1 input" type="text" name="dokumen_nomor[${index}][]" placeholder="Nomor Dokumen">
<button type="button" class="btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button> <input class="flex-1 file-input" type="file" name="dokumen_jaminan[${index}][]" multiple>
<button type="button" class="flex-none btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button>
`; `;
container.appendChild(newInput); container.appendChild(newInput);
} }
@@ -575,20 +572,24 @@
button.closest('.flex.items-center.gap-2.mb-2').remove(); button.closest('.flex.items-center.gap-2.mb-2').remove();
} }
function renderExistingFiles(dokumenJaminan, debiturId, itemId) { function renderExistingFiles(dokumenJaminan, debiturId, itemId, dokumenNomor) {
if (typeof dokumenJaminan === 'string') { if (typeof dokumenJaminan === 'string' && typeof dokumenNomor === 'string') {
return ` return `
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}" class="badge badge-sm badge-outline mt-2"> <div class="flex w-full lg:w-[30%]">
<span class="flex-1 mt-2 text-info text-sm">Nomor Dokumen : ${dokumenNomor}</span>
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}" class="flex-none badge badge-sm badge-outline mt-2">
${dokumenJaminan.split('/').pop()} ${dokumenJaminan.split('/').pop()}
<i class="ki-filled ki-cloud-download"></i> <i class="ki-filled ki-cloud-download"></i>
</a> </a>
</div>
`; `;
} else if (Array.isArray(dokumenJaminan)) { } else if (Array.isArray(dokumenJaminan) && Array.isArray(dokumenNomor)) {
return dokumenJaminan.map(file => ` return dokumenJaminan.map((file, index) => `<div class="flex w-full lg:w-[30%]">
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}&file=${file}" class="badge badge-sm badge-outline mt-2 mr-2"> <span class="flex-1 mt-2 text-info text-sm">Nomor Dokumen : ${dokumenNomor[index] || 'N/A'}</span>
<a href="/debitur/${debiturId}/jaminan/download?dokumen=${itemId}&file=${file}" class="flex-none badge badge-sm badge-outline mt-2 mr-2">
${file.split('/').pop()} ${file.split('/').pop()}
<i class="ki-filled ki-cloud-download"></i> <i class="ki-filled ki-cloud-download"></i>
</a> </a></div>
`).join(''); `).join('');
} }
return ''; return '';

View File

@@ -149,10 +149,10 @@
return `${formatDate(new Date(data.start_date))} - ${formatDate(new Date(data.end_date))}` return `${formatDate(new Date(data.start_date))} - ${formatDate(new Date(data.end_date))}`
} }
}, },
tujuan_penilaian_k_j_p_p: { tujuan_penilaian_kjpp: {
title: 'Tujuan Penilaian KJPP', title: 'Tujuan Penilaian KJPP',
render: (item, data) => { render: (item, data) => {
return data.tujuan_penilaian_k_j_p_p[0].name return data.tujuan_penilaian_kjpp.name
} }
}, },
penawarandetails_count: { penawarandetails_count: {

View File

@@ -147,6 +147,38 @@
@include('lpj::component.detail-jaminan') @include('lpj::component.detail-jaminan')
<div class="card min-w-full">
<div class="card-header">
<h3 class="card-title">
Data Biaya
</h3>
</div>
<div class="card-table scrollable-x-auto pb-3">
<div class="grid grid-cols-1 xl:grid-cols-1 gap-5 lg:gap-7.5">
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<tr>
<td width="10%" class="py-2 text-gray-600 font-normal">
Status Bayar
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ strtoupper(str_replace('_',' ',$permohonan->status_bayar)) }}
</td>
</tr>
<tr>
<td class="py-3">
Nilai NJOP
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->nilai_njop }}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="card pb-2.5"> <div class="card pb-2.5">
<div class="card-header" id="basic_settings"> <div class="card-header" id="basic_settings">

View File

@@ -13,7 +13,8 @@
<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">
<form id="{{$route[0]}}_form" name="{{$route[0]}}_form" method="POST"> <form id="{{$route[0]}}_form" name="{{$route[0]}}_form" method="POST">
<input type="hidden" id="id" name="id" value="{{ $id }}"> <!-- $id => penawaran.id -->
<input type="hidden" id="{{$route[0]}}_id" name="id" value="{{ $id }}">
@method('PUT') @method('PUT')
@csrf @csrf
<div class="card pb-2.5"> <div class="card pb-2.5">

View File

@@ -114,6 +114,9 @@
}, },
tujuan_penilaian_kjpp_name: { tujuan_penilaian_kjpp_name: {
title: 'Tujuan Penilaian', title: 'Tujuan Penilaian',
render: (item, data) => {
return `${data.tujuan_penilaian_kjpp.name || ''}`;
},
}, },
nama_kjpp_sebelumnya: { nama_kjpp_sebelumnya: {
title: 'Nama KJPP Terpilih', title: 'Nama KJPP Terpilih',

View File

@@ -17,7 +17,8 @@
function setData() function setData()
{ {
let id = $("#id").val(); // id => penawaran.id
let id = $("#{{$route[0]}}_id").val();
let token = "{{ csrf_token() }}"; let token = "{{ csrf_token() }}";
// alert('token = ' + token); // alert('token = ' + token);
var useURL = "{{ route('registrasifinal.setData') }}"; var useURL = "{{ route('registrasifinal.setData') }}";
@@ -81,6 +82,7 @@
let token = "{{ csrf_token() }}"; let token = "{{ csrf_token() }}";
let _method = $('input[name=_method]').val(); let _method = $('input[name=_method]').val();
// id => penawaran.id
let id = $('#{{$route[0]}}_id').val(); let id = $('#{{$route[0]}}_id').val();
let region = $("#{{$route[0]}}_region").val(); let region = $("#{{$route[0]}}_region").val();
let catatan = $("#{{$route[0]}}_catatan").val(); let catatan = $("#{{$route[0]}}_catatan").val();

View File

@@ -1,5 +1,15 @@
<link rel="stylesheet" href="{{ public_path('build/assets/app-BEWyoHLE.css') }}" data-navigate-track="reload"> @php
<link rel="stylesheet" href="{{ public_path('build/assets/app-DqiwbDNQ.css') }}" data-navigate-track="reload"> $manifest = json_decode(file_get_contents(public_path('build/manifest.json')), true);
$cssFiles = array_filter($manifest, function($value) {
return strpos($value['file'], '.css') !== false;
});
@endphp
@foreach($cssFiles as $file)
<link rel="stylesheet" href="{{ public_path('build/'.$file['file']) }}" data-navigate-track="reload">
@endforeach
<div class="card-body"> <div class="card-body">
<div class="scrollable-x-auto"> <div class="scrollable-x-auto">
<div class="print-area"> <div class="print-area">
@@ -79,7 +89,7 @@
<tr> <tr>
<td>Jangka Waktu</td> <td>Jangka Waktu</td>
<td>:</td> <td>:</td>
<td></td> <td><span style="color: red;"> {{ formatTanggalIndonesia($penawaran->start_date) }} - {{ formatTanggalIndonesia($penawaran->end_date) }}</span></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="text-align: center;">i</td> <td colspan="2" style="text-align: center;">i</td>
@@ -179,4 +189,4 @@
</table> </table>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -104,7 +104,7 @@
<tr> <tr>
<td>Jangka Waktu</td> <td>Jangka Waktu</td>
<td>:</td> <td>:</td>
<td></td> <td><span style="color: red;"> {{ formatTanggalIndonesia($penawaran->start_date) }} - {{ formatTanggalIndonesia($penawaran->end_date) }}</span></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="text-align: center;">i</td> <td colspan="2" style="text-align: center;">i</td>

View File

@@ -78,12 +78,6 @@
@push('scripts') @push('scripts')
<script type="text/javascript"> <script type="text/javascript">
function spkShow(regId)
{
var url = "{{ url('show') }}/"+regId;
$(location).attr('href',url);
}
function spkCreate(regId) function spkCreate(regId)
{ {
var url1 = "/spk/"+regId+"/edit"; var url1 = "/spk/"+regId+"/edit";