Your Name 8 months ago
parent
commit
f4c0a03336

+ 1 - 1
UCore/DcatAdmin/Traits/UserID.php

@@ -13,7 +13,7 @@ trait UserID
     public function selectTableUserID($field = 'user_id',$label = '用户ID')
     {
 
-        $this->selectTable($field,$label)
+        $this->form->selectTable($field,$label)
             ->dialogWidth("80%")
             ->from(UserTable::make())
             ->model(User::class, 'id', 'username')->required(); // 设置编辑数据显示

+ 5 - 3
app/Module/Pet/AdminControllers/PetLevelConfigController.php

@@ -42,7 +42,7 @@ class PetLevelConfigController extends AdminController
             $grid->column('pet_id', '宠物ID')->sortable();
             $grid->column('level', '等级')->sortable();
             $grid->column('exp_required', '升级所需经验值')->sortable();
-            $helper->selectTableUserID('skills', '技能ID列表')->label();
+            $grid->column('skills_list', '技能')->label();
             $grid->column('created_at', '创建时间');
             $grid->column('updated_at', '更新时间');
 
@@ -59,6 +59,9 @@ class PetLevelConfigController extends AdminController
                 $filter->between('stamina_max', '最大体力值');
             });
 
+            $grid->actions(function (Grid\Displayers\Actions $actions) {
+                $actions->disableDelete();
+            });
             return $grid;
         });
     }
@@ -77,6 +80,7 @@ class PetLevelConfigController extends AdminController
             $show->field('pet_id', '宠物ID');
             $show->field('level', '等级');
             $show->field('exp_required', '升级所需经验值');
+            $show->field('skills_list', '可用技能')->unescape();
             $show->field('display_attributes', '等级显示属性配置')->json();
             $show->field('numeric_attributes', '等级数值属性配置')->json();
             $show->field('created_at', '创建时间');
@@ -126,8 +130,6 @@ class PetLevelConfigController extends AdminController
 
             // 保存前回调
             $form->saving(function (Form $form) {
-              
-
                 // 验证pet_id和level组合的唯一性
                 if ($form->pet_id && $form->level) {
                     $exists = PetLevelConfig::where('pet_id', $form->pet_id)

+ 21 - 0
app/Module/Pet/Models/PetLevelConfig.php

@@ -86,6 +86,27 @@ class PetLevelConfig extends ModelCore
         return PetSkill::whereIn('id', $this->skills)->get();
     }
 
+    /**
+     * 获取技能列表的访问器
+     *
+     * @return string
+     */
+    public function getSkillsListAttribute()
+    {
+        $skills = $this->getAvailableSkills();
+
+        if ($skills->isEmpty()) {
+            return '无可用技能';
+        }
+
+        $skillNames = [];
+        foreach ($skills as $skill) {
+            $skillNames[] = "{$skill->skill_name} (ID: {$skill->id})";
+        }
+
+        return implode('<br>', $skillNames);
+    }
+
     /**
      * 检查指定技能是否在该等级可用
      *