优化活动列表

This commit is contained in:
2022-02-10 16:23:13 +08:00
parent 64e22c020d
commit 8be61629f6
3 changed files with 133 additions and 106 deletions

View File

@@ -2,6 +2,8 @@
namespace App\Admin\Controllers\Activity; namespace App\Admin\Controllers\Activity;
use App\Admin\Renderable\Activity\Grants;
use App\Admin\Renderable\Activity\Verifications;
use App\Models\Activity; use App\Models\Activity;
use App\Models\ActivityRule; use App\Models\ActivityRule;
use App\Models\User; use App\Models\User;
@@ -18,7 +20,7 @@ class IndexController extends AdminController
protected function grid(): Grid protected function grid(): Grid
{ {
$grid = new Grid(new Activity); $grid = new Grid(new Activity);
$grid->model()->withCount('coupons'); $grid->model()->with(['rule', 'grants', 'verifications'])->withCount('coupons');
$grid->actions(function ($actions) { $grid->actions(function ($actions) {
$actions->disableView(); $actions->disableView();
@@ -59,21 +61,15 @@ class IndexController extends AdminController
$grid->column('days', '延期(天)'); $grid->column('days', '延期(天)');
$grid->column('rule.full', '满足金额'); $grid->column('rule.full', '满足金额');
$grid->column('rule.take', '扣除金额'); $grid->column('rule.take', '扣除金额');
$grid->column('发券渠道')
->display(function () {
return $this->grants->pluck('user_nickname');
})
->label()
->width(350)
->hide();
$grid->column('券渠道') $grid->column('券渠道')->display(function ($title, $column) {
->display(function () { return '查看';
return $this->verifications->pluck('user_nickname'); })->modal(Grants::class);
})
->label() $grid->column('核券渠道')->display(function ($title, $column) {
->width(350) return '查看';
->hide(); })->modal(Verifications::class);
$grid->column('开始时间')->display(function () { $grid->column('开始时间')->display(function () {
return $this->type == Activity::TYPE_SCOPE ? $this->start_at->format('Y-m-d') : '---'; return $this->type == Activity::TYPE_SCOPE ? $this->start_at->format('Y-m-d') : '---';
@@ -94,6 +90,7 @@ class IndexController extends AdminController
/** /**
* Make a form builder. * Make a form builder.
*
* @return Form * @return Form
*/ */
protected function form(): Form protected function form(): Form

View File

@@ -18,9 +18,11 @@ class Grants implements Renderable
'nickname' => $info->user_nickname, 'nickname' => $info->user_nickname,
]; ];
}); });
dd($items->toArray());
return new Table(['Id', '渠道'], $items->toArray()); $table = new Table(['Id', '渠道'], $items->toArray());
return $table->render();
} }
} }

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Admin\Renderable\Activity;
use App\Models\Activity;
use Encore\Admin\Widgets\Table;
use Illuminate\Contracts\Support\Renderable;
class Verifications implements Renderable
{
public function render($key = null)
{
$activity = Activity::find($key);
$items = $activity->verifications->map(function ($info) {
return [
'id' => $info->id,
'nickname' => $info->user_nickname,
];
});
$table = new Table(['Id', '渠道'], $items->toArray());
return $table->render();
}
}