penambahan menu surveyor

This commit is contained in:
majid
2024-09-25 15:11:26 +07:00
parent 84c6024fd2
commit 544933aa37
6 changed files with 864 additions and 269 deletions

View File

@@ -0,0 +1,140 @@
<?php
namespace Modules\Lpj\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Modules\Lpj\Models\Permohonan;
class SurveyorController extends Controller
{
public $user;
/**
* Display a listing of the resource.
*/
public function index()
{
return view('lpj::surveyor.index');
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
return view('lpj::create');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request): RedirectResponse
{
//
}
/**
* Show the specified resource.
*/
public function show($id)
{
$permohonan = Permohonan::with(
[
'user',
'debiture.province',
'debiture.city',
'debiture.district',
'debiture.village',
'branch',
'tujuanPenilaian',
'penilaian'
],
)->findOrFail($id);
return view('lpj::surveyor.detail', compact('permohonan'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
return view('lpj::edit');
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id): RedirectResponse
{
//
}
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.');
}
$query = Permohonan::query();
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 . '%');
});
}
$query->whereRaw('LOWER(status) = ?', ['assign']);
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
$order = $request->get('sortOrder');
$column = $request->get('sortField');
$query->orderBy($column, $order);
}
$totalRecords = $query->count();
$size = $request->get('size', 10);
if ($size == 0) {
$size = 10;
}
if ($request->has('page') && $request->has('size')) {
$page = $request->get('page', 1);
$offset = ($page - 1) * $size;
$query->skip($offset)->take($size);
}
$filteredRecords = $query->count();
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'jenisFasilitasKredit'])->get();
$pageCount = ceil($totalRecords / $size);
$currentPage = max(1, $request->get('page', 1));
return response()->json([
'draw' => $request->get('draw'),
'recordsTotal' => $totalRecords,
'recordsFiltered' => $filteredRecords,
'pageCount' => $pageCount,
'page' => $currentPage,
'totalCount' => $totalRecords,
'data' => $data,
]);
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
//
}
}

View File

@@ -70,7 +70,7 @@
{
"title": "Activity",
"path": "activity",
"icon": "ki-filled ki-some-files text-lg",
"icon": "ki-filled ki-questionnaire-tablet text-lg",
"classes": "",
"attributes": [],
"permission": "",
@@ -78,6 +78,18 @@
"Administrator"
]
},
{
"title": "Surveyor",
"path": "surveyor",
"icon": "ki-filled ki-notepad-edit text-lg",
"classes": "",
"attributes": [],
"permission": "",
"roles": [
"Administrator"
]
},
{
"title": "Laporan",
"path": "",

View File

@@ -0,0 +1,152 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card">
<div class="card-header" id="advanced_settings_appearance">
<h3 class="card-title">
Surveyor
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('surveyor.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i>
Back</a>
</div>
</div>
<div class="card-body lg:py-7.5 grid grid-cols-3">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Register Permohonan:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->nomor_registrasi }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Waktu Survei:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->penilaian->tanggal_kunjungan }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Keterangan:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->penilaian->keterangan }}
</span>
</div>
</div>
</div>
<div class="card min-w-full">
<div class="card-header">
<h3 class="card-title">
Data Jaminan
</h3>
</div>
<div data-accordion="true">
@foreach ($permohonan->debiture->documents as $dokumen)
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200" data-accordion-item="true"
id="accordion_1_item_1">
<button class="accordion-toggle py-4 group mx-8" data-accordion-toggle="#accordion_1_content_1">
<span class="text-base text-gray-900 font-medium">
Jaminan {{ $loop->index + 1 }}
</span>
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
</i>
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
</i>
</button>
<div class="accordion-content hidden" id="accordion_1_content_1">
<div class="card-body lg:py-7.5 grid grid-cols-2">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Jenis Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->jenisJaminan->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Hubungan Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Alamat Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->address ?? '' }},
<br> {{ $dokumen->pemilik->village->name ?? '' }},
{{ $dokumen->pemilik->district->name ?? '' }},
{{ $dokumen->pemilik->city->name ?? '' }},
{{ $dokumen->pemilik->province->name ?? '' }} -
{{ $dokumen->pemilik->village->postal_code ?? '' }}
</span>
</div>
</div>
<div class="card-table scrollable-x-auto pb-3">
<table class="table align-middle text-sm text-gray-500">
@foreach ($dokumen->detail as $detail)
<tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Dokumen Jaminan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan))
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id]) }}"
class="badge badge-sm badge-outline mt-2">{{ basename($detail->dokumen_jaminan) }}
<i class="ki-filled ki-cloud-download"></i></a>
@endif
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Keterangan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? '' }}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,270 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render('surveyor') }}
@endsection
@section('content')
@push('styles')
<style>
.modal {
width: 50%;
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
@endpush
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card pb-2.5">
<div class="card-header" id="basic_settings">
<div class="card-title flex flex-row gap-1.5">
Surveyor
</div>
<div class="card-header py-5 flex-wrap">
<h3 class="card-title">
{{-- Daftar {{}} --}}
</h3>
<div class="flex flex-wrap gap-2 lg:gap-5">
<div class="flex">
<label class="input input-sm">
<i class="ki-filled ki-magnifier"></i>
<input placeholder="Search Penilaian" id="search" type="text" value="">
</label>
</div>
<div class="flex flex-wrap gap-2.5">
<div class="h-[24px] border border-r-gray-200"></div>
<a class="btn btn-sm btn-light" href="{{ route('activity.export') }}"> Export to Excel </a>
</div>
</div>
</div>
</div>
<div class="card-grid min-w-full" data-datatable="false" data-datatable-page-size="5"
data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('surveyor.datatables') }}">
<div class="card-body">
<div class="scrollable-x-auto">
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm"
data-datatable-table="true">
<thead>
<tr>
<th class="w-14">
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
</th>
<th class="min-w-[150px]" data-datatable-column="nomor_registrasi">
<span class="sort"><span class="sort-label">Nomor Registrasi</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_permohonan">
<span class="sort"><span class="sort-label">Tanggal Assigned</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="user_id">
<span class="sort"><span class="sort-label">User Pemohon</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="branch_id">
<span class="sort"><span class="sort-label">Cabang Pemohon</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="debitur_id">
<span class="sort"><span class="sort-label">Debitur</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
<span class="sort"><span class="sort-label">Tujuan Penilaian</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="status">
<span class="sort"><span class="sort-label">Fasilitas Kredit</span>
<span class="sort-icon"></span>
</span>
</th>
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
</tr>
</thead>
</table>
</div>
<div
class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
<div class="flex items-center gap-2">
Show
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
page
</div>
<div class="flex items-center gap-4">
<span data-datatable-info="true"></span>
<div class="pagination" data-datatable-pagination="true"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" data-modal="true" id="modal_revisi" data-backdrop="static" data-keyboard="false">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Kunjungan</h3>
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
<i class="ki-outline ki-cross"></i>
</button>
</div>
<div class="modal-body">
<form
action=""
method="POST" enctype="multipart/form-data" id="revisiForm">
@csrf
@method('PUT')
<input type="hidden" name="action" value="revisi">
{{-- <input type="hidden" name="nomor_registrasi"
value="{{ $penilaian->nomor_registrasi ?? $permohonan->nomor_registrasi }}"> --}}
<div class="pl-1 grid gap-2.5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Kunjungan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('tanggal_kunjungan') border-danger bg-danger-light @enderror"
type="datetime-local" name="tanggal_kunjungan"
value="">
@error('tanggal_kunjungan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Catatan</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea id="keterangan" class="textarea @error('keterangan') border-danger bg-danger-light @enderror"
rows="3" name="keterangan"></textarea>
@error('keterangan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
</div>
<div class="modal-footer justify-end mt-2">
<div class="flex gap-4">
<button type="button" class="btn btn-light" data-modal-dismiss="true">Cancel</button>
<button id="btnSubmit" type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection
@push('scripts')
<script type="module">
const element = document.querySelector('#permohonan-table');
const searchInput = document.getElementById('search');
const statusFilter = document.getElementById('status-filter'); // Dropdown filter element
const apiUrl = element.getAttribute('data-api-url');
const dataTableOptions = {
apiEndpoint: apiUrl,
pageSize: 5,
order: [{
column: 'nomor_registrasi',
dir: 'asc'
} // Default order by 'nomor_registrasi' ascending
],
columns: {
select: {
render: (item, data, context) => {
const checkbox = document.createElement('input');
checkbox.className = 'checkbox checkbox-sm';
checkbox.type = 'checkbox';
checkbox.value = data.id.toString();
checkbox.setAttribute('data-datatable-row-check', 'true');
return checkbox.outerHTML.trim();
},
},
nomor_registrasi: {
title: 'Nomor Registrasi',
},
tanggal_permohonan: {
title: 'Tanggal Assigned',
render: (item, data) => {
const createdAt = convertDate(data.penilaian.created_at);
return createdAt;
},
},
user_id: {
title: 'User Pemohon',
render: (item, data) => `${data.user.name}`,
},
branch_id: {
title: 'Cabang Pemohon',
render: (item, data) => `${data.branch.name}`,
},
debitur_id: {
title: 'Debitur',
render: (item, data) => `${data.debiture.name}`,
},
tujuan_penilaian_id: {
title: 'Tujuan Penilaian',
render: (item, data) => `${data.tujuan_penilaian.name}`,
},
jenis_fasilitas_kredit_id: {
title: 'Fasilitas Kredit',
render: (item, data) => `${data.jenis_fasilitas_kredit.name}`,
},
actions: {
title: 'Action',
render: (item, data) => `
<div class="flex flex-nowrap justify-center">
<a class="btn btn-sm btn-icon btn-clear btn-info" data-modal-toggle="#modal_revisi" >
<i class="ki-outline ki-notepad-edit"></i>
</a>
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="surveyor/${data.id}/show">
<i class="ki-outline ki-eye"></i>
</a>
</div>`,
}
},
};
let dataTable = new KTDataTable(element, dataTableOptions);
searchInput.addEventListener('input', function() {
const searchValue = this.value.trim();
dataTable.search(searchValue, true);
});
statusFilter.addEventListener('change', function() {
const selectedStatus = this.value;
dataTable.search(selectedStatus);
});
function convertDate(date) {
const createdAt = new Date(date);
const day = String(createdAt.getDate()).padStart(2, '0');
const month = String(createdAt.getMonth() + 1).padStart(2, '0');
const year = createdAt.getFullYear();
return `${day}-${month}-${year}`;
}
</script>
@endpush

View File

@@ -303,6 +303,7 @@
$trail->push('Assignment');
});
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
$trail->push('Permohonan', route('authorization.index'));
});
@@ -321,3 +322,12 @@
$trail->parent('activity');
$trail->push('Activity activity');
});
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
$trail->push('Surveyor', route('surveyor.index'));
});
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Detail');
});

View File

@@ -1,290 +1,301 @@
<?php
use Illuminate\Support\Facades\Route;
use Modules\Lpj\Http\Controllers\ArahMataAnginController;
use Modules\Lpj\Http\Controllers\BranchController;
use Modules\Lpj\Http\Controllers\CurrencyController;
use Modules\Lpj\Http\Controllers\DebitureController;
use Modules\Lpj\Http\Controllers\DokumenJaminanController;
use Modules\Lpj\Http\Controllers\HubunganPemilikJaminanController;
use Modules\Lpj\Http\Controllers\HubunganPenghuniJaminanController;
use Modules\Lpj\Http\Controllers\JenisAsetController;
use Modules\Lpj\Http\Controllers\JenisDokumenController;
use Modules\Lpj\Http\Controllers\JenisFasilitasKreditController;
use Modules\Lpj\Http\Controllers\JenisJaminanController;
use Modules\Lpj\Http\Controllers\JenisLegalitasJaminanController;
use Modules\Lpj\Http\Controllers\JenisPenilaianController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
use Modules\Lpj\Http\Controllers\PenilaianController;
use Modules\Lpj\Http\Controllers\PermohonanController;
use Modules\Lpj\Http\Controllers\RegionController;
use Modules\Lpj\Http\Controllers\StatusPermohonanController;
use Modules\Lpj\Http\Controllers\TeamsController;
use Modules\Lpj\Http\Controllers\TujuanPenilaianController;
use Modules\Lpj\Http\Controllers\ActivityController;
use Illuminate\Support\Facades\Route;
use Modules\Lpj\Http\Controllers\ArahMataAnginController;
use Modules\Lpj\Http\Controllers\BranchController;
use Modules\Lpj\Http\Controllers\CurrencyController;
use Modules\Lpj\Http\Controllers\DebitureController;
use Modules\Lpj\Http\Controllers\DokumenJaminanController;
use Modules\Lpj\Http\Controllers\HubunganPemilikJaminanController;
use Modules\Lpj\Http\Controllers\HubunganPenghuniJaminanController;
use Modules\Lpj\Http\Controllers\JenisAsetController;
use Modules\Lpj\Http\Controllers\JenisDokumenController;
use Modules\Lpj\Http\Controllers\JenisFasilitasKreditController;
use Modules\Lpj\Http\Controllers\JenisJaminanController;
use Modules\Lpj\Http\Controllers\JenisLegalitasJaminanController;
use Modules\Lpj\Http\Controllers\JenisPenilaianController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
use Modules\Lpj\Http\Controllers\PenilaianController;
use Modules\Lpj\Http\Controllers\PermohonanController;
use Modules\Lpj\Http\Controllers\RegionController;
use Modules\Lpj\Http\Controllers\StatusPermohonanController;
use Modules\Lpj\Http\Controllers\TeamsController;
use Modules\Lpj\Http\Controllers\TujuanPenilaianController;
use Modules\Lpj\Http\Controllers\ActivityController;
use Modules\Lpj\Http\Controllers\SurveyorController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::middleware(['auth'])->group(function () {
Route::name('basicdata.')->prefix('basic-data')->group(function () {
Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () {
Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export');
});
Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class);
Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () {
Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export');
});
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () {
Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas');
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisJaminanController::class, 'export'])->name('export');
});
Route::resource('jenis-jaminan', JenisJaminanController::class);
Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () {
Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export');
});
Route::resource('tujuan-penilaian', TujuanPenilaianController::class);
Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () {
Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisDokumenController::class, 'export'])->name('export');
});
Route::resource('jenis-dokumen', JenisDokumenController::class);
Route::name('currency.')->prefix('mata-uang')->group(function () {
Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore');
Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [CurrencyController::class, 'export'])->name('export');
});
Route::resource('mata-uang', CurrencyController::class, [
'names' => [
'index' => 'currency.index',
'show' => 'currency.show',
'create' => 'currency.create',
'store' => 'currency.store',
'edit' => 'currency.edit',
'update' => 'currency.update',
'destroy' => 'currency.destroy',
],
]);
Route::name('branch.')->prefix('cabang')->group(function () {
Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore');
Route::get('datatables', [BranchController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [BranchController::class, 'export'])->name('export');
});
Route::resource('cabang', BranchController::class, [
'names' => [
'index' => 'branch.index',
'show' => 'branch.show',
'create' => 'branch.create',
'store' => 'branch.store',
'edit' => 'branch.edit',
'update' => 'branch.update',
'destroy' => 'branch.destroy',
],
]);
Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () {
Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore');
Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [NilaiPlafondController::class, 'export'])->name('export');
});
Route::resource('nilai-plafond', NilaiPlafondController::class);
Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () {
Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export');
});
Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class);
Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () {
Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export');
});
Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class);
Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () {
Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore');
Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [ArahMataAnginController::class, 'export'])->name('export');
});
Route::resource('arah-mata-angin', ArahMataAnginController::class);
Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () {
Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore');
Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [StatusPermohonanController::class, 'export'])->name('export');
});
Route::resource('status-permohonan', StatusPermohonanController::class);
Route::name('region.')->prefix('region')->group(function () {
Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore');
Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [RegionController::class, 'export'])->name('export');
});
Route::resource('region', RegionController::class, [
'names' => [
'index' => 'region.index',
'show' => 'region.show',
'create' => 'region.create',
'store' => 'region.store',
'edit' => 'region.edit',
'update' => 'region.update',
'destroy' => 'region.destroy',
],
]);
Route::resource('region', RegionController::class);
Route::name('teams.')->prefix('teams')->group(function () {
Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore');
Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [TeamsController::class, 'export'])->name('export');
});
Route::resource('teams', TeamsController::class, [
'names' => [
'index' => 'teams.index',
'show' => 'teams.show',
'create' => 'teams.create',
'store' => 'teams.store',
'edit' => 'teams.edit',
'update' => 'teams.update',
'destroy' => 'teams.destroy',
],
]);
Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () {
Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [JenisPenilaianController::class, 'export'])->name('export');
});
Route::resource('jenis-penilaian', JenisPenilaianController::class, [
'names' => [
'index' => 'jenis-penilaian.index',
'show' => 'jenis-penilaian.show',
'create' => 'jenis-penilaian.create',
'store' => 'jenis-penilaian.store',
'edit' => 'jenis-penilaian.edit',
'update' => 'jenis-penilaian.update',
'destroy' => 'jenis-penilaian.destroy',
],
]);
});
Route::name('permohonan.')->prefix('permohonan')->group(function () {
Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur');
Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download');
Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore');
Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])
Route::middleware(['auth'])->group(function () {
Route::name('basicdata.')->prefix('basic-data')->group(function () {
Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () {
Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [PermohonanController::class, 'export'])->name('export');
Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export');
});
Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class);
Route::resource('permohonan', PermohonanController::class);
Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index');
Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])
->name('authorization.datatables');
Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name('authorization.show');
Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name('authorization.update');
Route::name('debitur.')->prefix('debitur')->group(function () {
Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore');
Route::get('datatables', [DebitureController::class, 'dataForDatatables'])
Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () {
Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [DebitureController::class, 'export'])->name('export');
Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export');
});
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () {
Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas');
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisJaminanController::class, 'export'])->name('export');
});
Route::resource('jenis-jaminan', JenisJaminanController::class);
Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () {
Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download');
Route::get('/', [DokumenJaminanController::class, 'index'])->name('index');
Route::get('create', [DokumenJaminanController::class, 'create'])->name('create');
Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit');
Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update');
Route::post('store', [DokumenJaminanController::class, 'store'])->name('store');
Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy');
});
Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () {
Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export');
});
Route::resource('tujuan-penilaian', TujuanPenilaianController::class);
Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () {
Route::get('/', [PemilikJaminanController::class, 'index'])->name('index');
Route::get('create', [PemilikJaminanController::class, 'create'])->name('create');
Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit');
Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update');
Route::post('store', [PemilikJaminanController::class, 'store'])->name('store');
Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy');
});
Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () {
Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisDokumenController::class, 'export'])->name('export');
});
Route::resource('jenis-dokumen', JenisDokumenController::class);
Route::name('currency.')->prefix('mata-uang')->group(function () {
Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore');
Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [CurrencyController::class, 'export'])->name('export');
});
Route::resource('debitur', DebitureController::class);
Route::resource('mata-uang', CurrencyController::class, [
'names' => [
'index' => 'currency.index',
'show' => 'currency.show',
'create' => 'currency.create',
'store' => 'currency.store',
'edit' => 'currency.edit',
'update' => 'currency.update',
'destroy' => 'currency.destroy',
],
]);
Route::name('penilaian.')->prefix('penilaian')->group(function () {
Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [PenilaianController::class, 'export'])->name('export');
Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']);
Route::name('branch.')->prefix('cabang')->group(function () {
Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore');
Route::get('datatables', [BranchController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [BranchController::class, 'export'])->name('export');
});
Route::get('/', [PenilaianController::class, 'index'])->name('index');
Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment');
Route::put('{id}', [PenilaianController::class, 'update'])->name('update');
Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi');
Route::post('create', [PenilaianController::class, 'create'])->name('create');
Route::post('store', [PenilaianController::class, 'store'])->name('store');
Route::resource('cabang', BranchController::class, [
'names' => [
'index' => 'branch.index',
'show' => 'branch.show',
'create' => 'branch.create',
'store' => 'branch.store',
'edit' => 'branch.edit',
'update' => 'branch.update',
'destroy' => 'branch.destroy',
],
]);
Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () {
Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore');
Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [NilaiPlafondController::class, 'export'])->name('export');
});
Route::resource('nilai-plafond', NilaiPlafondController::class);
Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () {
Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export');
});
Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class);
Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () {
Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export');
});
Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class);
Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () {
Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore');
Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [ArahMataAnginController::class, 'export'])->name('export');
});
Route::resource('arah-mata-angin', ArahMataAnginController::class);
Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () {
Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore');
Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [StatusPermohonanController::class, 'export'])->name('export');
});
Route::resource('status-permohonan', StatusPermohonanController::class);
Route::name('region.')->prefix('region')->group(function () {
Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore');
Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [RegionController::class, 'export'])->name('export');
});
Route::name('activity.')->prefix('activity')->group(function () {
Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore');
Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [ActivityController::class, 'export'])->name('export');
Route::get('/', [ActivityController::class, 'index'])->name('index');
Route::resource('region', RegionController::class, [
'names' => [
'index' => 'region.index',
'show' => 'region.show',
'create' => 'region.create',
'store' => 'region.store',
'edit' => 'region.edit',
'update' => 'region.update',
'destroy' => 'region.destroy',
],
]);
Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show');
Route::get('download/{id}', [ActivityController::class, 'download'])->name('download');
Route::resource('region', RegionController::class);
Route::name('teams.')->prefix('teams')->group(function () {
Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore');
Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [TeamsController::class, 'export'])->name('export');
});
Route::resource('teams', TeamsController::class, [
'names' => [
'index' => 'teams.index',
'show' => 'teams.show',
'create' => 'teams.create',
'store' => 'teams.store',
'edit' => 'teams.edit',
'update' => 'teams.update',
'destroy' => 'teams.destroy',
],
]);
Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () {
Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [JenisPenilaianController::class, 'export'])->name('export');
});
Route::resource('jenis-penilaian', JenisPenilaianController::class, [
'names' => [
'index' => 'jenis-penilaian.index',
'show' => 'jenis-penilaian.show',
'create' => 'jenis-penilaian.create',
'store' => 'jenis-penilaian.store',
'edit' => 'jenis-penilaian.edit',
'update' => 'jenis-penilaian.update',
'destroy' => 'jenis-penilaian.destroy',
],
]);
});
Route::name('permohonan.')->prefix('permohonan')->group(function () {
Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur');
Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download');
Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore');
Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [PermohonanController::class, 'export'])->name('export');
});
Route::resource('permohonan', PermohonanController::class);
Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index');
Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])
->name('authorization.datatables');
Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name('authorization.show');
Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name('authorization.update');
Route::name('debitur.')->prefix('debitur')->group(function () {
Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore');
Route::get('datatables', [DebitureController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [DebitureController::class, 'export'])->name('export');
Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () {
Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download');
Route::get('/', [DokumenJaminanController::class, 'index'])->name('index');
Route::get('create', [DokumenJaminanController::class, 'create'])->name('create');
Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit');
Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update');
Route::post('store', [DokumenJaminanController::class, 'store'])->name('store');
Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy');
});
Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () {
Route::get('/', [PemilikJaminanController::class, 'index'])->name('index');
Route::get('create', [PemilikJaminanController::class, 'create'])->name('create');
Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit');
Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update');
Route::post('store', [PemilikJaminanController::class, 'store'])->name('store');
Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy');
});
});
Route::resource('debitur', DebitureController::class);
Route::name('penilaian.')->prefix('penilaian')->group(function () {
Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore');
Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [PenilaianController::class, 'export'])->name('export');
Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']);
Route::get('/', [PenilaianController::class, 'index'])->name('index');
Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment');
Route::put('{id}', [PenilaianController::class, 'update'])->name('update');
Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi');
Route::post('create', [PenilaianController::class, 'create'])->name('create');
Route::post('store', [PenilaianController::class, 'store'])->name('store');
});
Route::name('activity.')->prefix('activity')->group(function () {
Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore');
Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [ActivityController::class, 'export'])->name('export');
Route::get('/', [ActivityController::class, 'index'])->name('index');
Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show');
Route::get('download/{id}', [ActivityController::class, 'download'])->name('download');
});
Route::name('surveyor.')->prefix('surveyor')->group(function () {
Route::get('restore/{id}', [SurveyorController::class, 'restore'])->name('restore');
Route::get('datatables', [SurveyorController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [SurveyorController::class, 'export'])->name('export');
Route::get('/', [SurveyorController::class, 'index'])->name('index');
Route::get('/{id}/show', [SurveyorController::class, 'show'])->name('show');
Route::get('download/{id}', [SurveyorController::class, 'download'])->name('download');
});
});