with(['ViewCustomer']); return (new EloquentDataTable($query)) ->filter(function ($query) { if (request()->has('search')) { $search = request()->get('search'); $dataSearch = explode(',', $search['value']); $query->where(function($query) use ($dataSearch){ if($dataSearch[0] != "" && $dataSearch[1] == "" && $dataSearch[2] == ""){ $query->where('CUSTOMER_NO', $dataSearch[0]); } else if($dataSearch[0] != "" && $dataSearch[1] != "" && $dataSearch[2] == ""){ $query->where('CUSTOMER_NO', $dataSearch[0]); $query->where('COMPANY_NAME', 'LIKE', "%" . $dataSearch[1] . "%"); }else if($dataSearch[0] != "" && $dataSearch[1] != "" && $dataSearch[2] != ""){ $query->where('CUSTOMER_NO', $dataSearch[0]); $query->Where('COMPANY_NAME', 'LIKE', "%" . $dataSearch[1] . "%"); $query->where('BATCH_DATE', 'like', "%" . Carbon::parse($dataSearch[2])->format('m'). "%" ); } }); } }) ->addColumn('account_number', function ($model) { return $model->ACCOUNT_NUMBER; }) ->addColumn('co_code', function ($model) { return $model->COMPANY_NAME; }) ->addColumn('product', function ($model) { return $model->PRODUCT; }) ->addColumn('currency', function ($model) { return $model->CURRENCY; }) ->addColumn('working_balance', function ($model) { return $model->WORKING_BALANCE; }) ->addColumn('batch_date', function ($model) { return $model->BATCH_DATE; }) // ->addColumn('', function ($model) { // $dt = Carbon::create($model->BATCH_DATE); // return $dt->isoFormat('DD/MM/YYYY'); // }) ->addColumn('status', function ($model) { return 'Approved'; // if ($model->status == 1) { // return 'Approved'; // } else if ($model->status == 0) { // return 'Menunggu Approval'; // } else if ($model->status == 3) { // return 'Rejected'; // } else if ($model->status == 4) { // return 'Approved Request Download'; // } else if ($model->status == 5) { // return 'Approved Download Approved'; // } else if ($model->status == 6) { // return 'Approved Request Delete'; // } else if ($model->status == 7) { // return 'Approved Request Delete'; // } else if ($model->status == 8) { // return 'Deleted'; // } else if ($model->status == 9) { // return 'Approved Request Non-Aktif'; // } }) ->addIndexColumn() ->rawColumns(['status', 'action']) ->addColumn('action', 'konfirmasibank::._action') ->setRowId('id'); } /** * Get the query source of dataTable. */ public function query(ViewAccount $model) : QueryBuilder { $currentYear = Carbon::now()->format('Y'); return $model->newQuery()->where('BATCH_DATE', 'like', "%" . $currentYear. "%"); } /** * Optional method if you want to use the html builder. */ public function html() : HtmlBuilder { return $this->builder() ->setTableId('konfirmasibank-table') ->columns($this->getColumns()) ->minifiedAjax() ->stateSave(false) ->responsive() ->autoWidth(true) ->orderBy(1) ->parameters([ 'scrollX' => true, 'drawCallback' => 'function() { KTMenu.createInstances(); }', ]) ->addTableClass('align-middle table-row-dashed fs-6 gy-5'); } /** * Get the dataTable columns definition. */ public function getColumns() : array { return [ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false)->addClass('text-center'), Column::make('account_number')->title('NO Rekening')->addClass('text-center'), Column::make('co_code')->title('Cabang')->addClass('text-center'), Column::make('product')->title('Jenis Rekening')->addClass('text-center'), Column::make('currency')->title('Mata uang')->addClass('text-center'), Column::make('working_balance')->title('Saldo')->addClass('text-center'), Column::make('batch_date')->title('Periode')->addClass('text-center'), // Column::computed('status'), Column::computed('action') ->exportable(false) ->printable(false) ->addClass('text-center'), ]; } /** * Get the filename for export. */ protected function filename() : string { return 'Document_' . date('YmdHis'); } }