disableCreateButton(); $grid->disableActions(); $grid->disableBatchDelete(); $grid->disableDeleteButton(); $grid->disableEditButton(); // 只保留详情按钮 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); $actions->disableEdit(); $actions->disableQuickEdit(); }); $helper->columnId(); $grid->column('user_id', '用户ID'); $grid->column('item.name', '物品名称'); $grid->column('instance_id', '实例ID'); $grid->column('quantity', '数量'); $grid->column('rule_id', '规则ID'); $grid->column('coin_returned', '返还金币'); $grid->column('dismantle_time', '分解时间')->sortable(); $grid->column('ip_address', 'IP地址'); $grid->column('created_at', '创建时间'); // 筛选 $grid->filter(function ($filter) { $helper = new FilterHelper($filter, $this); $helper->equal('id', 'ID'); $helper->equal('user_id', '用户ID'); $filter->equal('item_id', '物品')->select( (new ItemRepository())->pluck('name', 'id') ); $helper->equal('instance_id', '实例ID'); $filter->equal('rule_id', '规则ID')->select( (new ItemDismantleRuleRepository())->pluck('id', 'id') ); $filter->between('dismantle_time', '分解时间')->datetime(); }); }); } /** * 详情页 * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header($this->title) ->description('详情') ->body($this->detail($id)); } /** * 详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make((new ItemDismantleLogRepository())->findOrFail($id), function (Show $show) { $helper = new ShowHelper($show, $this); // 禁用编辑和删除按钮 $show->panel()->tools(function ($tools) { $tools->disableEdit(); $tools->disableDelete(); }); $helper->field('id', 'ID'); $helper->field('user_id', '用户ID'); $show->field('item.name', '物品名称'); $helper->field('instance_id', '实例ID'); $helper->field('quantity', '数量'); $helper->field('rule_id', '规则ID'); // 显示分解结果 $show->field('results', '分解结果')->as(function ($results) { if (empty($results)) { return '无'; } if (is_string($results)) { $results = json_decode($results, true); } if (is_array($results)) { $html = ''; $html .= ''; $html .= ''; foreach ($results as $result) { $itemInfo = (new ItemRepository())->find($result['item_id']); $itemName = $itemInfo ? $itemInfo->name : '未知物品'; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; } $html .= '
物品ID物品名称数量
' . $result['item_id'] . '' . $itemName . '' . $result['quantity'] . '
'; return $html; } return $results; })->unescape(); $helper->field('coin_returned', '返还金币'); $helper->field('dismantle_time', '分解时间'); $helper->field('ip_address', 'IP地址'); $helper->field('device_info', '设备信息'); $helper->field('created_at', '创建时间'); }); } }