disableCreateButton(false); $org_id = Admin::user()->org_id; if($org_id){ $grid->model()->where(['org_id'=>$org_id]); } $grid->column('id', __('ID')); $grid->column('name', __('项目名称'))->editable(); $grid->column('used', __('已使用'))->display(function ($w){ return $w??0; }); $grid->column('type','类型')->display(function ($t){ if(!$t) return '未知'; return Nurse::getNursetype()[$t]; }); $grid->column('today', __('今日预约')); // $grid->column('docters','服务医生')->display(function ($ids){ // $docters = Docter::whereIn('id',$ids)->pluck('name')->toArray(); // if(count($docters) > 3) return $docters[0].','.$docters[1].','.$docters[2].'...'; // return implode(',',$docters); // }); $grid->column('price', __('价格'))->display(function ($v){ return round($v/100,4).'元'; })->editable(); $grid->column('remark', __('备注'))->editable('textarea'); $grid->actions(function ($actions){ // $actions->disableView(); $actions->disableDelete(); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(Nurse::findOrFail($id)); $show->field('id', __('Id')); $show->field('name', __('项目名称')); $show->field('price', __('价格'))->as(function ($v){ return round($v/100,4).'元'; }); $show->field('remark', __('备注')); $show->field('created_at', __('创建时间')); $show->field('updated_at', __('更新时间')); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new Nurse()); $user = Admin::user(); $org_id = $user->org_id; $form->editing(function ($f){ $f->model()->price /= 100; }); $form->text('name', __('项目名称'))->rules('required',['required'=>'疫苗名称必须']); $form->select('type','类型')->options(Nurse::getNursetype())->when(1,function (Form $form){ $form->hidden('price', __('价格'))->default(0); })->when(2,function (Form $form){ $form->text('price', __('价格'))->help('单位元'); })->rules('required',['required'=>'请填写价格']); $form->hidden('org_id')->value($org_id); // $form->multipleSelect('docters','服务医生')->options(function () use ($org_id) { // if(empty($org_id)){ // return Docter::pluck('name','id'); // } // $ids = DocterOrganization::where('organization_id',$org_id)->pluck('docter_id'); // if(empty($ids)) return []; // return Docter::whereIn('id',$ids)->pluck('name','id'); // })->rules('required',['required'=>'请选择医生']); $form->textarea('remark', __('备注')); $form->saving(function ($form){ if($form->type == 1){ $form->price = 0; } else { $form->price = $form->price*100; } }); $form->setWidth(6); return $form; } }