header('邮件记录') ->description('发送记录') ->body($this->grid()); } /** * Show interface. * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header('邮件记录') ->description('详细') ->body($this->detail($id)); } /** * Edit interface. * * @param mixed $id * @param Content $content * @return Content */ public function edit($id, Content $content) { return $content ->header('邮件记录') ->description('编辑') ->body($this->form()->edit($id)); } /** * Create interface. * * @param Content $content * @return Content */ public function create(Content $content) { return $content ->header('邮件记录') ->description('创建') ->body($this->form()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new EmailQueue); $grid->model()->orderBy('id', 'desc'); $grid->id('ID'); $grid->column('emailBatchs.name', '批次')->width(150); $grid->m_address('邮箱')->width(150); $grid->m_subject('邮件标题')->width(200); $grid->m_body('邮件内容')->width(200); $grid->m_status('状态')->display(function ($m_status) { switch ($m_status) { case 1: $m_status = '成功'; break; case 2: $m_status = '等待'; break; case 3: $m_status = '失败'; break; default: $m_status = '等待'; break; } return $m_status; }); $grid->error_message('错误信息')->width(200); $grid->m_sendtime('发送时间'); $grid->created_at('添加时间'); $grid->actions(function ($actions) use ($grid) { if (Admin::user()->can('system_email_queue_delete')) { $actions->disableDelete(false); } }); if (Admin::user()->can('system_email_queue_delete')) { $grid->tools(function ($tools) { $tools->batch(function ($batch) { $batch->disableDelete(false); }); }); $grid->disableRowSelector(false); } $grid->filter(function ($filter) { $filter->equal('m_status', '状态')->select([ 1 => '发送成功', 2 => '等待发送', 3 => '发送失败', ]); }); $grid->tools(function ($tools) { //$tools->append(''); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(EmailQueue::findOrFail($id)); $show->id("ID"); // $show->batch('批次', function ($batch) { // $batch->name(); // }); $show->m_address('邮箱'); $show->m_subject('邮件标题'); $show->m_body('邮件内容'); $show->m_status('状态')->unescape()->as(function ($m_status) { switch ($m_status) { case 1: $m_status = '成功'; break; case 2: $m_status = '等待'; break; case 3: $m_status = '失败'; break; default: $m_status = '等待'; break; } return $m_status; }); $show->error_message('错误信息'); $show->m_sendtime('发送时间'); $show->created_at('添加时间'); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new EmailQueue); $form->display('ID'); $form->display('发送时间'); $form->display('添加时间'); return $form; } }