disableCreateButton(false); $grid->disableCreateButton(); $grid->tools(function (Grid\Tools $tools) { $tools->append(new Reflash()); }); Admin::js('/js/qrcode.min.js'); $grid->expend('二维码','ooo')->modal(Qrcode::class); $grid->model()->orderBy('status','asc'); $grid->column('id', __('ID'))->sortable(); $grid->column('device_name', __('设备名称'))->editable(); $grid->column('device_type', __('类型'))->display(function ($w){ if(empty($w)) return '无'; return DeviceInfo::getTypes()[$w]; }); $grid->column('query', __('刷新时间')); $grid->column('status', __('设备状态'))->using($status)->sortable();; $grid->column('runningStatus', __('运行状态'))->display(function ($s){ $arr = [['name'=>'正常','color'=>'success'],['name'=>'故障','color'=>'danger'],['name'=>'故障','color'=>'danger'],['name'=>'故障','color'=>'danger'],['name'=>'故障','color'=>'danger'],['name'=>'正常','color'=>'success']]; return "{$arr[$s]['name']}"; }); $grid->column('updated_at', __('更新时间'))->sortable(); $grid->actions(function ($actions){ $actions->disableDelete(false); $actions->add(new Lock()); $actions->add(new sendRule()); $actions->add(new getRule()); $actions->add(new testRule()); }); $grid->filter(function (Grid\Filter $filter){ $filter->column(1/2, function ($filter) { $filter->like('device_name','设备名称'); $filter->equal('status','状态')->select(DeviceInfo::getStatus()); }); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(DeviceInfo::findOrFail($id)); $isLock = DeviceInfo::getLock(); $status = DeviceInfo::getStatus(); $breakDown = DeviceInfo::getBrakdown(); $show->field('id', __('ID')); $show->field('device_name', __('阿里云设备编号')); $show->field('device_comment', __('微信中名称')); $show->field('device_type', __('型号')); $show->field('iot_id', __('iot_id')); $show->field('product_key', __('product_key')); $show->field('device_secret', __('设备密匙')); $show->field('imei', __('imei')); $show->field('status', __('运行状态'))->using($status); $show->field('runningStatus', __('设备状态'))->using($breakDown); $show->field('lock_switch', __('是否锁定'))->using($isLock); $show->field('device_position', __('详细位置')); $show->field('device_weight', __('累计重量/kg'))->as(function ($w){ return round($w/1000,3); }); $show->field('device_qrcode', __('二维码'))->image(); $show->field('device_tem', __('温度')); $show->field('device_light_start', __('灯牌开始点亮时间')); $show->field('device_light_end', __('灯牌结束点亮时间')); $show->field('serial_number', __('海康卫视序列号')); $show->field('device_memo', __('设备备注')); $show->field('created_at', __('创建时间')); $show->field('updated_at', __('更新时间')); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new DeviceInfo()); if(Admin::user()->isAdministrator()){ $form->text('id', __('ID')); } else { $form->display('id', __('ID')); } $form->select('device_type', __('设备类型'))->options(DeviceInfo::getTypes())->rules('required'); $form->display('device_name', __('(阿里云)设备编号'))->rules('required'); $form->display('iot_id', __('(阿里云)iot_id'))->rules('required'); $form->display('product_key', __('(阿里云)product_key'))->help('阿里产品密匙')->rules('required'); $form->display('device_secret', __('(阿里云)设备密匙'))->rules('required'); $form->display('imei', __('(阿里云)设备唯一码'))->rules('required'); $form->hidden('device_tem', __('设备温度'))->default(28)->rules('required'); $form->text('query', '刷新时间')->help('单位秒')->rules('required'); // $form->select('status', __('状态'))->options(['在营','离线','禁用','未激活']); //$form->hidden('runningStatus', __('运行状态'))->options(['满溢','修复','清空','未知']); // $form->latlong('device_latitude', 'device_longitude', '经纬度')->default(['lat' => 90, 'lng' => 90]); $form->textarea('remark', '设备备注'); $form->display('created_at', __('创建时间')); $form->display('updated_at', __('更新时间')); return $form; } }