service->listQuery()->select(['id as value', 'name as label'])->get(); return $this->response()->success($list); } public function list(): Page { $crud = $this->baseCRUD() ->filterTogglable(false) ->headerToolbar([ $this->createButton(true, 'lg'), ...$this->baseHeaderToolBar(), ]) ->filter( $this->baseFilter()->body([ amisMake()->TextControl('name', '名称')->size('md'), amisMake()->TextControl('card_no', '身份证')->size('md'), amisMake()->TextControl('floor_name', '楼栋')->size('md'), amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->checkAll(true)->multiple(true)->size('md'), amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'), amis('submit')->label(__('admin.search'))->level('primary'), ])->actions([]) ) ->columns([ // TableColumn::make()->name('id')->label('ID')->sortable(), TableColumn::make()->name('name')->label('姓名'), TableColumn::make()->name('age')->label('年龄')->sortable(), TableColumn::make()->name('card_no')->label('身份证')->copyable(true), TableColumn::make()->name('floor_name')->label('楼栋'), TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->label('护理等级')->className('text-primary')->sortable(), TableColumn::make()->name('client_name')->label('委托人'), TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true), TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true), TableColumn::make()->name('created_at')->label(__('admin.created_at'))->type('datetime')->sortable(true), amisMake()->Operation()->label(__('admin.actions'))->buttons([ $this->rowEditButton(true, 'lg'), $this->rowDeleteButton() ]), ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->body([ amisMake()->FieldSetControl()->title('居住人信息')->collapsable(true)->body([ amisMake()->GroupControl()->body([ amisMake()->TextControl('name', '姓名')->required(true), amisMake()->RadiosControl('sex', '性别')->options([ 1=>'男',2=>'女' ])->required(true), ]), amisMake()->GroupControl()->body([ amisMake()->TextControl('card_no', '身份证号码')->required(true), amisMake()->DateControl('birthday', '出生日期')->format('YYYY-MM-DD')->required(true), ]), amisMake()->InputCityControl('card_city_code', '地区选择')->placeholder('请选择城市地区')->searchable('true')->required(true), amisMake()->GroupControl()->body([ amisMake()->TextControl('card_address', '详细地址')->required(true), ]), amisMake()->GroupControl()->body([ amisMake()->TextControl('floor_name', '楼栋'), amisMake()->TextControl('agreement_no', '协议号码'), ]), amisMake()->RadiosControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->required(true)->disabledOn('data.live_in > 0'), ]), amisMake()->FieldSetControl()->className('mt-10')->title('委托人信息')->collapsable(true)->body([ amisMake()->GroupControl()->body([ amisMake()->TextControl('client_name', '姓名')->required(true), amisMake()->TextControl('client_phone', '手机号')->required(true), ]), amisMake()->InputCityControl('client_city_code', '地区选择')->placeholder('请选择城市地区')->searchable('true')->required(true), amisMake()->GroupControl()->body([ amisMake()->TextControl('client_address', '详细地址')->required(true), ]), ]), ]); } public function detail(): Form { return $this->baseDetail()->body([ TextControl::make()->static()->name('id')->label('ID'), TextControl::make()->static()->name('created_at')->label(__('admin.created_at')), TextControl::make()->static()->name('updated_at')->label(__('admin.updated_at')) ]); } /** * 获取编辑页面 * * @param $id * * @return JsonResponse|JsonResource * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function edit($id) { $this->isEdit = true; if ($this->actionOfGetData()) { $data = null; if($id){ $data = $this->service->getEditData($id); } return $this->response()->success($data); } $form = amisMake() ->Card() ->className('base-form') ->header(['title' => __('admin.edit')]) ->toolbar([$this->backButton()]) ->body( $this->form(true)->api($this->getUpdatePath())->initApi($this->getEditGetDataPath()) ); $page = $this->basePage()->body($form); return $this->response()->success($page); } public function liveSchemaForm(Request $request) { $type = $request->input('type', 'live_fee'); foreach(Keyword::getByParentKey($type) as $fee){ $_feeValue = 0; if($fee == 'live_base_fee'){ } $feeArr[] = Components::make()->decimalControl($fee->key, $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:'.$_feeValue)); } return $this->response()->success($feeArr); } }