Files
hqland-app/app/Filament/Resources/SalesPhases/Tables/SalesPhasesTable.php

75 lines
2.5 KiB
PHP

<?php
namespace App\Filament\Resources\SalesPhases\Tables;
use Filament\Tables;
use Filament\Tables\Table;
class SalesPhasesTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('name')
->label('Tên đợt')
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('code')
->label('Mã đợt')
->searchable()
->copyable(),
Tables\Columns\TextColumn::make('project.name')
->label('Dự án')
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('start_date')
->label('Bắt đầu')
->date('d/m/Y')
->sortable(),
Tables\Columns\TextColumn::make('end_date')
->label('Kết thúc')
->date('d/m/Y')
->placeholder('Không giới hạn'),
Tables\Columns\TextColumn::make('status')
->label('Trạng thái')
->badge()
->color(fn (string $state): string => match ($state) {
'Đang mở bán' => 'success',
'Chuẩn bị' => 'warning',
'Tạm dừng' => 'danger',
'Đã đóng' => 'gray',
default => 'gray',
}),
Tables\Columns\TextColumn::make('products_count')
->label('Số SP')
->counts('products'),
Tables\Columns\TextColumn::make('paymentTemplate.name')
->label('Mẫu TT')
->placeholder('Chưa chọn'),
])
->filters([
Tables\Filters\SelectFilter::make('project_id')
->label('Dự án')
->relationship('project', 'name'),
Tables\Filters\SelectFilter::make('status')
->label('Trạng thái')
->options([
'Chuẩn bị' => 'Chuẩn bị',
'Đang mở bán' => 'Đang mở bán',
'Tạm dừng' => 'Tạm dừng',
'Đã đóng' => 'Đã đóng',
]),
])
->defaultSort('start_date', 'desc');
}
}