6
0
Fork 0
jiqu-library-server/app/Admin/Renderable/DrawActivityTicketTable.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);
});
});
}
}