translation($this->translation()) ->title('设备列表') ->description($this->description()['index'] ?? trans('admin.list')) ->body($this->grid()); } /** * 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->quickSearch()->placeholder('设备ID'); $param = request()->all(); $grid->column('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('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'); }); } }