fix(so): perbaikan assigment bisa pindah region, dan perbaikan call report dan revisi dokumen admin dari so
This commit is contained in:
@@ -407,26 +407,26 @@ class PenilaiController extends Controller
|
||||
$nomorLaporan = $this->generateNoLaporan($permohonan, $documentId, 'call-report');
|
||||
$basicData = $this->surveyorController->getCommonData();
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
|
||||
// Penilai::updateOrCreate(
|
||||
// [
|
||||
// 'permohonan_id' => $permohonanId,
|
||||
// 'dokument_id' => $documentId,
|
||||
// 'inspeksi_id' => $inspeksiId,
|
||||
// ],
|
||||
// [
|
||||
// 'type_penilai' => 'call-report',
|
||||
// ]
|
||||
// );
|
||||
Penilai::updateOrCreate(
|
||||
[
|
||||
'permohonan_id' => $permohonanId,
|
||||
'dokument_id' => $documentId,
|
||||
'inspeksi_id' => $inspeksiId,
|
||||
],
|
||||
[
|
||||
'type_penilai' => 'call-report',
|
||||
]
|
||||
);
|
||||
|
||||
// $resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
|
||||
$call = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
|
||||
|
||||
// $lpjData = null;
|
||||
// $rap = null;
|
||||
// $forminspeksi = null;
|
||||
// if ($resume) {
|
||||
$forminspeksi = json_decode($inspeksi->data_form, true);
|
||||
// $rap = json_decode($resume->rap, true);
|
||||
// }
|
||||
$callReport = null;
|
||||
$forminspeksi = null;
|
||||
if ($forminspeksi) {
|
||||
$forminspeksi = json_decode($inspeksi->data_form, true);
|
||||
$callReport = json_decode($call->call_report, true);
|
||||
}
|
||||
// Default: gunakan data dari debitur
|
||||
$debitur = Debiture::find($permohonan->debiture_id);
|
||||
|
||||
@@ -460,10 +460,8 @@ class PenilaiController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
// return view('lpj::penilai.components.call-report', compact('permohonan', 'rap', 'provinces', 'cities',
|
||||
// 'districts',
|
||||
// 'villages','forminspeksi', 'noLpRAP', 'basicData','cekAlamat'));
|
||||
return view('lpj::penilai.components.call-report', compact('permohonan', 'basicData', 'nomorLaporan', 'forminspeksi', 'cities', 'districts', 'villages', 'cekAlamat'));
|
||||
|
||||
return view('lpj::penilai.components.call-report', compact('permohonan', 'basicData', 'nomorLaporan', 'forminspeksi', 'cities', 'districts', 'villages', 'cekAlamat', 'callReport'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -992,34 +990,34 @@ class PenilaiController extends Controller
|
||||
{
|
||||
try {
|
||||
|
||||
// DB::beginTransaction();
|
||||
$validated = $request->validate([
|
||||
'permohonan_id' => 'required|exists:permohonan,id',
|
||||
'dokument_id' => 'required|exists:dokument,id',
|
||||
'inspeksi_id' => 'required|exists:inspeksi,id',
|
||||
'dokument_id' => 'required',
|
||||
'inspeksi_id' => 'required',
|
||||
'data' => 'required'
|
||||
]);
|
||||
|
||||
DB::beginTransaction();
|
||||
$data = $request->input('data');
|
||||
|
||||
Penilai::updateOrCreate(
|
||||
[
|
||||
'permohonan_id' => $request->permohonanId,
|
||||
'dokument_id' => $request->documentId,
|
||||
'inspeksi_id' => $request->inspeksiId,
|
||||
'permohonan_id' => $validated['permohonan_id'],
|
||||
'dokument_id' => $validated['dokument_id'],
|
||||
'inspeksi_id' => $validated['inspeksi_id'],
|
||||
],
|
||||
[
|
||||
'call-report' => json_encode($data),
|
||||
'call_report' => json_encode($validated['data']),
|
||||
]
|
||||
);
|
||||
DB::commit();
|
||||
// DB::commit();
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Berhasil menyimpan data',
|
||||
'data' => $result
|
||||
'data' => $data
|
||||
], 200);
|
||||
} catch (\Throwable $e) {
|
||||
DB::rollBack();
|
||||
// DB::rollBack();
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Terjadi kesalahan saat menyimpan data',
|
||||
|
||||
@@ -84,12 +84,20 @@ class PenilaianController extends Controller
|
||||
$roles[] = 'surveyor';
|
||||
} else {
|
||||
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first();
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
|
||||
if (isset($validatedData['penilai_surveyor_id'])) {
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
if ($validatedData['penilai_surveyor_id'] == 'pilih_dari_region') {
|
||||
$teams_ids[] = $validatedData['surveyor_penilai_region_id'];
|
||||
$user_ids[] = null;
|
||||
|
||||
} else {
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
}
|
||||
|
||||
} else {
|
||||
$user_ids[] = $validatedData['surveyor_id'];
|
||||
|
||||
}
|
||||
|
||||
$roles[] = 'surveyor';
|
||||
@@ -111,10 +119,22 @@ class PenilaianController extends Controller
|
||||
$roles[] = 'penilai';
|
||||
} else {
|
||||
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first();
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
|
||||
|
||||
if (isset($validatedData['penilai_surveyor_id'])) {
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
if ($validatedData['penilai_surveyor_id'] == 'pilih_dari_region') {
|
||||
|
||||
|
||||
$permohonan->update([
|
||||
'region_id' => $validatedData['surveyor_penilai_region_id'],
|
||||
]);
|
||||
|
||||
$teams_ids[] = $validatedData['surveyor_penilai_region_id'];
|
||||
$user_ids[] = null;
|
||||
} else {
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
}
|
||||
} else {
|
||||
$user_ids[] = $validatedData['penilai_id'];
|
||||
}
|
||||
@@ -122,6 +142,7 @@ class PenilaianController extends Controller
|
||||
$roles[] = 'penilai';
|
||||
}
|
||||
|
||||
// dd($teams_ids, $user_ids);
|
||||
foreach ($teams_ids as $key => $teams_id) {
|
||||
PenilaianTeam::create([
|
||||
'penilaian_id' => $validatedData['penilaian_id'],
|
||||
@@ -131,12 +152,14 @@ class PenilaianController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region') {
|
||||
if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region' || $validatedData['penilai_surveyor_id'] === 'pilih_dari_region') {
|
||||
$status = $permohonan->status;
|
||||
} else {
|
||||
}else {
|
||||
$status = 'assign';
|
||||
}
|
||||
|
||||
|
||||
|
||||
$permohonan->update([
|
||||
'status' => $status,
|
||||
]);
|
||||
@@ -144,6 +167,7 @@ class PenilaianController extends Controller
|
||||
DB::commit();
|
||||
return response()->json(['success' => true, 'message' => 'Data berhasil di-assign.'], 200);
|
||||
} catch (Exception $e) {
|
||||
dd($e);
|
||||
DB::rollBack();
|
||||
|
||||
return response()->json(['error' => $e->getMessage()]);
|
||||
@@ -766,7 +790,7 @@ class PenilaianController extends Controller
|
||||
return redirect()->back()->with('error', 'Laporan belum dibuat');
|
||||
}
|
||||
|
||||
return view('lpj::' . $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'resumeData', 'rap', 'memo', 'cities', 'districts', 'villages','formFoto', 'formPeta','nomorLaporan', 'penilai'));
|
||||
return view('lpj::' . $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'resumeData', 'rap', 'memo', 'cities', 'districts', 'villages', 'formFoto', 'formPeta', 'nomorLaporan', 'penilai'));
|
||||
}
|
||||
|
||||
private function getViewLaporan($tipe)
|
||||
@@ -835,7 +859,7 @@ class PenilaianController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function revisiLaporan(Request $request,$id)
|
||||
public function revisiLaporan(Request $request, $id)
|
||||
{
|
||||
$permohonan = Permohonan::findOrFail($id);
|
||||
$permohonan->update([
|
||||
|
||||
@@ -1,236 +1,253 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Controllers;
|
||||
namespace Modules\Lpj\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Modules\Lpj\Models\JenisPenilaian;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\Regions;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Modules\Lpj\Models\JenisPenilaian;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\Regions;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
use Modules\Lpj\Models\Debiture;
|
||||
|
||||
class RegistrasiController extends Controller
|
||||
class RegistrasiController extends Controller
|
||||
{
|
||||
public $user;
|
||||
|
||||
public function index()
|
||||
{
|
||||
public $user;
|
||||
return view('lpj::registrasi.index');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
return view('lpj::registrasi.index');
|
||||
public function dataForDatatables(Request $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
||||
//abort(403, 'Sorry! You are not allowed to view users.');
|
||||
}
|
||||
|
||||
public function dataForDatatables(Request $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
||||
//abort(403, 'Sorry! You are not allowed to view users.');
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = Permohonan::query()
|
||||
// Retrieve data from the database
|
||||
$query = Permohonan::query()
|
||||
->whereIn('status', ['preregister', 'revisi']);
|
||||
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
$search = $request->get('search');
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||
});
|
||||
}
|
||||
|
||||
// Apply sorting if provided
|
||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||
$order = $request->get('sortOrder');
|
||||
$column = $request->get('sortField');
|
||||
$query->orderBy($column, $order);
|
||||
}
|
||||
|
||||
// Get the total count of records
|
||||
$totalRecords = $query->count();
|
||||
|
||||
// Apply pagination if provided
|
||||
if ($request->has('page') && $request->has('size')) {
|
||||
$page = $request->get('page');
|
||||
$size = $request->get('size');
|
||||
$offset = ($page - 1) * $size; // Calculate the offset
|
||||
|
||||
$query->skip($offset)->take($size);
|
||||
}
|
||||
|
||||
// Get the filtered count of records
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Get the data for the current page
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
|
||||
// Calculate the current page number
|
||||
$currentPage = 0 + 1;
|
||||
|
||||
// Return the response data as a JSON object
|
||||
return response()->json([
|
||||
'draw' => $request->get('draw'),
|
||||
'recordsTotal' => $totalRecords,
|
||||
'recordsFiltered' => $filteredRecords,
|
||||
'pageCount' => $pageCount,
|
||||
'page' => $currentPage,
|
||||
'totalCount' => $totalRecords,
|
||||
'data' => $data,
|
||||
]);
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
$search = $request->get('search');
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||
});
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
return view('lpj::registrasi.edit', compact('id'));
|
||||
// Apply sorting if provided
|
||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||
$order = $request->get('sortOrder');
|
||||
$column = $request->get('sortField');
|
||||
$query->orderBy($column, $order);
|
||||
}
|
||||
|
||||
public function setData(Request $request)
|
||||
: JsonResponse {
|
||||
$data = [];
|
||||
$datas = [];
|
||||
// Get the total count of records
|
||||
$totalRecords = $query->count();
|
||||
|
||||
if (request()->ajax()) {
|
||||
$id = $request->id;
|
||||
$datas = Permohonan::find($id);
|
||||
// Apply pagination if provided
|
||||
if ($request->has('page') && $request->has('size')) {
|
||||
$page = $request->get('page');
|
||||
$size = $request->get('size');
|
||||
$offset = ($page - 1) * $size; // Calculate the offset
|
||||
|
||||
if ($datas) {
|
||||
$jenisPenilaians = null;
|
||||
$regions = null;
|
||||
$regions = Regions::pluck('name', 'id');
|
||||
$jenisPenilaians = JenisPenilaian::pluck('name', 'id');
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['regions'] = $regions;
|
||||
$data['jenisPenilaians'] = $jenisPenilaians;
|
||||
$data['datas'] = $datas;
|
||||
$data['message'] ['message_success'] = ["data successfully found"];
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['datas'] = null;
|
||||
$data['message'] ['message_data'] = ["data not found"];
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = ["no ajax request"];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
$query->skip($offset)->take($size);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id)
|
||||
: JsonResponse {
|
||||
// init
|
||||
$data = [];
|
||||
$dataku = [];
|
||||
$tindakan = null;
|
||||
if (request()->ajax()) {
|
||||
$validator = RegistrasiController::rulesEditnya($request, $id);
|
||||
// Get the filtered count of records
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
} else {
|
||||
try {
|
||||
$tindakan = $request->tindakan;
|
||||
$dataku = [
|
||||
'registrasi_by' => Auth::id(),
|
||||
'registrasi_at' => now(),
|
||||
];
|
||||
// Get the data for the current page
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||
|
||||
if ($tindakan == 0) {
|
||||
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
||||
$dataku['region_id'] = $request->region;
|
||||
$dataku['sla'] = $request->sla;
|
||||
$dataku['status'] = 'registered';
|
||||
if ($request->catatan2) {
|
||||
$dataku['registrasi_catatan'] = $request->catatan2;
|
||||
}
|
||||
} else {
|
||||
$dataku['registrasi_catatan'] = $request->catatan;
|
||||
$dataku['status'] = 'revisi';
|
||||
}
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
|
||||
$data['dataku'] = $dataku;
|
||||
|
||||
$modal = Permohonan::find($id);
|
||||
|
||||
$modal->update($dataku);
|
||||
//
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
|
||||
} catch (Exception $e) {
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_try_catch'] = ['Regitrasi updated failed.'];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_ajax'] = ["no ajax request"];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function rulesEditnya($request, $id)
|
||||
{
|
||||
$tindakan = null;
|
||||
$jenis_penilaian = null;
|
||||
$validate_catatan = '';
|
||||
$tindakan = $request->tindakan;
|
||||
$jenis_penilaian = $request->jenis_penilaian;
|
||||
|
||||
$validateIt = [
|
||||
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
||||
'tindakan' => 'required',
|
||||
];
|
||||
|
||||
$messageIt = [
|
||||
'tindakan.required' => 'Silahkan pilih Tindakan',
|
||||
];
|
||||
|
||||
if ($tindakan == 0) {
|
||||
$validateIt['jenis_penilaian'] = ['required'];
|
||||
$messageIt ['jenis_penilaian.required'] = 'Silahkan pilih Jenis Penilaian';
|
||||
|
||||
// INTERNAL
|
||||
if (1 == $jenis_penilaian) {
|
||||
$validateIt['region'] = ['required'];
|
||||
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
||||
}
|
||||
else
|
||||
{
|
||||
$validateIt['sla'] = ['required'];
|
||||
$messageIt ['sla.required'] = 'Silahkan isi SLA';
|
||||
}
|
||||
|
||||
} elseif ($tindakan == 1) {
|
||||
$validateIt['catatan'] = ['required'];
|
||||
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
||||
}
|
||||
|
||||
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
||||
|
||||
$data['fails'] = $validator->fails();
|
||||
$data['errors'] = $validator->errors();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$permohonan = Permohonan::find($id);
|
||||
return view('lpj::registrasi.show', compact('id', 'permohonan'));
|
||||
}
|
||||
// Calculate the current page number
|
||||
$currentPage = 0 + 1;
|
||||
|
||||
// Return the response data as a JSON object
|
||||
return response()->json([
|
||||
'draw' => $request->get('draw'),
|
||||
'recordsTotal' => $totalRecords,
|
||||
'recordsFiltered' => $filteredRecords,
|
||||
'pageCount' => $pageCount,
|
||||
'page' => $currentPage,
|
||||
'totalCount' => $totalRecords,
|
||||
'data' => $data,
|
||||
]);
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
return view('lpj::registrasi.edit', compact('id'));
|
||||
}
|
||||
|
||||
public function setData(Request $request): JsonResponse
|
||||
{
|
||||
$data = [];
|
||||
$datas = [];
|
||||
|
||||
if (request()->ajax()) {
|
||||
$id = $request->id;
|
||||
$datas = Permohonan::find($id);
|
||||
|
||||
if ($datas) {
|
||||
$jenisPenilaians = null;
|
||||
$regions = null;
|
||||
$regions = Regions::pluck('name', 'id');
|
||||
$jenisPenilaians = JenisPenilaian::pluck('name', 'id');
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['regions'] = $regions;
|
||||
$data['jenisPenilaians'] = $jenisPenilaians;
|
||||
$data['datas'] = $datas;
|
||||
$data['message'] ['message_success'] = ["data successfully found"];
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['datas'] = null;
|
||||
$data['message'] ['message_data'] = ["data not found"];
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = ["no ajax request"];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data = [];
|
||||
$dataku = [];
|
||||
$tindakan = null;
|
||||
if (request()->ajax()) {
|
||||
$validator = RegistrasiController::rulesEditnya($request, $id);
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
} else {
|
||||
try {
|
||||
$tindakan = $request->tindakan;
|
||||
$dataku = [
|
||||
'registrasi_by' => Auth::id(),
|
||||
'registrasi_at' => now(),
|
||||
];
|
||||
|
||||
if ($tindakan == 0) {
|
||||
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
||||
$dataku['region_id'] = $request->region;
|
||||
$dataku['sla'] = $request->sla;
|
||||
$dataku['status'] = 'registered';
|
||||
if ($request->catatan2) {
|
||||
$dataku['registrasi_catatan'] = $request->catatan2;
|
||||
}
|
||||
} else {
|
||||
$dataku['registrasi_catatan'] = $request->catatan;
|
||||
$dataku['status'] = 'revisi';
|
||||
}
|
||||
|
||||
$data['dataku'] = $dataku;
|
||||
|
||||
$modal = Permohonan::find($id);
|
||||
|
||||
$modal->update($dataku);
|
||||
//
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
|
||||
} catch (Exception $e) {
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_try_catch'] = ['Regitrasi updated failed.'];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_ajax'] = ["no ajax request"];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function rulesEditnya($request, $id)
|
||||
{
|
||||
$tindakan = null;
|
||||
$jenis_penilaian = null;
|
||||
$validate_catatan = '';
|
||||
$tindakan = $request->tindakan;
|
||||
$jenis_penilaian = $request->jenis_penilaian;
|
||||
|
||||
$validateIt = [
|
||||
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
||||
'tindakan' => 'required',
|
||||
];
|
||||
|
||||
$messageIt = [
|
||||
'tindakan.required' => 'Silahkan pilih Tindakan',
|
||||
];
|
||||
|
||||
if ($tindakan == 0) {
|
||||
$validateIt['jenis_penilaian'] = ['required'];
|
||||
$messageIt ['jenis_penilaian.required'] = 'Silahkan pilih Jenis Penilaian';
|
||||
|
||||
// INTERNAL
|
||||
if (1 == $jenis_penilaian) {
|
||||
$validateIt['region'] = ['required'];
|
||||
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
||||
} else {
|
||||
$validateIt['sla'] = ['required'];
|
||||
$messageIt ['sla.required'] = 'Silahkan isi SLA';
|
||||
}
|
||||
|
||||
} elseif ($tindakan == 1) {
|
||||
$validateIt['catatan'] = ['required'];
|
||||
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
||||
}
|
||||
|
||||
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
||||
|
||||
$data['fails'] = $validator->fails();
|
||||
$data['errors'] = $validator->errors();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$permohonan = Permohonan::find($id);
|
||||
$debitur = Debiture::find($permohonan->debiture_id);
|
||||
$documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get();
|
||||
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
|
||||
}
|
||||
|
||||
public function storeRevisi(Request $request, $id)
|
||||
{
|
||||
try {
|
||||
$permohonan = Permohonan::find($id);
|
||||
|
||||
$permohonan->update([
|
||||
'status' => 'registered'
|
||||
]);
|
||||
|
||||
return redirect()->route('registrasi.index')->with('success', 'Submit Revision successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->route('registrasi.index')->with('error', 'Failed to create permohonan' . $e->getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ class PenilaianRequest extends FormRequest
|
||||
'penilai_surveyor_id' => 'nullable',
|
||||
'surveyor_region_id' => 'nullable|required_without_all:penilai_surveyor_id,penilai_region_id,penilai_id,surveyor_id',
|
||||
'penilai_region_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_id,surveyor_id',
|
||||
|
||||
'surveyor_penilai_region_id' => 'nullable',
|
||||
'keterangan' => 'nullable',
|
||||
];
|
||||
|
||||
|
||||
@@ -14,18 +14,7 @@ class Penilai extends Model
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $fillable = [
|
||||
'dokument_id',
|
||||
'permohonan_id',
|
||||
'inspeksi_id',
|
||||
'kertas_kerja',
|
||||
'resume',
|
||||
'lpj',
|
||||
'type',
|
||||
'memo',
|
||||
'rap',
|
||||
'type_penilai'
|
||||
];
|
||||
protected $guarded = ['id'];
|
||||
|
||||
// protected static function newFactory(): PenilaiFactory
|
||||
// {
|
||||
@@ -41,4 +30,8 @@ class Penilai extends Model
|
||||
return $this->belongsTo(Inspeksi::class);
|
||||
}
|
||||
|
||||
public function penilai_nilai_likuidasi(){
|
||||
return $this->hasMany(PenilaiNilaiLikuidasi::class);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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('penilai', function (Blueprint $table) {
|
||||
$table->enum('type_penilai', ['memo', 'resume', 'standard', 'sederhana', 'rap', 'call-report'])
|
||||
->nullable()
|
||||
->comment('Jenis penilai: memo, resume, standard, sederhana, rap, call-report')
|
||||
->change();
|
||||
$table->json('call_report')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('penilai', function (Blueprint $table) {
|
||||
$table->enum('type_penilai', ['memo', 'resume', 'standard', 'sederhana', 'rap'])
|
||||
->nullable()
|
||||
->comment('Jenis penilai: memo, resume, standard, sederhana, rap')
|
||||
->change();
|
||||
|
||||
$table->dropColumn(['type_penilai', 'call_report']);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
<?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::create('sla_criteria', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name_criteria');
|
||||
$table->string('criteria');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('sla_criteria');
|
||||
}
|
||||
};
|
||||
@@ -13,7 +13,13 @@
|
||||
{{ isset($document->id) ? 'Edit' : 'Tambah' }} Data Jaminan
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
@if (Auth::user()->roles[0]->name === 'admin')
|
||||
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@else
|
||||
<a href="{{ route('debitur.jaminan.index',$debitur->id) }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nomor Laporan</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="nomor_rap" class="input w-full cursor-not-allowed"
|
||||
<input type="text" name="nomor_laporan" class="input w-full cursor-not-allowed"
|
||||
placeholder="Masukkan..." value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,13 +224,13 @@
|
||||
<label for="Lelang" class="form-label max-w-56">Lelang ke </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="lelang" name="lelang" class="input w-full"
|
||||
placeholder="Masukkan Lelang" value="{{ $memo->lokasi->penilai ?? old('penilai') }}">
|
||||
placeholder="Masukkan Lelang" value="{{ $memo->lokasi->penilai ?? old('lelang') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="penilai" class="form-label max-w-56">Nilai Pasar Wajar (NPW)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="nilai-pasar" name="likuidasi"
|
||||
<input type="text" id="nilai-pasar" name="nilai_pasar"
|
||||
class="input w-full nilai-pasar currency-format" placeholder="Masukkan likuidasi"
|
||||
value="{{ old('likuidasi') }}">
|
||||
</div>
|
||||
@@ -238,7 +238,7 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="likuidasi_nilai_1" class="form-label max-w-56">Nilai Likuidasi(%)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="likuidasi" name="likuidasi_nilai_1" class="input w-full likuidasi"
|
||||
<input type="text" id="likuidasi" name="likuidasi" class="input w-full likuidasi"
|
||||
placeholder="Masukkan likuidasi dalam bentuk persen" onkeyup="calculateTotal(this)">
|
||||
</div>
|
||||
</div>
|
||||
@@ -411,26 +411,81 @@
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
const callReport = @json($forminspeksi ?? '');
|
||||
console.log('callReport', callReport)
|
||||
const callReports = @json($callReport);
|
||||
console.log('callReport', callReports)
|
||||
|
||||
|
||||
function formatJson(formElement) {
|
||||
const formData = new FormData(formElement);
|
||||
const jsonData = {
|
||||
kepada: "",
|
||||
tanggal: "",
|
||||
nomor_laporan: "",
|
||||
perihal: "",
|
||||
dari: "",
|
||||
lelang: "",
|
||||
fakta: {
|
||||
fakta_positif: [],
|
||||
fakta_negatif: []
|
||||
},
|
||||
nilai_pasar: "",
|
||||
persentase_likuidasi: "",
|
||||
hasil_nilai_likuidasi: ""
|
||||
};
|
||||
|
||||
// Ambil fakta positif
|
||||
document.querySelectorAll('textarea[name="fakta_positif[]"]').forEach(textarea => {
|
||||
if (textarea.value.trim() !== "") {
|
||||
jsonData.fakta.fakta_positif.push(textarea.value.trim());
|
||||
}
|
||||
});
|
||||
|
||||
// Ambil fakta negatif
|
||||
document.querySelectorAll('textarea[name="fakta_negatif[]"]').forEach(textarea => {
|
||||
if (textarea.value.trim() !== "") {
|
||||
jsonData.fakta.fakta_negatif.push(textarea.value.trim());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
jsonData.perihal = document.querySelector('input[name="perihal"]')?.value.trim() || "";
|
||||
jsonData.dari = document.querySelector('input[name="dari"]')?.value.trim() || "";
|
||||
jsonData.tanggal = document.querySelector('input[name="tanggal"]')?.value.trim() || "";
|
||||
jsonData.kepada = document.querySelector('input[name="kepada"]')?.value.trim() || "";
|
||||
jsonData.nomor_laporan = document.querySelector('input[name="nomor_laporan"]')?.value.trim() || "";
|
||||
jsonData.lelang = document.querySelector('input[name="lelang"]')?.value.trim() || "";
|
||||
|
||||
// Ambil nilai lainnya
|
||||
jsonData.nilai_pasar = document.querySelector('input[name="nilai_pasar"]')?.value.trim() || "";
|
||||
jsonData.persentase_likuidasi = document.querySelector('input[name="likuidasi"]')?.value.trim() || "";
|
||||
jsonData.hasil_nilai_likuidasi = document.querySelector('input[name="likuidasi_nilai_1"]')?.value.trim() || "";
|
||||
|
||||
return jsonData;
|
||||
}
|
||||
|
||||
function submitData() {
|
||||
showLoadingSwal('Mengirim data ke server...');
|
||||
const form = document.querySelector('form');
|
||||
const formData = new FormData(form);
|
||||
console.log('Form data entries:', Array.from(formData.entries()));
|
||||
const formElement = document.querySelector('form');
|
||||
// console.log('Form data entries:', Array.from(formData.entries()));
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const permohonanId = {{ $permohonan->id }};
|
||||
const documentId = urlParams.get('documentId');
|
||||
const inspeksiId = urlParams.get('inspeksiId');
|
||||
const requestUrl =
|
||||
`{{ route('penilai.storeCallReport') }}?permohonanId=${permohonanId}&inspeksiId=${inspeksiId}&documentId=${documentId}`;
|
||||
`{{ route('penilai.storeCallReport') }}?permohonan_id=${permohonanId}&inspeksi_id=${inspeksiId}&dokument_id=${documentId}`;
|
||||
|
||||
|
||||
const jsonData = formatJson(formElement);
|
||||
$.ajax({
|
||||
url: requestUrl,
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data: JSON.stringify({
|
||||
permohonan_id: permohonanId,
|
||||
dokument_id: documentId,
|
||||
inspeksi_id: inspeksiId,
|
||||
data: jsonData,
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if ($permohonan->penilaian->jenis_penilaian_id == 2 && $permohonan->tujuanPenilaian->id == 4)
|
||||
{{-- @if ($permohonan->penilaian->jenis_penilaian_id == 2 && $permohonan->tujuanPenilaian->id == 4) --}}
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="callReport('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }})">
|
||||
@@ -295,7 +295,7 @@
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
{{-- @endif --}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
@section('content')
|
||||
@include('lpj::assetsku.includenya')
|
||||
@include('lpj::assetsku.includenya')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<form id="form-assignment" class="">
|
||||
<form id="form-assignment" class="">
|
||||
@if (isset($penilaian->nomor_registrasi))
|
||||
@method('PUT')
|
||||
@endif
|
||||
@@ -67,7 +67,7 @@
|
||||
<option value="berbeda">Berbeda</option>
|
||||
</select>
|
||||
</div>
|
||||
<em id="error-surveyor_selection" class="alert text-danger text-sm"></em>
|
||||
<em id="error-surveyor_selection" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -85,15 +85,42 @@
|
||||
@foreach ($teamPenilai as $item)
|
||||
<option value="{{ $item->id }}">{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@if ($penilaianTeam->isEmpty())
|
||||
<option value="pilih_dari_region">Pilih Surveyor dan Penilai Dari Region
|
||||
</option>
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<em id="error-penilai_surveyor_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-penilai_surveyor_id" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="surveyorPenilaiRegion" class="hidden items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Pilih Region
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="input-group w-full">
|
||||
<select id="surveyor_penilai_region_id" name="surveyor_penilai_region_id"
|
||||
class="tomselect input @error('surveyor_penilai_region_id') border-danger bg-danger-light @enderror w-full">
|
||||
<option value="">Pilih Region</option>
|
||||
|
||||
@if (isset($updateTeamPenilai))
|
||||
@foreach ($updateTeamPenilai as $item)
|
||||
<option value="{{ $item->regions->id }}">
|
||||
{{ $item->regions->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<em id="error-surveyor_penilai_region_id" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="different_surveyor_penilai" class="{{ $penilaianTeam->isNotEmpty() ? '' : 'hidden' }}">
|
||||
<div class="grid gap-2.5">
|
||||
@@ -121,7 +148,7 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -146,7 +173,7 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -172,7 +199,7 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<em id="error-surveyor_region_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-surveyor_region_id" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -221,7 +248,7 @@
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<em id="error-penilai_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-penilai_id" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@@ -243,7 +270,7 @@
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<em id="error-penilai_region_id" class="alert text-danger text-sm"></em>
|
||||
<em id="error-penilai_region_id" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -259,7 +286,7 @@
|
||||
type="datetime-local" name="tanggal_kunjungan"
|
||||
value="{{ isset($penilaian->tanggal_kunjungan) ? \Carbon\Carbon::createFromTimestamp($penilaian->tanggal_kunjungan)->format('Y-m-d\TH:i') : '' }}">
|
||||
|
||||
<em id="error-tanggal_kunjungan" class="alert text-danger text-sm"></em>
|
||||
<em id="error-tanggal_kunjungan" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -269,10 +296,11 @@
|
||||
Catatan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="textarea @error('keterangan') border-danger bg-danger-light @enderror" rows="3" name="keterangan">{{ $permohonan->registrasi_catatan ? $permohonan->registrasi_catatan . "\n\n" : "" }}{{ $penilaian->keterangan ?? '' }}</textarea>
|
||||
<textarea class="textarea @error('keterangan') border-danger bg-danger-light @enderror" rows="3"
|
||||
name="keterangan">{{ $permohonan->registrasi_catatan ? $permohonan->registrasi_catatan . "\n\n" : '' }}{{ $penilaian->keterangan ?? '' }}</textarea>
|
||||
</div>
|
||||
|
||||
<em id="error-keterangan" class="alert text-danger text-sm"></em>
|
||||
<em id="error-keterangan" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -355,20 +383,37 @@
|
||||
const selectedValue = this.value;
|
||||
const sameSurveyorPenilai = document.getElementById('same_surveyor_penilai');
|
||||
const differentSurveyorPenilai = document.getElementById('different_surveyor_penilai');
|
||||
const surveyorPenilaiRegion = document.getElementById('surveyorPenilaiRegion');
|
||||
|
||||
if (selectedValue === 'penilai_dan_surveyor') {
|
||||
sameSurveyorPenilai.classList.remove('hidden');
|
||||
differentSurveyorPenilai.classList.add('hidden');
|
||||
surveyorPenilaiRegion.classList.add('hidden');
|
||||
} else if (selectedValue === 'berbeda') {
|
||||
sameSurveyorPenilai.classList.add('hidden');
|
||||
differentSurveyorPenilai.classList.remove('hidden');
|
||||
surveyorPenilaiRegion.classList.add('hidden');
|
||||
|
||||
} else {
|
||||
} else {
|
||||
sameSurveyorPenilai.classList.add('hidden');
|
||||
differentSurveyorPenilai.classList.add('hidden');
|
||||
surveyorPenilaiRegion.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('penilai_surveyor_id').addEventListener('change', function() {
|
||||
const selectedValue = this.value;
|
||||
const surveyorPenilaiRegion = document.getElementById('surveyorPenilaiRegion');
|
||||
|
||||
if (selectedValue === 'pilih_dari_region') {
|
||||
surveyorPenilaiRegion.classList.remove('hidden');
|
||||
surveyorPenilaiRegion.classList.add('flex');
|
||||
} else {
|
||||
surveyorPenilaiRegion.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
document.getElementById('surveyor_id').addEventListener('change', function() {
|
||||
const selectedValue = this.value;
|
||||
|
||||
@@ -1,103 +1,141 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
@php
|
||||
// $route = Route::currentRouteName();
|
||||
// dd($route); registrasi.show
|
||||
$route = explode('.', Route::currentRouteName());
|
||||
// $route = Route::currentRouteName();
|
||||
// dd($route); registrasi.show
|
||||
$route = explode('.', Route::currentRouteName());
|
||||
|
||||
@endphp
|
||||
@section('content')
|
||||
<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">
|
||||
|
||||
@include('lpj::component.detail-jaminan',['backLink' => 'registrasi.index'])
|
||||
@include('lpj::component.detail-jaminan', ['backLink' => 'registrasi.index'])
|
||||
|
||||
<div class="card border border-agi-100 pb-2.5">
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<h3 class="card-title">
|
||||
Registrasi
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body lg:py-7.5">
|
||||
<form id="{{$route[0]}}_form" name="{{$route[0]}}_form" method="POST">
|
||||
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="card border border-agi-100 pb-2.5">
|
||||
@if (!$permohonan->status === 'revisi')
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<h3 class="card-title">
|
||||
Registrasi
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body lg:py-7.5">
|
||||
<form id="{{ $route[0] }}_form" name="{{ $route[0] }}_form" method="POST">
|
||||
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tindakan
|
||||
</label>
|
||||
<div class="flex gap-12">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="radio" name="{{$route[0]}}_tindakan" type="radio" value="0" id="{{ $route[0] }}_tindakan_yes" />
|
||||
Yes
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="radio" name="{{$route[0]}}_tindakan" type="radio" value="1" id="{{ $route[0] }}_tindakan_no" />
|
||||
No
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{$route[0]}}_div_jenis_pilihan" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-5">
|
||||
<label class="form-label max-w-56">
|
||||
Data Jenis Penilaian (Pilihan registrasi)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="inputku select" id="{{$route[0]}}_jenis_penilaian" name="{{$route[0]}}_jenis_penilaian">
|
||||
<option></option>
|
||||
</select>
|
||||
<em id="{{$route[0]}}_jenis_penilaian_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_catatan" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-5">
|
||||
<label class="form-label max-w-56">
|
||||
Catatan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="inputku textarea" name="{{$route[0]}}_catatan" id="{{$route[0]}}_catatan" placeholder="Catatan..." rows="6"></textarea>
|
||||
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
SLA (dalam satuan hari)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="inputku input" name="{{$route[0]}}_sla" id="{{$route[0]}}_sla" placeholder="dalam satuan hari" type="text" />
|
||||
<em id="{{$route[0]}}_sla_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Region
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="inputku select" id="{{$route[0]}}_region" name="{{$route[0]}}_region">
|
||||
<option></option>
|
||||
</select>
|
||||
<em id="{{$route[0]}}_region_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div><br />
|
||||
<div id="{{ $route[0] }}_div_catatan2" 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="inputku textarea" name="{{$route[0]}}_catatan2" id="{{$route[0]}}_catatan2" placeholder="Catatan..." rows="6"></textarea>
|
||||
<em id="{{$route[0]}}_catatan2_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end mt-5">
|
||||
<button type="button" class="btn btn-primary" id="toEdit">
|
||||
Save
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tindakan
|
||||
</label>
|
||||
<div class="flex gap-12">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="radio" name="{{ $route[0] }}_tindakan" type="radio" value="0"
|
||||
id="{{ $route[0] }}_tindakan_yes" />
|
||||
Yes
|
||||
</label>
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="radio" name="{{ $route[0] }}_tindakan" type="radio" value="1"
|
||||
id="{{ $route[0] }}_tindakan_no" />
|
||||
No
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_jenis_pilihan"
|
||||
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-5">
|
||||
<label class="form-label max-w-56">
|
||||
Data Jenis Penilaian (Pilihan registrasi)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="inputku select" id="{{ $route[0] }}_jenis_penilaian"
|
||||
name="{{ $route[0] }}_jenis_penilaian">
|
||||
<option></option>
|
||||
</select>
|
||||
<em id="{{ $route[0] }}_jenis_penilaian_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_catatan"
|
||||
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-5">
|
||||
<label class="form-label max-w-56">
|
||||
Catatan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea class="inputku textarea" name="{{ $route[0] }}_catatan" id="{{ $route[0] }}_catatan"
|
||||
placeholder="Catatan..." rows="6"></textarea>
|
||||
<em id="{{ $route[0] }}_catatan_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
SLA (dalam satuan hari)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="inputku input" name="{{ $route[0] }}_sla" id="{{ $route[0] }}_sla"
|
||||
placeholder="dalam satuan hari" type="text" />
|
||||
<em id="{{ $route[0] }}_sla_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_region"
|
||||
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Region
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="inputku select" id="{{ $route[0] }}_region"
|
||||
name="{{ $route[0] }}_region">
|
||||
<option></option>
|
||||
</select>
|
||||
<em id="{{ $route[0] }}_region_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div><br />
|
||||
<div id="{{ $route[0] }}_div_catatan2"
|
||||
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="inputku textarea" name="{{ $route[0] }}_catatan2" id="{{ $route[0] }}_catatan2"
|
||||
placeholder="Catatan..." rows="6"></textarea>
|
||||
<em id="{{ $route[0] }}_catatan2_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end mt-5">
|
||||
<button type="button" class="btn btn-primary" id="toEdit">
|
||||
Save
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endif
|
||||
@if ($permohonan->status === 'revisi')
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<h3 class="card-title">
|
||||
Dokument
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@include('lpj::debitur.components.jaminan')
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="flex justify-end mt-5">
|
||||
<form action="{{ route('storeRevisi', $id) }}" method="post">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<input type="hidden" id="id" name="id" value="{{ $id }}">
|
||||
<button class="btn btn-primary" >
|
||||
Submit Revision
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
@include('lpj::registrasi.js.editjs')
|
||||
|
||||
@@ -25,9 +25,11 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::post('registrasi/setData', 'setData')->name('registrasi.setData');
|
||||
Route::get('/registrasi/{registrasi}/edit', 'edit')->name('registrasi.edit');
|
||||
Route::put('/registrasi/{registrasi}', 'update')->name('registrasi.update');
|
||||
|
||||
});
|
||||
// andy add
|
||||
|
||||
Route::put('/store-revisi/{id}', [RegistrasiController::class, 'storeRevisi'])->name('storeRevisi');
|
||||
|
||||
Route::name('tender.')->prefix('tender')->group(function () {
|
||||
|
||||
|
||||
@@ -604,7 +604,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::get('memo', [PenilaiController::class, 'memo'])->name('memo');
|
||||
Route::get('paparan', [PenilaiController::class, 'paparan'])->name('paparan');
|
||||
Route::get('call-report', [PenilaiController::class, 'call_report'])->name('call-report');
|
||||
Route::get('storeCallReport', [PenilaiController::class, 'storeCallReport'])->name('storeCallReport');
|
||||
Route::post('storeCallReport', [PenilaiController::class, 'storeCallReport'])->name('storeCallReport');
|
||||
Route::post('storePaparan/{id}', [PenilaiController::class, 'storePaparan'])->name('storePaparan');
|
||||
Route::get('rap', [PenilaiController::class, 'rap'])->name('rap');
|
||||
Route::get('/check-status-lpj', [PenilaiController::class, 'checkStatusLpj'])->name('check.status.lpj');
|
||||
|
||||
Reference in New Issue
Block a user