diff --git a/app/Admin/Controllers/ActivityController.php b/app/Admin/Controllers/ActivityController.php index 9194cf3..26a1319 100644 --- a/app/Admin/Controllers/ActivityController.php +++ b/app/Admin/Controllers/ActivityController.php @@ -68,6 +68,23 @@ class ActivityController extends AdminController $this->rowShowTypeButton('drawer', 'xl'),//活动详情 $this->rowEditTypeButton('drawer', 'lg'), $this->rowDeleteButton()->visibleOn('${state === 0}'), + amisMake()->DialogAction()->label('排行榜')->icon('fa-regular fa-chart-bar')->level('link') + ->dialog(Dialog::make()->title('排行榜')->body([ + amisMake()->CRUDTable()->affixHeader()->columnsTogglable(false) + ->perPage(999)->loadDataOnce(true) + ->headerToolbar([]) + ->title('') + ->api(admin_url('user_activities?_action=getData&activity=${id}&perPage=999')) + ->columns([ + amis()->TableColumn('${index +1}', '排名'), + amis()->TableColumn('user.nick_name', __('admin.users.nick_name')), + amis()->TableColumn('user.avatar', __('admin.users.avatar'))->type('image')->height('30px')->width('30px'), + amis()->TableColumn('join_times', __('admin.user_activities.join_times')), + amis()->TableColumn('right_times', __('admin.user_activities.right_times')), + amis()->TableColumn('mark', __('admin.user_activities.mark')), + amis()->TableColumn('last_join_at', __('admin.user_activities.last_join_at')), + ]) + ])->size('lg'))->visibleOn('${state != 0}'), //结算活动(参与时间结束后,且最后一场竞猜结束,点击结算则发送奖品) amisMake()->AjaxAction()->label('结算')->icon('fa-regular fa-hand-point-up')->level('link') ->actionType('ajax') diff --git a/app/Admin/Controllers/UserActivityController.php b/app/Admin/Controllers/UserActivityController.php new file mode 100644 index 0000000..8fb34e9 --- /dev/null +++ b/app/Admin/Controllers/UserActivityController.php @@ -0,0 +1,61 @@ +baseCRUD()->tableLayout('fixed') + ->headerToolbar([ + + ]) + ->filter($this->baseFilter()->labelWidth('80px')->body([ + ])) + ->columns([ + + ]); + + return $this->baseList($crud); + } + + public function form($isEdit = false): Form + { + return $this->baseForm()->body([ + + ]); + } + + public function detail() + { + $form = amisMake()->form()->title('')->panelClassName('border-r border-t-0 border-b-0 border-l-0')->mode('horizontal') + ->static(true)->actions([]) + ->body([ + + ]); + + return amisMake()->Grid()->columns([ + amis()->Column()->body($form)->md(4), + amis()->Column()->body([ + ])->md(8), + ]); + } + + public function detailActions() + { + return [ + //返回 + amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary() + ]; + } +} \ No newline at end of file diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 7bdeb96..9e25b5f 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -46,6 +46,7 @@ Route::group([ $router->resource('user_gifts', \App\Admin\Controllers\UserGiftController::class)->only(['index']); $router->resource('user_games', \App\Admin\Controllers\UserGameController::class)->only(['index']); + $router->resource('user_activities', \App\Admin\Controllers\UserActivityController::class)->only(['index']); //修改上传 $router->post('upload_file', [\App\Admin\Controllers\IndexController::class, 'uploadFile']); diff --git a/app/Models/Filters/UserActivityFilter.php b/app/Models/Filters/UserActivityFilter.php new file mode 100644 index 0000000..91b6eee --- /dev/null +++ b/app/Models/Filters/UserActivityFilter.php @@ -0,0 +1,13 @@ +where('activity_id', $activity); + } +} diff --git a/app/Models/UserActivity.php b/app/Models/UserActivity.php index dc2f16e..147bcf3 100644 --- a/app/Models/UserActivity.php +++ b/app/Models/UserActivity.php @@ -5,10 +5,11 @@ namespace App\Models; use DB; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use EloquentFilter\Filterable; class UserActivity extends Model { - use HasFactory; + use HasFactory,Filterable; protected $fillable = [ 'user_id', 'activity_id', 'join_times', diff --git a/app/Services/Admin/UserActivityService.php b/app/Services/Admin/UserActivityService.php new file mode 100644 index 0000000..33b389e --- /dev/null +++ b/app/Services/Admin/UserActivityService.php @@ -0,0 +1,23 @@ + [ 'score' => '竞猜比分', 'is_right' => '状态', + ], + 'user_activities' => [ + 'join_times' => '猜', + 'right_times' => '中', + 'mark' =>'成绩', + 'last_join_at' => '最后一次竞猜时间' ] ];