阶段更新

This commit is contained in:
2023-01-12 14:47:38 +08:00
parent 088dd64b2f
commit 5b8901281c
626 changed files with 39326 additions and 12 deletions

View File

@@ -0,0 +1,46 @@
<?php
namespace Modules\Withdraw\Http\Controllers\Admin;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Grid;
use Modules\Withdraw\Models\Account;
class AccountController extends AdminController
{
protected $title = '用户银行账户';
public function grid(): Grid
{
$grid = new Grid(new Account());
$grid->model()->with(['user.info']);
$grid->disableCreateButton();
$grid->actions(function ($actions) {
$actions->disableDelete();
$actions->disableView();
});
$grid->filter(function (Grid\Filter $filter) {
$filter->column(1 / 2, function (Grid\Filter $filter) {
$filter->like('user.username', '用户账号');
$filter->like('no', '卡号');
});
$filter->column(1 / 2, function (Grid\Filter $filter) {
$filter->like('user.info.nickname', '用户昵称');
});
});
$grid->column('id', '#ID#');
$grid->column('用户')->display(function () {
return $this->user->username."({$this->user->info->nickname})";
});
$grid->column('name', '提款人');
$grid->column('bank.name', '开户行');
$grid->column('no', '卡号');
$grid->column('created_at', '创建时间');
return $grid;
}
}

View File

@@ -0,0 +1,48 @@
<?php
namespace Modules\Withdraw\Http\Controllers\Admin\Actions;
use Encore\Admin\Actions\RowAction;
use Encore\Admin\Facades\Admin;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Modules\Withdraw\Models\Withdraw;
class WithdrawAudit extends RowAction
{
public $name = '提现审核';
public function handle(Withdraw $withdraw, Request $request)
{
$status = $request->status;
$remark = $request->remark;
try {
if ($status == Withdraw::STATUS_PASS) {
$withdraw->pass($remark);
}
if ($status == Withdraw::STATUS_REJECT) {
$withdraw->reject($remark);
}
return $this->response()->success('操作成功')->refresh();
} catch (\Exception $e) {
return $this->response()->error($e->getMessage())->refresh();
}
}
public function form(Model $model)
{
$this->select('status', '状态')
->options([
Withdraw::STATUS_PASS => '通过',
Withdraw::STATUS_REJECT => '驳回',
])
->required();
$this->text('remark', '说明');
}
}

View File

@@ -0,0 +1,50 @@
<?php
namespace Modules\Withdraw\Http\Controllers\Admin;
use App\Admin\Traits\WithUploads;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Modules\Withdraw\Models\Bank;
class BankController extends AdminController
{
use WithUploads;
protected $title = '银行列表';
public function grid(): Grid
{
$grid = new Grid(new Bank());
$grid->filter(function (Grid\Filter $filter) {
$filter->column(1 / 2, function (Grid\Filter $filter) {
$filter->like('name', '银行名称');
});
});
$grid->column('id', '#ID#');
$grid->column('cover', '图标')->image('', 60, 60);
$grid->column('name', '银行名称');
$grid->column('status', '状态')->switch([
'on' => ['value' => 1, 'text' => '打开', 'color' => 'success'],
'off' => ['value' => 0, 'text' => '关闭', 'color' => 'danger'],
]);
$grid->column('created_at', '创建时间');
return $grid;
}
public function form()
{
$form = new Form(new Bank());
$this->cover($form);
$form->text('name', '银行名称')->required();
$form->switch('status', '是否开启')->default(1);
return $form;
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace Modules\Withdraw\Http\Controllers\Admin;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Modules\Withdraw\Models\Config;
class ConfigController extends AdminController
{
protected $title = '配置';
public function grid(): Grid
{
$grid = new Grid(new Config());
$grid->disableFilter();
$grid->column('id', '#ID#');
$grid->column('name', '名称');
$grid->column('slug', '别名');
$grid->column('value', '值');
$grid->column('created_at', '创建时间');
return $grid;
}
public function form(): Form
{
$form = new Form(new Config());
$form->text('name', '名称')->required();
$form->text('slug', '别名')->required();
$form->text('value', '值')->required();
return $form;
}
}

View File

@@ -0,0 +1,74 @@
<?php
namespace Modules\Withdraw\Http\Controllers\Admin;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Grid;
use Modules\Withdraw\Http\Controllers\Admin\Actions\WithdrawAudit;
use Modules\Withdraw\Models\Withdraw;
use Modules\Withdraw\Selectable\AccountAble;
class WithdrawController extends AdminController
{
protected $title = '提现列表';
protected function grid(): Grid
{
$grid = new Grid(new Withdraw());
$grid->model()->with(['user.info'])->latest();
$grid->disableCreateButton();
$grid->actions(function ($actions) {
$actions->disableDelete();
$actions->disableView();
$actions->disableEdit();
if ($actions->row->canAudit()) {
$actions->add(new WithdrawAudit());
}
});
$grid->filter(function (Grid\Filter $filter) {
$filter->column(1 / 2, function (Grid\Filter $filter) {
$filter->like('user.username', '账户');
$filter->equal('status', '状态')->select(Withdraw::STATUS);
$filter->like('bankAccount.branch_name', '开户行');
});
$filter->column(1 / 2, function (Grid\Filter $filter) {
$filter->like('user.info.nickname', '昵称');
$filter->like('bankAccount.no', '卡号');
});
});
$grid->column('id', 'ID');
$grid->column('用户')->display(function () {
return $this->user->username."({$this->user->info->nickname})";
});
$grid->column('提现账号')
->display(function () {
return '查看';
})
->modal('提现账号', AccountAble::class);
$grid->column('amount', '提现金额');
$grid->column('tax', '手续费');
$grid->column('take', '实到金额');
$grid->column('type', '提现类型')
->using(Withdraw::TYPES)
->label(Withdraw::TYPES_LABEL);
$grid->column('status', '状态')
->using(Withdraw::STATUS)
->label([
Withdraw::STATUS_INIT => 'info',
Withdraw::STATUS_PASS => 'success',
Withdraw::STATUS_REJECT => 'danger',
]);
$grid->column('paid_at', '审核时间');
$grid->column('source', '备份数据')->hide();
$grid->column('created_at', '申请时间');
return $grid;
}
}