liulin
2024-11-24 af410d1cde67d4656c9922ff4d846cac0740e3b2
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// 用于构造枚举字段的管理者对象
// name是http传输时枚举值的字段名,根据需要可以不要
function getEnumManager (name, enums) {
    const labels = enums.map((item) => item.label);
    const values = enums.map((item) => item.value);
    return {
        name,
        labels,
        values,
        enums,
        getValueByLabel (label) {
            return values[labels.indexOf(label)];
        },
        getLabelByValue (value) {
            return labels[values.indexOf(value)];
        },
        getItemByValueOrLabel (valueOrLabel) {
            let index = values.indexOf(valueOrLabel);
            if (index < 0) {
                index = labels.indexOf((valueOrLabel + ''));
            }
            return enums[index];
        },
        getColorByValueOrLabel (valueOrLabel) {
            let index = values.indexOf(valueOrLabel);
            if (index < 0) {
                index = labels.indexOf((valueOrLabel + ''));
            }
            return enums[index].color;
        }
    }
}
 
// 通用状态
export const EState = getEnumManager('EState', [
{ value: 1, label: '打开' },
{ value: 2, label: '关闭' }
]);
 
// 订单状态
export const EOrderStatus = getEnumManager('EOrderStatus', [
 { value: 0, label: '已完成', color: 'green',
 operation: ['checkDetail', 'download'] },
 { value: 1, label: '待支付', color: 'orange',
 operation: ['pay', 'cancel'] },
 { value: 2, label: '已取消', color: 'gray',
 operation: ['checkDetail'] }
]);
 
// 员工状态
export const EEmployeeState = getEnumManager('EEmployeeState', [
 { value: 100, label: '正常' },
 { value: 200, label: '离职' },
 { value: 300, label: '辞退' }
]);
 
// 来访申请状态
export const EVisitingApplyState = getEnumManager('EVisitingApplyState', [
 { value: 100, label: '待审核' },
 { value: 200, label: '审核通过' },
 { value: 300, label: '审核拒绝' }
]);
 
// 审核结果
export const EAuditResult = getEnumManager('EAuditResult', [
 { value: 1, label: '通过' },
 { value: 2, label: '拒绝' }
]);
 
// 考勤班别状态
export const EAttendanceState = getEnumManager('EAttendanceState', [
 { value: 1, label: '正常' },
 { value: 2, label: '迟到' },
 { value: 3, label: '早退' },
 { value: 4, label: '缺勤' },
 { value: 5, label: '休假' }
]);
 
// 巡更计划周期
export const EPatrolPlanCycle = getEnumManager('EPatrolPlanCycle', [
 { value: 0, label: '每天' },
 { value: 1, label: '每周' },
 { value: 2, label: '每月' }
]);
 
// 请假类型
export const ELeaveType = getEnumManager('ELeaveType', [
 { value: 1, label: '事假' },
 { value: 2, label: '调休' },
 { value: 3, label: '病假' },
 { value: 4, label: '年假' },
 { value: 5, label: '婚假' },
 { value: 6, label: '产假' },
 { value: 7, label: '陪产假' },
 { value: 8, label: '丧假' }
]);
 
// 审批状态
export const EApprovalState = getEnumManager('EApprovalState', [
 { value: 10, label: '待审核' },
 { value: 20, label: '审核通过' },
 { value: 30, label: '审核拒绝' }
]);
 
// 巡更状态
export const EPatrolStatus = getEnumManager('EPatrolStatus', [
 { value: 0, label: '结束' },
 { value: 1, label: '开始' },
 { value: 2, label: '未开始' }
]);
 
// 巡更结果
export const EPatrolResult = getEnumManager('EPatrolResult', [
 { value: 100, label: '待完成' },
 { value: 120, label: '部分完成' },
 { value: 200, label: '已完成' },
 { value: 300, label: '漏巡' }
]);
 
// Hik巡更结果
export const EHikPatrolResult = getEnumManager('EHikPatrolResult', [
 { value: 0, label: '准时' },
 { value: 1, label: '早巡' },
 { value: 2, label: '晚巡' },
 { value: 3, label: '补漏巡' },
 { value: 4, label: '漏巡' }
]);