diff --git a/app/Enums/BaseEnum.php b/app/Enums/BaseEnum.php index 90162c31ef9562ced1e875b94334e81f64014d9c..60297dccf030d3a1185bde52b2ae7ff69f832ed1 100644 --- a/app/Enums/BaseEnum.php +++ b/app/Enums/BaseEnum.php @@ -20,6 +20,8 @@ abstract class BaseEnum protected static $ATTRS = []; /*名称*/ protected static $VALUES = []; + /*颜色*/ + protected static $COLORS = []; public static function toName ($value) { @@ -51,11 +53,6 @@ abstract class BaseEnum return static::$ATTRS; } - public static function toLabel ($value) - { - return isset(static::$ATTRS[ $value ]) ? static::$ATTRS[ $value ] : null; - } - public static function exists ($value) { foreach (static::values () as $item) { @@ -80,4 +77,25 @@ abstract class BaseEnum return $data; } + + /** + * 获取带颜色标签 + * @param $value + * @return string + */ + public static function toHtml ($value) + { + $defaultColor = ColorEnum::INFO; + $label = self::toLabel ($value); + $color = array_key_exists ($value, static::$COLORS) ? static::$COLORS[ $value ] : $defaultColor; + if(!$color) + $color = $defaultColor; + + return '' . $label . ''; + } + + public static function toLabel ($value) + { + return isset(static::$ATTRS[ $value ]) ? static::$ATTRS[ $value ] : null; + } } diff --git a/app/Enums/ColorEnum.php b/app/Enums/ColorEnum.php new file mode 100644 index 0000000000000000000000000000000000000000..5b48685ef18a02671859cfb1e201c1f575934fd7 --- /dev/null +++ b/app/Enums/ColorEnum.php @@ -0,0 +1,25 @@ + +|----------------------------------------------------------------------------------------------------------- +*/ + +namespace App\Enums; + + +class ColorEnum extends BaseEnum +{ + const PRIMARY = '#1E9FFF';//主要 + const SECONDARY = '#009688';//次要 + const SUCCESS = '#5FB878';//成功 + const DANGER = '#FFB800';//危险 + const WARNING = '#FF5722';//警告 + const INFO = '#C2C2C2';//基本 +} diff --git a/app/Enums/MenuStatusEnum.php b/app/Enums/MenuStatusEnum.php index 985d64037f83020822a46e29c7b9eb5e9fe5fe79..4b150fc7906a48a5b5d5bdff3eec4944b93ea8f6 100644 --- a/app/Enums/MenuStatusEnum.php +++ b/app/Enums/MenuStatusEnum.php @@ -22,4 +22,8 @@ class MenuStatusEnum extends BaseEnum self::SHOW => '显示', self::HIDE => '隐藏' ]; + protected static $COLORS = [ + self::SHOW => ColorEnum::SUCCESS, + self::HIDE => ColorEnum::INFO + ]; } diff --git a/app/Enums/MenuTypeEnum.php b/app/Enums/MenuTypeEnum.php index 1f70b50ecc9293afedf9dcfd8db52d7192ee9f8d..ff2a8a23a7369eb76b00a20c21a0a2d6a3e52188 100644 --- a/app/Enums/MenuTypeEnum.php +++ b/app/Enums/MenuTypeEnum.php @@ -22,4 +22,8 @@ class MenuTypeEnum extends BaseEnum self::MENU => '菜单', self::BTN => '按钮' ]; + protected static $COLORS = [ + self::MENU => ColorEnum::PRIMARY, + self::BTN => ColorEnum::SECONDARY + ]; } diff --git a/app/Enums/StatusEnum.php b/app/Enums/StatusEnum.php index b2ac564310589cdf5d405b8d7c9a11bbe5af455e..505b98534ed611170c46affc08d117c3f194776c 100644 --- a/app/Enums/StatusEnum.php +++ b/app/Enums/StatusEnum.php @@ -19,8 +19,12 @@ class StatusEnum extends BaseEnum const NORMAL = 1;//正常 const HIDE = 0;//隐藏 - protected static $ATTRS = [ + protected static $ATTRS = [ self::NORMAL => '正常', self::HIDE => '隐藏', ]; + protected static $COLORS = [ + self::NORMAL => ColorEnum::SUCCESS, + self::HIDE => ColorEnum::INFO + ]; } diff --git a/app/Http/Controllers/Admin/MenuController.php b/app/Http/Controllers/Admin/MenuController.php index 5fce4e92f151fcef63a9715670d1f885bb9e4768..24b89ce1318e4e7656ec05e1273a043bd3f088c4 100644 --- a/app/Http/Controllers/Admin/MenuController.php +++ b/app/Http/Controllers/Admin/MenuController.php @@ -14,6 +14,7 @@ namespace App\Http\Controllers\Admin; use App\Enums\MenuStatusEnum; +use App\Enums\MenuTypeEnum; use App\Http\Controllers\Controller; use App\Libs\QueryWhere; use App\Models\Log; @@ -64,7 +65,8 @@ class MenuController extends Controller //进行了搜索,不进行上下级显示 $list[ $key ]['pid'] = 0; } - $list[$key]['status'] = MenuStatusEnum::toLabel ($item->status); + $list[$key]['status'] = MenuStatusEnum::toHtml ($item->status); + $list[$key]['type'] = MenuTypeEnum::toHtml ($item->type); $list[ $key ]['_view_auth'] = true; $list[ $key ]['_edit_url'] = url ('admin/menu/' . $item->id . '/edit'); } diff --git a/resources/views/admin/menu/index.blade.php b/resources/views/admin/menu/index.blade.php index b05b4b2f36e7d0a4a22e3dadb254e62541844d55..3a839d87f95a1186943daa0f71f27993c47cd5b3 100644 --- a/resources/views/admin/menu/index.blade.php +++ b/resources/views/admin/menu/index.blade.php @@ -132,20 +132,9 @@ {type: 'numbers'}, {field: 'title', minWidth: 200, title: '菜单名称'}, {field: 'auth_name', title: '权限标识'}, - {field: 'route_url', title: '菜单url'}, + {field: 'href', title: '路由地址'}, {field: 'sort', width: 80, align: 'center', title: '排序号'}, - { - field: 'isMenu', width: 80, align: 'center', templet: function (d) { - if (d.type == 2) { - return '按钮'; - } - if (d.pid == 0) { - return '目录'; - } else { - return '菜单'; - } - }, title: '类型' - }, + {field: 'type', width: 80, align: 'center', title: '类型'}, {field: 'status', width: 80, align: 'center', title: '状态'}, {templet: '#operateTableBar', width: 120, align: 'center', title: '操作'} ]],