完成费用设置表单

develop
vine_liutk 2023-06-01 12:33:21 +08:00
parent 2a00cf2dd6
commit f11fb648fe
3 changed files with 45 additions and 8 deletions

View File

@ -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)

View File

@ -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 = [];
//入住推荐金额

View File

@ -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');
});