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 CompanyDownResume); $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->down_addtime('下载时间')->display(function ($down_addtime) { return date('Y-m-d H:i:s', $down_addtime); }); $grid->filter(function ($filter) { $filter->column(1/2, function ($filter) { $filter->equal('company_uid', '企业ID'); $filter->like('company_name', '企业名称'); $filter->between('created_at', '添加时间')->datetime(); }); $filter->column(1/2, function ($filter) { $filter->like('resumes.resume_name', '简历名'); $filter->like('resumes.resume_id', '简历ID'); }); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(CompanyDownResume::findOrFail($id)); $show->resumes()->fullname('姓名')->as(function ($resumes) { return $resumes->fullname; }); $show->resumes()->birthdate('年龄')->as(function ($resumes) { return date('Y')-$resumes->birthdate; }); $show->resumes()->sex_cn('性别')->as(function ($resumes) { return $resumes->sex_cn; }); $show->resumes()->education_cn('学历')->as(function ($resumes) { return $resumes->education_cn; }); $show->resumes()->experience_cn('工作经验')->as(function ($resumes) { return $resumes->experience_cn; }); $show->resumes()->wage_cn('期望薪资')->as(function ($resumes) { return $resumes->wage_cn; }); $show->down_addtime('下载时间')->as(function ($down_addtime) { return date('Y-m-d H:i:s', $down_addtime); }); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new CompanyDownResume); $form->display('ID'); $form->display('Created at'); $form->display('Updated at'); return $form; } }