filter(callback: function ($query) { if (request()->has('search')) { $search = request()->get('search'); $query->where('nomor_pinjaman', 'like', "%" . $search['value'] . "%") ->orWhere('kode_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('nama_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('kode_cabang', 'like', "%" . $search['value'] . "%") ->orWhere('nama_cabang', 'like', "%" . $search['value'] . "%") ->orWhere('nomor_rekening', 'like', "%" . $search['value'] . "%") ->orWhere('nama_rekening', 'like', "%" . $search['value'] . "%") ->orWhere('plafond', 'like', "%" . $search['value'] . "%") ->orWhere('tenor', 'like', "%" . $search['value'] . "%") ->orWhere('tanggal_pengajuan_klaim', 'like', "%" . $search['value'] . "%") ->orWhere('piutang_subrogasi', 'like', "%" . $search['value'] . "%") ->orWhere('total_bayar_subrogasi', 'like', "%" . $search['value'] . "%") ->orWhere('sisa_piutang_subrogasi', 'like', "%" . $search['value'] . "%") ->orWhere('keterangan', 'like', "%" . $search['value'] . "%") ->orWhere('status', 'like', "%" . $search['value'] . "%"); } })->addIndexColumn()->editColumn('tanggal_pengajuan_klaim', function ($row) { $date = Carbon::create($row->tanggal_pengajuan_klaim); return $date->locale('id')->translatedFormat('d F Y'); })->editColumn('plafond', function ($row) { return Number::currency($row->plafond,'IDR','id_ID'); })->editColumn('piutang_subrogasi', function ($row) { return Number::currency($row->piutang_subrogasi,'IDR','id_ID'); })->editColumn('sisa_piutang_subrogasi', function ($row) { return Number::currency($row->sisa_piutang_subrogasi,'IDR','id_ID'); })->editColumn('is_lunas_subrogasi', function ($row) { return $row->is_lunas_subrogasi ? 'Lunas' : 'Belum Lunas'; })->editColumn('updated_at', function ($row) { return $row->updated_at->locale('id')->translatedFormat('d F Y H:i:s'); })->rawColumns(['action'])->addColumn('action', function ($subrogasi_jamkrindo) { return view('writeoff::pencatatan.subrogasi_jamkrindo._actions', compact('subrogasi_jamkrindo')); })->setRowId('id'); } /** * Get the query source of dataTable. */ public function query(SubrogasiJamkrindo $model) : QueryBuilder { return $model->newQuery(); } /** * Optional method if you want to use the html builder. */ public function html() : HtmlBuilder { return $this->builder() ->setTableId('subrogasi-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/subrogasi_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('nomor_pinjaman')->title('Nomor Pinjaman'), Column::make('kode_debitur')->title('Kode Debitur'), Column::make('kode_cabang')->title('Kode Cabang'), Column::make('plafond')->title('Plafond'), Column::make('tenor')->title('Tenor'), Column::make('tanggal_pengajuan_klaim')->title('Tanggal Pengajuan Subrogasi'), Column::make('piutang_subrogasi')->title('Piutang Subrogasi'), Column::make('sisa_piutang_subrogasi')->title('Sisa Piurang Subrogasi'), Column::make('is_lunas_subrogasi')->title('Lunas'), Column::computed('action') ->exportable(false) ->printable(false) ->width(60) ->addClass('text-center') ]; } /** * Get the filename for export. */ protected function filename() : string { return 'SubrogasiJamkrindo_' . date('YmdHis'); } }