1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import Vue from "vue";
import { UseState, USE_STATE } from "./business/use-state.enum";
import { SEX, Sex } from "@/constants/enum/business/sex.enum";
/**
* @description: 枚举服务
* @author ChenRui
* @date 2020/7/29 18:49
*/
class EnumService {
private static readonly ENUMS = {
[USE_STATE]: UseState,
[SEX]: Sex,
};
init(): void {
// Vue.prototype.$permissions = PermissionsEnum;
}
get(enumName: string): any {
return (EnumService.ENUMS as unknown as any)[enumName];
}
getValues(enumName: string): any {
const switchEnum = this.get(enumName);
if (switchEnum != null) {
return Object.keys(switchEnum).map((key: string) => {
return switchEnum[key];
});
}
return null;
}
getNameByCode(enumName: string, code: string): any {
const switchEnumArr = this.getValues(enumName);
if (switchEnumArr != null) {
return switchEnumArr.find(function (item: any) {
return item.code === code;
});
}
return null;
}
}
const enumService = new EnumService();
export default enumService;