Merge branch 'staging' into feature/senior-officer
This commit is contained in:
@@ -604,7 +604,19 @@ class PenilaianController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Ambil data dengan relasi
|
// Ambil data dengan relasi
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'approveSo', 'approveEo', 'approveDd'])->get();
|
$data = $query->with([
|
||||||
|
'user',
|
||||||
|
'debiture',
|
||||||
|
'branch',
|
||||||
|
'tujuanPenilaian',
|
||||||
|
'penilaian.userPenilai' => function ($q) {
|
||||||
|
$q->where('role', 'penilai')->with(['user', 'team.regions'])->first();
|
||||||
|
},
|
||||||
|
'approveSo',
|
||||||
|
'approveEo',
|
||||||
|
'approveDd'
|
||||||
|
])->get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Hitung jumlah halaman
|
// Hitung jumlah halaman
|
||||||
@@ -747,5 +759,4 @@ class PenilaianController extends Controller
|
|||||||
'message' => 'Berhasil Revisi Laporan penilai',
|
'message' => 'Berhasil Revisi Laporan penilai',
|
||||||
], 200);
|
], 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,19 @@ class PenilaianTeam extends Model
|
|||||||
return $this->belongsTo(User::class, 'user_id', 'id');
|
return $this->belongsTo(User::class, 'user_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function team(){
|
public function team()
|
||||||
|
{
|
||||||
|
|
||||||
return $this->belongsTo(Teams::class, 'team_id', 'id');
|
return $this->belongsTo(Teams::class, 'team_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function penilaian(){
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(User::class, 'user_id', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function penilaian()
|
||||||
|
{
|
||||||
|
|
||||||
return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id');
|
return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,6 +100,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th class="min-w-[100px]">Nama Debitur</th>
|
<th class="min-w-[100px]">Nama Debitur</th>
|
||||||
<th class="min-w-[100px]">Tujuan Penilaian</th>
|
<th class="min-w-[100px]">Tujuan Penilaian</th>
|
||||||
|
<th class="min-w-[100px]">Status Bayar</th>
|
||||||
<th class="min-w-[100px]">Jenis Asset</th>
|
<th class="min-w-[100px]">Jenis Asset</th>
|
||||||
<th class="min-w-[100px]">Jenis Report</th>
|
<th class="min-w-[100px]">Jenis Report</th>
|
||||||
<th class="min-w-[100px]">Tgl Register</th>
|
<th class="min-w-[100px]">Tgl Register</th>
|
||||||
@@ -178,6 +179,18 @@
|
|||||||
return `${data.permohonan.tujuan_penilaian?.name || ''}`;
|
return `${data.permohonan.tujuan_penilaian?.name || ''}`;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
status_bayar: {
|
||||||
|
title: 'Status Bayar',
|
||||||
|
render: (item, data) => {
|
||||||
|
const status = data.permohonan.status_bayar.replace(/_/g,
|
||||||
|
' ');
|
||||||
|
const statusClass = data.permohonan.status_bayar === 'belum_bayar' ? 'text-red-600' :
|
||||||
|
'text-green-600';
|
||||||
|
return `<span class="badge badge-sm badge-default font-bold ${statusClass} uppercase">
|
||||||
|
${status}
|
||||||
|
</span>`;
|
||||||
|
},
|
||||||
|
},
|
||||||
jenis_asset: {
|
jenis_asset: {
|
||||||
title: 'Jenis Asset',
|
title: 'Jenis Asset',
|
||||||
render: (item, data) =>
|
render: (item, data) =>
|
||||||
@@ -208,7 +221,7 @@
|
|||||||
progress: {
|
progress: {
|
||||||
title: 'Progress',
|
title: 'Progress',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
return `<span class="badge badge-xs badge-default uppercase flex justify-center ">${data.permohonan.status}</span>`;
|
return `<span class="badge badge-sm badge-default uppercase flex justify-center ">${data.permohonan.status}</span>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// tanggal kunjungan h+2 jika plafon di
|
// tanggal kunjungan h+2 jika plafon di
|
||||||
|
|||||||
@@ -67,15 +67,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Nilai NJOP:
|
|
||||||
</h3>
|
|
||||||
<span class="text-md font-bold uppercase">
|
|
||||||
{{ formatRupiah($permohonan->niilai_njop) }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
@section('content')
|
@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">
|
||||||
<div class="card border border-agi-100 pb-2.5">
|
<div class="card border border-agi-100 pb-2.5">
|
||||||
<div class=" card-grid min-w-full" data-datatable="false" data-datatable-page-size="10"
|
<div class="min-w-full card-grid" data-datatable="false" data-datatable-page-size="10"
|
||||||
data-datatable-state-save="false" id="permohonan-table"
|
data-datatable-state-save="false" id="permohonan-table"
|
||||||
data-api-url="{{ route('otorisator.datatables', ['otorisator' => $header]) }}">
|
data-api-url="{{ route('otorisator.datatables', ['otorisator' => $header]) }}">
|
||||||
<div class="card-header bg-agi-50 py-5 flex-wrap">
|
<div class="flex-wrap py-5 card-header bg-agi-50">
|
||||||
<h3 class="card-title">
|
<h3 class="card-title">
|
||||||
Daftar {{ $header }}
|
Daftar {{ $header }}
|
||||||
</h3>
|
</h3>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="scrollable-x-auto">
|
<div class="scrollable-x-auto">
|
||||||
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm"
|
<table class="table text-sm font-medium text-gray-700 align-middle table-auto table-border"
|
||||||
data-datatable-table="true">
|
data-datatable-table="true">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -61,6 +61,11 @@
|
|||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
|
<th class="min-w-[150px]" data-datatable-column="penilai">
|
||||||
|
<span class="sort"> <span class="sort-label"> Penilai </span>
|
||||||
|
<span class="sort-icon"> </span> </span>
|
||||||
|
</th>
|
||||||
|
|
||||||
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
|
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
|
||||||
<span class="sort"> <span class="sort-label"> Status Bayar </span>
|
<span class="sort"> <span class="sort-label"> Status Bayar </span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
@@ -87,10 +92,10 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
|
class="flex-col justify-center gap-3 font-medium text-gray-600 card-footer md:justify-between md:flex-row text-2sm">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
Show
|
Show
|
||||||
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
|
<select class="w-16 select select-sm" data-datatable-size="true" name="perpage"> </select> per
|
||||||
page
|
page
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
@@ -195,6 +200,17 @@
|
|||||||
return `${data.tujuan_penilaian.name}`;
|
return `${data.tujuan_penilaian.name}`;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
penilai: {
|
||||||
|
title: 'Penilai',
|
||||||
|
render: (item, data) => {
|
||||||
|
if(data.penilaian.user_penilai[0]){
|
||||||
|
console.log(data.penilaian.user_penilai[0]);
|
||||||
|
return `${data.penilaian.user_penilai[0].user.name} | ${data.penilaian.user_penilai[0].team.name} | ${data.penilaian.user_penilai[0].team.regions.name}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
},
|
||||||
status_bayar: {
|
status_bayar: {
|
||||||
title: 'Status Bayar',
|
title: 'Status Bayar',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
@@ -241,7 +257,7 @@
|
|||||||
const isAdmin = userRoles.includes('administrator');
|
const isAdmin = userRoles.includes('administrator');
|
||||||
|
|
||||||
let buttons = `
|
let buttons = `
|
||||||
<div class="flex flex-nowrap justify-center">
|
<div class="flex justify-center flex-nowrap">
|
||||||
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="otorisator/show/${data.id}/${dataHeader}">
|
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="otorisator/show/${data.id}/${dataHeader}">
|
||||||
<i class="ki-outline ki-eye"></i>
|
<i class="ki-outline ki-eye"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -89,15 +89,6 @@
|
|||||||
: {{ $permohonan->nilaiPlafond->name }}
|
: {{ $permohonan->nilaiPlafond->name }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-5 grid grid-cols-2">
|
|
||||||
<h3 class="text-md text-gray-900">
|
|
||||||
Nilai NJOP
|
|
||||||
</h3>
|
|
||||||
<span class="text-md font-medium text-gray-900">
|
|
||||||
: {{ $permohonan->nilai_njop }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -66,15 +66,6 @@
|
|||||||
{{ str_replace('_',' ',$permohonan->status_bayar) }}
|
{{ str_replace('_',' ',$permohonan->status_bayar) }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-5">
|
|
||||||
<h3 class="text-md font-medium text-gray-900">
|
|
||||||
Nilai NJOP:
|
|
||||||
</h3>
|
|
||||||
<span class="text-md font-bold uppercase">
|
|
||||||
{{ formatRupiah($permohonan->niilai_njop) }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user