baseCRUD()->tableLayout('fixed') ->headerToolbar([ $this->createTypeButton('drawer', 'xl'), amis('reload')->align('right'), amis('filter-toggler')->align('right'), ]) ->filter($this->baseFilter()->labelWidth('80px')->body([ amis()->GroupControl()->mode('horizontal')->body([ amis()->SelectControl('organized_body', __('admin.persons.organized_body'))->options(Keyword::where('parent_key', 'organized_body')->pluck('name', 'id')->toArray()) ->columnRatio(3)->clearable(true), amis()->NestedSelectControl('house_building', __('admin.persons.house_building'))->source(admin_url('api/keywords/tree-list?parent_name=housing_estate&has_owner=0'))->labelField('name')->valueField('id')->columnRatio(6)->clearable(true), // amis()->TextControl('master.name', __('admin.persons.master_name'))->placeholder(__('admin.persons.master_name')), // amis()->TextControl('name', __('admin.persons.name'))->placeholder(__('admin.persons.name')), // amis()->TextControl('idcard', __('admin.persons.idcard'))->placeholder(__('admin.persons.idcard')), ]), amis()->GroupControl()->mode('horizontal')->body([ amis()->SelectControl('state', __('admin.persons.state'))->options([ '1'=>'实有人口','2'=>'已死亡','3'=>'已迁出' ])->columnRatio(3)->clearable(true), amis()->DateRangeControl()->label(__('admin.persons.birthday'))->name('birthday')->valueFormat('YYYY-MM-DD')->columnRatio(6), ]), ])) ->columns([ amis()->TableColumn('domicile_code', __('admin.persons.domicile_code'))->width('120px')->copyable(), amis()->TableColumn('name', __('admin.persons.name'))->width('150px')->copyable()->searchable(), amis()->TableColumn('master_connect', __('admin.persons.master_connect'))->width('100px'), amis()->TableColumn('master.name', __('admin.persons.master_name'))->width('150px')->copyable()->searchable(), amis()->TableColumn('idcard', __('admin.persons.idcard'))->copyable()->searchable(), amis()->TableColumn('gender', __('admin.persons.gender'))->type('mapping')->map([ "1"=>"", "2"=>"", "*"=> '其他:${gender}' ])->filterable(['options'=>[ ['label'=>'男', 'value'=>1], ['label'=> '女', 'value'=>2] ]]), amis()->TableColumn('birthday', __('admin.persons.birthday')), amis()->TableColumn('age', __('admin.persons.age')), amis()->TableColumn('now_address', __('admin.persons.now_address'))->copyable(), amisMake()->Operation()->label(__('admin.actions'))->buttons([ $this->rowEditTypeButton('drawer', 'xl'), ]) ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->body([ amis()->Grid()->columns([ amis()->Wrapper()->body([ amis()->GroupControl()->mode('horizontal')->body([ amis()->RadiosControl('type', __('admin.persons.type'))->options([ '11'=>'出生人口', '12'=>'迁入人口' ])->value('11')->required(), ]), amis()->GroupControl()->mode('horizontal')->body([ amis()->TextControl('name', __('admin.persons.name'))->required(), amis()->TextControl('used_name', __('admin.persons.used_name')), ]), amis()->GroupControl()->mode('horizontal')->body([ amis()->TextControl('idcard', __('admin.persons.idcard'))->required()->id('person_idcard')->onEvent([ 'blur'=>[//自定义JS联动字段填写 'actions'=>[ [ "componentId" => "person_idcard", "actionType"=> "disabled" ], [ 'actionType'=>'custom', 'script' => 'var strBirthday=""; var idcard=event.data.value; if((/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(idcard))){ if(String(idcard).length == 18){ strBirthday = idcard.substr(6,4)+"/"+idcard.substr(10,2)+"/"+idcard.substr(12,2); } event.setData({...event.data, "birthday":new Date(strBirthday)}) }' ], [ 'actionType'=>'setValue', "componentId" => "person_birthday", "args" => [ 'value'=>'${birthday}' ], ], [ "componentId" => "person_idcard", "actionType"=> "enabled" ], ] ] ]), amis()->RadiosControl('gender', __('admin.persons.gender'))->options([ '1'=>'男', '2'=>'女' ])->required(), ]), amis()->GroupControl()->mode('horizontal')->body([ amis()->DateControl('birthday', __('admin.persons.birthday'))->valueFormat('YYYY-MM-DD')->required()->id('person_birthday'), ]), ])->md(6), amis()->Wrapper()->body([ ])->md(6) ]), ]); } }