| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace App\Module\Pet\AdminControllers\Helper;
- use App\Module\Pet\Enums\PetStatus;
- trait GridHelperTrait
- {
- /**
- * 宠物状态列
- *
- * @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::DEAD->value => 'danger',
- PetStatus::FEEDING->value => 'info',
- PetStatus::TRAINING->value => 'warning',
- PetStatus::RESTING->value => 'secondary',
- PetStatus::TRAVELING->value => 'primary',
- ];
- $labels = [
- PetStatus::NONE->value => '未知',
- PetStatus::NORMAL->value => '正常',
- PetStatus::DEAD->value => '死亡',
- PetStatus::FEEDING->value => '喂养中',
- PetStatus::TRAINING->value => '训练中',
- PetStatus::RESTING->value => '休息中',
- PetStatus::TRAVELING->value => '外出中',
- ];
- $color = $colors[$value] ?? 'default';
- $label = $labels[$value] ?? '未知';
- return "<span class='label bg-{$color}'>{$label}</span>";
- })->label();
- }
- }
|