99 lines
2.8 KiB
PHP
99 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Repositories\CouponTaskLog;
|
|
use App\Models\CouponSendTask;
|
|
use Dcat\Admin\Form;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
use Dcat\Admin\Show;
|
|
use Illuminate\Support\Facades\Request;
|
|
|
|
class CouponTaskLogController extends AdminController
|
|
{
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
$builder = CouponTaskLog::with(['coupon', 'task', 'user']);
|
|
return Grid::make($builder, function (Grid $grid) {
|
|
$grid->column('id')->sortable();
|
|
$grid->column('task.name');
|
|
$grid->column('coupon.name');
|
|
$grid->column('user.phone')->copyable();
|
|
$grid->column('num');
|
|
$grid->column('status')->using([
|
|
0=>'未发放',
|
|
1=>'发放中',
|
|
2=>'成功',
|
|
3=>'失败',
|
|
])->dot([
|
|
0=>'#b3b9bf',
|
|
1=>'primary',
|
|
2=>'success',
|
|
3=>'danger',
|
|
]);
|
|
$grid->column('remarks');
|
|
$grid->column('created_at');
|
|
$grid->column('updated_at')->sortable();
|
|
|
|
$grid->model()->orderBy('created_at', 'desc');
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->panel(false);
|
|
$filter->equal('task_id')->select(function () {
|
|
$taskId = Request::get('task_id');
|
|
return CouponSendTask::where('id', $taskId)->pluck('name', 'id');
|
|
})->ajax(admin_route('api.coupon_send_tasks'))->width(3);
|
|
$filter->equal('coupon_id')->select()->ajax(admin_route('api.coupons'))->width(3);
|
|
$filter->like('user.phone')->width(3);
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a show builder.
|
|
*
|
|
* @param mixed $id
|
|
*
|
|
* @return Show
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
return Show::make($id, new CouponTaskLog(), function (Show $show) {
|
|
$show->field('id');
|
|
$show->field('task_id');
|
|
$show->field('coupon_id');
|
|
$show->field('user_id');
|
|
$show->field('num');
|
|
$show->field('status');
|
|
$show->field('created_at');
|
|
$show->field('updated_at');
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a form builder.
|
|
*
|
|
* @return Form
|
|
*/
|
|
protected function form()
|
|
{
|
|
return Form::make(new CouponTaskLog(), function (Form $form) {
|
|
$form->display('id');
|
|
$form->text('task_id');
|
|
$form->text('coupon_id');
|
|
$form->text('user_id');
|
|
$form->text('num');
|
|
$form->text('status');
|
|
|
|
$form->display('created_at');
|
|
$form->display('updated_at');
|
|
});
|
|
}
|
|
}
|