可自行调整时间和费用

main
vine_liutk 2023-09-02 11:18:42 +08:00
parent b9d34750f9
commit 51bc60cde9
4 changed files with 49 additions and 6 deletions

View File

@ -38,10 +38,16 @@ class ConstFlowController extends AdminController
amisMake()->TableColumn('oldman.name', '客人'), amisMake()->TableColumn('oldman.name', '客人'),
amisMake()->TableColumn('const_type', '缴费类型')->type('mapping')->map(ConstFlow::typeMapLabel())->className('text-primary'), amisMake()->TableColumn('const_type', '缴费类型')->type('mapping')->map(ConstFlow::typeMapLabel())->className('text-primary'),
amisMake()->TableColumn('money', '金额'), amisMake()->TableColumn('money', '金额'),
amisMake()->TableColumn('created_at', '办理时间')->type('datetime')->sortable(true), amisMake()->TableColumn('start_at', '开始时间')->type('datetime')->sortable(true),
amisMake()->TableColumn('end_at', '结束时间')->type('datetime')->sortable(true),
amisMake()->TableColumn('created_at', '办理时间')->type('datetime')->sortable(true),
amisMake()->Operation()->label(__('admin.actions'))->buttons([ amisMake()->Operation()->label(__('admin.actions'))->buttons([
$this->showFlow(), $this->showFlow(),
]), ]),
amisMake()->Operation()->label(__('admin.actions'))->buttons([
$this->rowEditButton(true, 'lg')->hiddenOn('this.const_type == 3'),
$this->rowDeleteButton()->hiddenOn('this.const_type == 3')
]),
]); ]);
return $this->baseList($crud); return $this->baseList($crud);
@ -50,7 +56,10 @@ class ConstFlowController extends AdminController
public function form($isEdit = false): Form public function form($isEdit = false): Form
{ {
return $this->baseForm()->body([ return $this->baseForm()->body([
amisMake()->GroupControl()->body([
amisMake()->DateControl('start_at', '开始时间')->format('YYYY-MM-DD 00:00:00')->required(true),
amisMake()->DateControl('end_at', '结束时间')->format('YYYY-MM-DD 23:59:59')->required(true),
]),
]); ]);
} }

View File

@ -44,8 +44,9 @@ class LiveInController extends AdminController
TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true), TableColumn::make()->name('live_in_at')->label('入住时间')->type('datetime')->sortable(true),
TableColumn::make()->name('avliable_at')->label('截至时间')->type('datetime')->sortable(true), TableColumn::make()->name('avliable_at')->label('截至时间')->type('datetime')->sortable(true),
amisMake()->Operation()->label(__('admin.actions'))->buttons([ amisMake()->Operation()->label(__('admin.actions'))->buttons([
$this->rowEditButton(true, 'lg'),
amisMake()->LinkAction()->label('续住')->icon('fa fa-plus')->link('live-continue-do?oldman_id=${id}')->level('link'), amisMake()->LinkAction()->label('续住')->icon('fa fa-plus')->link('live-continue-do?oldman_id=${id}')->level('link'),
amisMake()->LinkAction()->label('结算')->icon('fa fa-external-link-alt')->link('live-exit-do?oldman_id=${id}')->level('link') amisMake()->LinkAction()->label('结算')->icon('fa fa-external-link-alt')->link('live-exit-do?oldman_id=${id}')->level('link'),
]), ]),
]); ]);
@ -54,7 +55,10 @@ class LiveInController extends AdminController
public function form(): Form public function form(): Form
{ {
return $this->baseForm()->body([ return $this->baseForm()->body([
amisMake()->GroupControl()->body([
amisMake()->DateControl('live_in_at', '入住时间')->format('YYYY-MM-DD 00:00:00')->required(true),
amisMake()->DateControl('avliable_at', '截至时间')->format('YYYY-MM-DD 23:59:59')->required(true),
]),
]); ]);
} }

View File

@ -33,7 +33,7 @@ Route::group([
$router->get('live-fee-form-data', '\App\Admin\Controllers\OldmenController@liveSchemaFormData'); $router->get('live-fee-form-data', '\App\Admin\Controllers\OldmenController@liveSchemaFormData');
$router->get('live-const-flow', '\App\Admin\Controllers\OldmenController@liveConstFlow'); $router->get('live-const-flow', '\App\Admin\Controllers\OldmenController@liveConstFlow');
//客人-入住 //客人-入住
$router->get('live-in', '\App\Admin\Controllers\LiveInController@index'); $router->resource('live-in', \App\Admin\Controllers\LiveInController::class)->only(['index', 'edit', 'update']);
$router->get('live-in-do', '\App\Admin\Controllers\LiveInController@doForm'); $router->get('live-in-do', '\App\Admin\Controllers\LiveInController@doForm');
$router->post('live-in-do', '\App\Admin\Controllers\LiveInController@do'); $router->post('live-in-do', '\App\Admin\Controllers\LiveInController@do');
//客人-续住 //客人-续住
@ -45,7 +45,7 @@ Route::group([
$router->post('live-exit-do', '\App\Admin\Controllers\LiveExitController@do'); $router->post('live-exit-do', '\App\Admin\Controllers\LiveExitController@do');
//费用设置 //费用设置
$router->resource('consts', \App\Admin\Controllers\ConstFlowController::class)->only(['index', 'show', 'destroy']); $router->resource('consts', \App\Admin\Controllers\ConstFlowController::class)->only(['index', 'edit', 'update','show', 'destroy']);
$router->post('flow-list-tabs', '\App\Admin\Controllers\ConstFlowController@flowExtendList'); $router->post('flow-list-tabs', '\App\Admin\Controllers\ConstFlowController@flowExtendList');
$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'); $router->post('const-setting', '\App\Admin\Controllers\SettingController@settingFeeConfigStore');

View File

@ -5,6 +5,8 @@ namespace App\Services\Admin;
use App\Models\ConstFlow; use App\Models\ConstFlow;
use Slowlyo\OwlAdmin\Services\AdminService; use Slowlyo\OwlAdmin\Services\AdminService;
use App\Filters\Admin\ConstFlowFilter; use App\Filters\Admin\ConstFlowFilter;
use App\Models\Oldmen;
use PhpParser\Node\Stmt\Const_;
/** /**
* 费用明细 * 费用明细
@ -28,4 +30,32 @@ class ConstFlowService extends BaseService
'avliable_at' => $flow->end_at 'avliable_at' => $flow->end_at
])); ]));
} }
public function delete(string $ids): mixed
{
$id = collect(explode(',', $ids));
// 所有ID
foreach ($id as $value) {
$_flow = ConstFlow::find($value);
if($_flow->const_type == ConstFlow::TYPE_IN){
$_oldman = Oldmen::find($_flow->oldman_id);
//如果还有续费记录未删除,则提示先删除续费记录;
if(ConstFlow::where('oldman_id', $_oldman->id)->where('const_type', '>', ConstFlow::TYPE_IN)->where('end_at', '<=', $_oldman->avliable_at)->exists()){
return $this->setError('请先删除该用户续费记录');
}
//如果删除入住;则判断当前用户状态是否是入住,是,则变更为未入住;
if($_oldman->live_in_at == $_flow->start_at && $_oldman->live_in == Oldmen::STATUS_LIVE){
$_oldman->update([
'live_in' => Oldmen::STATUS_NORMAL,
'need_pay' => Oldmen::PAY_NORMAL,
'live_in_at' => null,
'avliable_at' => null,
'bonds' => [],//保证金归零
]);
}
}
}
$id = $id->unique();
return $this->query()->whereIn($this->primaryKey(), $id)->delete();
}
} }