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->editform($id)->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() { Permission::check('setmeal_manager_category'); $grid = new Grid(new Setmeal); $grid->id('ID'); $grid->setmeal_name('名称'); $grid->display('会员显示')->display(function ($display) { return $display==1?"显示":'不显示'; }); $grid->apply('允许申请')->display(function ($apply) { return $apply==1?"允许":'不允许'; }); $grid->expense('服务价')->display(function ($expense) { return $expense==0?"免费":$expense; }); $grid->days('期限')->display(function ($days) { return $days==0?"不限制":$days; }); if (Admin::user()->can('setmeal_manager_category_add')) { $grid->disableCreateButton(false); } $grid->show_order('排序'); $grid->disableFilter(); $grid->actions(function ($actions) { if (Admin::user()->can('setmeal_manager_category_edit')) { $actions->disableEdit(false); } if ($actions->row['id'] != 1) { if (Admin::user()->can('setmeal_manager_category_delete')) { $actions->disableDelete(false); } } }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(Setmeal::findOrFail($id)); $show->setmeal_name('名称'); $show->display('会员显示')->as(function ($display) { return $display==1?"显示":'不显示'; }); $show->apply('会员显示')->as(function ($apply) { return $apply==1?"允许":'不允许'; }); $show->expense('服务价')->as(function ($expense) { return $expense==0?"免费":$expense; }); $show->days('期限')->as(function ($days) { return $days==0?"不限制":$days; }); $show->jobs_meanwhile('职位最大并发数'); $show->refresh_jobs_free('每天免费刷新职位次数'); $show->download_resume('下载简历'); $show->jobfair_num('招聘会场次'); $show->download_resume_max('每天下载简历数上限'); $show->discount_download_resume('下载简历增值包折扣'); $show->discount_sms('短信增值包折扣'); $show->discount_stick('职位置顶折扣'); $show->discount_emergency('职位紧急折扣'); $show->discount_tpl('企业模板折扣'); $show->discount_auto_refresh_jobs('职位预约刷新折扣'); $show->show_order('显示顺序'); $show->set_sms('赠送短信条数'); $show->set_points('赠送积分'); $show->show_apply_contact('收到简历的联系方式免费查看'); $show->apply('允许会员申请此服务'); $show->setmeal_img('修改套餐图标(png格式)')->image(); $show->added('其他说明)'); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { Permission::check('setmeal_manager_category_add'); $form = new Form(new Setmeal); $form->display('id'); $form->text('setmeal_name', '套餐名称')->rules(['required','unique:setmeals'], ['required'=>'请填写套餐名称','unique' => '套餐名称已经存在']); $form->number('days', '有效时间')->min(0)->rules('required', ['required'=>'请填写有效时间']); $form->number('expense', '价格')->min(0)->rules('required', ['required'=>'请填写套餐价格']); $form->number('jobs_meanwhile', '职位最大发布数')->min(0)->rules('required', ['required'=>'请填写职位最大发布数']); $form->number('refresh_jobs_free', '每天免费刷新职位次数')->min(0)->rules('required', ['required'=>'请填写每天免费刷新职位数']); $form->number('download_resume', '下载简历')->min(0)->rules('required', ['required'=>'请填写下载简历数']); $form->number('jobfair_num', '招聘会场次')->min(0)->rules('required', ['required'=>'请填写招聘会场次']); $form->number('download_resume_max', '每天下载简历数上限')->min(0)->rules('required', ['required'=>'请填写每天下载简历数上限']); $form->number('discount_download_resume', '下载简历增值包折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写下载简历增值包折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_sms', '短信增值包折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写短信增值包折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_stick', '职位置顶折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位置顶折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_emergency', '职位紧急折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位紧急折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_tpl', '企业模板折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写企业模板折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_auto_refresh_jobs', '职位预约刷新折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位预约刷新折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('show_order', '显示顺序'); $form->number('set_sms', '赠送短信条数')->rules('required', ['required'=>'请填写赠送短信条数']); $form->number('set_points', '赠送积分')->rules('required', ['required'=>'请填写赠送积分']); $form->switch('show_apply_contact', '收到简历的联系方式免费查看'); $form->switch('apply', '允许会员申请此服务'); $form->switch('display', '是否显示'); $form->image('setmeal_img', '修改套餐图标(png格式)')->removable()->rules('required', ['required'=>'请上传图标'])->setMustMark(); $form->text('added', '其他说明)'); return $form; } protected function editform($id) { Permission::check('setmeal_manager_category_edit'); $form = new Form(new Setmeal); $form->display('id'); $form->text('setmeal_name', '套餐名称')->rules(['required',Rule::unique('setmeals')->ignore($id)], ['required'=>'请填写套餐名称','unique' => '套餐名称已经存在']); //2019.7.1 杨亚倩 更改免费也有到期时间 $form->number('days', '有效时间')->min(0)->rules('required', ['required' => '请填写有效时间'])->help('0表示无限制'); $form->number('expense', '价格')->min(0)->rules('required', ['required'=>'请填写套餐价格']); $form->number('jobs_meanwhile', '职位最大发布数')->min(0)->rules('required', ['required'=>'请填写职位最大发布数']); $form->number('refresh_jobs_free', '每天免费刷新职位次数')->min(0)->rules('required', ['required'=>'请填写每天免费刷新职位数']); $form->number('download_resume', '下载简历')->min(0)->rules('required', ['required'=>'请填写下载简历数']); $form->number('jobfair_num', '招聘会场次')->min(0)->rules('required', ['required'=>'请填写招聘会场次']); $form->number('download_resume_max', '每天下载简历数上限')->min(0)->rules('required', ['required'=>'请填写每天下载简历数上限']); $form->number('discount_download_resume', '下载简历增值包折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写下载简历增值包折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_sms', '短信增值包折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写短信增值包折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_stick', '职位置顶折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位置顶折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_emergency', '职位紧急折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位紧急折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_tpl', '企业模板折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写企业模板折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('discount_auto_refresh_jobs', '职位预约刷新折扣')->min(0)->max(9)->rules('required', ['required'=>'请填写职位预约刷新折扣'])->help('请填写0~9之间的数字,0表示无折扣'); $form->number('show_order', '显示顺序'); $form->number('set_sms', '赠送短信条数')->rules('required', ['required'=>'请填写赠送短信条数']); $form->number('set_points', '赠送积分')->rules('required', ['required'=>'请填写赠送积分']); $form->switch('show_apply_contact', '收到简历的联系方式免费查看'); $form->switch('apply', '允许会员申请此服务'); $form->switch('display', '是否显示'); $form->image('setmeal_img', '修改套餐图标(png格式)')->removable()->rules('required', ['required'=>'请上传图标'])->setMustMark(); $form->text('added', '其他说明)'); $form->saved(function (){ $redis = Cache::getRedis(); $keys = $redis->keys("*aix_cache:setmeals*"); foreach ($keys as $key) { $redis->del($key); } }); return $form; } public function update($id) { if (request()->has(Form\Field::FILE_DELETE_FLAG)) { return $this->editForm($id)->update($id); } return $this->editform($id)->update($id); } }