xiaogang 3 سال پیش
والد
کامیت
37190f3248
1فایلهای تغییر یافته به همراه78 افزوده شده و 22 حذف شده
  1. 78 22
      app/Admin/Controllers/UserController.php

+ 78 - 22
app/Admin/Controllers/UserController.php

xqd
@@ -107,29 +107,85 @@ class UserController extends AdminController
     protected function form()
     {
 
-        $form = new Form(new User());
-        $form->model()->belongsTo(UserInfoModel::class,'id','user_id','user_info');
+//        $form = new Form(new User());
+//        $form->model()->belongsTo(UserInfoModel::class,'id','user_id','user_info');
+//
+//        $form->display('id');
+//        $form->text('mobile','手机号')->required();
+//        $form->text('pid','上级ID');
+//
+//        $form->radio('sex','性别')->options([1=>'男',2=>'女'])->default(1);
+//        $form->radio('is_vip','是否是VIP')->options([0=>'否',1=>'是'])->default(0);
+//        $form->radio('is_auth','是否认证')->options([0=>'未认证',1=>'真人认证',2=>'女神认证'])->default(1);
+//        //$form->text('ycode','邀请码');
+//        $form->text('city','所在城市')->default("成都市");
+//        $form->radio('online','在线状态')->options([0=>'离线',1=>'在线'])->default(1);
+//
+//        $form->switch('status','状态')->default(1);
+//        $form->text('user_info.nickname','昵称');
+//        $form->image('user_info.avatar','头像')->uniqueName()->removable(false)->saveFullUrl();
+//        $form->saving(function ($res){
+//           // dd($res->model());
+//        });
+//        $form->saved(function ($res){
+//            dd($res->model());
+//        });
+//        return $form;
 
-        $form->display('id');
-        $form->text('mobile','手机号')->required();
-        $form->text('pid','上级ID');
-
-        $form->radio('sex','性别')->options([1=>'男',2=>'女'])->default(1);
-        $form->radio('is_vip','是否是VIP')->options([0=>'否',1=>'是'])->default(0);
-        $form->radio('is_auth','是否认证')->options([0=>'未认证',1=>'真人认证',2=>'女神认证'])->default(1);
-        //$form->text('ycode','邀请码');
-        $form->text('city','所在城市')->default("成都市");
-        $form->radio('online','在线状态')->options([0=>'离线',1=>'在线'])->default(1);
-
-        $form->switch('status','状态')->default(1);
-        $form->text('user_info.nickname','昵称');
-        $form->image('user_info.avatar','头像')->uniqueName()->removable(false)->saveFullUrl();
-        $form->saving(function ($res){
-           // dd($res->model());
-        });
-        $form->saved(function ($res){
-            dd($res->model() );
+        return new Form(null, function (Form $form) {
+            $form->title('分步表单');
+            $form->action('form/step');
+            $form->disableListButton();
+            $form->multipleSteps()
+                ->remember()
+                ->width('950px')
+                ->add('基本信息', function (StepForm $step) {
+                    $info = '<i class="fa fa-exclamation-circle"></i> 表单字段支持前端验证和后端验证混用,前端验证支持H5表单验证以及自定义验证。';
+                    $step->html(Alert::make($info)->info());
+                    $step->text('name', '姓名')->required()->maxLength(20);
+                    // h5 表单验证
+                    $step->text('age', '年龄')
+                        ->required()
+                        ->type('number')
+                        ->attribute('max', 150)
+                        ->help('前端验证');
+                    $step->radio('sex', '性别')->options(['未知', '男', '女'])->default(0);
+                    // 后端验证
+                    $step->text('birthplace', '籍贯')
+                        ->rules('required')
+                        ->help('演示后端字段验证');
+                    $step->url('homepage', '个人主页');
+                    $step->textarea('description', '简介');
+                })
+                ->add('兴趣爱好', function (StepForm $step) {
+                    $step->tags('hobbies', '爱好')
+                        ->options(['唱', '跳', 'RAP', '踢足球'])
+                        ->required();
+                    $step->text('books', '书籍');
+                    $step->text('music', '音乐');
+                    // 事件
+                    $step->shown(function () {
+                        return <<<JS
+    Dcat.info('兴趣爱好');
+    console.log('兴趣爱好', args);
+JS;
+                    });
+                })
+                ->add('地址', function (StepForm $step) {
+                    $step->text('address', '街道地址');
+                    $step->text('post_code', '邮政编码');
+                    $step->tel('tel', ' 联系电话');
+                })
+                ->done(function () use ($form) {
+                    $resource = $form->resource(0);
+                    $data = [
+                        'title'       => '操作成功',
+                        'description' => '恭喜您成为第10086位用户',
+                        'createUrl'   => $resource,
+                        'backUrl'     => $resource,
+                    ];
+                    return view('dcat-admin.form-step::completion-page', $data);
+                });
         });
-        return $form;
     }
 }