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 SmsQueue);
$grid->model()->orderBy('created_at', 'desc');
$grid->id('ID');
$grid->column('batch.name', '批次')->width(150);
$grid->utype('发送者')->display(function ($utype) {
switch ($utype) {
case 1:
$utype = '企业';
break;
case 2:
$utype = '个人';
break;
default:
$utype = '系统';
break;
}
return $utype;
});
$grid->s_number('手机号')->width(150);
$grid->s_body('短信内容')->width(200);
$grid->s_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->s_sendtime('发送时间');
$grid->created_at('添加时间')->sortable();
$grid->actions(function ($actions) use ($grid) {
if (Admin::user()->can('system_sms_queue_delete')) {
$actions->disableDelete(false);
}
});
if (Admin::user()->can('system_sms_queue_delete')) {
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->disableDelete(false);
});
});
$grid->disableRowSelector(false);
}
$grid->filter(function ($filter) {
$filter->equal('s_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(SmsQueue::findOrFail($id));
$show->id("ID");
// $show->batch('批次', function ($batch) {
// $batch->name();
// });
$show->utype('发送者')->unescape()->as(function ($m_status) {
switch ($m_status) {
case 1:
$m_status = '企业';
break;
case 2:
$m_status = '个人';
break;
default:
$m_status = '系统';
break;
}
return $m_status;
});
$show->s_number('手机号');
$show->s_body('短信内容');
$show->s_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->s_sendtime('发送时间');
$show->created_at('添加时间');
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new SmsQueue);
$form->display('ID');
$form->display('Created at');
$form->display('Updated at');
return $form;
}
}