<?php
namespace App\Admin\Controllers;
use App\Http\Controllers\Controller;
use App\Models\Jobs;
use App\Models\MemberInfo;
use App\Models\Resume;
use Encore\Admin\Controllers\HasResourceActions;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
class FindJobsController extends Controller
{
use HasResourceActions;
/**
* Index interface.
*
* @param Content $content
* @return Content
*/
public function index(Content $content)
{
$id = request()->id;
$uid = request()->uid;
$resume = Resume::where(['id'=>$id])->first();
$member = MemberInfo::where(['uid'=>$uid])->first();
return $content
->header('职位匹配')
->description('列表')
->body(view('admin.jobs.find_jobs')->with(['grid'=>$this->grid(),'resume'=>$resume,'member'=>$member]));
}
/**
* 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->createForm());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new Jobs);
$grid->id('ID');
$grid->jobs_name('职位名称');
$grid->company_name('公司名称');
$grid->audit('审核状态')->display(function ($audit) {
switch ($audit) {
case 1:
$audit = '<span style="color: #00a65a;">审核通过</span>';
break;
case 2:
$audit = '<span>审核中</span>';
break;
case 3:
$audit = '<span style="color: red;">审核未通过</span>';
break;
default:
$audit = '<span>审核中</span>';
break;
}
return $audit;
});
$grid->column('categoryScale.demand', '公司规模');
$grid->column('categoryTrade.demand', '所属行业');
$grid->column('categoryEducation.demand', '职位要求');
$grid->column('categoryWage.demand', '薪资待遇');
$grid->created_at('添加时间')->sortable();
$grid->updated_at('更新时间')->sortable();
$grid->disableCreateButton();
$grid->disableExport();
$grid->actions(function ($actions) {
$actions->disableView();
$actions->disableEdit();
});
$grid->tools(function ($tools) {
$but = <<<EOT
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-google btn-sm" id="Apply" title="投递">
<i class="fa fa-audio-description"></i>
<input type="radio" class="user-gender">投递
</label>
</div>
EOT;
$tools->append($but);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(Jobs::findOrFail($id));
$show->id('ID');
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function editForm($id)
{
$form = new Form(new Jobs);
return $form;
}
protected function createForm()
{
$form = new Form(new Jobs);
return $form;
}
/**
* Store a newly created resource in storage.
*
* @return mixed
*/
public function store()
{
return $this->createForm()->store();
}
/**
* Update the specified resource in storage.
*
* @param int $id
*
* @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\Response
*/
public function update($id)
{
return $this->editForm($id)->update($id);
}
protected function form()
{
$form = new Form(new Jobs);
$form->display('ID');
$form->display('添加时间');
$form->display('更新时间');
return $form;
}
}