filter(callback: function ($query) { if (request()->has('search')) { $search = request()->get('search'); $query->where('tanggal_rtgs_masuk', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_debitur_surat', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_debitur_excel', 'like', "%" . $search['value'] . "%") ->orWhere('dana_hasil_klaim', 'like', "%" . $search['value'] . "%") ->orWhere('nilai_penyelesaian', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_debitur_penyelesaian', 'like', "%" . $search['value'] . "%") ->orWhere('sisa_dana_ksl', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_debitur_sisa_ksl', 'like', "%" . $search['value'] . "%") ->orWhere('is_detail_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('keterangan', 'like', "%" . $search['value'] . "%") ->orWhere('status', 'like', "%" . $search['value'] . "%"); } })->addIndexColumn() ->editColumn('tanggal_rtgs_masuk', function ($row) { $date = Carbon::create($row->tanggal_rtgs_masuk); return $date->locale('id')->translatedFormat('d F Y'); }) ->editColumn('jumlah_debitur', function ($row) { return $row->jumlah_debitur_surat.'/'.$row->jumlah_debitur_excel; }) ->editColumn('dana_hasil_klaim', function ($row) { return @rupiah($row->dana_hasil_klaim); }) ->editColumn('nilai_penyelesaian', function ($row) { return @rupiah($row->nilai_penyelesaian).' / '.$row->jumlah_debitur_penyelesaian; }) ->editColumn('sisa_dana_ksl', function ($row) { return @rupiah($row->sisa_dana_ksl).' / '.$row->jumlah_debitur_sis_ksl; }) ->editColumn('is_detail_debitur', function ($row) { return $row->is_detail_debitur ? 'Ada' : 'Tidak Ada'; }) ->editColumn('updated_at', function ($row) { return $row->updated_at->locale('id')->translatedFormat('d F Y H:i:s'); })->rawColumns(['action'])->addColumn('action', function ($klaim_jamkrindo) { return view('writeoff::parameter.klaim_jamkrindo._actions', compact('klaim_jamkrindo')); })->setRowId('id'); } /** * Get the query source of dataTable. */ public function query(KlaimJamkrindo $model) : QueryBuilder { return $model->newQuery(); } /** * Optional method if you want to use the html builder. */ public function html() : HtmlBuilder { return $this->builder() ->setTableId('klaim-jamkrindo-table') ->columns($this->getColumns()) ->minifiedAjax() ->stateSave(false) ->responsive() ->autoWidth(true) ->orderBy(1) ->parameters([ 'scrollX' => false, 'drawCallback' => 'function() { KTMenu.createInstances(); }', ]) ->addTableClass('align-middle table-row-dashed fs-6 gy-5') ->drawCallback("function() {" . file_get_contents(Module::getModulePath('writeoff') . 'Resources/views/pencatatan/klaim_jamkrindo/_draw-scripts.js') . "}"); } /** * Get the dataTable columns definition. */ public function getColumns() : array { return [ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), Column::make('tanggal_rtgs_masuk')->title('Tanggal RTGS Masuk')->addClass('align-top'), Column::make('jumlah_debitur')->title('Jumlah Debitur
(Surat / Excel)')->addClass('align-top'), Column::make('dana_hasil_klaim')->title('Data Hasil Klaim')->addClass('align-top'), Column::make('nilai_penyelesaian')->title('Nilai Penyelesaian / Jumlah Debitur')->addClass('align-top'), Column::make('sisa_dana_ksl')->title('Sisa Dana KSL / Jumlah Debitur')->addClass('align-top'), Column::make('is_detail_debitur')->title('Detail Debitur')->addClass('align-top'), Column::computed('action')->exportable(false)->printable(false)->width(60)->addClass('text-center')->addClass('align-top') ]; } /** * Get the filename for export. */ protected function filename() : string { return 'KlaimJamkrindo_' . date('YmdHis'); } }