123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- <?php
- namespace App\Admin\Controllers\Company;
- use App\Http\Controllers\Controller;
- use App\Models\Setmeal;
- use Encore\Admin\Auth\Permission;
- use Encore\Admin\Controllers\HasResourceActions;
- use Encore\Admin\Facades\Admin;
- use Encore\Admin\Form;
- use Encore\Admin\Grid;
- use Encore\Admin\Layout\Content;
- use Encore\Admin\Show;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Validation\Rule;
- class SetmealController extends Controller
- {
- use HasResourceActions;
- /**
- * Index interface.
- *
- * @param Content $content
- * @return Content
- */
- public function index(Content $content)
- {
- Permission::check('setmeal_manager_category');
- return $content
- ->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);
- }
- }
|