with(['ViewCustomer']); return (new EloquentDataTable($query)) ->filter(function ($query) { if (request()->has('search')) { $search = request()->get('search'); $dataSearch = explode(',', $search['value']); //dd(int)$dataSearch[1]); $query->where(function($query) use ($dataSearch){ if($dataSearch[0] != "" && $dataSearch[1] == "" && $dataSearch[2] == ""){ $query->where('CUSTOMER_CODE', $dataSearch[0]); } else if($dataSearch[0] != "" && $dataSearch[1] != "" && $dataSearch[2] == ""){ $query->where('CUSTOMER_CODE', $dataSearch[0]); $query->Where('BRANCH_CODE', $dataSearch[1]); }else if($dataSearch[0] != "" && $dataSearch[1] != "" && $dataSearch[2] != ""){ $query->where('CUSTOMER_CODE', $dataSearch[0]); $query->Where('BRANCH_CODE', $dataSearch[1]); $query->Where('OPENING_DATE', 'like', "%" . $dataSearch[2] . "%"); } }); } if(request()->has('kodecabang')){ if(request()->get('kodecabang') != null){ $query->where('BRANCH_CODE', '>=', request()->get('kodecabang')); } } if(request()->has('periode')){ if(request()->get('periode') != null){ $query->where('OPENING_DATE', 'like', "%" . Carbon::parse(request()->get('periode'))->format('Y-m-d') . "%" ); } } }) ->addColumn('customer_code', function ($model) { return $model->customer_code; }) ->addColumn('account_number', function ($model) { return $model->account_number; }) ->addColumn('account_name', function ($model) { return $model->account_name; }) ->addColumn('branch_code', function ($model) { return $model->branch_code; }) ->addColumn('currency_code', function ($model) { return $model->currency_code; // $dt = Carbon::create($model->tanggal_upload); // return $dt->isoFormat('D MMMM Y H:mm:ss'); }) ->addColumn('periode', function ($model) { $dt = Carbon::create($model->opening_date); return $dt->isoFormat('D MMMM Y'); }) ->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(ViewCustomer $model) : QueryBuilder { return $model->newQuery(); } /** * 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('customer_code')->title('NO CIF')->addClass('text-center'), Column::make('account_number')->title('No Account')->addClass('text-center'), Column::make('account_name')->title('Nama Account')->addClass('text-center'), Column::make('branch_code')->title('Kode Cabang')->addClass('text-center'), Column::make('currency_code')->title('Mata Uang')->addClass('text-center'), Column::make('opening_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'); } }