// 用于构造枚举字段的管理者对象
|
// 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: '漏巡' }
|
]);
|