baseCRUD() ->tableLayout('fixed') ->headerToolbar([ $this->createTypeButton('drawer', 'lg')->visible(Admin::user()->can('admin.hr.rests.create')), ...$this->baseHeaderToolBar(), ]) ->filter($this->baseFilter()->body([ amis()->GroupControl()->mode('horizontal')->body([ amisMake()->TextControl()->name('employee_name')->label(__('employee_sign.employee_id'))->placeholder(__('employee.name').'/'.__('employee.phone'))->columnRatio(3)->clearable(), amisMake()->DateRangeControl()->name('date_range')->label(__('employee_sign.date'))->columnRatio(3)->clearable(), ]), ])) ->filterDefaultVisible() ->columns([ amisMake()->TableColumn()->name('employee.name')->label(__('employee.name')), // amisMake()->TableColumn()->name('employee.phone')->label(__('employee.phone')), amisMake()->TableColumn()->name('date')->label(__('employee_sign.date')), $this->rowActions([ $this->rowDeleteButton()->visible(Admin::user()->can('admin.hr.rests.delete')), ]), ]); return $this->baseList($crud); } public function form($edit): Form { return $this->baseForm()->title('')->body([ amisMake()->SelectControl()->name('employees')->label(__('employee_sign.employee_id')) ->source(admin_url('api/employees?_all=1&employee_status='.EmployeeStatus::Online->value)) ->labelField('name') ->valueField('id') ->searchable() ->multiple() ->joinValues(false) ->extractValue() ->required(), amisMake()->ArrayControl()->name('dates')->label(__('employee_sign.date'))->items([ amisMake()->DateControl()->name('date')->label('')->valueFormat('YYYY-MM-DD'), ])->required(), // amisMake()->DateControl()->name('dates')->label(__('employee_sign.date'))->set('embed', true)->required(), ]); } }