| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 | <?phpnamespace App\Admin\Controllers\Person;use App\Http\Controllers\Controller;use App\Models\PersonalServiceStick;use App\Models\PersonalServiceTag;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 Encore\Admin\Widgets\Tab;use Encore\Admin\Widgets\Table;use Illuminate\Validation\Rule;class PersonalServiceStickController extends Controller{    use HasResourceActions;    /**     * Index interface.     *     * @param Content $content     * @return Content     */    public function index(Content $content)    {        return $content            ->header('简历置顶')            ->description(' ')            ->body($this->grid());    }    public function indexs(Content $content, int $type_id, int $tab_id = 0)    {        $tab = new Tab();        if ($type_id=='1') {            $services = PersonalServiceStick::all();            $header = '简历置顶';        } else {            $services = PersonalServiceTag::all();            $header = '醒目标签';        }        $headers = ['Id', 'Email', 'Name', 'Company'];        $rows = [            [1, 'labore21@yahoo.com', 'Ms. Clotilde Gibson', 'Goodwin-Watsica'],            [2, 'omnis.in@hotmail.com', 'Allie Kuhic', 'Murphy, Koepp and Morar'],            [3, 'quia65@hotmail.com', 'Prof. Drew Heller', 'Kihn LLC'],            [4, 'xet@yahoo.com', 'William Koss', 'Becker-Raynor'],            [5, 'ipsa.aut@gmail.com', 'Ms. Antonietta Kozey Jr.'],        ];        $table = new Table($headers, $rows);        $tab->add('置顶', '置顶')->render();        $tab->add('醒目标签', $table)->render();        //return $tab->render();        //$tab->add('站内信', $this->grid()->setResource('/content/sysmessage/index')->render());        //$tab->add('弹窗消息', $this->grid()->setResource('/content/explain/index')->render());        return $content            ->header($header)            ->description(' ')            ->body($tab);    }    /**     * 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()    {        $grid = new Grid(new PersonalServiceStick);        $grid->model()->orderBy('list_order', 'desc');        $grid->id('ID');        $grid->days('服务名称')->display(function () {            return '置顶 '.$this->days.' 天';        })->width(150);        $grid->column('类型')->display(function () {            return '置顶';        });        $grid->points('服务价')->display(function () {            return $this->points.'积分';        })->width(200);        $grid->list_order('排序')->width(200);        $grid->created_at('添加时间');        $grid->updated_at('更新时间');        if (Admin::user()->can('person_resume_stick_add')) {            $grid->disableCreateButton(false);        }        $grid->actions(function ($actions) {            if (Admin::user()->can('person_resume_stick_edit')) {                $actions->disableEdit(false);            }            if (Admin::user()->can('person_resume_stick_delete')) {                $actions->disableDelete(false);            }        });        $grid->disableFilter();        return $grid;    }    /**     * Make a show builder.     *     * @param mixed $id     * @return Show     */    protected function detail($id)    {        $show = new Show(PersonalServiceStick::findOrFail($id));        $show->id('ID');        $show->days('置顶时间')->as(function ($days) {            return $days.'天';        });        $show->points('所需积分')->as(function ($points) {            return $points.'点';        });        $show->list_order('排序');        $show->created_at('添加时间');        $show->updated_at('更新时间');        return $show;    }    protected function editForm($id)    {        $form = new Form(new PersonalServiceStick);        $form->text('days', '置顶时间')            ->rules(                [                    'required',                     Rule::unique('personal_service_sticks')->ignore($id),                ],                [                    'required' => '置顶时间不能为空',                    'unique' => '置顶时间已存在',                ]            )            ->setWidth(2)->setMustMark()            ->append('天')            ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"));        $form->text('points', '所需积分')            ->rules('required', array('required'=>'所需积分不能为空。'))            ->setWidth(2)->setMustMark()            ->append('点')            ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"));        $form->number('list_order', '排序')->default(0)->min(0)            ->rules('required|numeric', array('required'=>'排序不能为空。','numeric'=>'排序只能填写数字。'))            ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"))            ->help('(数字越大越靠前)');        return $form;    }    public function update($id)    {        return $this->editForm($id)->update($id);    }    /**     * Make a form builder.     *     * @return Form     */    protected function form()    {        $form = new Form(new PersonalServiceStick);        $form->text('days', '置顶时间')            ->rules(                [                    'required',                     Rule::unique('personal_service_sticks')->where(function ($query){                         $query->where('deleted_at',null);                     }),                ],                [                    'required' => '置顶时间不能为空',                    'unique' => '置顶时间已存在',                ]            )             ->setWidth(2)->setMustMark()             ->append('天')            ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"));        $form->text('points', '所需积分')             ->rules('required', array('required'=>'所需积分不能为空。'))             ->setWidth(2)->setMustMark()             ->append('点')             ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"));        $form->number('list_order', '排序')->default(0)->min(0)             ->rules('required|numeric', array('required'=>'排序不能为空。','numeric'=>'排序只能填写数字。'))             ->attribute(array('maxlength'=>'10','onkeyup'=>'if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,\'\');','onbeforepaste'=>"clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))"))             ->help('(数字越大越靠前)');        return $form;    }}
 |