header('列表') ->description('全部') ->breadcrumb(['text'=>'列表','url'=>'']) ->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { //插入JS Admin::script( <<setActionClass(Grid\Displayers\Actions::class); // 添加“查看”按钮 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->append('View Detail'); }); // 设置数据源 //$grid->model()->setData($messagesArray); //$grid->column('id');//->sortable(); $grid->column('created_at','time'); // $grid->column('title','message_title'); $grid->column('title','message_title')->display(function ($title) { $isRead = $this->is_read; $style = $isRead == 0 ? 'font-weight: bold;' : ''; $label = $isRead == 0 ? '(未读)' : ''; return "{$title} {$label}"; }); $grid->column('content'); //$grid->column('sender_id'); $grid->column('is_read'); $grid->disableCreateButton(); $grid->disableDeleteButton(); $grid->disableEditButton(); // 添加查看按钮 // 添加点击事件,点击一行进入详情页 // $grid->filter(function (Grid\Filter $filter) { // $filter->equal('id'); // }); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { $this->markAsRead($id); return Show::make($id, new DistMessage(), function (Show $show) { //$show->field('id'); //$show->field('sender_id'); $show->field('created_at'); $show->field('title'); $show->field('content'); // Disable all toolbar actions and buttons $show->panel() ->tools(function (Show\Tools $tools) { $tools->disableEdit(); // Disable edit button $tools->disableDelete(); // Disable delete button }); }); } // // /** // * Make a form builder. // * // * @return Form // */ // protected function form() // { // return Form::make(new DistMessage(), function (Form $form) { // $form->display('id'); // $form->text('title'); // $form->text('content'); // $form->text('sender_id'); // $form->text('target_type'); // $form->text('target_ids'); // // $form->display('created_at'); // $form->display('updated_at'); // }); // } /** * 标记消息为已读 */ public function markAsRead($messageId) { $userId = getDistributorId(); if (DistReadStatus::markAsRead($messageId, $userId)) { return true; } return false; } }