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