header('申报列表') ->description(' ') ->body(view('admin.content.buy_house_zj')->with(['grid' => $this->grid()])); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new TalentHouseApply()); $grid->model()->with(['house', 'idcard'])->where('is_back', 2)->where('rs_check_status', 2)->orderBy('zj_check_status', 'ASC'); $status_text = $this->status; $grid->id('ID'); $grid->name('姓名'); $grid->mobile('联系电话'); $grid->talent_level('人才层次'); $grid->column('房源')->display(function () { return $this->house->name; }); $grid->zj_check_status('状态')->display(function () use ($status_text) { return $status_text[$this->zj_check_status]; }); $grid->zj_check_comment('备注')->style('max-width:400px'); $grid->actions(function ($actions) { $actions->append(" "); }); $grid->filter(function ($filter) { $filter->disableIdFilter(); $filter->like('name', '姓名'); $filter->equal('house_id', '房源')->select(TalentHouse::all()->pluck('name', 'id')); $status_option = ['全部', '待审核', '审核通过', '审核驳回', '审核不通过']; $filter->where(function ($query) { if ($this->input > 0) { $query->where('zj_check_status', '=', $this->input); } }, '状态', 'status')->radio($status_option); }); $grid->disableExport(false); //显示导出按钮 $grid->exporter(new HouseApplyZjExport()); //传入自己在第1步创建的导出类 return $grid; } /** * 审核 */ public function audit(Request $request, SmsService $smsService) { $id = $request->id; $status = $request->status; $reason = $request->reason; $url = empty($request->url) ? admin_base_path('content/buy_house_zj') : $request->url; if (empty($id)) { admin_toastr('数据异常', 'error'); return redirect(admin_base_path('content/buy_house_zj')); } $apply = TalentHouseApply::find($id); $apply->zj_check_status = $status; $apply->zj_check_comment = $reason; $apply->zj_check_time = date('Y-m-d H:i:s'); if ($apply->status == 4) { $apply->is_sock = 2; } else { if ($apply->zr_check_status == 2) { $apply->status = $status; } else { $apply->status = $status == 2 ? 1 : $status; } } $result = $apply->save(); //日志 $house = TalentHouse::find($apply['house_id']); $admin = Admin::user(); $log = [ 'house_name' => $house['name'], 'user_name' => $apply['name'], 'check_name' => $admin['name'], 'data' => json_encode($apply), 'created_at' => date('Y-m-d H:i:s'), 'check_status' => $apply['zj_check_status'], 'check_comment' => $apply['zj_check_comment'], ]; DB::table('talent_house_check_log')->insert($log); //审核不通过发送短信 if ($status == 3) { $time = strtotime($house['supply_time']); $smsService->sendSms($apply['mobile'], 'sms_buyhouse_supply', ['name' => $apply['name'], 'month' => date('m', $time), 'day' => date('d', $time)]); } if ($result) { admin_toastr('审核成功', 'success'); } else { admin_toastr('该信息不存在或已审核', 'error'); } return redirect($url); } /** * 详情 */ public function detail(Request $request) { $id = $request->id; $info = TalentHouseApply::with('idcard')->where('id', $id)->first(); $info->family = json_decode($info->family); $info->marry_text = $this->marry[$info->marry]; //layer相册层 $photos = [ 'certificates' => [], 'marry_prove' => [], 'household_register' => [], 'work_prove' => [], ]; if (!empty(json_decode($info->certificates))) { $info->certificates = json_decode($info->certificates); $photo_data = []; foreach ($info->certificates as $k => $v) { $photo_data[] = [ 'alt' => $v->name, 'pid' => $v->uid, 'src' => $v->response->path, ]; } $photos['certificates'] = [ 'title' => '证件信息', 'id' => 1, 'start' => 0, 'data' => $photo_data, ]; } else { $info->certificates = []; } if (!empty(json_decode($info->marry_prove))) { $info->marry_prove = json_decode($info->marry_prove); $photo_data = []; foreach ($info->marry_prove as $k => $v) { $photo_data[] = [ 'alt' => $v->name, 'pid' => $v->uid, 'src' => $v->response->path, ]; } $photos['marry_prove'] = [ 'title' => '婚姻证明', 'id' => 1, 'start' => 0, 'data' => $photo_data, ]; } else { $info->marry_prove = []; } if (!empty(json_decode($info->household_register))) { $info->household_register = json_decode($info->household_register); $photo_data = []; foreach ($info->household_register as $k => $v) { $photo_data[] = [ 'alt' => $v->name, 'pid' => $v->uid, 'src' => $v->response->path, ]; } $photos['household_register'] = [ 'title' => '户口本', 'id' => 1, 'start' => 0, 'data' => $photo_data, ]; } else { $info->household_register = []; } if (!empty(json_decode($info->work_prove))) { $info->work_prove = json_decode($info->work_prove); $photo_data = []; foreach ($info->work_prove as $k => $v) { $photo_data[] = [ 'alt' => $v->name, 'pid' => $v->uid, 'src' => $v->response->path, ]; } $photos['work_prove'] = [ 'title' => '在职证明', 'id' => 1, 'start' => 0, 'data' => $photo_data, ]; } else { $info->work_prove = []; } $with = ['info' => $info, 'form_url' => route('content.buy_house_zj.audit'), 'status' => $this->status]; $with['check_status'] = $info['zj_check_status']; $html = view('admin.ajax.buy_house_detail')->with($with)->render(); return response()->json(['code' => 1, 'data' => $html]); } }