202508150935

包廂記錄加入搜索 分店,包廂類別,包廂名稱
歌曲查詢加入搜索 歌手,情境
This commit is contained in:
allen.yan 2025-08-15 09:39:18 +08:00
parent 993a965878
commit 9e61020ca4
5 changed files with 50 additions and 4 deletions

View File

@ -2,7 +2,9 @@
namespace App\Livewire\Tables;
use App\Models\Branch;
use App\Models\RoomStatusLog;
use App\Enums\RoomType;
use Illuminate\Support\Carbon;
use Illuminate\Database\Eloquent\Builder;
use PowerComponents\LivewirePowerGrid\Button;
@ -42,6 +44,7 @@ final class RoomStatusLogTable extends PowerGridComponent
public function relationSearch(): array
{
dd('in');
return [
'branch' => ['name'],
'room' => ['name'],
@ -56,8 +59,11 @@ final class RoomStatusLogTable extends PowerGridComponent
->add('branch_name', function (RoomStatusLog $model) {
return $model->branch?->name;
})
->add('room_type', function (RoomStatusLog $model) {
return $model->room?->type->labelPowergridFilter();
})
->add('room_name', function (RoomStatusLog $model) {
return $model->room?->type->labelPowergridFilter().$model->room?->name;
return $model->room?->name;
})
->add('user_name', function (RoomStatusLog $model){
return $model->user?->name;
@ -83,7 +89,8 @@ final class RoomStatusLogTable extends PowerGridComponent
$column=[];
$column[]=Column::make(__('room-status-log.id'), 'id');
$column[]=Column::make(__('room-status-log.branch'), 'branch_name');
$column[]=Column::make(__('room-status-log.room'), 'room_name');
$column[]=Column::make(__('room-status-log.room_type'), 'room_type');
$column[]=Column::make(__('room-status-log.room_name'), 'room_name');
$column[]=Column::make(__('room-status-log.user'), 'user_name');
$column[]=Column::make(__('room-status-log.is_online'), 'is_online_img')->template();
$column[]=Column::make(__('room-status-log.status'), 'status_str');
@ -108,8 +115,21 @@ final class RoomStatusLogTable extends PowerGridComponent
public function filters(): array
{
$branches = Branch::query()->orderBy('name')->get()->map(fn($branch) => (object)[
'value' => $branch->id,
'label' => $branch->name,
]);
//dd($branches);
return [
Filter::enumSelect('branch_name','branch_id')
->datasource($branches)
->optionLabel('label'),
Filter::inputText('room_type')
->placeholder('輸入"pc","svr"')
->filterRelation('room','type'),
Filter::inputText('room_name')
->placeholder('輸入包廂名稱')
->filterRelation('room','name')
];
}
}

View File

@ -183,9 +183,15 @@ final class SongTable extends PowerGridComponent
Filter::number('strokes_abbr'),
Filter::inputText('filename')->placeholder(__('songs.filename')),
Filter::datepicker('adddate'),
Filter::inputText('song_artists')->placeholder(__('songs.artists'))
->filterRelation('artists','name'),
Filter::enumSelect('language_type_str','songs.language_type')
->datasource(SongLanguageType::cases())
->optionLabel('songs.language_type'),
Filter::enumSelect('situation_str','songs.situation')
->datasource(SongSituation::cases())
->optionLabel('songs.situation')
->filterRelation('songs','situation'),
Filter::inputText('copyright01')->placeholder(__('songs.copyright01')),
Filter::inputText('copyright02')->placeholder(__('songs.copyright02')),
Filter::inputText('note01')->placeholder(__('songs.note01')),

View File

@ -85,6 +85,9 @@ class Room extends Model
public function branch() {
return $this->belongsTo(Branch::class);
}
public function full_name(){
return $this->type->labelPowergridFilter().$this->name;
}
public function statusLogs() {
return $this->hasMany(RoomStatusLog::class);

View File

@ -6,6 +6,8 @@ return [
'id' => '編號',
'branch' => '分店',
'room' => '包廂',
'room_type' => '包廂類別',
'room_name' => '包廂名稱',
'user' => '操成者',
'is_online' => '在線?',
'status' => '狀態',

View File

@ -153,4 +153,19 @@ IP
1F;svr01,svr02
1F;pc101,pc102,pc103,pc104,pc105,pc106,pc108
2F;pc201,pc202,pc203,pc205
9F;pc901,pc902,pc903,pc910
9F;pc901,pc902,pc903,pc910
php artisan db:seed --class=SongCategorySeeder
php artisan db:seed --class=TextAdPermissionSeeder
php artisan db:seed --class=FavoriteSongsSeeder
php artisan db:seed --class=TextAdSeeder
php artisan db:seed --class=BroadcastTemplateSeeder
測試1
測試2
測試3
https://ctl.ktv.test/
1樓;pc101,pc102,pc103,pc104,pc105,pc106,pc107,pc108,pc109,pc110
2樓;pc201,pc202,pc203,pc204,pc205,pc206,pc207,pc208,pc209,pc210
3樓;pc301,pc302,pc303,pc304,pc305,pc306,pc307,pc308,pc309,pc310
4樓;pc401,pc402,pc403,pc404,pc405,pc406,pc407,pc408,pc409,pc410