eloquent($query) ->addColumn('total_amount', function ($data) { return format_currency($data->total_amount); }) ->addColumn('paid_amount', function ($data) { return format_currency($data->paid_amount); }) ->addColumn('due_amount', function ($data) { return format_currency($data->due_amount); }) ->addColumn('status', function ($data) { return view('salesreturn::partials.status', compact('data')); }) ->addColumn('payment_status', function ($data) { return view('salesreturn::partials.payment-status', compact('data')); }) ->addColumn('action', function ($data) { return view('salesreturn::partials.actions', compact('data')); }); } public function query(SaleReturn $model) { return $model->newQuery(); } public function html() { return $this->builder() ->setTableId('sale-returns-table') ->columns($this->getColumns()) ->minifiedAjax() ->dom("<'row'<'col-md-3'l><'col-md-5 mb-2'B><'col-md-4'f>> . 'tr' . <'row'<'col-md-5'i><'col-md-7 mt-2'p>>") ->orderBy(8) ->buttons( Button::make('excel') ->text(' Excel'), Button::make('print') ->text(' Print'), Button::make('reset') ->text(' Reset'), Button::make('reload') ->text(' Reload') ); } protected function getColumns() { return [ Column::make('reference') ->className('text-center align-middle'), Column::make('customer_name') ->title('Customer') ->className('text-center align-middle'), Column::computed('status') ->className('text-center align-middle'), Column::computed('total_amount') ->className('text-center align-middle'), Column::computed('paid_amount') ->className('text-center align-middle'), Column::computed('due_amount') ->className('text-center align-middle'), Column::computed('payment_status') ->className('text-center align-middle'), Column::computed('action') ->exportable(false) ->printable(false) ->className('text-center align-middle'), Column::make('created_at') ->visible(false) ]; } protected function filename() { return 'SaleReturns_' . date('YmdHis'); } }