Spk.Mockup
This commit is contained in:
28
app/Http/Controllers/SpkController.php
Normal file
28
app/Http/Controllers/SpkController.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Lpj\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
// use Modules\Lpj\Exports\TujuanPenilaianExport;
|
||||||
|
// use Modules\Lpj\Http\Requests\TujuanPenilaianRequest;
|
||||||
|
// use Modules\Lpj\Models\TujuanPenilaian;
|
||||||
|
|
||||||
|
class SpkController extends Controller
|
||||||
|
{
|
||||||
|
public $user;
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
return view('lpj::spk.index');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function viewSpk()
|
||||||
|
{
|
||||||
|
// return Excel::download(new TujuanPenilaianExport, 'tujuan_penilaian.xlsx');
|
||||||
|
|
||||||
|
return view('lpj::spk.view');
|
||||||
|
}
|
||||||
|
}
|
||||||
9
app/Models/Spk.php
Normal file
9
app/Models/Spk.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Lpj\Models;
|
||||||
|
|
||||||
|
class Spk extends Base
|
||||||
|
{
|
||||||
|
protected $table = 'arah_mata_angin';
|
||||||
|
protected $fillable = ['name','authorized_at','authorized_status','authorized_by'];
|
||||||
|
}
|
||||||
148
resources/views/spk/index.blade.php
Normal file
148
resources/views/spk/index.blade.php
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
@extends('layouts.main')
|
||||||
|
|
||||||
|
@section('breadcrumbs')
|
||||||
|
{{ Breadcrumbs::render('basicdata.tujuan-penilaian') }}
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="grid">
|
||||||
|
<div class="card card-grid min-w-full" data-datatable="false" data-datatable-page-size="5" data-datatable-state-save="false" id="tujuan-penilaian-table" data-api-url="{{ route('basicdata.tujuan-penilaian.datatables') }}">
|
||||||
|
<div class="card-header py-5 flex-wrap">
|
||||||
|
<h3 class="card-title">
|
||||||
|
SPK Menu
|
||||||
|
</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 Doc SPK" 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('basicdata.tujuan-penilaian.export') }}"> Export to Excel </a>
|
||||||
|
<a class="btn btn-sm btn-primary" href="{{ route('basicdata.tujuan-penilaian.create') }}"> Tambah Tujuan Penilaian </a>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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-[250px]" data-datatable-column="code">
|
||||||
|
<span class="sort"> <span class="sort-label"> No SPK </span>
|
||||||
|
<span class="sort-icon"> </span> </span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[250px]" data-datatable-column="name">
|
||||||
|
<span class="sort"> <span class="sort-label"> Perihal </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>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function deleteData(data) {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Are you sure?',
|
||||||
|
text: "You won't be able to revert this!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes, delete it!'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.ajaxSetup({
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax(`basic-data/tujuan-penilaian/${data}`, {
|
||||||
|
type: 'DELETE'
|
||||||
|
}).then((response) => {
|
||||||
|
swal.fire('Deleted!', 'User has been deleted.', 'success').then(() => {
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error('Error:', error);
|
||||||
|
Swal.fire('Error!', 'An error occurred while deleting the file.', 'error');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="module">
|
||||||
|
const element = document.querySelector('#tujuan-penilaian-table');
|
||||||
|
const searchInput = document.getElementById('search');
|
||||||
|
|
||||||
|
const apiUrl = element.getAttribute('data-api-url');
|
||||||
|
const dataTableOptions = {
|
||||||
|
apiEndpoint: apiUrl,
|
||||||
|
pageSize: 5,
|
||||||
|
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();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
code: {
|
||||||
|
title: 'Code',
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
title: 'Tujuan Penilaian',
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
title: 'Status',
|
||||||
|
render: (item, data) => {
|
||||||
|
return `<div class="flex flex-nowrap justify-center">
|
||||||
|
<a class="btn btn-sm btn-icon btn-clear btn-info" href="basic-data/tujuan-penilaian/${data.id}/edit">
|
||||||
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
|
</a>
|
||||||
|
<a onclick="deleteData(${data.id})" class="delete btn btn-sm btn-icon btn-clear btn-danger">
|
||||||
|
<i class="ki-outline ki-trash"></i>
|
||||||
|
</a>
|
||||||
|
</div>`;
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
let dataTable = new KTDataTable(element, dataTableOptions);
|
||||||
|
// Custom search functionality
|
||||||
|
searchInput.addEventListener('input', function () {
|
||||||
|
const searchValue = this.value.trim();
|
||||||
|
dataTable.search(searchValue, true);
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
|
||||||
232
resources/views/spk/view.blade.php
Normal file
232
resources/views/spk/view.blade.php
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
@extends('layouts.main')
|
||||||
|
|
||||||
|
@section('breadcrumbs')
|
||||||
|
{{ Breadcrumbs::render('basicdata.tujuan-penilaian') }}
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="grid">
|
||||||
|
<div class="card card-grid min-w-full" data-datatable="false" data-datatable-page-size="5" data-datatable-state-save="false" id="tujuan-penilaian-table" data-api-url="{{ route('basicdata.tujuan-penilaian.datatables') }}">
|
||||||
|
<div class="card-header py-5 flex-wrap">
|
||||||
|
<h3 class="card-title">
|
||||||
|
SPK View
|
||||||
|
</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 Tujuan 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('basicdata.tujuan-penilaian.export') }}"> Export to PDF </a> -->
|
||||||
|
<!-- <a class="btn btn-sm btn-light" href="{{ route('basicdata.tujuan-penilaian.export') }}"> Print </a> -->
|
||||||
|
<a class="btn btn-sm btn-light" href="#"> Export to PDF </a>
|
||||||
|
<a class="btn btn-sm btn-light" id="print-button"> Print </a>
|
||||||
|
<!-- <a class="btn btn-sm btn-primary" href="{{ route('basicdata.tujuan-penilaian.create') }}"> Tambah Tujuan Penilaian </a> -->
|
||||||
|
</div>
|
||||||
|
<!--</div> -->
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="scrollable-x-auto">
|
||||||
|
<!-- Disini templatenya masuk bosku <br /><br />
|
||||||
|
<img style="width: 200px;" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ-f_0c9bbRTPZn5qBnsLVRweEE_XizBcHhWg&s" alt=""> -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* @media print {
|
||||||
|
body * {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.print-area, .print-area * {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
<div class="print-area">
|
||||||
|
<table border="2" width="100%">
|
||||||
|
<tr><td><img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ-f_0c9bbRTPZn5qBnsLVRweEE_XizBcHhWg&s" alt="Logo" style=""></td> <td><h1>PT BANK ARTHA GRAHA INTERNASIONAL</h1>
|
||||||
|
<p>Sub Direktorat Appraisal</p>
|
||||||
|
<p>Jl. Kwitang Raya No. 24-26, Jakarta – 10420, Indonesia</p>
|
||||||
|
<p>Telp. (021) 3903040</p></td></tr>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<h2 style="text-decoration: underline;">SURAT PERINTAH KERJA</h2>
|
||||||
|
<p>No. XXX / PJ / JKT / <?php echo date('M'); ?> / FR / <?php echo date('Y'); ?> <data id="date"></data></p>
|
||||||
|
<p>Tanggal: <?php echo date('d F Y'); ?></p>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
<h3>Kepada</h3><br />
|
||||||
|
<p style="color: red;">[Nama KJPP sesuai data persetujuan penawaran]</p>
|
||||||
|
<p style="color: red;">[Alamat KJPP sesuai data persetujuan penawaran]</p><br />
|
||||||
|
|
||||||
|
<h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3><br />
|
||||||
|
<p style="text-align: justify;">Berdasarkan surat penawaran Saudara <span style="color: red;">[No proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> tanggal <span style="color: red;">[Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> atas nama <span style="color: red;">[Nama Debitur sesuai data register]</span>, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini.</p><br />
|
||||||
|
|
||||||
|
<h3>Rincian Penilaian</h3>
|
||||||
|
|
||||||
|
<table border="2" width="100%">
|
||||||
|
<tr><td></td></tr>
|
||||||
|
<tr><td>Tujuan Penilaian</td><td>:</td><td><span style="color: red;">[Tujuan penilaian sesuai data penawaran – modul tender]</span></td></tr>
|
||||||
|
<tr><td>Jenis Laporan</td><td>:</td><td><span style="color: red;">[Modul tender – data penawaran –enis laporan]</span></td></tr>
|
||||||
|
<tr><td>Data Jaminan</td><td>:</td><td><span style="color: red;">[Data Jenis Aset, Lokasi Jaminan dan Legalitas Jaminan sesuai Data Penawaran – Modul Tender]</span></td></tr>
|
||||||
|
<tr><td>Fee / Harga Penilaian</td><td>:</td><td><span style="color: red;">[Biaya Final sesuai Data pemeriksaan persetujuan penawaran]</span></td></tr>
|
||||||
|
<tr><td>Jangka Waktu</td><td>:</td><td></td></tr>
|
||||||
|
<tr><td colspan="2" style="text-align: center;">i</td><td>Resume akan disampaikan dalam <span style="color: red;">[SLA Resume - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak.</td></tr>
|
||||||
|
<tr><td colspan="2" style="text-align: center;">ii</td><td>Laporan penilaian lengkap akan disampaikan dalam <span style="color: red;">[SLA Final - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja sesuai proposal penawaran.</td></tr>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
|
<h3>Dengan ketentuan dalam melaksanakan pekerjaan sebagai berikut:</h3>
|
||||||
|
<table border="0" width="100%">
|
||||||
|
<tr><td>1.</td><td>Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak).</td></tr>
|
||||||
|
<tr><td>2.</td><td>Segala bentuk aktivitas komunikasi lisan atau tertulis antara lain kelengkapan dokumen, imbalan jasa, laporan penilaian dan lainnya baik dari Nasabah atau KJPP harus melalui Bank.
|
||||||
|
</td></tr>
|
||||||
|
<tr><td>3.</td><td>Selanjutnya sebagai tanda persetujuan, setelah saudara tandatangani di atas materai Rp 10.000,- (materai sesuai ketentuan yang berlaku) agar dikembalikan kepada kami selambat-lambatnya 1 (satu) hari kerja setelah tanggal surat ini.
|
||||||
|
</td></tr>
|
||||||
|
<tr><td>4.</td><td>Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami.</td></tr>
|
||||||
|
<tr><td>5.</td><td>Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati.</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<p style="text-align: justify;">Demikian Surat perintah Kerja (SPK) ini dibuat dan berlaku efektif sejak SPK ini ditandatangani, atas perhatian dan kerjasamanya diucapkan terima kasih.</p><br />
|
||||||
|
|
||||||
|
|
||||||
|
<table border="0" width="100%">
|
||||||
|
<tr><td>PT Bank Artha Graha Internasional.<br>
|
||||||
|
Sub Direktorat Appraisal</td><td><span style="color: red;">[Nama KJPP sesuai data persetujuan penawaran]</span></td></tr>
|
||||||
|
<tr><td colspan="2"><br /></td></tr>
|
||||||
|
<tr><td colspan="2"><br /></td></tr>
|
||||||
|
<tr><td colspan="2"><br /></td></tr>
|
||||||
|
<tr><td colspan="2"><br /></td></tr>
|
||||||
|
<tr><td><br /></td><td><img style="width: 100px;" src="assets/media/images/materai.png"></td></tr>
|
||||||
|
<tr><td><span style="color: red;">[otomasi dari nama dan tanda tangan otorisator]</span><br>
|
||||||
|
<span style="color: red;">[otomasi dari jabatan otorisator]</span></td><td>(……………………………………..)</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <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-[250px]" data-datatable-column="code">
|
||||||
|
<span class="sort"> <span class="sort-label"> Code </span>
|
||||||
|
<span class="sort-icon"> </span> </span>
|
||||||
|
</th>
|
||||||
|
<th class="min-w-[250px]" data-datatable-column="name">
|
||||||
|
<span class="sort"> <span class="sort-label"> Tujuan Penilaian </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>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function deleteData(data) {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Are you sure?',
|
||||||
|
text: "You won't be able to revert this!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes, delete it!'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.ajaxSetup({
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax(`basic-data/tujuan-penilaian/${data}`, {
|
||||||
|
type: 'DELETE'
|
||||||
|
}).then((response) => {
|
||||||
|
swal.fire('Deleted!', 'User has been deleted.', 'success').then(() => {
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error('Error:', error);
|
||||||
|
Swal.fire('Error!', 'An error occurred while deleting the file.', 'error');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="module">
|
||||||
|
const element = document.querySelector('#tujuan-penilaian-table');
|
||||||
|
const searchInput = document.getElementById('search');
|
||||||
|
|
||||||
|
const apiUrl = element.getAttribute('data-api-url');
|
||||||
|
const dataTableOptions = {
|
||||||
|
apiEndpoint: apiUrl,
|
||||||
|
pageSize: 5,
|
||||||
|
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();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
code: {
|
||||||
|
title: 'Code',
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
title: 'Tujuan Penilaian',
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
title: 'Status',
|
||||||
|
render: (item, data) => {
|
||||||
|
return `<div class="flex flex-nowrap justify-center">
|
||||||
|
<a class="btn btn-sm btn-icon btn-clear btn-info" href="basic-data/tujuan-penilaian/${data.id}/edit">
|
||||||
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
|
</a>
|
||||||
|
<a onclick="deleteData(${data.id})" class="delete btn btn-sm btn-icon btn-clear btn-danger">
|
||||||
|
<i class="ki-outline ki-trash"></i>
|
||||||
|
</a>
|
||||||
|
</div>`;
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
document.getElementById('print-button').addEventListener('click', function() {
|
||||||
|
window.print();
|
||||||
|
});
|
||||||
|
|
||||||
|
let dataTable = new KTDataTable(element, dataTableOptions);
|
||||||
|
// Custom search functionality
|
||||||
|
searchInput.addEventListener('input', function () {
|
||||||
|
const searchValue = this.value.trim();
|
||||||
|
dataTable.search(searchValue, true);
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
|
||||||
@@ -27,6 +27,7 @@ use Modules\Lpj\Http\Controllers\TeamsController;
|
|||||||
use Modules\Lpj\Http\Controllers\TenderController;
|
use Modules\Lpj\Http\Controllers\TenderController;
|
||||||
use Modules\Lpj\Http\Controllers\TujuanPenilaianController;
|
use Modules\Lpj\Http\Controllers\TujuanPenilaianController;
|
||||||
use Modules\Lpj\Http\Controllers\TujuanPenilaianKJPPController;
|
use Modules\Lpj\Http\Controllers\TujuanPenilaianKJPPController;
|
||||||
|
use Modules\Lpj\Http\Controllers\SpkController;
|
||||||
// use Modules\Lpj\Http\Controllers\ActivityController;
|
// use Modules\Lpj\Http\Controllers\ActivityController;
|
||||||
use Modules\Lpj\Http\Controllers\SurveyorController;
|
use Modules\Lpj\Http\Controllers\SurveyorController;
|
||||||
|
|
||||||
@@ -397,6 +398,20 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::get('export', [PermohonanController::class, 'export'])->name('export');
|
Route::get('export', [PermohonanController::class, 'export'])->name('export');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::name('spk.')->prefix('spk')->group(function () {
|
||||||
|
// Route::get('download', [PermohonanController::class, 'createPermohonan'])->name('create.debitur');
|
||||||
|
Route::get('view', [SpkController::class, 'viewSpk'])->name('spk.view');
|
||||||
|
// 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('spk', SpkController::class);
|
||||||
|
|
||||||
|
Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index');
|
||||||
|
|
||||||
Route::resource('permohonan', PermohonanController::class);
|
Route::resource('permohonan', PermohonanController::class);
|
||||||
|
|
||||||
Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index');
|
Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index');
|
||||||
|
|||||||
Reference in New Issue
Block a user