Files
ntspi-app/resources/js/Enum/BudgetEducation.js
T
2026-03-20 21:47:02 +05:00

110 lines
2.9 KiB
JavaScript
Executable File

class EducationForm {
static MAIN_QUOTA = {
value: 1,
label: 'Основные места',
color: 'primary',
name: 'MAIN_QUOTA'
};
static TARGET_QUOTA = {
value: 2,
label: 'Целевая квота',
color: 'info',
name: 'TARGET_QUOTA'
};
static SPECIAL_QUOTA = {
value: 3,
label: 'Особая квота',
color: 'danger',
name: 'SPECIAL_QUOTA'
};
static PAID_EDUCATION = {
value: 4,
label: 'С оплатой обучения',
color: 'warning',
name: 'PAID_EDUCATION'
};
static OTHER_SOURCES = {
value: 5,
label: 'За счёт иных средств',
color: 'gray',
name: 'OTHER_SOURCES'
};
static SEPARATE_QUOTA = {
value: 6,
label: 'Отдельная квота',
color: 'success',
name: 'SEPARATE_QUOTA'
};
static COMBINED_QUOTA_ALL = {
value: 7,
label: 'Совмещенная квота (целевая, особая и отдельная квоты)',
color: 'indigo',
name: 'COMBINED_QUOTA_ALL'
};
static COMBINED_QUOTA_TARGET_SPECIAL = {
value: 8,
label: 'Совмещенная квота (целевая и особая квоты)',
color: 'violet',
name: 'COMBINED_QUOTA_TARGET_SPECIAL'
};
static COMBINED_QUOTA_TARGET_SEPARATE = {
value: 9,
label: 'Совмещенная квота (целевая и отдельная квоты)',
color: 'fuchsia',
name: 'COMBINED_QUOTA_TARGET_SEPARATE'
};
static COMBINED_QUOTA_SPECIAL_SEPARATE = {
value: 10,
label: 'Совмещенная квота (особая и отдельная квоты)',
color: 'pink',
name: 'COMBINED_QUOTA_SPECIAL_SEPARATE'
};
static DETAILED_TARGET_QUOTA = {
value: 11,
label: 'Детализированная целевая квота',
color: 'amber',
name: 'DETAILED_TARGET_QUOTA'
};
// Метод для получения статуса по имени
static fromName(name) {
return this[name] || null;
}
static fromValue(value) {
return Object.values(this).find(item => item.value == value) || null;
}
// Метод для получения всех значений
static getAll() {
return [
this.MAIN_QUOTA,
this.TARGET_QUOTA,
this.SPECIAL_QUOTA,
this.PAID_EDUCATION,
this.OTHER_SOURCES,
this.SEPARATE_QUOTA,
this.COMBINED_QUOTA_ALL,
this.COMBINED_QUOTA_TARGET_SPECIAL,
this.COMBINED_QUOTA_TARGET_SEPARATE,
this.COMBINED_QUOTA_SPECIAL_SEPARATE,
this.DETAILED_TARGET_QUOTA
];
}
getName() {
return this.name;
}
}
export default EducationForm;