payload['draw_activity_id'] ?? 0); return Grid::make(DrawLog::with(['prize', 'user']), function (Grid $grid) use ($drawActivity) { $grid->setResource("draw-activities/{$drawActivity->id}/logs"); $grid->model()->where('draw_activity_id', $drawActivity->id)->orderBy('id', 'desc'); $grid->column('prize.name', '奖品名称'); $grid->column('prize.icon', '奖品图标')->image(null, 80, 80); $grid->column('prize.type', '奖品类型')->display(function () { return $this->prize->type->label(); }); $grid->column('user.phone', '中奖人手机号')->display(function () { $href = admin_route('users.show', ['user' => $this->user_id]); return "{$this->user->phone}"; }); $grid->column('created_at', '中奖时间')->sortable(); $grid->column('consignee_name', '收件人'); $grid->column('consignee_phone', '联系方式'); $grid->column('consignee_address', '收货地址'); $grid->column('remark', '备注'); $grid->column('status', '状态')->display(function () { return $this->status->label(); }); $grid->actions(function (Grid\Displayers\Actions $actions) { if (Admin::user()->can('dcat.admin.draw_activities.log_edit')) { $actions->quickEdit(true); } if ($actions->row->isPending() && Admin::user()->can('dcat.admin.draw_activities.log_complete')) { $actions->append(new DrawLogComplete()); } }); $grid->filter(function (Grid\Filter $filter) use ($drawActivity) { $filter->panel(false); $filter->like('user.phone', '手机号')->width(6); $filter->equal('draw_activity_prize_id', '奖品名称')->select(DrawActivityPrize::where('draw_activity_id', $drawActivity->id)->pluck('name', 'id'))->width(6); $filter->equal('prize.type', '奖品类型')->select(DrawPrizeType::options())->width(6); $filter->equal('status', '状态')->select(DrawLogStatus::options())->width(6); }); }); } }