| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App\Module\Pet\AdminControllers\Helper;
- use App\Module\Pet\Enums\PetGrade;
- use App\Module\Pet\Enums\PetStatus;
- trait GridHelperTrait
- {
- /**
- * 宠物品阶列
- *
- * @param $field
- * @param $label
- * @return \Dcat\Admin\Grid\Column
- */
- public function columnPetGrade($field, $label = '品阶')
- {
- return $this->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 "<span class='label bg-{$color}'>{$label}</span>";
- })->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 "<span class='label bg-{$color}'>{$label}</span>";
- })->label();
- }
- }
|