6
0
Fork 0
jiqu-library-server/app/Admin/Forms/UserEditBank.php

81 lines
2.4 KiB
PHP

<?php
namespace App\Admin\Forms;
use App\Models\User;
use App\Models\UserBank;
use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;
use Illuminate\Support\Facades\DB;
use Throwable;
class UserEditBank extends Form implements LazyRenderable
{
use LazyWidget;
/**
* @param Model|Authenticatable|HasPermissions|null $user
*
* @return bool
*/
protected function authorize($user): bool
{
return $user->can('dcat.admin.users.edit_bank');
}
/**
* Handle the form request.
*
* @param array $input
*
* @return mixed
*/
public function handle(array $input)
{
$id = $this->payload['id'] ?? 0;
$user = User::findOrFail($id);
try {
DB::beginTransaction();
UserBank::updateOrCreate(['user_id'=>$user->id], $input);
DB::commit();
} catch (Throwable $th) {
DB::rollBack();
report($th);
return $this->response()->error('操作失败:'.$th->getMessage());
}
return $this->response()
->success(__('admin.update_succeeded'))
->refresh();
}
/**
* Build a form here.
*/
public function form()
{
$id = $this->payload['id'] ?? 0;
$user = User::findOrFail($id);
// dd($user->bank);
$this->select('bank_name', '银行')->options([
'中国建设银行'=>'中国建设银行',
'中国农业银行'=>'中国农业银行',
'中国工商银行'=>'中国工商银行',
'中国银行'=>'中国银行',
'交通银行'=>'交通银行',
'招商银行'=>'招商银行',
'民生银行'=>'民生银行',
'兴业银行'=>'兴业银行',
'中信实业银行'=>'中信实业银行',
'上海浦东发展银行'=>'上海浦东发展银行',
'光大银行'=>'光大银行',
'邮政储蓄银行'=>'邮政储蓄银行',
'平安银行'=>'平安银行',
])->required()->value($user->bank?->bank_name);
$this->text('bank_number', '银行卡号')->required()->value($user->bank?->bank_number);
$this->text('bank_description', '开户行')->required()->value($user->bank?->bank_description);
$this->text('real_name', '持卡人')->required()->value($user->bank?->real_name);
}
}