为合成配方管理页面和分解规则管理页面增加行复制功能,方便管理员快速复制现有配置创建新的配方或规则。
app/Module/GameItems/AdminControllers/Actions/DuplicateItemRecipeAction.phpapp/Module/GameItems/AdminControllers/Actions/DuplicateItemDismantleRuleAction.phpDuplicateItemRecipeAction 的引用在 grid() 方法中添加行操作:
// 行操作
$grid->actions(function (Grid\Displayers\Actions $actions) {
// 添加复制按钮
$actions->append(new DuplicateItemRecipeAction());
});
DuplicateItemDismantleRuleAction 的引用在 grid() 方法中添加行操作:
// 行操作
$grid->actions(function (Grid\Displayers\Actions $actions) {
// 添加复制按钮
$actions->append(new DuplicateItemDismantleRuleAction());
});
replicate() 方法复制模型实例金矿石冶炼 (复制)_copy_1749294269(唯一)物品分解规则-39 (复制)_copy_1749294305(唯一)// 复制配方
$newRecipe = $originalRecipe->replicate();
$newRecipe->name = $originalRecipe->name . ' (复制)';
$newRecipe->code = $originalRecipe->code . '_copy_' . time();
$newRecipe->is_active = false;
$newRecipe->save();
原编码_copy_时间戳完全参考宝箱配置的复制功能实现,确保:
为合成配方和分解规则管理页面增加行复制功能
- 创建DuplicateItemRecipeAction复制合成配方
- 创建DuplicateItemDismantleRuleAction复制分解规则
- 复制功能包含确认对话框和自动跳转到编辑页面
- 复制的记录自动添加(复制)后缀和唯一编码
- 复制的记录默认为未激活状态,避免意外生效
✅ 已完成