header('面试邀请') ->description('列表') ->body($this->grid()); } /** * Show interface. * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header('面试邀请') ->description('面试邀请') ->body($this->detail($id)); } /** * Edit interface. * * @param mixed $id * @param Content $content * @return Content */ public function edit($id, Content $content) { return $content ->header('Edit') ->description('description') ->body($this->form()->edit($id)); } /** * Create interface. * * @param Content $content * @return Content */ public function create(Content $content) { return $content ->header('Create') ->description('description') ->body($this->form()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new CompanyInterView); $grid->model()->whereHas('resumes'); $grid->id('ID'); $grid->column('resumes.fullname', '姓名'); $grid->column('resumes.birthdate', '年龄')->display(function ($birthdate) { return date('Y')-$birthdate; }); $grid->column('resumes.sex_cn', '性别'); $grid->column('resumes.education_cn', '学历'); $grid->column('resumes.experience_cn', '工作经验'); $grid->column('resumes.wage_cn', '期望薪资'); $grid->column('interview_time', '面试时间')->display(function ($interview_time) { return date('Y-m-d H:i:s', $interview_time); }); $grid->filter(function ($filter) { $filter->column(1/2, function ($filter) { $filter->equal('company_id', '企业ID'); $filter->like('company_name', '企业名称'); $filter->between('created_at', '添加时间')->datetime(); }); $filter->column(1/2, function ($filter) { $filter->equal('jobs_id', '职位ID'); $filter->like('jobs_name', '职位名称'); }); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(CompanyInterView::findOrFail($id)); $show->resumes('姓名')->as(function ($resumes) { return $resumes->fullname; }); $show->resumes()->birthdate('年龄')->as(function ($resumes) { return $resumes->birthdate; }); $show->resumes()->sex_cn('性别')->as(function ($resumes) { return $resumes->sex_cn; }); $show->resumes()->fullname('学历')->as(function ($resumes) { return $resumes->education_cn; }); $show->resumes()->fullname('工作经验')->as(function ($resumes) { return $resumes->experience_cn; }); $show->resumes()->wage_cn('期望薪资')->as(function ($resumes) { return $resumes->wage_cn; }); $show->interview_time('面试时间')->as(function ($interview_time) { return date('Y-m-d H:i:s', $interview_time); }); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new CompanyInterView); $form->display('ID'); $form->display('Created at'); $form->display('Updated at'); return $form; } }