Files
new_dqb_new/app/Admin/Controllers/Resume/IndexController.php
2021-12-01 13:34:38 +08:00

89 lines
3.0 KiB
PHP

<?php
namespace App\Admin\Controllers\Resume;
use App\Models\Category;
use App\Models\Resume;
use App\Models\ResumeGroup;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
class IndexController extends AdminController
{
protected $title = '简历管理';
public function grid()
{
$grid = new Grid(new Resume());
$grid->model()->orderBy('id', 'desc');
$grid->filter(function ($filter) {
$filter->column(1 / 2, function ($filter) {
$filter->like('name', '姓名');
$filter->equal('categories.id', '所属分类')
->select(Category::selectOptions(function ($model) {
return $model->where('status', 1)->whereIn('type', [Category::TYPE_PERSON]);
}, '所有分类'));
});
$filter->disableIdFilter();
});
$grid->column('id', '#ID#');
$grid->column('name', '姓名');
$grid->column('cover', '封面图片')->image('', 100);
$grid->column('category.title', '所属分类');
$grid->column('status', '状态')->switch();
$grid->column('created_at', '创建时间');
return $grid;
}
public function form(): Form
{
$form = new Form(new Resume());
$form->text('name', '姓名')->rules('min:2')->required();
$form->textarea('description', '简介');
$form->image('cover', '封面')
->move('person/'.date('Y/m/d'))
->removable()
->uniqueName()
->required();
$form->select('category_id', '所属分类')
->options(function () {
return Category::where('status', 1)->where('type', Category::TYPE_PERSON)->pluck('title', 'id');
})
->required();
$form->select('group_id', '所属科室')
->options(function () {
return ResumeGroup::where('status', 1)->pluck('name', 'id');
})
->required();
$form->embeds('information', '基本信息', function ($form) {
$form->text('duty', '职务');
$form->text('rank', '职称')->required();
$form->text('education', '学历')->required();
$form->text('mobile', '电话')->required();
$form->text('email', '电子邮件')->required();
$form->text('address', '通讯地址')->required();
});
$form->textarea('direction', '研究方向');
$form->ueditor('content', '简历')->rules('required', ['required' => '简历不能为空']);
$form->ueditor('outcome', '代表成果')->rules('required', ['required' => '代表成果不能为空']);
$form->ueditor('project', '承担科研项目情况')->rules('required', ['required' => '承担科研项目情况不能为空']);
$form->datetime('created_at', '发布时间');
$form->switch('status', '状态')->default(1);
return $form;
}
}