处理自动填入和禁止回车提交

develop
vine_liutk 2023-06-26 12:28:17 +08:00
parent a2d50fec23
commit 1d1e36bdc0
5 changed files with 114 additions and 16 deletions

View File

@ -64,13 +64,18 @@ class LiveContinueController extends AdminController
$feeKeys['del_extends'] = '${del_extends}';
$feeKeys['continue_fee'] = '${continue_fee}';
foreach(Keyword::getByParentKey('continue_fee') as $fee){
$continueArr[] = Components::make()->decimalControl('continue_fee['.$fee->key.']', $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:${'.$fee->key.'_tmp}'));
// $feeKeys[$fee->key.'_tmp'] = '${'.$fee->key.'_tmp}';
}
$page = $this->basePage()->body([
amisMake()->Card()->className('border-0')->body(
amisMake()->Wrapper()->className('p-0')->body(
amisMake()->Grid()->className('relative')->columns([
amisMake()->Wrapper()->sm(8)->body([
amisMake()->Panel()->title('续住表单')->body(
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')->preventEnterSubmit(true)
->api(admin_url('live-continue-do'))
->body([
amisMake()->FieldSetControl()->title('续住人信息')->collapsable(true)->body([
@ -144,10 +149,16 @@ class LiveContinueController extends AdminController
amisMake()->FieldSetControl()->className('mt-10')->title('费用明细')->collapsable(true)->body([
amisMake()->FieldSetControl()->title('基础费用')->className('mt-5')->collapsable(true)->size('base')->body(
amisMake()->Service()->schemaApi([
amisMake()->Service()
// ->schemaApi([
// "method"=>'get',
// "url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&start_at=${start_at}&end_at=${end_at}&type=continue_fee',
// ])
->api([
"method"=>'get',
"url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&start_at=${start_at}&end_at=${end_at}&type=continue_fee',
"url" => admin_url('live-fee-form-data').'?nurse_lv=${nurse_lv}&start_at=${start_at}&end_at=${end_at}&type=continue_fee',
])
->body($continueArr),
),
]),

View File

@ -36,7 +36,7 @@ class LiveExitController extends AdminController
amisMake()->Grid()->className('relative')->columns([
amisMake()->Wrapper()->sm(8)->body([
amisMake()->Panel()->title('结算表单')->body(
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')->preventEnterSubmit(true)
->api(admin_url('live-exit-do'))
->body([
amisMake()->FieldSetControl()->title('客人信息')->collapsable(true)->body([

View File

@ -66,19 +66,20 @@ class LiveInController extends AdminController
$feeKeys['live_fee'] = '${live_fee}';
$feeKeys['bonds_fee'] = '${bonds_fee}';
// foreach(Keyword::getByParentKey('live_fee') as $fee){
// $feeKeys[$fee->key] = '${'.$fee->key.'}';
// }
// foreach(Keyword::getByParentKey('bonds_fee') as $fee){
// $feeKeys[$fee->key] = '${'.$fee->key.'}';
// }
foreach(Keyword::getByParentKey('live_fee') as $fee){
$liveArr[] = Components::make()->decimalControl('live_fee['.$fee->key.']', $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:${'.$fee->key.'_tmp}'));
// $feeKeys[$fee->key.'_tmp'] = '${'.$fee->key.'_tmp}';
}
foreach(Keyword::getByParentKey('bonds_fee') as $fee){
$bondsArr[] = Components::make()->decimalControl('bonds_fee['.$fee->key.']', $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:${'.$fee->key.'_tmp}'));
}
$page = $this->basePage()->body([
amisMake()->Card()->className('border-0')->body(
amisMake()->Wrapper()->className('p-0')->body(
amisMake()->Grid()->className('relative')->columns([
amisMake()->Wrapper()->sm(8)->body([
amisMake()->Panel()->title('入住表单')->body(
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')->name('base_form')->preventEnterSubmit(true)
->api(admin_url('live-in-do'))
->body([
amisMake()->FieldSetControl()->title('入住人信息')->collapsable(true)->body([
@ -147,16 +148,28 @@ class LiveInController extends AdminController
amisMake()->FieldSetControl()->className('mt-10')->title('费用明细')->collapsable(true)->body([
amisMake()->FieldSetControl()->title('基础费用')->className('mt-5')->collapsable(true)->size('base')->body(
amisMake()->Service()->schemaApi([
amisMake()->Service()
// ->schemaApi([
// "method"=>'get',
// "url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=live_fee',
// ])
->api([
"method"=>'get',
"url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=live_fee',
"url" => admin_url('live-fee-form-data').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=live_fee',
])
->body($liveArr),
),
amisMake()->FieldSetControl()->title('保证金')->className('mt-5')->collapsable(true)->size('base')->body(
amisMake()->Service()->schemaApi([
amisMake()->Service()
// ->schemaApi([
// "method"=>'get',
// "url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=bonds_fee',
// ])
->api([
"method"=>'get',
"url" => admin_url('live-fee-form').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=bonds_fee',
"url" => admin_url('live-fee-form-data').'?nurse_lv=${nurse_lv}&live_in_date=${live_in_date}&type=bonds_fee',
])
->body($bondsArr),
),
]),

View File

@ -288,6 +288,7 @@ class OldmenController extends AdminController
$lv = $request->input('nurse_lv', 1);
$feeKey = Keyword::getByParentKey($type);
$feeKeyHelp = AdminSetting::whereIn('key', $feeKey?->pluck('key')->toArray())->pluck('values','key')->toArray();
$feeData = $feeArr = [];
foreach(Keyword::getByParentKey($type) as $fee)
{
$_feeValue = 0;
@ -323,7 +324,79 @@ class OldmenController extends AdminController
$_feeValue = $_feeValues[$lv]['fee'] ?? 0;
}
}
$feeArr[] = Components::make()->decimalControl($type.'['.$fee->key.']', $fee->name)->value($_feeValue)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:'.$_feeValue));
$feeArr[] = Components::make()->decimalControl($type.'['.$fee->key.']', $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:'.$_feeValue));
}
$resData['body'] = $feeArr;
return $this->response()->success($resData);
}
/**
* 推荐费用表单
*
*/
public function liveSchemaFormData(Request $request)
{
$type = $request->input('type', 'live_fee');
$dateRange = $request->input('live_in_date', null);
//处理续住时间传递
$startDay = $dateRange ? explode(',', $dateRange)[0].' 00:00:00' : $request->input('start_at', null);
$endDay = $dateRange ? explode(',', $dateRange)[1].' 23:59:59' : $request->input('end_at', null);
if($startDay && $endDay){
$startDay = Carbon::parse($startDay);
$endDay = Carbon::parse($endDay)->addSecond(1);
$diffYears = $startDay->diffInYears($endDay);
$diffMonths = $startDay->addYears($diffYears)->diffInMonths($endDay);
$diffAbMonths = $startDay->diffInMonths($endDay);
$diffDays = $startDay->addYears($diffYears)->addMonths($diffMonths)->diffInDays($endDay);
$diffAbDays = $startDay->diffInDays($endDay);
}
$lv = $request->input('nurse_lv', 1);
$feeKey = Keyword::getByParentKey($type);
$feeKeyHelp = AdminSetting::whereIn('key', $feeKey?->pluck('key')->toArray())->pluck('values','key')->toArray();
$feeData = $feeArr = [];
foreach(Keyword::getByParentKey($type) as $fee)
{
$_feeValue = 0;
if(isset($feeKeyHelp[$fee->key])){
$_feeValues = [];
if($feeKeyHelp[$fee->key]['has_time'] == 2 && !empty($dateRange)){
array_map(function($item) use(&$_feeValues){
$_feeValues[$item['lv']][$item['time_type']] = $item['fee'];
}, $feeKeyHelp[$fee->key]['values']);
if(isset($_feeValues[$lv]['day'])){
//判断是否有设置年份
if(isset($_feeValues[$lv]['year'])){
$_feeValue += bcmul($diffYears, $_feeValues[$lv]['year'], 2);
if(isset($_feeValues[$lv]['month'])){
$_feeValue += bcmul($diffMonths, $_feeValues[$lv]['month'], 2);
$_feeValue += bcmul($diffDays, $_feeValues[$lv]['day'], 2);
}else{
$_feeValue += bcmul($diffAbDays, $_feeValues[$lv]['day'], 2);
}
}else{
if(isset($_feeValues[$lv]['month'])){
$_feeValue += bcmul($diffAbMonths, $_feeValues[$lv]['month'], 2);
$_feeValue += bcmul($diffDays, $_feeValues[$lv]['day'], 2);
}else{
$_feeValue += bcmul($diffAbDays, $_feeValues[$lv]['day'], 2);
}
}
}
}else{
$_feeValues = collect($feeKeyHelp[$fee->key]['values'] ?? [])->keyBy('lv')->toArray();
$_feeValue = $_feeValues[$lv]['fee'] ?? 0;
}
}
$feeArr[$type][$fee->key] = $_feeValue;
$feeArr[$fee->key.'_tmp'] = $_feeValue;
}
return $this->response()->success($feeArr);

View File

@ -28,6 +28,7 @@ Route::group([
$router->get('live-feelist', '\App\Admin\Controllers\OldmenController@liveFeelist');
$router->get('exit-feelist', '\App\Admin\Controllers\OldmenController@exitFeelist');
$router->get('live-fee-form', '\App\Admin\Controllers\OldmenController@liveSchemaForm');
$router->get('live-fee-form-data', '\App\Admin\Controllers\OldmenController@liveSchemaFormData');
$router->get('live-const-flow', '\App\Admin\Controllers\OldmenController@liveConstFlow');
//客人-入住
$router->get('live-in', '\App\Admin\Controllers\LiveInController@index');