41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Renderable;
|
|
|
|
use App\Admin\Extensions\Grid\Tools\DrawActivityTicketChange;
|
|
use App\Admin\Repositories\DrawTicket;
|
|
use App\Models\DrawActivity;
|
|
use Dcat\Admin\Admin;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Grid\LazyRenderable;
|
|
|
|
class DrawActivityTicketTable extends LazyRenderable
|
|
{
|
|
public function grid(): Grid
|
|
{
|
|
$drawActivity = DrawActivity::findOrFail($this->payload['draw_activity_id'] ?? 0);
|
|
|
|
return Grid::make(DrawTicket::with(['user', 'userInfo']), function (Grid $grid) use ($drawActivity) {
|
|
$grid->model()->where('draw_activity_id', $drawActivity->id)->orderBy('id', 'desc');
|
|
|
|
$grid->column('user.phone', '手机号');
|
|
$grid->column('userInfo.nickname', '昵称');
|
|
$grid->column('number', '次数')->sortable();
|
|
|
|
$grid->disableRefreshButton();
|
|
$grid->disableActions();
|
|
|
|
|
|
if (! $drawActivity->isClosed() && Admin::user()->can('dcat.admin.draw_activities.change_tickets')) {
|
|
$grid->tools(new DrawActivityTicketChange($drawActivity));
|
|
}
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->panel();
|
|
$filter->like('user.phone', '手机号')->width(3);
|
|
$filter->like('userInfo.nickname', '昵称')->width(3);
|
|
});
|
|
});
|
|
}
|
|
}
|