6
0
Fork 0
jiqu-library-server/app/Admin/Controllers/ImportJobLogController.php

84 lines
2.2 KiB
PHP

<?php
namespace App\Admin\Controllers;
use App\Admin\Extensions\Grid\Tools\Package\Import;
use App\Admin\Repositories\ImportJobLog;
use App\Models\ImportJobLog as ImportJobLogModel;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Show;
class ImportJobLogController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$builder = ImportJobLog::with('job');
return Grid::make($builder, function (Grid $grid) {
$grid->column('id')->sortable();
$grid->tools(function (Grid\Tools $tools) {
$tools->append(new Import());
});
$grid->column('job.name');
$grid->column('row')->label();
$grid->column('status')->using(ImportJobLogModel::$statusTexts)->dot([
0=>'danger',
1=>'success',
]);
$grid->column('reason');
$grid->column('created_at')->sortable();
$grid->model()->orderBy('id', 'desc');
$grid->filter(function (Grid\Filter $filter) {
$filter->panel();
$filter->like('job.name')->width(3);
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new ImportJobLog(), function (Show $show) {
$show->field('id');
$show->field('job_id');
$show->field('row');
$show->field('status');
$show->field('reason');
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new ImportJobLog(), function (Form $form) {
$form->display('id');
$form->text('job_id');
$form->text('row');
$form->text('status');
$form->text('reason');
$form->display('created_at');
$form->display('updated_at');
});
}
}