header('报名列表')
            ->description(' ')
            ->body(view('admin.content.recuperate_apply')->with(['grid' => $this->grid()]));
    }
    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new RecuperateApply());
        $grid->model()->orderBy('created_at', 'DESC');
        $grid->recuperate_id('套餐id');
        $grid->column('套餐标题')->display(function () {
            //套餐被删除
            if (empty($this->recuperate)) {
                return '已被删除';
            }
            $style = "color:" . $this->recuperate->tit_color . ';';
            if ($this->recuperate->tit_b == '1') {
                $style .= 'font-weight:bold;';
            }
            return '' . $this->recuperate->title . '';
        })->width(200);
        $grid->small_img('缩略图')->display(function () {
            //套餐被删除
            if (empty($this->recuperate)) {
                return '';
            }
            if ($this->recuperate->small_img) {
                return '
                             . ') ';
            } else {
                return '';
            }
        });
        $grid->price('套餐金额');
        $grid->user_name('姓名');
        $grid->user_idcard('身份证');
        $grid->mobile('联系电话');
        $grid->wechat('微信号');
        $grid->company_name('工作单位');
        $grid->column('人才层次')->display(function () {
            $level_arr = [
                '',
                '第一层次',
                '第二层次',
                '第三层次',
                '第四层次',
                '第五层次',
                '第六层次',
                '第七层次',
            ];
            return $level_arr[$this->level];
        });
        $grid->condition("适用对象类型");
        $grid->column('个税社保')->display(function () {
            $level_arr = [
                '',
                '是',
                '否',
            ];
            return $level_arr[$this->tax];
        });
        $grid->column('年薪')->display(function () {
            $level_arr = [
                '',
                '是',
                '否',
            ];
            return $level_arr[$this->salary];
        });
        $grid->created_at('报名时间');
        $grid->column('审核状态')->display(function () {
            $status_arr = [
                '待审核',
                '审核通过',
                '审核不通过',
                '取消活动',
            ];
            $reason     = $this->reason ? '' : '';
            return '' . $status_arr[$this->status] . $reason . '';
        });
        //审核功能
        $grid->actions(function ($actions) {
            if ($actions->row['status'] == 0) {
                $actions->append("");
            }
            /*取消活动*/
            if ($actions->row['status'] != 2 && $actions->row['status'] != 3) {
                $actions->append("");
            }
        });
        $grid->filter(function ($filter) {
            $filter->disableIdFilter();
            $filter->equal('recuperate_id', '套餐id');
            /*$filter->where(function($query){
                $recuperate = Recuperate::where('title','like',"%{$this->input}%")->get();
                $ids = $recuperate->pluck('id')->all();
                if (empty($ids)) {
                    $query->where('id','=',0);
                } else {
                    $query->whereIn('recuperate_id',$ids);
                }
            }, '');*/
            $date3       = date('Y-m-d', strtotime("-3 day"));
            $date7       = date('Y-m-d', strtotime("-7 day"));
            $date30      = date("Y-m-d", strtotime("-1 month"));
            $date180     = date("Y-m-d", strtotime("-6 month"));
            $date360     = date("Y-m-d", strtotime("-1 year"));
            $date_option = [
                ''       => '不限',
                $date3   => '三天内',
                $date7   => '一周内',
                $date30  => '一月内',
                $date180 => '半年内',
                $date360 => '一年内',
            ];
            $filter->where(function ($query) {
                $query->where('created_at', '>=', "{$this->input}");
            }, '添加时间', 'created_at')->radio($date_option);
            $status_option = [
                '' => '不限',
                0  => '待审核',
                1  => '审核通过',
                2  => '审核不通过',
            ];
            $filter->where(function ($query) {
                if (isset($this->input)) {
                    $query->where('status', '=', "{$this->input}");
                }
            }, '审核状态', 'status')->radio($status_option);
        });
        return $grid;
    }
    public function audit(Request $request)
    {
        $id     = $request->id;
        $status = $request->status;
        $reason = $request->reason;
        $url    = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
        if (empty($id)) {
            admin_toastr('数据异常', 'error');
            return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
        }
        $result = RecuperateApply::where('id', '=', $id)->update(['status' => $status, 'reason' => $reason]);
        if ($result) {
            admin_toastr('审核成功', 'success');
        } else {
            admin_toastr('该信息不存在或已审核', 'error');
        }
        return redirect($url);
    }
    public function audit_qx(Request $request)
    {
        $id = $request->id;
        //  $status = $request->status;
        //  $reason = $request->reason;
        $url = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
        if (empty($id)) {
            admin_toastr('数据异常1', 'error');
            return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
        }
        $result           = RecuperateApply::where('id', '=', $id)->update(['status' => 3]);
        $recuperate_apply = RecuperateApply::where('id', '=', $id)->select('uid')->first();
        $auditData        = [
            'type'     => 2,
            'admin_id' => \Encore\Admin\Facades\Admin::user()->id,
            'sid'      => $recuperate_apply->uid,
            'content'  => "取消活动",
        ];
        RecuperateLog::create($auditData);
        if ($result) {
            admin_toastr('取消成功', 'success');
        } else {
            admin_toastr('该信息不存在或已审核', 'error');
        }
        return redirect($url);
    }
    /*个人列表*/
    public function appointinfo(Content $content, Request $request)
    {
        $uid             = $request->uid;
        $recuperateApply = RecuperateApply::where('uid', $uid);
        $recuperateTime  = RecuperateTime::where('uid', $uid)->select('id', 'year')->orderBy('id', 'desc')->get();
        if (empty($recuperateApply)) {
            return back();
        }
        $search_data = $request->all();
        $search_data['uid']                = isset($search_data['uid']) ? $search_data['uid'] : $uid;
        $search_data['status']             = isset($search_data['status']) ? $search_data['status'] : 1;
        $search_data['recuperate_time_id'] = isset($search_data['recuperate_time_id']) ? $search_data['recuperate_time_id'] : $recuperateTime[0]->id;
        $where                             = [];
        if (isset($search_data['perpage'])) {
            $perpage = $search_data['perpage'];
        } else {
            $session_data = session('search_data');
            if (isset($session_data['perpage'])) {
                $perpage = $session_data['perpage'];
            } else {
                $perpage = 20;
            }
        }
        if (isset($search_data['uid']) || session('manage_search_data')['uid']) {
            if (isset($search_data['page'])) {
                if (session('search_data')) {
                    $where = session('managewhere');
                    unset($search_data['page']);
                    $search_data = session('manage_search_data');
                }
            }
            foreach ($search_data as $k => $v) {
                if ($k == 'status') {
                    $where[] = ['recuperate_apply.status', 'like', "%$v%"];
                } elseif ($k == 'recuperate_time_id') {
                    $where[] = ['recuperate_apply.recuperate_time_id', '=', $v];
                } elseif ($k == 'uid') {
                    $where[] = ['recuperate_apply.uid', '=', $v];
                } elseif ($k != '_pjax' and $k != 'page' && $k != 'perpage') {
                    $where[] = [$k, '=', $v];
                }
            }
            session(['managewhere' => $where]);
            session(['manage_search_data' => $search_data]);
            session()->save();
        }
        $list = RecuperateApply::where($where)
            ->join('recuperate', 'recuperate_apply.recuperate_id', '=', 'recuperate.id', 'left')
            ->join('recuperate_time', 'recuperate_apply.recuperate_time_id', '=', 'recuperate_time.id', 'left')
            ->select('recuperate_apply.*', 'recuperate.title', 'recuperate_time.year')
            ->orderBy('recuperate_apply.id', 'desc')
            ->paginate($perpage);
        return $content
            ->header('招考管理')
            ->description('招考人员信息列表')
            ->body(view('admin.content.recuperate_apply_personal')->with([
                'list'           => $list,
                'search_data'    => $search_data,
                'recuperateTime' => $recuperateTime,
            ]));
    }
}
                        ';
            } else {
                return '';
            }
        });
        $grid->price('套餐金额');
        $grid->user_name('姓名');
        $grid->user_idcard('身份证');
        $grid->mobile('联系电话');
        $grid->wechat('微信号');
        $grid->company_name('工作单位');
        $grid->column('人才层次')->display(function () {
            $level_arr = [
                '',
                '第一层次',
                '第二层次',
                '第三层次',
                '第四层次',
                '第五层次',
                '第六层次',
                '第七层次',
            ];
            return $level_arr[$this->level];
        });
        $grid->condition("适用对象类型");
        $grid->column('个税社保')->display(function () {
            $level_arr = [
                '',
                '是',
                '否',
            ];
            return $level_arr[$this->tax];
        });
        $grid->column('年薪')->display(function () {
            $level_arr = [
                '',
                '是',
                '否',
            ];
            return $level_arr[$this->salary];
        });
        $grid->created_at('报名时间');
        $grid->column('审核状态')->display(function () {
            $status_arr = [
                '待审核',
                '审核通过',
                '审核不通过',
                '取消活动',
            ];
            $reason     = $this->reason ? '' : '';
            return '' . $status_arr[$this->status] . $reason . '';
        });
        //审核功能
        $grid->actions(function ($actions) {
            if ($actions->row['status'] == 0) {
                $actions->append("");
            }
            /*取消活动*/
            if ($actions->row['status'] != 2 && $actions->row['status'] != 3) {
                $actions->append("");
            }
        });
        $grid->filter(function ($filter) {
            $filter->disableIdFilter();
            $filter->equal('recuperate_id', '套餐id');
            /*$filter->where(function($query){
                $recuperate = Recuperate::where('title','like',"%{$this->input}%")->get();
                $ids = $recuperate->pluck('id')->all();
                if (empty($ids)) {
                    $query->where('id','=',0);
                } else {
                    $query->whereIn('recuperate_id',$ids);
                }
            }, '');*/
            $date3       = date('Y-m-d', strtotime("-3 day"));
            $date7       = date('Y-m-d', strtotime("-7 day"));
            $date30      = date("Y-m-d", strtotime("-1 month"));
            $date180     = date("Y-m-d", strtotime("-6 month"));
            $date360     = date("Y-m-d", strtotime("-1 year"));
            $date_option = [
                ''       => '不限',
                $date3   => '三天内',
                $date7   => '一周内',
                $date30  => '一月内',
                $date180 => '半年内',
                $date360 => '一年内',
            ];
            $filter->where(function ($query) {
                $query->where('created_at', '>=', "{$this->input}");
            }, '添加时间', 'created_at')->radio($date_option);
            $status_option = [
                '' => '不限',
                0  => '待审核',
                1  => '审核通过',
                2  => '审核不通过',
            ];
            $filter->where(function ($query) {
                if (isset($this->input)) {
                    $query->where('status', '=', "{$this->input}");
                }
            }, '审核状态', 'status')->radio($status_option);
        });
        return $grid;
    }
    public function audit(Request $request)
    {
        $id     = $request->id;
        $status = $request->status;
        $reason = $request->reason;
        $url    = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
        if (empty($id)) {
            admin_toastr('数据异常', 'error');
            return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
        }
        $result = RecuperateApply::where('id', '=', $id)->update(['status' => $status, 'reason' => $reason]);
        if ($result) {
            admin_toastr('审核成功', 'success');
        } else {
            admin_toastr('该信息不存在或已审核', 'error');
        }
        return redirect($url);
    }
    public function audit_qx(Request $request)
    {
        $id = $request->id;
        //  $status = $request->status;
        //  $reason = $request->reason;
        $url = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
        if (empty($id)) {
            admin_toastr('数据异常1', 'error');
            return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
        }
        $result           = RecuperateApply::where('id', '=', $id)->update(['status' => 3]);
        $recuperate_apply = RecuperateApply::where('id', '=', $id)->select('uid')->first();
        $auditData        = [
            'type'     => 2,
            'admin_id' => \Encore\Admin\Facades\Admin::user()->id,
            'sid'      => $recuperate_apply->uid,
            'content'  => "取消活动",
        ];
        RecuperateLog::create($auditData);
        if ($result) {
            admin_toastr('取消成功', 'success');
        } else {
            admin_toastr('该信息不存在或已审核', 'error');
        }
        return redirect($url);
    }
    /*个人列表*/
    public function appointinfo(Content $content, Request $request)
    {
        $uid             = $request->uid;
        $recuperateApply = RecuperateApply::where('uid', $uid);
        $recuperateTime  = RecuperateTime::where('uid', $uid)->select('id', 'year')->orderBy('id', 'desc')->get();
        if (empty($recuperateApply)) {
            return back();
        }
        $search_data = $request->all();
        $search_data['uid']                = isset($search_data['uid']) ? $search_data['uid'] : $uid;
        $search_data['status']             = isset($search_data['status']) ? $search_data['status'] : 1;
        $search_data['recuperate_time_id'] = isset($search_data['recuperate_time_id']) ? $search_data['recuperate_time_id'] : $recuperateTime[0]->id;
        $where                             = [];
        if (isset($search_data['perpage'])) {
            $perpage = $search_data['perpage'];
        } else {
            $session_data = session('search_data');
            if (isset($session_data['perpage'])) {
                $perpage = $session_data['perpage'];
            } else {
                $perpage = 20;
            }
        }
        if (isset($search_data['uid']) || session('manage_search_data')['uid']) {
            if (isset($search_data['page'])) {
                if (session('search_data')) {
                    $where = session('managewhere');
                    unset($search_data['page']);
                    $search_data = session('manage_search_data');
                }
            }
            foreach ($search_data as $k => $v) {
                if ($k == 'status') {
                    $where[] = ['recuperate_apply.status', 'like', "%$v%"];
                } elseif ($k == 'recuperate_time_id') {
                    $where[] = ['recuperate_apply.recuperate_time_id', '=', $v];
                } elseif ($k == 'uid') {
                    $where[] = ['recuperate_apply.uid', '=', $v];
                } elseif ($k != '_pjax' and $k != 'page' && $k != 'perpage') {
                    $where[] = [$k, '=', $v];
                }
            }
            session(['managewhere' => $where]);
            session(['manage_search_data' => $search_data]);
            session()->save();
        }
        $list = RecuperateApply::where($where)
            ->join('recuperate', 'recuperate_apply.recuperate_id', '=', 'recuperate.id', 'left')
            ->join('recuperate_time', 'recuperate_apply.recuperate_time_id', '=', 'recuperate_time.id', 'left')
            ->select('recuperate_apply.*', 'recuperate.title', 'recuperate_time.year')
            ->orderBy('recuperate_apply.id', 'desc')
            ->paginate($perpage);
        return $content
            ->header('招考管理')
            ->description('招考人员信息列表')
            ->body(view('admin.content.recuperate_apply_personal')->with([
                'list'           => $list,
                'search_data'    => $search_data,
                'recuperateTime' => $recuperateTime,
            ]));
    }
}