<?php

namespace App\Admin\Controllers\Content;

use App\Http\Controllers\Controller;
use App\Models\RecuperateLog;
use Encore\Admin\Controllers\HasResourceActions;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;

class RecuperateLogController extends Controller
{
    use HasResourceActions;

    /**
     * Index interface.
     *
     * @param Content $content
     * @return Content
     */
    public function index(Content $content)
    {
        return $content
            ->header('额度修改记录')
            ->description(' ')
            ->body($this->grid());
    }

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new RecuperateLog());
        $grid->model()->where('type',3);
     //   $grid->model()->orderBy('created_at', 'DESC');
        $grid->column('admin_user.username','操作者');

        $grid->column('type','状态')->display(function ($type) {
            if($type==1){
                return '个人取消活动';
            }elseif ($type==2){
                return '管理员取消活动';
            }elseif ($type==3){
                return '管理员后台修改额度';
            }
        })->width(200);
        $grid->column('member_infos.realname','被操作者');
        $grid->content('内容');
        $grid->created_at('操作时间');

        $grid->filter(function ($filter) {
            $filter->group('搜索', function ($group) {
                $group->where('操作者', function ($query) {
                    $query->whereHas('admin_user',function ($query){
                        $query->where('username', 'like','%'.request()->搜索.'%');
                    });
                });

                $group->where('被操作者', function ($query) {
                    $query->whereHas('member_infos',function ($query){
                        $query->where('realname', 'like','%'.request()->搜索.'%');
                    });
                });

            })->placeholder('请输入关键字');

            $filter->disableIdFilter();
            $date3       = date('Y-m-d', strtotime("-3 day"));
            $date7       = date('Y-m-d', strtotime("-7 day"));
            $date30      = date("Y-m-d", strtotime("-1 month"));
            $date180     = date("Y-m-d", strtotime("-6 month"));
            $date360     = date("Y-m-d", strtotime("-1 year"));
            $date_option = [
                ''       => '不限',
                $date3   => '三天内',
                $date7   => '一周内',
                $date30  => '一月内',
                $date180 => '半年内',
                $date360 => '一年内',
            ];
            $filter->where(function ($query) {
                $query->where('created_at', '>=', "{$this->input}");
            }, '添加时间', 'created_at')->radio($date_option);

        });
        return $grid;
    }


}