coinwind/app/Admin/Controllers/DetailController.php

114 lines
3.0 KiB
PHP

<?php
namespace App\Admin\Controllers;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;
use App\Detail;
use Encore\Admin\Widgets\Table;
class DetailController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = '存币记录';
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new Detail);
$grid->model()->orderBy('id', 'desc');
$grid->filter(function ($filter) {
// 去掉默认的id过滤器
$filter->disableIdFilter();
// 在这里添加字段过滤器
$filter->like('address', '钱包地址');
$filter->like('hash', '哈希值');
$filter->like('type', '策略')->select([1 => '平台币', 2 => '自身币']);
$filter->like('status', '状态')->select([0 => '未确认', 1 => '已确认']);
$filter->between('created_at', '创建时间')->datetime();
$filter->between('updated_at', '最近时间')->datetime();
});
$grid->column('id', __('ID'))->sortable();
$grid->column('address', '钱包地址')->expand(function ($model) {
return new Table(['类目', '内容'], [
['哈希值', $model['hash']],
['详情', $model['info']],
]);
});
$grid->column('remake', __('备注'));
$grid->column('info', __('币种--收益率'))->display(function ($title) {
$cotent = json_decode($title, true);
return $cotent['name'] . '--' . $cotent['yield'] . '%';
});
$grid->column('balance', __('金额'))->sortable();
$grid->column('true_balance', __('真实金额'))->sortable();
$grid->column('status', __('状态'))->using([0 => '未确认', 1 => '已确认'])->label([
0 => 'default',
2 => 'warning',
1 => 'success',
]);;
$grid->column('type', __('策略'))->using([1 => '平台币', 2 => '自身币']);
$grid->column('created_at', __('创建时间'))->sortable();
$grid->column('updated_at', __('更新时间'))->sortable();
$grid->actions(function ($actions) {
// 去掉查看
$actions->disableView();
$actions->disableEdit();
$actions->disableDelete();
});
$grid->disableCreateButton();
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(Detail::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 Detail);
return $form;
}
}