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('不诚信记录编辑') ->description('') ->body($this->form()->edit($id)); } /** * Create interface. * * @param Content $content * @return Content */ public function create(Content $content) { return $content ->header('不诚信记录创建') ->description('') ->body($this->form()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new JobfairCompany); $grid->model()->with(['companys','jobfair'])->whereHas('companys')->whereHas('jobfair',function ($query) { $query->where('holddate_start','<',strtotime("-30 seconds")); })->where('type', '<>', 4)->where('audit',1) // ->groupBy('company_id', 'jobfair_id') ->orderBy('id', 'desc'); $grid->column('companys.companyname', '公司名称')->width(200); $grid->column('jobfair.title', '招聘会名称')->width(200); $grid->column('jobfair.holddate_start', '招聘会开始时间')->display(function ($holddate_start) { return date('Y-m-d H:i:s', $holddate_start); }); $grid->column('jobfair.holddate_end', '招聘会结束时间')->display(function ($holddate_end) { return date('Y-m-d H:i:s', $holddate_end); }); $grid->type('行为')->display(function ($type) { if ($type==0) { return '未签到'; } elseif ($type==1) { return '迟到'; } elseif ($type==2) { return '早退'; } elseif ($type==3) { return '迟到/早退'; } else { return '未签到'; } }); $grid->signed_time('签到时间')->display(function ($signed_time) { return $signed_time ? date('Y-m-d H:i:s', $signed_time) : ''; }); $grid->over_time('注销时间')->display(function ($over_time) { return $over_time ? date('Y-m-d H:i:s', $over_time) : ''; }); $grid->disableCreateButton(); $grid->disableExport(); $grid->actions(function ($actions) use ($grid) { if (Admin::user()->can('jobfair_dishonesty_delete')) { $actions->disableDelete(false); } }); if (Admin::user()->can('jobfair_dishonesty_delete')) { $grid->tools(function ($tools) { $tools->batch(function ($batch) { $batch->disableDelete(false); }); }); $grid->disableRowSelector(false); } $grid->filter(function ($filter) { $filter->like('companys.companyname', '公司名称'); $filter->like('jobfair.title', '招聘会名称'); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(JobfairCompany::findOrFail($id)); $show->id('ID'); $show->companys()->companyname('公司名称')->as(function ($companys){ return $companys->companyname; }); $show->jobfair()->title('招聘会名称')->as(function ($jobfair){ return $jobfair->title; }); $show->jobfair()->holddate_start('招聘会开始时间')->as(function ($jobfair) { return date('Y-m-d H:i:s', $jobfair->holddate_start); }); $show->jobfair()->holddate_end('招聘会结束时间')->as(function ($jobfair) { return date('Y-m-d H:i:s', $jobfair->holddate_end); }); $show->type('行为')->as(function ($type) { if ($type==0) { return '未签到'; } elseif ($type==1) { return '迟到'; } elseif ($type==2) { return '早退'; } elseif ($type==3) { return '迟到/早退'; } else { return '未签到'; } }); $show->signed_time('签到时间')->as(function ($signed_time) { return $signed_time ? date('Y-m-d H:i:s', $signed_time) : ''; }); $show->over_time('注销时间')->as(function ($over_time) { return $over_time ? date('Y-m-d H:i:s', $over_time) : ''; }); $show->created_at('创建时间'); $show->updated_at('更新时间'); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new JobfairCompany); $form->display('ID'); $form->display('Created at'); $form->display('Updated at'); return $form; } public function destroy($id) { $ids = array(); if ($id) { $ids = explode(',', $id); } if (!$ids) { return admin_toastr('请勾选需要删除的职位', 'error'); } \DB::beginTransaction(); try { JobfairCompany::whereIn('id', $ids)->update(['type'=>4]); $data = [ 'status' => true, 'message' => '删除成功!', ]; \DB::commit(); return response()->json($data); } catch (\Exception $e) { \DB::rollback(); $data = [ 'status' => false, 'message' => '删除失败!', ]; return response()->json($data); } } }