| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -12,14 +12,6 @@ use Dcat\Admin\Widgets\Table; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					class DiyFormController extends AdminController | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private $field_types = [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							'text' => '单行文本框', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							'textarea' => '多行文本框', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							'select' => '选择框', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							'checkbox' => '多选框', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							'image' => '图片上传', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * Make a grid builder. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -35,11 +27,11 @@ class DiyFormController extends AdminController | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $grid->column('id')->sortable(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $grid->column('name'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								$field_types = $this->field_types; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $grid->column('fields') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									->display('查看') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									->modal('字段列表', function ($modal) use ($field_types) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										$fields = array_map(function ($v) use ($field_types) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									->modal('字段列表', function ($modal) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										$fields = array_map(function ($v) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											$field_types = admin_trans('diy-form.options'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											return [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												$v['field'], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												$field_types[$v['type']] ?? '', | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -103,7 +95,7 @@ class DiyFormController extends AdminController | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									$form->switch('required', '是否必填')->value(1)->default(1)->required(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									$form->radio('type', '字段类型') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										->required()->default('text')->value('text') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										->options($this->field_types)->when(['select', 'checkbox'], function (Form\NestedForm $form) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										->options(admin_trans('diy-form.options'))->when(['radio', 'checkbox'], function (Form\NestedForm $form) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											$form->list('options', '选项列表'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										}); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									$form->number('sort', '排序') | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |