store-manage/app/Enums/ReimbursementStatus.php

39 lines
1021 B
PHP

<?php
namespace App\Enums;
enum ReimbursementStatus: int
{
case Pending = 1;
case Passed = 2;
case Rejected = 3;
public function label(): string
{
return match ($this) {
self::Pending => '待审核',
self::Passed => '已通过',
self::Rejected => '未通过',
};
}
public static function options(): array
{
return collect(self::cases())
->map(fn (ReimbursementStatus $case) => [
'label' => $case->label(),
'value' => $case->value,
])
->all();
}
public static function labelMap(): array
{
return [
self::Pending->value => '<span class="label label-primary">'.self::Pending->label().'</span>',
self::Passed->value => '<span class="label label-success">'.self::Passed->label().'</span>',
self::Rejected->value => '<span class="label label-danger">'.self::Rejected->label().'</span>',
];
}
}