title(trans('share-config.title')) ->body(function (Row $row) { $row->column(12, function (Column $column) { $form = new WidgetForm(); $config = ShareConfig::first(); $form->width(9); $form->hidden('id','ID')->value($config->id); $form->radio('become_type','成为分销条件') ->options(config('global.become_type')) ->when(2, function (WidgetForm $form) use ($config){ $vipCombo = VipCombo::select(['id','name'])->get()->toArray(); $form->select('become_vip_id','对应会员') ->options(array_column($vipCombo,'name','id')) ->default($config->become_vip_id) ->width(3) ->required(); }) ->when(3, function (WidgetForm $form) use ($config){ $form->decimal('become_gold','对应金币')->placeholder('1231') ->value($config->become_gold) ->width(3) ->required(); }) ->default($config->become_type)->required(); $form->radio('share_type','分佣类型') ->options(config('global.share_type')) ->when(1, function (WidgetForm $form) use ($config){ $form->rate('share_percent','分销百分比')->default($config->share_number)->required()->width(3); }) ->when(2, function (WidgetForm $form)use ($config){ $form->decimal('share_price','分销金额')->default($config->share_number)->required()->width(3); }) ->default($config->share_type) ->required(); $form->decimal('withdraw_min','最少提现额度')->value($config->withdraw_min)->required()->width(3); $form->decimal('withdraw_max','每日提现上限')->value($config->withdraw_max)->required()->width(3); $form->rate('withdraw_discount','提现手续费')->value($config->withdraw_discount)->required()->width(3); $form->editor('withdraw_desc','提现说明')->value($config->withdraw_desc); $form->action('share/setting/save'); $column->append(Box::make(trans('admin.edit'), $form)); $form->disableResetButton(); }); }); } public function save(): JsonResponse { $req = request()->post(); $config = ShareConfig::first(); $config->become_type = $req['become_type']; $config->become_vip_id = $req['become_vip_id']; $config->become_gold = $req['become_gold']; $config->share_type = $req['share_type']; $config->share_number = $req['share_type'] == 1 ? $req['share_percent'] : $req['share_price']; $config->withdraw_min = $req['withdraw_min']; $config->withdraw_max = $req['withdraw_max']; $config->withdraw_discount = $req['withdraw_discount']; $config->withdraw_desc = $req['withdraw_desc']; $config->save(); $form = new Form(); $response = $form->response(); return $response->success(__('admin.save_succeeded')); } }