From 2cfe8a466b92944ac5f2b43fe7ea09ffe8a242ff Mon Sep 17 00:00:00 2001 From: Nisse Lommerde Date: Tue, 11 Feb 2025 22:11:53 -0500 Subject: [PATCH] WIP #98 Product Services Sum / Totals --- .../Admin/Resources/ServiceTypeResource.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/Filament/Admin/Resources/ServiceTypeResource.php b/app/Filament/Admin/Resources/ServiceTypeResource.php index 34cfb3d..0257b84 100644 --- a/app/Filament/Admin/Resources/ServiceTypeResource.php +++ b/app/Filament/Admin/Resources/ServiceTypeResource.php @@ -9,6 +9,7 @@ use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; +use Filament\Tables\Columns\Summarizers\Sum; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Model; @@ -49,35 +50,37 @@ public static function table(Table $table): Table ->label('Long Name') ->extraHeaderAttributes(['class' => 'w-full']), - Tables\Columns\TextColumn::make('quantity') + Tables\Columns\TextColumn::make('productServices.amount') ->alignRight() ->getStateUsing(function (Table $table, Model $record) { return $record->getQuantityAttribute( $table->getFilter('created_at')->getState()['created_at'], $table->getFilter('created_until')->getState()['created_until'] ); - }), + }) + ->summarize(Sum::make('amount')->label('')), - Tables\Columns\TextColumn::make('amount') + Tables\Columns\TextColumn::make('productServices.amount_price') ->alignRight() + ->money() ->getStateUsing(function (Table $table, Model $record) { return $record->getAmountAttribute( $table->getFilter('created_at')->getState()['created_at'], $table->getFilter('created_until')->getState()['created_until'] ); }) - ->money('usd'), + ->summarize(Sum::make('amount_price')->label('')->money()), Tables\Columns\TextColumn::make('salesPercentage') ->alignRight() + ->suffix('%') + ->label('% sales') ->getStateUsing(function (Table $table, Model $record) { return $record->getSalesPercentageAttribute( $table->getFilter('created_at')->getState()['created_at'], $table->getFilter('created_until')->getState()['created_until'] ); - }) - ->suffix('%') - ->label('% sales'), + }), Tables\Columns\TextColumn::make('averagePrice') ->getStateUsing(function (Table $table, Model $record) {