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