'积分管理', 'setmeal'=>'套餐管理', 'order'=>'充值/订单', 'increment'=>'增值服务', 'down_resume'=>'下载的简历', 'apply'=>'收到的简历', 'interview'=>'面试邀请', 'companyimg'=>'企业风采管理', ]; /** * 直接在case里头判断的话,case 完了的代码会产生css影响 */ if (!Admin::user()->can('company_comBusiness_points')) { unset($types["points"]); } if (!Admin::user()->can('company_comBusiness_setmeal')) { unset($types["setmeal"]); } foreach ($types as $key => $val) { $form=null; $memberSetform=null; switch ($key) { case 'points': $grid = new Grid(new MembersPoint()); $grid->model()->where('uid', $id)->where('utype', 1)->when(get_subsite_id()>0, function ($querys) { $querys->whereHas('companys', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->whereHas('companys')->orderBy('created_at', 'desc'); $grid->column('companys.companyname', '企业名称'); $grid->points('积分'); $grid->column('companys.username', '用户名称'); $grid->column('companys.created_at', '注册时间'); $grid->disableActions(); $grid->disableTools(); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); $form=$this->PointeditForm()->edit($id); $form->setAction(admin_base_path("firm/comBusiness/update/{$id}")); $form->setTitle("修改"); break; case 'setmeal': $grid = new Grid(new MembersSetmeal); $grid->model()->where('uid', $id)->where('utype', 1)->whereHas('companys')->when(get_subsite_id()>0, function ($querys) { $querys->whereHas('companys', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->orderBy('id', 'desc'); $grid->id('id'); $grid->setmeal_name('套餐名称'); $grid->column('companys.companyname', '公司名称'); $grid->column('companys.username', '用户名称'); $grid->starttime('开始时间')->display(function ($starttime) { return date('Y-m-d H:i:s', $starttime); }); $grid->endtime('结束时间')->display(function ($endtime) { if ($endtime) { return $endtime; } return "永久"; }); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); $memberSetmealInfo=MembersSetmeal::where(['uid'=>$id])->first(); //套餐修改的form表单 $memberSetform=$this->eidtMemberSetForm()->edit($memberSetmealInfo->id); $memberSetform->setAction(admin_base_path("firm/companysetmeal/index/{$memberSetmealInfo->id}")); $memberSetform->setTitle("套餐更换"); //修改套餐内容的Form 表单 $form=$this->eidtForm()->edit($memberSetmealInfo->id); $form->setTitle("套餐修改"); $form->setAction(admin_base_path("firm/companysetmeal/index/{$memberSetmealInfo->id}")); break; case "order": $utype = 1; $grid = new Grid(new Order); $grid ->model()->where('uid', $id)->where('utype', $utype)->when(get_subsite_id()>0, function ($querys) { $relations = 'companys'; $querys->whereHas($relations, function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->orderBy('created_at', 'desc')->orderBy("is_pay", 'asc'); $grid->id('ID'); $grid->is_pay('支付状态')->display(function ($is_pay) { if ($is_pay == 1) { return '待付款'; } elseif ($is_pay == 2) { return "已付款"; } else { return '已取消'; } }); $grid->amount('金额')->width(150); $grid->column('companys.companyname', '企业名称')->width(200); $grid->service_name('说明')->width(150); $grid->column('companys.username', '企业会员')->width(200); $grid->oid('订单号')->width(200); $grid->created_at('申请时间'); $grid->payment_cn('支付方式')->width(150); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); // $tab_content[$key] = $grid; $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); break; case 'increment': $grid = new Grid(new Order); $grid->model()->where('uid', $id)->where('uid', $id)->where('utype', 1)->when(get_subsite_id()>0, function ($querys) { $querys->whereHas('companys', function ($query) { $query->where('subsite_id', get_subsite_id()); }); }); $grid->id('ID'); $grid->service_name('服务内容'); $grid->column('companys.companyname', '企业名称'); $grid->column('companys.username', '申请会员'); $grid->amount('金额'); $grid->created_at('申请时间'); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); // $tab_content[$key] = $grid; break; case 'down_resume': $grid = new Grid(new CompanyDownResume); $grid->model()->where('company_uid', $id)->whereHas('resumes'); $grid->id('ID'); $grid->column('resumes.fullname', '姓名'); $grid->column('resumes.birthdate', '年龄')->display(function ($birthdate) { return date('Y')-$birthdate; }); $grid->column('resumes.sex_cn', '性别'); $grid->column('resumes.education_cn', '学历'); $grid->column('resumes.experience_cn', '工作经验'); $grid->column('resumes.wage_cn', '期望薪资'); $grid->down_addtime('下载时间')->display(function ($down_addtime) { return date('Y-m-d H:i:s', $down_addtime); }); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); // $tab_content[$key] = $grid; break; case "apply": $grid = new Grid(new PersonalJobsApply); $grid->model()->where('company_id', $id)->whereHas('resumes'); $grid->id('ID'); $grid->column('resumes.fullname', '姓名'); $grid->column('resumes.birthdate', '年龄')->display(function ($birthdate) { return date('Y')-$birthdate; }); $grid->column('resumes.sex_cn', '性别'); $grid->column('resumes.education_cn', '学历'); $grid->column('resumes.experience_cn', '工作经验'); $grid->column('jobs_name', '应聘职位'); $grid->column('created_at', '投递时间'); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); //$grid->model()->eloquent()->withPath('aaa'); // $tab_content[$key] = $grid; break; case "interview": $grid = new Grid(new CompanyInterView); $grid->model()->where('company_id', $id)->whereHas('resumes'); $grid->id('ID'); $grid->column('resumes.fullname', '姓名'); $grid->column('resumes.birthdate', '年龄')->display(function ($birthdate) { return date('Y')-$birthdate; }); $grid->column('resumes.sex_cn', '性别'); $grid->column('resumes.education_cn', '学历'); $grid->column('resumes.experience_cn', '工作经验'); $grid->column('resumes.wage_cn', '期望薪资'); $grid->column('interview_time', '面试时间')->display(function ($interview_time) { return date('Y-m-d H:i:s', $interview_time); }); $grid->disableActions(); $grid->disableTools(); // $tab_content[$key] = $grid; $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); break; case 'companyimg': $grid = new Grid(new CompanyImg); $grid->model()->where('company_id', $id)->when(get_subsite_id()>0, function ($query) { $query->where('subsite_id', get_subsite_id()); })->whereHas('companys')->orderByRaw('field(audit,0,2,1,3)')->orderBy('created_at', 'desc'); $grid->id('ID'); $grid->image()->image(); $grid->company_id('企业名称')->display(function ($company_id) { $companyname = Company::where('id', $company_id)->select(['companyname'])->first(); return $companyname['companyname']; })->width(200); $grid->audit('审核状态')->display(function ($audit) { switch ($audit) { case 1: return '审核通过'; break; case 2: return '审核中'; break; case 3: return '审核未通过'; break; case 0: return '未审核'; break; } }); $grid->subsite_id('所属分站')->display(function ($subsite_id) { if ($subsite_id == 0) { return "总站"; } else { $subsite = Subsite::findOrFail($subsite_id); return $subsite->sitename; } }); $grid->created_at('添加时间'); $grid->disableActions(); $grid->disableTools(); $grid->setName($key); $grid->setPaginatorBaseUrl($key); $grid->disableRowSelector(); break; } if (!empty($grid)){ $tab->add($val, view('admin.company.content')->with(['contents'=>$grid,'form'=>$form,'memberSetform'=>$memberSetform] ), $type == $key); } } return $content ->header('企业信息') ->description('列表') ->body($tab->render()); } public function update($id,MemberPointRepository $memberPointRepository){ $data = $this->PointeditForm($id)->getValidateInput(); if($data['points']){ if ($data['regpoints'] == 1) { //增加积分 $pointData['points'] = $data['points']; if (false == $memberPointRepository->reportDeal($id, 1, 1, $data['points'])) { admin_toastr('企业增加积分失败', 'error'); } } else { //减少积分 if (false == $memberPointRepository->reportDeal($id, 1, 2, $data['points'])) { admin_toastr('企业增加积分失败', 'error'); } } } $amount = 0; if ($data['is_money']) { $amount = $data['amount']; $company=Company::find($id); $logData['log_uid'] = $id; $logData['log_utype'] = 1; $logData['log_username'] = $company->username; $logData['log_value'] = "操作人:".Admin::user()->username.",说明:修改会员:{$company->username},(+{$data['points']})积分,收到".$amount."元。"; $logData['log_amount'] = $amount; $logData['log_ismoney'] = $data['is_money']; $logData['log_type'] = 2; $logData['log_mode'] = 1; if (!MembersChargeLog::create($logData)) { admin_toastr('企业增加记录失败', 'error'); } } admin_toastr('积分修改成功', 'success'); return back(); } //积分表单 public function PointeditForm(){ Permission::check('company_comBusiness_points'); $form = new ValidateForm(new Company); $form->radio('regpoints', '管理积分')->options([0=>'减少', 1=>'增加' ])->default('1'); $form->number('points', '赠送数量')->min(0); $form->switch('is_money', '是否收费'); $form->number('amount', '收费金额')->min(0); return $form; } //套餐内容表单 public function eidtForm() { Permission::check('company_comBusiness_setmeal'); $form= new Form(new MembersSetmeal); $form->display('id'); $form->display('companys.companyname', '企业名称'); $form->display('setmeal_name', '套餐名称'); $form->display('setmealtime', '服务时间')->with(function () { return '起:'.date('Y-m-d H:i:s', $this->starttime).' ~ 止:'.($this->endtime ==0?"无限制":$this->endtime); }); $form->datetime('endtime', '到期时间'); // $form->text('dayes', '服务天数')->help("默认为空表示不做修改,0为不限制,如填写3则延长3天,-3则减少3天"); $form->hidden('days', "服务天数"); $form->number('jobs_meanwhile', '在招职位数')->min(0); $form->number('jobfair_num', '招聘会场次')->min(0); $form->number('refresh_jobs_free', '职位免费刷新数')->min(0); $form->number('download_resume', '下载简历数')->min(0); $form->number('download_resume_max', '下载简历数上限')->min(0); $form->number('companys.sms_num', '短信数')->min(0); $form->radio('show_apply_contact', '收到简历的联系方式')->options([0=>'需下载',1=>'免费查看']); $form->text('added', '其他说明'); $form->hidden('uid'); $form->hidden('utype'); $form->hidden('companys.username'); $form->hidden('starttime'); $form->hidden('setmeal')->default(2); return $form; } //改变套餐的表单 public function eidtMemberSetForm() { Permission::check('company_comBusiness_setmeal'); $form= new Form(new MembersSetmeal); $setmeal = Setmeal::where('display', 1)->list()->pluck('setmeal_name', 'id')->toArray(); empty(\request('setmeal_id')) ? request()->offsetSet('setmeal_id', key($setmeal)) : "" ; $form->radio('setmeal_id', '会员套餐')->options($setmeal)->default(key($setmeal))->rules(['required'], ['required'=>'请选择相应的会员套餐'])->setMustMark(); $form->switch('is_money', '是否已收费'); $form->text('amount', '收费金额'); $form->hidden('setmeal')->default(1); return $form; } }