header('个人签到列表') ->description('') ->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new JobfairPersonSigned); $grid->id('ID'); $grid->column('jobfair.title', '招聘会名称')->width(200); $grid->column('resumes.fullname', '签到人')->width(200); $grid->type('类型')->display(function ($type) { if ($type==1) { return '进场'; } else { return '出场'; } }); $grid->utype('身份')->display(function ($utype) { if ($utype==1) { return '企业'; } else { return '个人'; } }); $grid->sign_type('签到类型')->display(function ($sign_type) { switch ($sign_type){ case 0: return '未知'; case 1: return '身份证'; case 2: return '二维码'; } }); $grid->created_at('进出时间'); $grid->disableRowSelector(); $grid->filter(function ($filter) { // 去掉默认的id过滤器 $filter->disableIdFilter(); $filter->column(1/2, function ($filter) { $filter->equal('type', '类型')->select([ 1 => '进场', 2 => '出场', ]); $filter->equal('jobfair_id', '招聘会')->select(Jobfair::select('title', 'id')->pluck('title', 'id')->all()); }); $filter->column(1/2, function ($filter) { $filter->like('resumes.fullname', ' 签到人'); }); $filter->equal('sign_type', '签到类型')->select([ 0 => '未知', 1 => '身份证', 2 => '二维码', ]); }); $grid->disableActions(); return $grid; } }