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->createForm()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new EmailQueue); $grid->id('ID'); $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->m_address('收件地址'); $grid->m_subject('邮件主题'); $grid->m_sendtime('发送时间'); $grid->m_body('邮件内容'); $grid->created_at('添加时间'); $grid->updated_at('更新时间'); $grid->filter(function ($filter) { $filter->equal('m_status', '状态')->select([ 1 => '发送成功', 2 => '等待发送', 3 => '发送失败', ]); $filter->equal('m_address', '收件地址'); $filter->like('m_subject', '邮件主题'); }); $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->created_at('添加时间'); $show->updated_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; } protected function createForm() { $form = new Form(new EmailQueue); $form->email('m_address', '收件人')->rules([ 'required', ]); $form->text('m_subject', '邮件标题')->rules([ 'required', ]); $form->editor('m_body', '邮件内容')->rules([ 'required', ]); $form->tools(function (Form\Tools $tools) { $tools->disableDelete(); $tools->disableView(); }); $form->disableReset(); return $form; } /** * Store a newly created resource in storage. * * @return mixed */ public function store() { return $this->createForm()->store(); } public function emailAdd(Content $content) { $form = new \Encore\Admin\Widgets\Form(); $form->action(''); $form->radio('accept_member', '收件会员')->options([0=>'不限',1=>'企业会员',2=>'个人会员'])->default(0); $form->radio('accept_type', '筛选条件')->options([0=>'不限',1=>'一周未登录',2=>'一月未登录'])->default(0); $form->text('m_subject', '邮件标题'); $form->editor('m_body', '邮件内容'); $form->disableReset(); return $content ->header('邮件营销') ->description('批量添加') ->body(view('admin.email.email_queue')->with(['content'=>$form])->render()); } public function emailCreated() { $data = Input::all(); if ($data['m_subject']==null||$data['m_body']==null) { admin_error('失败', '信息补充完整'); return back(); } unset($data['_token']); $MailBatch = EmailBatch::where(['accept_member'=>$data['accept_member'],'accept_type'=>$data['accept_type']])->first(); if ($MailBatch) { $res = EmailBatch::where(['accept_member'=>$data['accept_member'],'accept_type'=>$data['accept_type']])->update($data); } else { $res = EmailBatch::create($data); } if ($res) { admin_success('成功', '更新成功'); } else { admin_error('失败', '更新失败'); } return back(); } }