payload['draw_activity_id'] ?? 0); return Grid::make(new DrawActivityPrize(), function (Grid $grid) use ($drawActivity) { $grid->setResource("draw-activities/{$drawActivity->id}/prizes"); $grid->model()->where('draw_activity_id', $drawActivity->id)->orderBy('sort', 'desc'); $grid->column('name', '名称'); $grid->column('icon', '图标')->image(null, 80, 80); $grid->column('type', '类型')->display(function ($type) { return $type->label(); }); $grid->column('amount', '数量/面值')->display(function ($v) { return trim_trailing_zeros($v); }); $grid->column('weight', '权重'); $grid->column('stock', '库存')->display(function ($stock) { if ($this->limited) { return $stock; } return '不限'; }); $grid->column('winnings', '中奖数量'); $grid->column('sort', '排序'); $grid->disableRefreshButton(); if (! $drawActivity->isPublished() && Admin::user()->can('dcat.admin.draw_activities.prize_create')) { $grid->enableDialogCreate(); $grid->showCreateButton(); } $grid->actions(function (Grid\Displayers\Actions $actions) use ($drawActivity) { if (! $drawActivity->isClosed() && Admin::user()->can('dcat.admin.draw_activities.prize_edit')) { $actions->quickEdit(true); } if (! $drawActivity->isPublished() && Admin::user()->can('dcat.admin.draw_activities.prize_delete')) { $actions->disableDelete(false); } if (! $drawActivity->isClosed() && $drawActivity->isPublished() && Admin::user()->can('dcat.admin.draw_activities.prize_stock')) { $actions->append(new DrawActivityPrizeStockChange()); } }); }); } }