quickSearch(['sid', 'school','user_id','user.user_name', 'email'])->placeholder('搜索sid,学校名称,用户ID,用户名字...')->width(50);
$grid->model()->orderBy('updated_at','desc');
if($__MINI_GLOBAL_TENANT_ID__ > 0){
$grid->model()->whereIn('sid', Settings::get('tenant_'.$__MINI_GLOBAL_TENANT_ID__.'_with_student_certify', []));
}
$grid->column('users', '头像')->display(function ($v) {
return '
';
})->width('50px');
$grid->column('user')->display(function ($v) {
if($v && $v['user_name']){
return ''.$v['user_name'].'' ?? '用户已删除';
}
return '';
})->width('100px');
$grid->column('sid');
$grid->column('school');
$grid->column('email');
$grid->column('role');
$grid->column('term');
$grid->column('questions');
$grid->column('picture')->image();
$grid->column('picture2')->image();
$grid->column('introduce');
$grid->column('status')->switch();
// $grid->column('created_at')->sortable();
$grid->column('updated_at')->sortable();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('user_id');
});
$grid->disableCreateButton();
$grid->disableBatchDelete();
$grid->disableEditButton();
$grid->disableDeleteButton();
$grid->disableViewButton();
if($__MINI_GLOBAL_TENANT_ID__ === 0){
$grid->tools([
new UniversityButton(),
new UserStudentCertifyButton()
]);
}else{
$grid->tools([
new UniversityButton(),
]);
}
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->append((new UserStudentCertifyNoticeAction())->setKey($this->user_id));
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new WxUserStudentCertify(), function (Show $show) {
$show->field('user_id');
$show->field('sid');
$show->field('school');
$show->field('role');
$show->field('term');
$show->field('email');
$show->field('questions');
$show->field('picture');
$show->field('picture2');
$show->field('introduce');
$show->field('status');
$show->field('created_at');
$show->field('updated_at');
$show->disableDeleteButton();
$show->disableEditButton();
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new WxUserStudentCertify(), function (Form $form) {
$form->select('user_id', '用户')->options(function ($id) {
$user = \App\Models\User\WxUser::find($id);
if ($user) {
return [$user->id => $user->user_name];
}
})->ajax('select/users');
$form->text('sid');
$form->text('school');
$form->text('role');
$form->text('term');
$form->text('email');
$form->text('questions');
$form->text('picture');
$form->text('picture2');
$form->text('introduce');
$form->text('status');
$form->display('created_at');
$form->display('updated_at');
$form->saving(function (Form $form){
global $__MINI_GLOBAL_TENANT_ID__;
if($__MINI_GLOBAL_TENANT_ID__ > 0){
$user_id = $form->getKey();
$sid = \App\Models\User\WxUserStudentCertify::where('user_id', $user_id)->value('sid');
if(!in_array($sid, Settings::get('tenant_'.$__MINI_GLOBAL_TENANT_ID__.'_with_student_certify', []))){
return $form->response()->error('分站不能修改其他分站的学生认证');
}
}
});
$form->deleting(function (Form $form){
global $__MINI_GLOBAL_TENANT_ID__;
if($__MINI_GLOBAL_TENANT_ID__ > 0){
$user_id = $form->getKey();
$sid = \App\Models\User\WxUserStudentCertify::where('user_id', $user_id)->value('sid');
if(!in_array($sid, Settings::get('tenant_'.$__MINI_GLOBAL_TENANT_ID__.'_with_student_certify', []))){
return $form->response()->error('权限不足,不可以删除其他分站对象');
}
}
});
});
}
}