81 lines
2.4 KiB
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);
|
|
}
|
|
}
|