|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
|
|
|
|
use App\Admin\Actions\Grid\CloneEquipResourceRecordAction;
|
|
|
|
use App\Admin\Forms\EquipCacheForm;
|
|
|
|
use App\Admin\Renderable\EquipDatapointTable;
|
|
|
|
use App\Admin\Renderable\PostTable;
|
|
|
|
use App\Admin\Renderable\UserTable;
|
|
|
|
use App\Admin\Renders\EquipResourceRecordRender;
|
|
|
|
use App\Admin\Repositories\AdminSetting;
|
|
|
|
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\Layout\Content;
|
|
|
|
use Dcat\Admin\Show;
|
|
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
|
|
|
|
|
|
class EquipController 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');
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|