header(admin_trans( 'admin.product_import'))
->description(''.admin_trans_label('select_products_to_import').'')
->breadcrumb(['text'=>'list','url'=>''])
->body($this->grid());
}
//屏蔽删除
public function destroy($id)
{
abort(404);
}
//屏蔽创建
public function create(Content $content)
{
abort(404);
}
//屏蔽编辑
public function edit($id, Content $content)
{
abort(404);
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new RpcAlbum(), function (Grid $grid) {
$lang = config('app.locale');//当前语言
$grid->view('admin.grid.table');
$grid->column('id')->display(function () {
return $this->_index+1;
})->width('8%');
$grid->column('cover')->display(function ($images) {
$images = json_decode($images);
// 限制最多显示2个缩略图
$dataImages = array_slice($images, 0, 1);
return CommonHelper::displayImage($dataImages,100);
});
if ($lang == 'en') {
$grid->column('title_en');
} else {
$grid->column('title');
}
$grid->column('model');
$grid->column('missing_content')->display(function ($missing_content) {
$missing_content = [];
if ($this->cover == '[]') {$missing_content[] = '主图';}
if ($this->en_detail == '[]') {$missing_content[] = '英文详情';}
if ($this->cn_detail == '[]') {$missing_content[] = '中文详情';}
if ($this->video == '[]') {$missing_content[] = '视频';}
if ($this->poster == '[]') {$missing_content[] = '海报';}
if ($this->cert == '[]') {$missing_content[] = '证书';}
if ($this->pdf == '[]') {$missing_content[] = 'PDF';}
return implode(' / ', $missing_content);
});
$grid->column('created_at')->sortable();
$grid->column('updated_at')->sortable();
// 筛选
$grid->filter(function (Grid\Filter $filter) {
$filter->panel();
$filter->expand();
$filter->equal('model')->width(2);
$lang = config('app.locale');//当前语言
$filter->equal('folder_id',admin_trans_label('product_category'))->select(RpcAlbumFolder::selectOptions($lang))->width(3);
});
// 删除新增按钮
$grid->disableCreateButton();
//$grid->disableViewButton();
$grid->disableEditButton();
$grid->disableDeleteButton();
$grid->disableBatchDelete();
// 添加批量复制操作
$grid->batchActions(function ($batch) {
//$batch->add(new BatchCopy()); 只能2选1
});
$grid->tools([
new RpcAlbumImport(),
]);
$grid->model()->where('enabled',1)->orderBy("order",'desc')->orderBy("created_at",'desc');
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new RpcAlbum(), function (Show $show) {
$lang = config('app.locale');//当前语言
if ($lang == 'en') {
$show->field('title_en');
} else {
$show->field('title');
}
$show->field('model');
$show->field('parameters',admin_trans_label('attribute'))->as(function ($items) {
$items = json_decode($items);
if (is_array($items)) {
// 创建表格的表头
$table = '
';
// 遍历数组并将数据填充到表格中
foreach ($items as $item) {
$item = (array)$item;
$table .= '';
$table .= '' . $item['key'] . ' | '; // 商品名称
$table .= '' . $item['value'] . ' | '; // 数量
$table .= '
';
}
$table .= '
';
return $table;
}
return ''; // 当没有数组数据时
})->unescape();
$show->field('cover')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150);
})->unescape();
$show->field('en_detail')->as(function ($images) {
$images = json_decode($images);
$html = '';
foreach ($images as $key => $image) {
$url = CommonHelper::ossUrl($image);
$html .= '

';
}
$html .= '
';
return $html;
})->unescape();
$show->field('cn_detail')->as(function ($images) {
$images = json_decode($images);
$html = '';
foreach ($images as $key => $image) {
$url = CommonHelper::ossUrl($image);
$html .= '

';
}
$html .= '
';
return $html;
})->unescape();
$show->field('video')->as(function ($items) {
$items = json_decode($items);
return CommonHelper::displayVideo($items,'cover','video_src','150');
})->unescape();
$show->field('poster')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150);
})->unescape();
$show->field('cert')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150);
})->unescape();
$show->field('cert')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150);
})->unescape();
$show->field('pdf')->as(function ($items) {
$items = json_decode($items);
if (is_array($items)) {
// 创建表格的表头
$table = '';
// 遍历数组并将数据填充到表格中
foreach ($items as $item) {
$table .= '';
$table .= '' . $item->pdf_title . ' | '; // 商品名称
$table .= '查看 | '; // 数量
$table .= '
';
}
$table .= '
';
return $table;
}
return ''; // 当没有数组数据时
})->unescape();
// 禁用操作
$show->disableEditButton();
$show->disableDeleteButton();
});
}
}