add clear cache to edu programs, fix relationships bugs

This commit is contained in:
F4ilji
2025-04-07 20:37:22 +05:00
parent 41b4642c9b
commit bf21022eda
11 changed files with 143 additions and 23 deletions
+21
View File
@@ -0,0 +1,21 @@
class EducationForm {
static BUDGET_QUANTITY_POSITION = { value: 1, label: 'Бюджетные места', color: 'info', name: 'BUDGET_QUANTITY_POSITION' };
static NON_BUDGET_QUANTITY_POSITION = { value: 2, label: 'С оплатой обучения', color: 'primary', name: 'NON_BUDGET_QUANTITY_POSITION' };
// Метод для получения статуса по имени
static fromName(name) {
return this[name] || null;
}
static fromValue(value) {
return Object.values(this).find(item => item.value == value) || null;
}
// Метод для получения имени
getName() {
return this.name;
}
}
export default EducationForm;
+1 -1
View File
@@ -9,7 +9,7 @@ class EducationForm {
}
static fromValue(value) {
return Object.values(this).find(item => item.value === value) || null;
return Object.values(this).find(item => item.value == value) || null;
}
+2 -2
View File
@@ -102,9 +102,9 @@ export default {
<div class="flex items-center gap-x-2">
<ProgramLevelEduFilter :levels="levelsEducational" :level_filter="filters.level_filter" />
<BasicListFilter>
<BudgetFilter :budget_filter="filters.budget_filter" :types_budget="budgetEdu" />
<BudgetFilter :budget_filter="filters.budget_filter" :budgets="budgetEdu" />
<DirectionFilter :direction_studies="direction_studies" :direction_filter="filters.direction_filter" />
<FormEducationalFilter :formEdu_filter="filters.formEdu_filter" :forms_educational="formsEdu" />
<FormEducationalFilter :formEdu_filter="filters.formEdu_filter" :forms="formsEdu" />
</BasicListFilter>
</div>
</div>
+8 -3
View File
@@ -9,6 +9,7 @@ import MetaTags from "@/componentss/shared/SEO/MetaTags.vue";
import BasicTitle from "@/componentss/ui/titles/BasicTitle.vue";
import ProgramItemBreadcrumbs from "@/componentss/features/educationalPrograms/components/ProgramItemBreadcrumbs.vue";
import ProgramTitle from "@/componentss/features/educationalPrograms/components/ProgramTitle.vue";
import BudgetEducation from "@/Enum/BudgetEducation.js";
export default {
@@ -16,6 +17,9 @@ export default {
computed: {
EducationForm() {
return EducationForm
},
BudgetForm() {
return BudgetEducation
}
},
components: {
@@ -112,9 +116,10 @@ export default {
<template v-for="admissionPlan in program.data.admissionPlans">
<template v-for="contest in admissionPlan.contests">
<div class="border rounded my-2 py-1">
<span class="text-gray-500 text-[14px]">{{ EducationForm.fromValue(parseInt(contest.form_education)).label }}</span>
<p class="mt-1 text-gray-600">{{ contest.position_count }} мест <span class="text-gray-400 text-[12px]">{{ formsEdu[contest.financing_source] }}</span></p>
</div>
<span class="text-gray-500 text-[14px]">{{ EducationForm.fromValue(contest.form_education).label }}</span>
<p v-for="place in contest.places" class="mt-1 text-gray-600"> {{ place.count }} мест <span class="text-gray-400 text-[12px]">{{ BudgetForm.fromValue(place.form_budget).label }}</span></p>
</div>
</template>
</template>
</div>