完善费用推荐
parent
01534ef136
commit
07c283c761
|
|
@ -26,7 +26,7 @@ class LiveContinueController extends AdminController
|
||||||
amisMake()->TextControl('name', '名称')->size('md'),
|
amisMake()->TextControl('name', '名称')->size('md'),
|
||||||
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
||||||
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
||||||
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->checkAll(true)->multiple(true)->size('md'),
|
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->checkAll(true)->multiple(true)->size('md'),
|
||||||
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
||||||
amis('submit')->label(__('admin.search'))->level('primary'),
|
amis('submit')->label(__('admin.search'))->level('primary'),
|
||||||
])->actions([])
|
])->actions([])
|
||||||
|
|
@ -37,7 +37,7 @@ class LiveContinueController extends AdminController
|
||||||
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
||||||
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
||||||
TableColumn::make()->name('floor_name')->label('楼栋'),
|
TableColumn::make()->name('floor_name')->label('楼栋'),
|
||||||
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->label('护理等级')->className('text-primary')->sortable(),
|
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->label('护理等级')->className('text-primary')->sortable(),
|
||||||
TableColumn::make()->name('client_name')->label('委托人'),
|
TableColumn::make()->name('client_name')->label('委托人'),
|
||||||
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
||||||
TableColumn::make()->name('avliable_at')->label('截至时间')->type('datetime')->sortable(true),
|
TableColumn::make()->name('avliable_at')->label('截至时间')->type('datetime')->sortable(true),
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class LiveInController extends AdminController
|
||||||
amisMake()->TextControl('name', '名称')->size('md'),
|
amisMake()->TextControl('name', '名称')->size('md'),
|
||||||
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
||||||
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
||||||
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->checkAll(true)->multiple(true)->size('md'),
|
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->checkAll(true)->multiple(true)->size('md'),
|
||||||
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
||||||
amis('submit')->label(__('admin.search'))->level('primary'),
|
amis('submit')->label(__('admin.search'))->level('primary'),
|
||||||
])->actions([])
|
])->actions([])
|
||||||
|
|
@ -38,7 +38,7 @@ class LiveInController extends AdminController
|
||||||
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
||||||
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
||||||
TableColumn::make()->name('floor_name')->label('楼栋'),
|
TableColumn::make()->name('floor_name')->label('楼栋'),
|
||||||
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->label('护理等级')->className('text-primary')->sortable(),
|
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->label('护理等级')->className('text-primary')->sortable(),
|
||||||
TableColumn::make()->name('client_name')->label('委托人'),
|
TableColumn::make()->name('client_name')->label('委托人'),
|
||||||
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
||||||
TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true),
|
TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true),
|
||||||
|
|
@ -144,8 +144,10 @@ class LiveInController extends AdminController
|
||||||
amisMake()->TextControl('floor_name', '楼栋')->disabled(true),
|
amisMake()->TextControl('floor_name', '楼栋')->disabled(true),
|
||||||
amisMake()->TextControl('agreement_no', '协议号码')->disabled(true),
|
amisMake()->TextControl('agreement_no', '协议号码')->disabled(true),
|
||||||
]),
|
]),
|
||||||
amisMake()->RadiosControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->disabled(true),
|
amisMake()->RadiosControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->disabled(true),
|
||||||
amisMake()->DateRangeControl('live_in_date', '入住时间')->format('YYYY-MM-DD')->ranges([])->required(true),
|
amisMake()->DateRangeControl('live_in_date', '入住时间')->format('YYYY-MM-DD')->ranges([
|
||||||
|
'1monthslater','3monthslater','6monthslater','1yearslater',
|
||||||
|
])->required(true)->description('先选择结束时间,再选择开始时间'),
|
||||||
]),
|
]),
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Admin\Controllers;
|
namespace App\Admin\Controllers;
|
||||||
|
|
||||||
use App\Models\Keyword;
|
use App\Models\Keyword;
|
||||||
|
use Slowlyo\OwlAdmin\Models\AdminSetting;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\TableColumn;
|
use Slowlyo\OwlAdmin\Renderers\TableColumn;
|
||||||
|
|
@ -11,6 +12,7 @@ use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
use App\Services\Admin\OldmenService;
|
use App\Services\Admin\OldmenService;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Admin\Components;
|
use App\Admin\Components;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property OldmenService $service
|
* @property OldmenService $service
|
||||||
|
|
@ -40,7 +42,7 @@ class OldmenController extends AdminController
|
||||||
amisMake()->TextControl('name', '名称')->size('md'),
|
amisMake()->TextControl('name', '名称')->size('md'),
|
||||||
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
amisMake()->TextControl('card_no', '身份证')->size('md'),
|
||||||
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
amisMake()->TextControl('floor_name', '楼栋')->size('md'),
|
||||||
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->checkAll(true)->multiple(true)->size('md'),
|
amisMake()->SelectControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->checkAll(true)->multiple(true)->size('md'),
|
||||||
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
amis('button')->label(__('admin.reset'))->actionType('clear-and-submit'),
|
||||||
amis('submit')->label(__('admin.search'))->level('primary'),
|
amis('submit')->label(__('admin.search'))->level('primary'),
|
||||||
])->actions([])
|
])->actions([])
|
||||||
|
|
@ -51,7 +53,7 @@ class OldmenController extends AdminController
|
||||||
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
TableColumn::make()->name('age')->label('年龄')->sortable(),
|
||||||
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
TableColumn::make()->name('card_no')->label('身份证')->copyable(true),
|
||||||
TableColumn::make()->name('floor_name')->label('楼栋'),
|
TableColumn::make()->name('floor_name')->label('楼栋'),
|
||||||
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->label('护理等级')->className('text-primary')->sortable(),
|
TableColumn::make()->name('nurse_lv')->type('mapping')->map(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->label('护理等级')->className('text-primary')->sortable(),
|
||||||
TableColumn::make()->name('client_name')->label('委托人'),
|
TableColumn::make()->name('client_name')->label('委托人'),
|
||||||
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
TableColumn::make()->name('client_phone')->label('委托人-手机号')->copyable(true),
|
||||||
TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true),
|
TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true),
|
||||||
|
|
@ -88,7 +90,7 @@ class OldmenController extends AdminController
|
||||||
amisMake()->TextControl('floor_name', '楼栋'),
|
amisMake()->TextControl('floor_name', '楼栋'),
|
||||||
amisMake()->TextControl('agreement_no', '协议号码'),
|
amisMake()->TextControl('agreement_no', '协议号码'),
|
||||||
]),
|
]),
|
||||||
amisMake()->RadiosControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id'))->required(true)->disabledOn('data.live_in > 0'),
|
amisMake()->RadiosControl('nurse_lv', '护理等级')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value'))->required(true)->disabledOn('data.live_in > 0'),
|
||||||
]),
|
]),
|
||||||
amisMake()->FieldSetControl()->className('mt-10')->title('委托人信息')->collapsable(true)->body([
|
amisMake()->FieldSetControl()->className('mt-10')->title('委托人信息')->collapsable(true)->body([
|
||||||
amisMake()->GroupControl()->body([
|
amisMake()->GroupControl()->body([
|
||||||
|
|
@ -150,11 +152,53 @@ class OldmenController extends AdminController
|
||||||
public function liveSchemaForm(Request $request)
|
public function liveSchemaForm(Request $request)
|
||||||
{
|
{
|
||||||
$type = $request->input('type', 'live_fee');
|
$type = $request->input('type', 'live_fee');
|
||||||
|
$dateRange = $request->input('live_in_date', null);
|
||||||
|
$startDay = $dateRange ? explode(',', $dateRange)[0].' 00:00:00' : null;
|
||||||
|
$endDay = $dateRange ? explode(',', $dateRange)[1].' 23:59:59' : null;
|
||||||
|
|
||||||
foreach(Keyword::getByParentKey($type) as $fee){
|
if($startDay && $endDay){
|
||||||
|
$diffYears = Carbon::parse($startDay)->diffInYears($endDay);
|
||||||
|
$diffMonths = Carbon::parse($startDay)->addYears($diffYears)->diffInMonths($endDay);
|
||||||
|
$diffAbMonths = Carbon::parse($startDay)->diffInMonths($endDay);
|
||||||
|
$diffDays = Carbon::parse($startDay)->addYears($diffYears)->addMonths($diffMonths)->diffInDays($endDay);
|
||||||
|
$diffAbDays = Carbon::parse($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();
|
||||||
|
foreach(Keyword::getByParentKey($type) as $fee)
|
||||||
|
{
|
||||||
$_feeValue = 0;
|
$_feeValue = 0;
|
||||||
if($fee == 'live_base_fee'){
|
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);
|
||||||
|
}else{
|
||||||
|
$_feeValue += bcmul($diffAbDays, $_feeValues[$lv]['day'], 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$_feeValues = collect($feeKeyHelp[$fee->key]['values'] ?? [])->keyBy('lv')->toArray();
|
||||||
|
$_feeValue = $_feeValues[$lv]['fee'] ?? 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$feeArr[] = Components::make()->decimalControl($fee->key, $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:'.$_feeValue));
|
$feeArr[] = Components::make()->decimalControl($fee->key, $fee->name)->description(amis('tpl')->tpl('根据当前护理等级,建议费用为:'.$_feeValue));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,13 +60,13 @@ class SettingController extends AdminController
|
||||||
->description('如果选择按时间设置,则必须要设置每天维度的价格,否则无法计算'),
|
->description('如果选择按时间设置,则必须要设置每天维度的价格,否则无法计算'),
|
||||||
amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([
|
amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([
|
||||||
amisMake()->InputGroupControl()->label('配置')->body([
|
amisMake()->InputGroupControl()->label('配置')->body([
|
||||||
amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id')),
|
amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value')),
|
||||||
Components::make()->decimalControl('fee'),
|
Components::make()->decimalControl('fee'),
|
||||||
])
|
])
|
||||||
])->visibleOn('this.has_time < 2'),
|
])->visibleOn('this.has_time < 2'),
|
||||||
amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([
|
amisMake()->ComboControl('values', '金额设置')->multiple(true)->items([
|
||||||
amisMake()->InputGroupControl()->label('配置')->body([
|
amisMake()->InputGroupControl()->label('配置')->body([
|
||||||
amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'id')),
|
amisMake()->SelectControl('lv')->options(Keyword::getByParentKey('nurse_lv')->pluck('name', 'value')),
|
||||||
amisMake()->SelectControl('time_type')->options([
|
amisMake()->SelectControl('time_type')->options([
|
||||||
'year'=>'每年','month'=>'每月','day'=>'每天',
|
'year'=>'每年','month'=>'每月','day'=>'每天',
|
||||||
]),
|
]),
|
||||||
|
|
@ -79,7 +79,7 @@ class SettingController extends AdminController
|
||||||
$page = $this->basePage()->body([
|
$page = $this->basePage()->body([
|
||||||
amisMake()->Form()->mode('horizontal')
|
amisMake()->Form()->mode('horizontal')
|
||||||
->data($formData)
|
->data($formData)
|
||||||
->api()
|
->api(admin_url('/const-setting'))
|
||||||
->body(
|
->body(
|
||||||
Tabs::make()->tabs($tabs)
|
Tabs::make()->tabs($tabs)
|
||||||
)
|
)
|
||||||
|
|
@ -87,15 +87,10 @@ class SettingController extends AdminController
|
||||||
return $this->response()->success($page);
|
return $this->response()->success($page);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function queryFeeHelp($nurseLv, $dateRange, Request $request){
|
public function settingFeeConfigStore(Request $request)
|
||||||
$data = [];
|
{
|
||||||
//入住推荐金额
|
$data = $request->input();
|
||||||
// $liveInSetting =
|
|
||||||
$data['live_base_fee_help'] = 1000;
|
return settings()->adminSetMany($data);
|
||||||
$data['physical_help'] = 1000;
|
|
||||||
$data['heating_help'] = 1000;
|
|
||||||
$data['bedding_help'] = 1000;
|
|
||||||
//续住推荐金额
|
|
||||||
return $this->response()->success($data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -31,9 +31,10 @@ Route::group([
|
||||||
$router->get('live-in-feelist', '\App\Admin\Controllers\LiveInController@liveInFeelist');
|
$router->get('live-in-feelist', '\App\Admin\Controllers\LiveInController@liveInFeelist');
|
||||||
|
|
||||||
$router->get('live-fee-form', '\App\Admin\Controllers\OldmenController@liveSchemaForm');
|
$router->get('live-fee-form', '\App\Admin\Controllers\OldmenController@liveSchemaForm');
|
||||||
$router->get('query-fee-help/{oldmen}/{date_range}', '\App\Admin\Controllers\SettingController@queryFeeHelp');
|
|
||||||
|
|
||||||
$router->get('live-continue', '\App\Admin\Controllers\LiveContinueController@index');
|
$router->get('live-continue', '\App\Admin\Controllers\LiveContinueController@index');
|
||||||
|
|
||||||
$router->get('const-setting', '\App\Admin\Controllers\SettingController@settingFeeConfig');
|
$router->get('const-setting', '\App\Admin\Controllers\SettingController@settingFeeConfig');
|
||||||
|
$router->post('const-setting', '\App\Admin\Controllers\SettingController@settingFeeConfigStore');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,9 @@ class KeywordSeeder extends Seeder
|
||||||
]],
|
]],
|
||||||
]],
|
]],
|
||||||
['key' => 'nurse_lv', 'name' => '护理等级', 'value' => '', 'list' => [
|
['key' => 'nurse_lv', 'name' => '护理等级', 'value' => '', 'list' => [
|
||||||
['key' => 'nurse_lv_1', 'name' => '一级护理', 'type_key' => 'nurse_lv', 'value' => ''],
|
['key' => 'nurse_lv_1', 'name' => '一级护理', 'type_key' => 'nurse_lv', 'value' => '1'],
|
||||||
['key' => 'nurse_lv_2', 'name' => '二级护理', 'type_key' => 'nurse_lv', 'value' => ''],
|
['key' => 'nurse_lv_2', 'name' => '二级护理', 'type_key' => 'nurse_lv', 'value' => '2'],
|
||||||
['key' => 'nurse_lv_3', 'name' => '三级护理', 'type_key' => 'nurse_lv', 'value' => ''],
|
['key' => 'nurse_lv_3', 'name' => '三级护理', 'type_key' => 'nurse_lv', 'value' => '3'],
|
||||||
]],
|
]],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue