6 changed files with 140 additions and 6 deletions
@ -0,0 +1,135 @@ |
|||
<?php |
|||
|
|||
namespace App\Admin\Controllers; |
|||
|
|||
use App\Admin\Forms\EquipCacheForm; |
|||
use App\Admin\Renderable\EquipDatapointTable; |
|||
use App\Admin\Repositories\Equip; |
|||
use App\Admin\Services\AdminSettingService; |
|||
use App\Admin\Services\EquipInfoService; |
|||
use Dcat\Admin\Form; |
|||
use Dcat\Admin\Grid; |
|||
use Dcat\Admin\Show; |
|||
use Dcat\Admin\Http\Controllers\AdminController; |
|||
|
|||
class CommandLogController extends AdminController |
|||
{ |
|||
/** |
|||
* Make a grid builder. |
|||
* |
|||
* @return Grid |
|||
*/ |
|||
protected function grid() |
|||
{ |
|||
$api_key = AdminSettingService::getConfig('onenet_api_key'); |
|||
|
|||
return Grid::make(null, function (Grid $grid) use ($api_key) { |
|||
$grid->disableCreateButton(); |
|||
$grid->quickSearch()->placeholder('设备ID'); |
|||
|
|||
$param = request()->all(); |
|||
$grid->column('id', '设备ID')->sortable(); |
|||
$grid->column('title'); |
|||
$grid->column('online', '是否在线'); |
|||
$grid->column('desc'); |
|||
$grid->column('缓存命令')->display('写设备资源')->modal(function (Grid\Displayers\Modal $modal) use ($api_key) { |
|||
// 标题 |
|||
$modal->title('缓存命令-写设备资源'); |
|||
// 自定义图标 |
|||
$modal->icon('feather icon-edit'); |
|||
// 传递当前行字段值 |
|||
|
|||
return EquipCacheForm::make()->payload([ |
|||
'imei' => key($this->auth_info ?? []), |
|||
'obj_id' => $this->id, |
|||
'api_key' => $api_key, |
|||
]); |
|||
}); |
|||
// $grid->column('设备数据点')->display('设备数据点') |
|||
// ->modal('设备数据点', UserTable::make()); |
|||
|
|||
$grid->column('设备数据点')->display('设备数据点') |
|||
->modal(function (Grid\Displayers\Modal $modal) use ($api_key) { |
|||
// 标题 |
|||
$modal->title('缓存命令-写设备资源'); |
|||
// 自定义图标 |
|||
$modal->icon('feather icon-edit'); |
|||
// 传递当前行字段值 |
|||
return EquipDatapointTable::make()->payload([ |
|||
'obj_id' => $this->id, |
|||
]); |
|||
}); |
|||
|
|||
$grid->column('tags'); |
|||
|
|||
$grid->column('protocol'); |
|||
$grid->column('location'); |
|||
$grid->column('auth_info'); |
|||
$grid->column('other'); |
|||
$grid->column('create_time', '设备创建时间'); |
|||
$grid->disableActions(); |
|||
|
|||
$grid->model()->setData(EquipInfoService::getInfos($param)); |
|||
|
|||
$grid->filter(function (Grid\Filter $filter) { |
|||
$filter->equal('id'); |
|||
|
|||
}); |
|||
}); |
|||
} |
|||
|
|||
/** |
|||
* Make a show builder. |
|||
* |
|||
* @param mixed $id |
|||
* |
|||
* @return Show |
|||
*/ |
|||
protected function detail($id) |
|||
{ |
|||
return Show::make($id, new Equip(), function (Show $show) { |
|||
$show->field('id'); |
|||
$show->field('title'); |
|||
$show->field('desc'); |
|||
$show->field('tags'); |
|||
$show->field('protocol'); |
|||
$show->field('location'); |
|||
$show->field('private'); |
|||
$show->field('auth_info'); |
|||
$show->field('auth'); |
|||
$show->field('obsv'); |
|||
$show->field('other'); |
|||
$show->field('chip'); |
|||
$show->field('psk'); |
|||
$show->field('created_at'); |
|||
$show->field('updated_at'); |
|||
}); |
|||
} |
|||
|
|||
/** |
|||
* Make a form builder. |
|||
* |
|||
* @return Form |
|||
*/ |
|||
protected function form() |
|||
{ |
|||
return Form::make(new Equip(), function (Form $form) { |
|||
$form->display('id'); |
|||
$form->text('title'); |
|||
$form->text('desc'); |
|||
$form->text('tags'); |
|||
$form->text('protocol'); |
|||
$form->text('location'); |
|||
$form->text('private'); |
|||
$form->text('auth_info'); |
|||
$form->text('auth'); |
|||
$form->text('obsv'); |
|||
$form->text('other'); |
|||
$form->text('chip'); |
|||
$form->text('psk'); |
|||
|
|||
$form->display('created_at'); |
|||
$form->display('updated_at'); |
|||
}); |
|||
} |
|||
} |
|||
Binary file not shown.
Loading…
Reference in new issue