diff --git a/app/Admin/Components.php b/app/Admin/Components.php index ea688ff..7ff57bc 100644 --- a/app/Admin/Components.php +++ b/app/Admin/Components.php @@ -33,10 +33,11 @@ class Components extends BaseRenderer { /** * 2位小数输入框 */ - public function decimalControl($name ='decimal', $label = '数值'){ + public function decimalControl($name ='decimal', $label = '数值', $prefix = '¥'){ return amisMake()->NumberControl() ->name($name)->label($label) ->kilobitSeparator(true) + ->prefix($prefix) ->percision(2) ->step(0.01) ->value(0.00) diff --git a/app/Admin/Controllers/SettingController.php b/app/Admin/Controllers/SettingController.php index a717a91..34af05b 100644 --- a/app/Admin/Controllers/SettingController.php +++ b/app/Admin/Controllers/SettingController.php @@ -6,7 +6,8 @@ use Illuminate\Http\Request; use Slowlyo\OwlAdmin\Renderers\Tab; use Slowlyo\OwlAdmin\Renderers\Tabs; use Slowlyo\OwlAdmin\Controllers\AdminController; -use App\Models\Oldmen; +use App\Models\Keyword; +use App\Admin\Components; class SettingController extends AdminController { @@ -23,12 +24,6 @@ class SettingController extends AdminController public function form() { - // dd([ - // 'a'=> - // amis('object')->title('养老费')->additionalProperties(false)->properties([ - // 'year'=>amis('number')->title('年') - // ]), - // ]); return $this->baseForm() ->redirect('') ->api($this->getStorePath()) @@ -53,6 +48,45 @@ class SettingController extends AdminController return settings()->adminSetMany($data); } + public function settingFeeConfig(Request $request){ + $tabs = $formData = []; + $feeKey = Keyword::where('key', 'cost_nope')->first(); + foreach ($feeKey->children as $item){ + $tabs[] = Tab::make()->title($item->name)->body(array_map(function($iitem) use (&$formData){ + $formData[$iitem['key']] = settings()->get($iitem['key']); + return amisMake()->ComboControl($iitem['key'], $iitem['name']) + ->items([ + amisMake()->RadiosControl('has_time','根据时间设置')->options(['1' =>'无','2'=>'是'])->selectFirst(true) + ->description('如果选择按时间设置,则必须要设置每天维度的价格,否则无法计算'), + amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([ + amisMake()->InputGroupControl()->label('配置')->body([ + amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id')), + Components::make()->decimalControl('fee'), + ]) + ])->visibleOn('this.has_time < 2'), + amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([ + amisMake()->InputGroupControl()->label('配置')->body([ + amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id')), + amisMake()->SelectControl('time_type')->options([ + 'year'=>'每年','month'=>'每月','day'=>'每天', + ]), + Components::make()->decimalControl('fee'), + ]) + ])->visibleOn('this.has_time > 1'), + ]); + }, $item->children ?->toArray() ?? [])); + } + $page = $this->basePage()->body([ + amisMake()->Form()->mode('horizontal') + ->data($formData) + ->api() + ->body( + Tabs::make()->tabs($tabs) + ) + ]); + return $this->response()->success($page); + } + public function queryFeeHelp($nurseLv, $dateRange, Request $request){ $data = []; //入住推荐金额 diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 5547f54..9681b14 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -34,4 +34,6 @@ Route::group([ $router->get('query-fee-help/{oldmen}/{date_range}', '\App\Admin\Controllers\SettingController@queryFeeHelp'); $router->get('live-continue', '\App\Admin\Controllers\LiveContinueController@index'); + + $router->get('const-setting', '\App\Admin\Controllers\SettingController@settingFeeConfig'); });