'待审核', self::APPROVED => '已通过', self::REJECTED => '已拒绝', self::CANCELED => '已取消', }; } /** * 获取对应的颜色值 */ public function color(): string { return match ($this) { self::PENDING => '#FF9800', // 橙色 self::APPROVED => '#4CAF50', // 绿色 self::REJECTED => '#FF5252', // 红色 self::CANCELED => '#9E9E9E', // 灰色 }; } /** * 根据状态值获取标签 */ public static function getLabel(int $value): string { return self::tryFrom($value)?->label() ?? '未知'; } /** * 根据状态值获取颜色 */ public static function getColor(int $value): string { return self::tryFrom($value)?->color() ?? '#9E9E9E'; } /** * 获取所有状态选项(用于下拉框等) */ public static function options(): array { return array_map( fn(self $status) => [ 'value' => $status->value, 'label' => $status->label(), 'color' => $status->color(), ], self::cases() ); } }