|
|
@@ -0,0 +1,91 @@
|
|
|
+# 优化后台物品分解规则和合成配方管理列表显示
|
|
|
+
|
|
|
+## 任务时间
|
|
|
+- 开始时间:2025年06月07日 18:45
|
|
|
+- 完成时间:2025年06月07日 18:45
|
|
|
+
|
|
|
+## 任务描述
|
|
|
+优化后台物品分解规则管理和合成配方管理的列表显示,使消耗组、奖励组、条件组不仅显示名字,还要显示内容,并且可点击跳转,参考宝箱配置列表的实现方式。
|
|
|
+
|
|
|
+## 实现内容
|
|
|
+
|
|
|
+### 1. 模型优化
|
|
|
+为 `ItemDismantleRule` 和 `ItemRecipe` 模型添加格式化方法:
|
|
|
+
|
|
|
+#### ItemDismantleRule.php
|
|
|
+- 添加 `formatConsumeDetails()` 方法:格式化消耗组详情用于显示
|
|
|
+- 添加 `formatRewardDetails()` 方法:格式化奖励组详情用于显示
|
|
|
+- 添加 `formatConditionDetails()` 方法:格式化条件组详情用于显示
|
|
|
+
|
|
|
+#### ItemRecipe.php
|
|
|
+- 添加 `formatConsumeDetails()` 方法:格式化消耗组详情用于显示
|
|
|
+- 添加 `formatRewardDetails()` 方法:格式化奖励组详情用于显示
|
|
|
+- 添加 `formatConditionDetails()` 方法:格式化条件组详情用于显示
|
|
|
+
|
|
|
+### 2. 控制器优化
|
|
|
+
|
|
|
+#### DismantleRuleController.php
|
|
|
+- 在 `grid()` 方法中添加关联查询预加载:`with(['item', 'category', 'consumeGroup.consumeItems', 'rewardGroup.rewardItems', 'conditionGroup.conditionItems'])`
|
|
|
+- 优化消耗组、奖励组、条件组列显示:
|
|
|
+ - 显示组名称,可点击跳转到对应管理页面
|
|
|
+ - 添加详情列显示具体的消耗、奖励和条件内容
|
|
|
+ - 设置合适的列宽度(200px)
|
|
|
+
|
|
|
+#### RecipeController.php
|
|
|
+- 在 `grid()` 方法中添加关联查询预加载:`with(['consumeGroup.consumeItems', 'rewardGroup.rewardItems', 'conditionGroup.conditionItems'])`
|
|
|
+- 优化消耗组、奖励组、条件组列显示:
|
|
|
+ - 显示组名称,可点击跳转到对应管理页面
|
|
|
+ - 添加详情列显示具体的消耗、奖励和条件内容
|
|
|
+ - 设置合适的列宽度(200px)
|
|
|
+
|
|
|
+### 3. 显示效果
|
|
|
+
|
|
|
+#### 物品分解规则管理列表
|
|
|
+- **消耗组列**:显示组名称,可点击跳转到消耗组管理页面
|
|
|
+- **奖励组列**:显示组名称,可点击跳转到奖励组管理页面
|
|
|
+- **条件组列**:显示组名称,可点击跳转到条件组管理页面
|
|
|
+- **详情列**:显示具体的消耗、奖励和条件内容,格式清晰易读
|
|
|
+
|
|
|
+#### 合成配方管理列表
|
|
|
+- **消耗组列**:显示组名称,可点击跳转到消耗组管理页面
|
|
|
+- **奖励组列**:显示组名称,可点击跳转到奖励组管理页面
|
|
|
+- **条件组列**:显示组名称,可点击跳转到条件组管理页面
|
|
|
+- **详情列**:显示具体的消耗、奖励和条件内容,包括:
|
|
|
+ - 物品消耗:`物品 铜矿石 × 2`
|
|
|
+ - 币种消耗:`币种(CURRENCY) 金币 × 5`
|
|
|
+ - 物品奖励:`物品 铜锭 × 1 (权重: 1.00, 必中)`
|
|
|
+
|
|
|
+### 4. 参考实现
|
|
|
+完全参考宝箱配置列表的实现方式,确保:
|
|
|
+- 显示风格一致
|
|
|
+- 点击功能正常
|
|
|
+- 详情内容格式统一
|
|
|
+- 用户体验良好
|
|
|
+
|
|
|
+## 技术要点
|
|
|
+1. **关联查询优化**:使用 `with()` 预加载关联数据,避免N+1查询问题
|
|
|
+2. **格式化方法**:在模型中添加专门的格式化方法,保持代码整洁
|
|
|
+3. **链接跳转**:使用 `link()` 方法实现可点击的组名称跳转
|
|
|
+4. **详情显示**:调用模型的格式化方法显示详细内容
|
|
|
+5. **列宽控制**:设置合适的列宽度确保显示效果
|
|
|
+
|
|
|
+## 测试验证
|
|
|
+- ✅ 物品分解规则管理列表显示正常
|
|
|
+- ✅ 合成配方管理列表显示正常
|
|
|
+- ✅ 消耗组、奖励组、条件组名称可点击跳转
|
|
|
+- ✅ 详情列显示具体内容格式正确
|
|
|
+- ✅ 参考宝箱配置列表实现风格一致
|
|
|
+
|
|
|
+## 提交信息
|
|
|
+```
|
|
|
+优化后台物品分解规则和合成配方管理列表显示
|
|
|
+
|
|
|
+- 为ItemDismantleRule和ItemRecipe模型添加格式化方法
|
|
|
+- 优化DismantleRuleController和RecipeController的grid显示
|
|
|
+- 添加消耗组、奖励组、条件组的名称显示和点击跳转功能
|
|
|
+- 添加消耗组、奖励组、条件组的详情内容显示
|
|
|
+- 参考宝箱配置列表的实现方式,提升用户体验
|
|
|
+```
|
|
|
+
|
|
|
+## 任务状态
|
|
|
+✅ 已完成
|