header('申报列表') ->description(' ') ->body(view('admin.content.buy_house_rs')->with(['grid' => $this->grid()])); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new TalentHouseApply()); $grid->model()->with(['house', 'idcard'])->where('type', 1)->where('is_back', 2)->where('is_draft', 2)->orderBy('rs_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->rs_check_status('状态')->display(function () use ($status_text) { return $status_text[$this->rs_check_status]; }); $grid->rs_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('rs_check_status', '=', $this->input); } }, '状态', 'status')->radio($status_option); }); $grid->disableExport(false); //显示导出按钮 $grid->exporter(new HouseApplyRsExport()); //传入自己在第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_rs') : $request->url; if (empty($id)) { admin_toastr('数据异常', 'error'); return redirect(admin_base_path('content/buy_house_rs')); } $apply = TalentHouseApply::find($id); $apply->rs_check_status = $status; $apply->rs_check_comment = $reason; $apply->rs_check_time = date('Y-m-d H:i:s'); $apply->status = $status == 2 ? 1 : $status; if ($status == 4) { $apply->is_sock = 2; } $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['rs_check_status'], 'check_comment' => $apply['rs_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 ($status == 2) { SmsTemplate::buyHouseCheck('zj'); SmsTemplate::buyHouseCheck('zr'); } 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]; //json $json = ['certificates', 'marry_prove', 'household_register', 'work_prove']; foreach ($json as $v) { if (!empty(json_decode($info->$v))) { $info->$v = json_decode($info->$v); } else { $info->$v = []; } } $with = ['info' => $info, 'form_url' => route('content.buy_house_rs.audit'), 'status' => $this->status]; $with['check_status'] = $info['rs_check_status']; $html = view('admin.ajax.buy_house_detail')->with($with)->render(); return response()->json(['code' => 1, 'data' => $html]); } }