|
|
@@ -0,0 +1,123 @@
|
|
|
+# 土地升级配置管理列表显示消耗组和条件组详情
|
|
|
+
|
|
|
+**任务时间**: 2025年06月20日 14:44
|
|
|
+**任务状态**: ✅ 已完成
|
|
|
+**提交哈希**: af0e13bd
|
|
|
+
|
|
|
+## 任务描述
|
|
|
+
|
|
|
+为土地升级配置管理后台页面增加消耗组和条件组的详细内容显示,替代原有的简单名称显示,提升管理界面的信息完整性和实用性。
|
|
|
+
|
|
|
+## 实现内容
|
|
|
+
|
|
|
+### 1. 新增GridHelper方法
|
|
|
+
|
|
|
+**文件**: `app/Module/Farm/AdminControllers/Helper/GridHelperTrait.php`
|
|
|
+
|
|
|
+#### columnConsumeGroupDetails方法
|
|
|
+- 显示消耗组名称和编码
|
|
|
+- 展示详细的消耗项表格,包含:
|
|
|
+ - 消耗类型(物品、账户种类等)
|
|
|
+ - 目标名称(具体物品名或账户名)
|
|
|
+ - 消耗数量
|
|
|
+- 支持空值处理,显示"使用 materials 字段"提示
|
|
|
+- 使用响应式表格布局,设置300px宽度
|
|
|
+
|
|
|
+#### columnConditionGroupDetails方法
|
|
|
+- 显示条件组名称和编码
|
|
|
+- 展示详细的条件项表格,包含:
|
|
|
+ - 条件类型(土地等级、房屋等级等)
|
|
|
+ - 目标名称(具体土地类型名等)
|
|
|
+ - 操作符(大于等于、等于等)
|
|
|
+ - 要求值
|
|
|
+- 支持空值处理,显示"使用 conditions 字段"提示
|
|
|
+- 使用响应式表格布局,设置300px宽度
|
|
|
+
|
|
|
+#### getOperatorName辅助方法
|
|
|
+- 将数字操作符转换为中文名称
|
|
|
+- 支持等于、不等于、小于、大于等于、小于等于、大于等操作符
|
|
|
+
|
|
|
+### 2. 更新控制器
|
|
|
+
|
|
|
+**文件**: `app/Module/Farm/AdminControllers/FarmLandUpgradeConfigController.php`
|
|
|
+
|
|
|
+- 替换原有的简单消耗组和条件组显示
|
|
|
+- 使用新的详情列方法:
|
|
|
+ - `$helper->columnConsumeGroupDetails()`
|
|
|
+ - `$helper->columnConditionGroupDetails()`
|
|
|
+
|
|
|
+### 3. 显示效果
|
|
|
+
|
|
|
+#### 消耗组详情显示
|
|
|
+```
|
|
|
+土地升级1-2 (land_update_2)
|
|
|
+┌─────────┬──────┬──────┐
|
|
|
+│消耗类型 │ 目标 │ 数量 │
|
|
|
+├─────────┼──────┼──────┤
|
|
|
+│ 物品 │ 萝卜 │ 300 │
|
|
|
+│账户种类 │ 钻石 │ 300 │
|
|
|
+│ 物品 │ 辣椒 │ 300 │
|
|
|
+└─────────┴──────┴──────┘
|
|
|
+```
|
|
|
+
|
|
|
+#### 条件组详情显示
|
|
|
+```
|
|
|
+默认条件 (c1)
|
|
|
+┌─────────┬─────────┬─────────┬──────┐
|
|
|
+│条件类型 │ 目标 │ 操作符 │要求值│
|
|
|
+├─────────┼─────────┼─────────┼──────┤
|
|
|
+│土地等级 │ 普通土地│ 大于等于│ 1 │
|
|
|
+└─────────┴─────────┴─────────┴──────┘
|
|
|
+```
|
|
|
+
|
|
|
+## 技术要点
|
|
|
+
|
|
|
+### 1. 数据关联加载
|
|
|
+- 使用`with('consumeItems')`和`with('conditionItems')`预加载关联数据
|
|
|
+- 避免N+1查询问题,提升性能
|
|
|
+
|
|
|
+### 2. 类型转换和名称获取
|
|
|
+- 使用`CONSUME_TYPE::getName()`获取消耗类型中文名
|
|
|
+- 使用`CONDITION_TYPE::getName()`获取条件类型中文名
|
|
|
+- 调用模型的`getTargetName()`方法获取目标名称
|
|
|
+- 使用`ConditionTypeDescriptor::getTargetNameFromModel()`获取条件目标名称
|
|
|
+
|
|
|
+### 3. 界面优化
|
|
|
+- 使用Bootstrap表格样式和响应式布局
|
|
|
+- 添加颜色标识:消耗类型用info徽章,条件类型用primary徽章
|
|
|
+- 数量和要求值使用加粗绿色显示,突出重要信息
|
|
|
+- 操作符使用secondary徽章显示
|
|
|
+
|
|
|
+### 4. 错误处理
|
|
|
+- 对不存在的消耗组/条件组显示错误提示
|
|
|
+- 对空的消耗项/条件项显示友好提示
|
|
|
+- 保持向后兼容,支持旧版本的字段显示
|
|
|
+
|
|
|
+## 数据示例
|
|
|
+
|
|
|
+### 消耗组数据
|
|
|
+- **土地升级1-2**: 萝卜300个 + 钻石300 + 辣椒300个
|
|
|
+- **土地升级2-3**: 苹果1000个 + 钻石1000 + 西瓜1000个
|
|
|
+- **土地升级3-4**: 西瓜8000个 + 钻石2000 + 南瓜800个
|
|
|
+
|
|
|
+### 条件组数据
|
|
|
+- **默认条件**: 土地等级 >= 1(普通土地)
|
|
|
+
|
|
|
+## 效果验证
|
|
|
+
|
|
|
+通过浏览器访问 `http://kku_laravel.local.gd/admin/farm-land-upgrade-configs` 验证:
|
|
|
+
|
|
|
+1. ✅ 消耗组详情正确显示组名、编码和详细消耗项
|
|
|
+2. ✅ 条件组详情正确显示组名、编码和详细条件项
|
|
|
+3. ✅ 表格布局美观,信息层次清晰
|
|
|
+4. ✅ 数据类型转换正确,中文显示友好
|
|
|
+5. ✅ 响应式布局适配不同屏幕尺寸
|
|
|
+
|
|
|
+## 总结
|
|
|
+
|
|
|
+本次更新大幅提升了土地升级配置管理界面的信息展示能力,管理员现在可以直观地看到:
|
|
|
+- 每个升级配置需要消耗的具体物品和数量
|
|
|
+- 每个升级配置需要满足的具体条件
|
|
|
+- 完整的配置信息,无需点击详情页面即可了解全貌
|
|
|
+
|
|
|
+这为游戏平衡性调整和配置管理提供了更好的数据支持。
|