column('id', 'ID')->sortable(); $grid->column('item_id', '商品ID')->link(function ($value) { return admin_url("game-items/{$value}"); }); $grid->column('item.name', '商品名称'); $grid->column('admin_user_id', '操作管理员'); $grid->column('adjustment_type', '调整类型')->display(function ($value) { return $value->getDescription(); })->label([ 'MIN_PRICE' => 'primary', 'MAX_PRICE' => 'success', 'PROTECTION_THRESHOLD' => 'warning', 'STATUS' => 'info', 'BATCH' => 'danger', ]); // 价格变化摘要 $grid->column('price_change_summary', '价格变化')->display(function () { return $this->price_change_summary; }); $grid->column('adjustment_reason', '调整原因')->limit(50); $helper->columnCreatedAt(); // 筛选器 $grid->filter(function (Grid\Filter $filter) { $filter->equal('id', 'ID'); $filter->equal('item_id', '商品ID'); $filter->equal('admin_user_id', '操作管理员'); $filter->equal('adjustment_type', '调整类型')->select(PriceAdjustmentType::getOptions()); $filter->like('adjustment_reason', '调整原因'); $filter->between('created_at', '调整时间')->datetime(); }); // 默认排序 $grid->model()->orderBy('created_at', 'desc'); // 禁用新增、编辑、删除操作 $grid->disableCreateButton(); $grid->disableActions(); $grid->disableBatchActions(); }); } /** * 详情页面 */ protected function detail($id) { return Show::make($id, new MexPriceAdjustmentRepository(['priceConfig', 'item']), function (Show $show) { $show->field('id', 'ID'); $show->field('price_config_id', '价格配置ID'); $show->field('item_id', '商品ID'); $show->field('item.name', '商品名称'); $show->field('admin_user_id', '操作管理员'); $show->field('adjustment_type', '调整类型')->as(function ($value) { if (is_string($value)) { return PriceAdjustmentType::from($value)->getDescription(); } return $value->getDescription(); }); $show->divider('价格调整详情'); $show->field('old_min_price', '调整前最低价')->as(function ($value) { return $value ? number_format($value, 5) : '-'; }); $show->field('new_min_price', '调整后最低价')->as(function ($value) { return $value ? number_format($value, 5) : '-'; }); $show->field('old_max_price', '调整前最高价')->as(function ($value) { return $value ? number_format($value, 5) : '-'; }); $show->field('new_max_price', '调整后最高价')->as(function ($value) { return $value ? number_format($value, 5) : '-'; }); $show->field('old_protection_threshold', '调整前保护阈值'); $show->field('new_protection_threshold', '调整后保护阈值'); $show->field('old_is_enabled', '调整前启用状态')->using([0 => '禁用', 1 => '启用']); $show->field('new_is_enabled', '调整后启用状态')->using([0 => '禁用', 1 => '启用']); $show->divider('调整说明'); $show->field('adjustment_reason', '调整原因'); $show->field('market_impact_note', '市场影响说明'); $show->field('created_at', '调整时间'); // 禁用编辑和删除按钮 $show->disableEditButton(); $show->disableDeleteButton(); }); } }