generated from liutk/owl-admin-base
补充后台查看排行榜
parent
5a80f9cd06
commit
166f7850e0
|
|
@ -68,6 +68,23 @@ class ActivityController extends AdminController
|
||||||
$this->rowShowTypeButton('drawer', 'xl'),//活动详情
|
$this->rowShowTypeButton('drawer', 'xl'),//活动详情
|
||||||
$this->rowEditTypeButton('drawer', 'lg'),
|
$this->rowEditTypeButton('drawer', 'lg'),
|
||||||
$this->rowDeleteButton()->visibleOn('${state === 0}'),
|
$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')
|
amisMake()->AjaxAction()->label('结算')->icon('fa-regular fa-hand-point-up')->level('link')
|
||||||
->actionType('ajax')
|
->actionType('ajax')
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Admin\Controllers;
|
||||||
|
|
||||||
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
|
use Slowlyo\OwlAdmin\Renderers\Operation;
|
||||||
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
|
use App\Services\Admin\UserActivityService;
|
||||||
|
use App\Admin\Components;
|
||||||
|
|
||||||
|
class UserActivityController extends AdminController
|
||||||
|
{
|
||||||
|
protected string $serviceName = UserActivityService::class;
|
||||||
|
|
||||||
|
public function list(): Page
|
||||||
|
{
|
||||||
|
$crud = $this->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()
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -46,6 +46,7 @@ Route::group([
|
||||||
$router->resource('user_gifts', \App\Admin\Controllers\UserGiftController::class)->only(['index']);
|
$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_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']);
|
$router->post('upload_file', [\App\Admin\Controllers\IndexController::class, 'uploadFile']);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models\Filters;
|
||||||
|
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
use EloquentFilter\ModelFilter;
|
||||||
|
|
||||||
|
class UserActivityFilter extends ModelFilter
|
||||||
|
{
|
||||||
|
public function activity($activity){
|
||||||
|
return $this->where('activity_id', $activity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,10 +5,11 @@ namespace App\Models;
|
||||||
use DB;
|
use DB;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use EloquentFilter\Filterable;
|
||||||
|
|
||||||
class UserActivity extends Model
|
class UserActivity extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory,Filterable;
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'user_id', 'activity_id', 'join_times',
|
'user_id', 'activity_id', 'join_times',
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services\Admin;
|
||||||
|
|
||||||
|
use App\Models\UserActivity;
|
||||||
|
use App\Models\Filters\UserActivityFilter;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @method UserActivity getModel()
|
||||||
|
* @method UserActivity|\Illuminate\Database\Query\Builder query()
|
||||||
|
*/
|
||||||
|
class UserActivityService extends BaseService
|
||||||
|
{
|
||||||
|
protected string $modelName = UserActivity::class;
|
||||||
|
|
||||||
|
protected string $modelFilterName = UserActivityFilter::class;
|
||||||
|
|
||||||
|
protected bool $modelSortAble = true;
|
||||||
|
|
||||||
|
protected array $withRelationships = ['user'];
|
||||||
|
}
|
||||||
|
|
@ -366,5 +366,11 @@ return [
|
||||||
'user_games' => [
|
'user_games' => [
|
||||||
'score' => '竞猜比分',
|
'score' => '竞猜比分',
|
||||||
'is_right' => '状态',
|
'is_right' => '状态',
|
||||||
|
],
|
||||||
|
'user_activities' => [
|
||||||
|
'join_times' => '猜',
|
||||||
|
'right_times' => '中',
|
||||||
|
'mark' =>'成绩',
|
||||||
|
'last_join_at' => '最后一次竞猜时间'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue