<?php namespace App\Admin\Controllers\Lottery; use App\Http\Controllers\Controller; use App\Models\LotteryWin; use Encore\Admin\Facades\Admin as userAdmin; use Encore\Admin\Controllers\HasResourceActions; use Encore\Admin\Grid; use Encore\Admin\Layout\Content; use Illuminate\Http\Request; class WinController extends Controller { use HasResourceActions; /** * Index interface. * * @param Content $content * @return Content */ public function index(Content $content) { return $content ->header('中奖列表') ->description('') ->body(view('admin.lottery.win')->with(['grid' => $this->grid()])); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $status = ['', '未领奖', '已领奖']; $grid = new Grid(new LotteryWin); $grid->model()->orderBy('status', 'ASC')->orderBy('created_at','DESC'); $grid->model(); $grid->id('ID'); $grid->column('member.mobile', '手机号'); $grid->column('member.email', '邮箱号'); $grid->column('prize_name', '奖品名称'); $grid->created_at('中奖时间'); $grid->out_at('核销时间'); $grid->status('状态')->display(function () use ($status) { return $status[$this->status]; }); $grid->actions(function ($actions) { if ($actions->row['status'] == 1) { $actions->append('<button data-id="'.$actions->row['id'].'" class="btn btn-primary btn-xs write-off" title="核销" >核销</button>'); } }); $grid->filter(function ($filter) { $filter->where(function ($query) { $query->whereHas('member', function ($query) { $query->where('email', 'like', "%{$this->input}%")->orWhere('mobile', 'like', "%{$this->input}%"); }); }, '手机/邮箱'); $filter->equal('status', '状态')->select([ 1 => '未领奖', 2 => '已领奖', ]); }); return $grid; } /** * return json */ public function writeoff(Request $request) { $id = $request->input('id'); $info = LotteryWin::find($id); $info->status = 2; $info->out_at = date('Y-m-d H:i:s'); $info->save(); return response()->json([]); } }