all(); $where = []; foreach ($search_data as $k => $v) { if ($k == 'realname') { $where[] = [$k, 'like', "%$v%"]; } elseif (in_array($k, ['sex', 'education'])) { $where[] = ['post_appoint_ic.' . $k, '=', $v]; } } $perpage = 20; $list = PostAppointIc::where($where) ->leftJoin("jobs", "jobs.id", '=', 'post_appoint_ic.job_id') ->select('post_appoint_ic.*', 'jobs.jobs_name', 'jobs.company_name') ->orderBy('updated_at', 'desc') ->paginate($perpage); foreach ($list as $k => $v) { $v->native_place_cn = get_district_cn($v->native_place); $v->education = get_category($v->education); if ($v->sex == 1) { $list[$k]['sex'] = '男'; } else { $list[$k]['sex'] = '女'; } if ($v->status == 0) { $list[$k]['status'] = '未下载'; } else { $list[$k]['status'] = '已下载'; } } return $content ->header('信息管理') ->description('投递岗位人员信息列表') ->body(view('admin.ic.post_appoint_list')->with([ 'list' => $list, 'search_data' => $search_data, ])); } public function postStatus(Request $request) { Permission::check('icPostInfoList'); $info = PostAppointIc::where(['id' => $request->id])->first(); if ($info) { $info->status = 1; $info->save(); return response()->json(['status' => 1, 'msg' => '跳转下载中!', 'data' => 'ok', 'url' => $info->attachment]); } else { return response()->json(['status' => 0, 'msg' => '找不到记录!', 'data' => 'fail']); } //return "/storage/recruit/word/" . $recruit->name_en . '/' .$appoint->audit .$word_url; } /** * 宣讲会管理 * @param Content $content * @return Content */ public function index(Content $content) { Permission::check('icJobFairsListList'); return $content ->header('招聘会管理') ->description('') ->body($this->grid()); } protected function grid() { $grid = new Grid(new JobfairsIc); $grid->model()->orderBy('ordid', 'DESC'); $grid->model()->paginate(20); $grid->disableCreateButton(false); $grid->perPages([10, 20, 30, 40, 50, 100]); $grid->id('ID'); $grid->title('标题'); $grid->column('holddate_start', '开始时间'); $grid->column('holddate_end', '结束时间'); $grid->address('举办地址'); $grid->url('外部链接'); $grid->contact('联系人'); $grid->phone('联系电话'); $grid->column('display', '状态')->display(function ($display) { return $display == 1 ? '正常' : '暂停'; }); $grid->created_at('创建时间'); $grid->filter(function ($filter) { // 在这里添加字段过滤器 $filter->column(1 / 2, function ($filter) { $filter->like('title', '标题'); }); }); $grid->actions(function ($actions) { $actions->append('报名管理'); $actions->disableEdit(false); $actions->disableDelete(false); $actions->disableView(); }); return $grid; } public function create(Content $content) { return $content ->header('招聘会创建') ->description('带*号必填项') ->body(view('admin.ic.jobfairs')->with(['grid' => $this->form()->render()])); } public function edit($id, Content $content) { return $content ->header('招聘会编辑') ->description('带*号必填项') ->body(view('admin.ic.jobfairs')->with(['grid' => $this->editForm($id)->edit($id)->render()])); } public function show($id, Content $content) { return redirect(route('ic.index')); } protected function editForm($id) { $info = JobfairsIc::find($id); $form = new ValidateForm(new JobfairsIc); $form->text('title', '标题')->rules('required|max:100', ['required' => '标题不能为空。', 'max' => '标题长度不能大于100。'])->setMustMark(); $form->datetime('holddate_start', '开始时间')->format('YYYY-MM-DD HH:mm:ss')->rules('required', ['required' => '开始时间不能为空。'])->setMustMark(); $form->datetime('holddate_end', '结束时间')->format('YYYY-MM-DD HH:mm:ss')->rules('required', ['required' => '结束时间不能为空。'])->setMustMark(); $form->text('contact', '联系人')->rules('required', ['required' => '联系人不能为空。'])->setMustMark(); $form->text('phone', '联系电话')->rules('required', ['required' => '联系电话不能为空。'])->setMustMark(); $form->text('url', '外部链接')->setMustMark(); $form->number('need_num', '需要人数')->min(0)->rules('required', ['required' => '请输入需要人数。'])->setMustMark(); $display_option = [ 'on' => ['value' => 1, 'text' => '正常', 'color' => 'success'], 'off' => ['value' => 2, 'text' => '暂停', 'color' => 'danger'], ]; $form->switch('display', '状态')->states($display_option)->default('1')->setMustMark(); $form->text('ordid', '排序')->default(100)->rules('required', ['required' => '请输入排序。'])->help('(数字越大越靠前)')->setMustMark(); $form->textarea('jobfair_introduction', '招聘会简介')->rows(10)->attribute(['maxlength' => 2000])->setMustMark(); $form->listbox('companys', '参与企业列表')->rules('required', ['required' => '请选择参与企业'])->options(Company::icCompanys())->attribute('hight', '200px')->setMustMark(); $form->text('address', '举办地址')->rules('required', ['required' => '举办地址不能为空。'])->setMustMark(); $form->html(''); $form->html('
', '地图标注')->setMustMark(); return $form; } protected function form() { $form = new ValidateForm(new JobfairsIc); $form->text('title', '标题')->rules('required|max:100', ['required' => '标题不能为空。', 'max' => '标题长度不能大于100。'])->setMustMark(); $form->datetime('holddate_start', '开始时间')->format('YYYY-MM-DD HH:mm:ss')->rules('required', ['required' => '开始时间不能为空。'])->setMustMark(); $form->datetime('holddate_end', '结束时间')->format('YYYY-MM-DD HH:mm:ss')->rules('required', ['required' => '结束时间不能为空。'])->setMustMark(); $form->text('contact', '联系人')->rules('required', ['required' => '联系人不能为空。'])->setMustMark(); $form->text('phone', '联系电话')->rules('required', ['required' => '联系电话不能为空。'])->setMustMark(); $form->text('url', '外部链接')->setMustMark(); $form->number('need_num', '需要人数')->min(0)->rules('required', ['required' => '请输入需要人数。'])->setMustMark(); $display_option = [ 'on' => ['value' => 1, 'text' => '正常', 'color' => 'success'], 'off' => ['value' => 2, 'text' => '暂停', 'color' => 'danger'], ]; $form->switch('display', '状态')->states($display_option)->default('1')->setMustMark(); $form->text('ordid', '排序')->default(100)->rules('required', ['required' => '请输入排序。'])->help('(数字越大越靠前)')->setMustMark(); $form->textarea('jobfair_introduction', '招聘会简介')->rows(10)->attribute(['maxlength' => 2000])->setMustMark(); $form->listbox('companys', '参与企业列表')->rules('required', ['required' => '请选择参与企业'])->options(Company::icCompanys())->attribute('hight', '200px')->setMustMark(); $form->text('address', '举办地址')->rules('required', ['required' => '举办地址不能为空。'])->setMustMark(); $form->html(''); $form->html('
', '地图标注')->setMustMark(); return $form; } public function store(Request $request){ $verify = $this->form()->getValidateInput(); $input = $request->post(); $verify['companys'] = implode(',',$verify['companys']); $verify['map_x'] = $input['map_x']; $verify['map_y'] = $input['map_y']; $verify['map_zoom'] = $input['map_zoom']; try { JobfairsIc::create($verify); DB::commit(); }catch (\Exception $e) { DB::rollback(); return admin_toastr($e->getMessage(), 'error'); } } public function update($id,Request $request) { $verify = $this->form()->getValidateInput(); $input = $request->post(); $verify['companys'] = implode(',',$verify['companys']); $verify['map_x'] = $input['map_x']; $verify['map_y'] = $input['map_y']; $verify['map_zoom'] = $input['map_zoom']; try { JobfairsIc::where('id',$id)->update($verify); DB::commit(); }catch (\Exception $e) { DB::rollback(); return admin_toastr($e->getMessage(), 'error'); } } public function destroy($id) { if ($this->form()->destroy($id)) { $data = [ 'status' => true, 'message' => trans('admin.delete_succeeded'), ]; } else { $data = [ 'status' => false, 'message' => trans('admin.delete_failed'), ]; } return response()->json($data); } public function jobfairsAppointList(Content $content,Request $request) { $search_data = $request->all(); $where = [ ['pid', '=', $search_data['id']], ]; foreach ($search_data as $k => $v) { if ($k == 'realname') { $where[] = [$k, 'like', "%$v%"]; } elseif (in_array($k, ['sex', 'education'])) { $where[] = [$k, '=', $v]; } } $perpage = 20; $list = JobFairsIcAppoint::where($where) ->orderBy('updated_at', 'desc') ->paginate($perpage); foreach ($list as $k => $v) { if ($v->fresh == 1) { $list[$k]['fresh'] = '是'; } else { $list[$k]['fresh'] = '否'; } if ($v->sex == 1) { $list[$k]['sex'] = '男'; } else { $list[$k]['sex'] = '女'; } if ($v->status == 0) { $list[$k]['status'] = '未下载'; } else { $list[$k]['status'] = '已下载'; } if (empty($v->attachment)) { $list[$k]['is_attachment'] = '未上传'; } else { $list[$k]['is_attachment'] = '已上传'; } } return $content ->header('报名管理') ->description('招聘会报名的人员信息管理') ->body(view('admin.ic.jobfairs_appoint_list')->with([ 'list' => $list, 'search_data' => $search_data, ])); } public function jobfairsAppointStatus(Request $request) { $info = JobFairsIcAppoint::where(['id' => $request->id])->first(); if ($info && $info->attachment) { $info->status = 1; $info->save(); return response()->json(['status' => 1, 'msg' => '跳转下载中!', 'data' => 'ok', 'url' => $info->attachment]); } else { return response()->json(['status' => 0, 'msg' => '用户未上传简历!', 'data' => 'fail']); } //return "/storage/recruit/word/" . $recruit->name_en . '/' .$appoint->audit .$word_url; } }