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 ResumeImg);
        $grid->model()->with('memberInfos')->when(get_subsite_id()>0, function ($query) {
            $query->whereHas('resumes', function ($query) {
                $query->where('subsite_id', get_subsite_id());
                $query->whereHas('subsite',function ($query){
                    $query->where('effective', 1);
                });
            });
        })->orderByRaw("FIELD(audit, 1,2,0)")->orderBy('updated_at', 'desc');
        $grid->id('ID');
        $grid->uid('UID');
        $grid->img()->image('', '150', '150');
        $grid->created_at();
        $grid->audit();
        $grid->title()->display(function ($title){
            return upload_asset($this->img);
        });
        $grid->setView('admin.resumeImg.img');
        $grid->actions(function ($actions) use ($grid) {
            if (Admin::user()->can('person_resume_img_audit')) {
                $actions->append("");
            }
            if (Admin::user()->can('person_resume_img_delete')) {
                $actions->disableDelete(false);
            }
        });
        if (Admin::user()->can('person_resume_img_delete')) {
            $grid->tools(function ($tools) {
                $tools->batch(function ($batch) {
                    $batch->disableDelete(false);
                });
            });
            $grid->disableRowSelector(false);
        }
        $grid->tools(function ($tools) {
            if (Admin::user()->can('person_resume_img_audit')) {
                $but = <<
    
EOT;
                $tools->append($but);
            }
        });
        $grid->filter(function ($filter) {
            // 去掉默认的id过滤器
            $filter->disableIdFilter();
            $filter->column(1/2, function ($filter) {
                $filter->like('memberInfos.realname', '姓名');
                $filter->like('resumes.title', '简历名称');
                $filter->like('memberInfos.phone', '手机');
                $filter->like('memberInfos.email', '邮箱');
            });
            $filter->column(1/2, function ($filter) {
                if(get_subsite_id()==0 && get_subsite_open()){
                    $filter->equal('resumes.subsite_id', '所属分站')->select(array_column(get_all_subsite(), 'sitename', 'id'));
                }
                $filter->equal('audit', '审核状态')->select([
                    0=>'审核未通过',
                    1=>'等待审核',
                    2=>'审核通过',
                ]);
                $filter->where(function ($query) {
                    switch ($this->input) {
                        case 3:
                            $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-3 day'))."'");
                            break;
                        case 7:
                            $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-7 day'))."'");
                            break;
                        case 30:
                            $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-30 day'))."'");
                            break;
                        case 90:
                            $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-90 day'))."'");
                            break;
                    }
                }, '添加时间', 'created_at')->select([
                    3=>'三天内',
                    7=>'一周内',
                    30=>'一月内',
                    90=>'三月内',
                ]);
            });
        });
        return $grid;
    }
    /**
     * Make a show builder.
     *
     * @param mixed $id
     * @return Show
     */
    protected function detail($id)
    {
        $show = new Show(ResumeImg::findOrFail($id));
        $show->id('ID');
        $show->audit('审核状态')->unescape()->as(function ($audit){
             if ($audit==0) {
                 return '审核未通过';
             } elseif ($audit==2) {
                 return '审核通过';
             } else {
                 return '等待审核';
             }
        });
        $show->img()->image('', '150', '150');
        $show->created_at('Created at');
        $show->updated_at('Updated at');
        return $show;
    }
    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new ResumeImg);
        $form->display('ID');
        $form->display('Created at');
        $form->display('Updated at');
        return $form;
    }
    /**
     * 审核图片
     * return json
     */
    public function auditImg(Request $request)
    {
        $id = $request->id;
        $form = new \Encore\Admin\Widgets\Form();
        $form->action(route('admin.personal.auditI'));
        $form->disableReset();
        $form->hidden('id', 'ID')->default($id);
        $form->radio('audit', '照片')->options([2=>'审核通过',0=>'审核未通过'])->default(2);
        $form->textarea('remark', '备注');
        $form->html('');
        return json_encode(['html'=>$form->render(),'detail'=>'审核图片']);
    }
    public function auditI(Request $request)
    {
        $id = $request->id;
        $audit = $request->audit;
        $remark = $request->remark;
        $pms_notice = $request->pms_notice;
        $arr = array_filter(explode(',', $id));
        if (empty($arr)) {
            admin_toastr('数据异常', 'error');
            return back();
        }
        $result = ResumeImg::whereIn('id', $arr)->update(['audit'=>$audit]);
        foreach ($arr as $k => $v) {
            $data[$k]['type'] = 4;
            $data[$k]['type_id'] = $v;
            $data[$k]['status'] = $audit;
            $data[$k]['reason'] = $remark;
            $data[$k]['audit_man'] = Admin::user()->username;
            $data[$k]['created_at'] = date('Y-m-d H:i:s', time());
            $data[$k]['updated_at'] = date('Y-m-d H:i:s', time());
        }
        $this->auditReason($data);
        if ($pms_notice) {
            if ($audit==0) {
                $stat='审核未通过';
            } elseif ($audit==2) {
                $stat = '审核通过';
            } else {
                $stat='等待审核';
            }
            $reus=ResumeImg::with(['members:id,username'])->whereIn('id', $arr)->select(['id','uid'])->get();
            foreach ($reus as $k => $v) {
                $da[$k]['uid'] = $v['members']['id'];
                $da[$k]['username'] = $v['members']['username'];
            }
            foreach ($da as $k => $v) {
                $ds[$k]['msgtype'] = 1;
                $ds[$k]['msgfromuid'] = Admin::user()->id;
                $ds[$k]['msgfrom'] = Admin::user()->username;
                $ds[$k]['msgtoname'] = isset($v['username']) ? $v['username'] : 'XX';
                $ds[$k]['msgtouid'] = isset($v['uid']) ? $v['uid'] : 0;
                $ds[$k]['message'] = $remark ? '附件作品(id:'.array_values($arr)[$k].')'.$stat.'<备注:'.$remark.'>' : '附件作品(id:'.array_values($arr)[$k].')'.$stat;
                $ds[$k]['created_at'] = date('Y-m-d H:i:s', time());
                $ds[$k]['updated_at'] = date('Y-m-d H:i:s', time());
            }
            Pms::insert($ds);
        }
        if ($result) {
            admin_toastr('审核成功', 'success');
        } else {
            admin_toastr('审核失败', 'error');
        }
        return back();
    }
    /**
     * CREAT 审核日志.
     * @param $type
     * @param $status
     * @param $reason
     * @param $audit_man
     * return arr
     */
    public function auditReason($data)
    {
        AuditReason::insert($data);
    }
}