117 lines
3.1 KiB
PHP
117 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Actions\Swap\Replicate;
|
|
use App\Admin\Actions\Swap\Success;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Show;
|
|
use App\Swap;
|
|
use Encore\Admin\Widgets\Table;
|
|
|
|
class SwapController extends AdminController
|
|
{
|
|
/**
|
|
* Title for current resource.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $title = '兑换记录';
|
|
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
$grid = new Grid(new Swap);
|
|
|
|
$grid->model()->orderBy('id', 'desc');
|
|
|
|
$grid->filter(function ($filter) {
|
|
|
|
// 去掉默认的id过滤器
|
|
$filter->disableIdFilter();
|
|
|
|
// 在这里添加字段过滤器
|
|
$filter->like('address', '钱包地址');
|
|
$filter->between('created_at', '创建时间')->datetime();
|
|
$filter->between('updated_at', '最近时间')->datetime();
|
|
$filter->like('hash', '哈希值');
|
|
$filter->in('status', '状态')->multipleSelect([0 => '未审核', 1 => '通过', 2 => '拒绝']);
|
|
});
|
|
|
|
$grid->column('id', __('ID'))->sortable();
|
|
$grid->column('address', __('钱包地址'))->expand(function ($model) {
|
|
return new Table(['哈希'], [
|
|
[$model['hash']]
|
|
]);
|
|
});
|
|
$grid->column('remark', __('备注'));
|
|
$grid->column('balance', __('兑换金额'))->sortable();
|
|
$grid->column('true_balance', __('真实金额'));
|
|
$grid->column('status', '状态')->using([0 => '未审核', 1 => '通过', 2 => '拒绝'])->label([
|
|
0 => 'default',
|
|
2 => 'warning',
|
|
1 => 'success',
|
|
]);
|
|
$grid->column('hash', __('查链'))->display(function ($title) {
|
|
if ($title) {
|
|
return "<a target='_blank' href='https://eth.tokenview.com/cn/tx/" . $title . "'>查询</a>";
|
|
}
|
|
});
|
|
$grid->column('created_at', __('创建时间'))->sortable();
|
|
$grid->column('updated_at', __('更新时间'))->sortable();
|
|
|
|
$grid->actions(function ($actions) {
|
|
// 去掉查看
|
|
$actions->disableView();
|
|
$actions->disableEdit();
|
|
$actions->disableDelete();
|
|
|
|
$actions->add(new Replicate());
|
|
$actions->add(new Success());
|
|
});
|
|
|
|
$grid->disableCreateButton();
|
|
|
|
return $grid;
|
|
}
|
|
|
|
/**
|
|
* Make a show builder.
|
|
*
|
|
* @param mixed $id
|
|
* @return Show
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
$show = new Show(Single::findOrFail($id));
|
|
|
|
$show->field('id', __('ID'));
|
|
$show->field('created_at', __('Created at'));
|
|
$show->field('updated_at', __('Updated at'));
|
|
|
|
return $show;
|
|
}
|
|
|
|
/**
|
|
* Make a form builder.
|
|
*
|
|
* @return Form
|
|
*/
|
|
protected function form()
|
|
{
|
|
$form = new Form(new Single);
|
|
|
|
$form->display('id', __('ID'));
|
|
$form->display('created_at', __('Created At'));
|
|
$form->display('updated_at', __('Updated At'));
|
|
|
|
return $form;
|
|
}
|
|
}
|