header('报名列表')
->description(' ')
->body(view('admin.content.recuperate_apply')->with(['grid' => $this->grid()]));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new RecuperateApply());
$grid->model()->orderBy('created_at', 'DESC');
$grid->recuperate_id('套餐id');
$grid->column('套餐标题')->display(function () {
//套餐被删除
if (empty($this->recuperate)) {
return '已被删除';
}
$style = "color:" . $this->recuperate->tit_color . ';';
if ($this->recuperate->tit_b == '1') {
$style .= 'font-weight:bold;';
}
return '' . $this->recuperate->title . '';
})->width(200);
$grid->small_img('缩略图')->display(function () {
//套餐被删除
if (empty($this->recuperate)) {
return '';
}
if ($this->recuperate->small_img) {
return '
';
} else {
return '';
}
});
$grid->price('套餐金额');
$grid->user_name('姓名');
$grid->user_idcard('身份证');
$grid->mobile('联系电话');
$grid->wechat('微信号');
$grid->company_name('工作单位');
$grid->column('人才层次')->display(function () {
$level_arr = [
'',
'第一层次',
'第二层次',
'第三层次',
'第四层次',
'第五层次',
'第六层次',
'第七层次',
];
return $level_arr[$this->level];
});
/*$grid->condition("适用对象类型");
$grid->column('个税社保')->display(function () {
$level_arr = [
'',
'是',
'否',
];
return $level_arr[$this->tax];
});
$grid->column('年薪')->display(function () {
$level_arr = [
'',
'是',
'否',
];
return $level_arr[$this->salary];
});*/
$grid->validate_time('人才有效期');
$grid->created_at('报名时间');
$grid->column('审核状态')->display(function () {
$status_arr = [
'待审核',
'审核通过',
'审核不通过',
'取消活动',
];
$reason = $this->reason ? '' : '';
return '' . $status_arr[$this->status] . $reason . '';
});
//审核功能
$grid->actions(function ($actions) {
if ($actions->row['status'] == 0) {
$actions->append("");
}
/*取消活动*/
if ($actions->row['status'] != 2 && $actions->row['status'] != 3) {
$actions->append("");
}
});
$grid->filter(function ($filter) {
$filter->disableIdFilter();
$filter->equal('recuperate_id', '套餐id');
/*$filter->where(function($query){
$recuperate = Recuperate::where('title','like',"%{$this->input}%")->get();
$ids = $recuperate->pluck('id')->all();
if (empty($ids)) {
$query->where('id','=',0);
} else {
$query->whereIn('recuperate_id',$ids);
}
}, '');*/
$date3 = date('Y-m-d', strtotime("-3 day"));
$date7 = date('Y-m-d', strtotime("-7 day"));
$date30 = date("Y-m-d", strtotime("-1 month"));
$date180 = date("Y-m-d", strtotime("-6 month"));
$date360 = date("Y-m-d", strtotime("-1 year"));
$date_option = [
'' => '不限',
$date3 => '三天内',
$date7 => '一周内',
$date30 => '一月内',
$date180 => '半年内',
$date360 => '一年内',
];
$filter->where(function ($query) {
$query->where('created_at', '>=', "{$this->input}");
}, '添加时间', 'created_at')->radio($date_option);
$status_option = [
'' => '不限',
0 => '待审核',
1 => '审核通过',
2 => '审核不通过',
];
$filter->where(function ($query) {
if (isset($this->input)) {
$query->where('status', '=', "{$this->input}");
}
}, '审核状态', 'status')->radio($status_option);
});
return $grid;
}
public function audit(Request $request)
{
$id = $request->id;
$status = $request->status;
$reason = $request->reason;
$url = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
if (empty($id)) {
admin_toastr('数据异常', 'error');
return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
}
$result = RecuperateApply::where('id', '=', $id)->update(['status' => $status, 'reason' => $reason]);
if ($result) {
admin_toastr('审核成功', 'success');
} else {
admin_toastr('该信息不存在或已审核', 'error');
}
return redirect($url);
}
public function audit_qx(Request $request)
{
$id = $request->id;
// $status = $request->status;
// $reason = $request->reason;
$url = empty($request->url) ? '/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply' : $request->url;
if (empty($id)) {
admin_toastr('数据异常1', 'error');
return redirect('/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/content/recuperate/apply');
}
$result = RecuperateApply::where('id', '=', $id)->update(['status' => 3]);
$recuperate_apply = RecuperateApply::where('id', '=', $id)->select('uid')->first();
$auditData = [
'type' => 2,
'admin_id' => \Encore\Admin\Facades\Admin::user()->id,
'sid' => $recuperate_apply->uid,
'content' => "取消活动",
];
RecuperateLog::create($auditData);
if ($result) {
admin_toastr('取消成功', 'success');
} else {
admin_toastr('该信息不存在或已审核', 'error');
}
return redirect($url);
}
/*个人列表*/
public function appointinfo(Content $content, Request $request)
{
$uid = $request->uid;
$recuperateApply = RecuperateApply::where('uid', $uid);
$recuperateTime = RecuperateTime::where('uid', $uid)->select('id', 'year')->orderBy('id', 'desc')->get();
if (empty($recuperateApply)) {
return back();
}
$search_data = $request->all();
$search_data['uid'] = isset($search_data['uid']) ? $search_data['uid'] : $uid;
$search_data['status'] = isset($search_data['status']) ? $search_data['status'] : 1;
$search_data['recuperate_time_id'] = isset($search_data['recuperate_time_id']) ? $search_data['recuperate_time_id'] : $recuperateTime[0]->id;
$where = [];
if (isset($search_data['perpage'])) {
$perpage = $search_data['perpage'];
} else {
$session_data = session('search_data');
if (isset($session_data['perpage'])) {
$perpage = $session_data['perpage'];
} else {
$perpage = 20;
}
}
if (isset($search_data['uid']) || session('manage_search_data')['uid']) {
if (isset($search_data['page'])) {
if (session('search_data')) {
$where = session('managewhere');
unset($search_data['page']);
$search_data = session('manage_search_data');
}
}
foreach ($search_data as $k => $v) {
if ($k == 'status') {
$where[] = ['recuperate_apply.status', 'like', "%$v%"];
} elseif ($k == 'recuperate_time_id') {
$where[] = ['recuperate_apply.recuperate_time_id', '=', $v];
} elseif ($k == 'uid') {
$where[] = ['recuperate_apply.uid', '=', $v];
} elseif ($k != '_pjax' and $k != 'page' && $k != 'perpage') {
$where[] = [$k, '=', $v];
}
}
session(['managewhere' => $where]);
session(['manage_search_data' => $search_data]);
session()->save();
}
$list = RecuperateApply::where($where)
->join('recuperate', 'recuperate_apply.recuperate_id', '=', 'recuperate.id', 'left')
->join('recuperate_time', 'recuperate_apply.recuperate_time_id', '=', 'recuperate_time.id', 'left')
->select('recuperate_apply.*', 'recuperate.title', 'recuperate_time.year')
->orderBy('recuperate_apply.id', 'desc')
->paginate($perpage);
return $content
->header('招考管理')
->description('招考人员信息列表')
->body(view('admin.content.recuperate_apply_personal')->with([
'list' => $list,
'search_data' => $search_data,
'recuperateTime' => $recuperateTime,
]));
}
}