grid->column($field, $label)->display(function ($value) { if ($value instanceof PetGrade) { $value = $value->value; } $colors = [ PetGrade::FIRST->value => 'primary', PetGrade::SECOND->value => 'success', PetGrade::THIRD->value => 'warning', PetGrade::FOURTH->value => 'danger', ]; $labels = [ PetGrade::FIRST->value => '一品', PetGrade::SECOND->value => '二品', PetGrade::THIRD->value => '三品', PetGrade::FOURTH->value => '四品', ]; $color = $colors[$value] ?? 'default'; $label = $labels[$value] ?? '未知'; return "{$label}"; })->label(); } /** * 宠物状态列 * * @param $field * @param $label * @return \Dcat\Admin\Grid\Column */ public function columnPetStatus($field, $label = '状态') { return $this->grid->column($field, $label)->display(function ($value) { if ($value instanceof PetStatus) { $value = $value->value; } $colors = [ PetStatus::NONE->value => 'default', PetStatus::NORMAL->value => 'success', PetStatus::FIGHTING->value => 'warning', PetStatus::DEAD->value => 'danger', ]; $labels = [ PetStatus::NONE->value => '未知', PetStatus::NORMAL->value => '正常', PetStatus::FIGHTING->value => '战斗中', PetStatus::DEAD->value => '死亡', ]; $color = $colors[$value] ?? 'default'; $label = $labels[$value] ?? '未知'; return "{$label}"; })->label(); } }