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 .= ''; // 商品名称 $table .= ''; // 数量 $table .= ''; } $table .= '
' . $item['key'] . '' . $item['value'] . '
'; 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 .= ''; // 商品名称 $table .= ''; // 数量 $table .= ''; } $table .= '
' . $item->pdf_title . '查看
'; return $table; } return ''; // 当没有数组数据时 })->unescape(); // 禁用操作 $show->disableEditButton(); $show->disableDeleteButton(); }); } }