ali пре 3 година
родитељ
комит
5f8599e7e1

+ 9 - 9
src/assets/Enums/classroomStatuses.js

@@ -1,13 +1,13 @@
 const classroomStatuses = [
-  { label: 'منتشر نشده', value: 'NOT_PUBLISHED_YET' },
-  { label: 'قبل از مرحله پیش ثبت نام', value: 'BEFORE_ENROLLMENT_PERIOD' },
-  { label: 'مرحله پیش ثبت نام', value: 'IN_ENROLLMENT_PERIOD' },
-  { label: 'قبل از مرحله ثبت نام', value: 'BEFORE_REGISTRATION_PERIOD' },
-  { label: 'مرحله ثبت نام', value: 'IN_REGISTRATION_PERIOD' },
-  { label: 'قبل از مرحله حذف و اضافه', value: 'BEFORE_DROP_ADD_PERIOD' },
-  { label: 'مرحله حذف و اضافه', value: 'IN_DROP_ADD_PERIOD' },
-  { label: 'جاری', value: 'ONGOING' },
-  { label: 'پایان یافته', value: 'FINISHED' }
+  { label: 'منتشر نشده', value: 'NOT_PUBLISHED_YET', showInUserFilters: false },
+  { label: 'قبل از مرحله پیش ثبت نام', value: 'BEFORE_ENROLLMENT_PERIOD', showInUserFilters: false },
+  { label: 'مرحله پیش ثبت نام', value: 'IN_ENROLLMENT_PERIOD', showInUserFilters: true },
+  { label: 'قبل از مرحله ثبت نام', value: 'BEFORE_REGISTRATION_PERIOD', showInUserFilters: false },
+  { label: 'مرحله ثبت نام', value: 'IN_REGISTRATION_PERIOD', showInUserFilters: true },
+  { label: 'قبل از مرحله حذف و اضافه', value: 'BEFORE_DROP_ADD_PERIOD', showInUserFilters: false },
+  { label: 'مرحله حذف و اضافه', value: 'IN_DROP_ADD_PERIOD', showInUserFilters: true },
+  { label: 'جاری', value: 'ONGOING', showInUserFilters: true },
+  { label: 'پایان یافته', value: 'FINISHED', showInUserFilters: true }
 ]
 
 export default classroomStatuses

+ 12 - 12
src/components/Widgets/Classroom/AllClassrooms/AllClassrooms.vue

@@ -114,10 +114,10 @@ export default {
     professors: [],
     professorsLoading: false,
     filter: {
-      category: null,
+      unit__category: null,
       unit: null,
       classroomStatus: null,
-      classroomHoldingTypes: null,
+      holding_type: null,
       professor: null
     },
     filterDialog: false,
@@ -127,17 +127,17 @@ export default {
     classroomStatuses () {
       return (new Classroom()).statusEnums
     },
-    classroomHoldingTypes () {
+    classroomHoldingTypeOptions () {
       return (new Classroom()).holding_typeEnums
     },
     displayTitleFilters () {
       const filters = []
-      if (this.filter.category) {
-        const targetCategory = this.categories.list.find(item => item.id === this.filter.category)
+      if (this.filter.unit__category) {
+        const targetCategory = this.categories.list.find(item => item.id === this.filter.unit__category)
         if (targetCategory) {
           filters.push({
-            filterKey: 'category',
-            value: this.filter.category,
+            filterKey: 'unit__category',
+            value: this.filter.unit__category,
             label: targetCategory.title
           })
         }
@@ -159,11 +159,11 @@ export default {
           label: this.classroomStatuses.find(item => item.value === this.filter.classroomStatus).label
         })
       }
-      if (this.filter.classroomHoldingTypes) {
+      if (this.filter.holding_type) {
         filters.push({
-          filterKey: 'classroomHoldingTypes',
-          value: this.filter.classroomHoldingTypes,
-          label: this.classroomHoldingTypes.find(item => item.value === this.filter.classroomHoldingTypes).label
+          filterKey: 'holding_type',
+          value: this.filter.holding_type,
+          label: this.classroomHoldingTypeOptions.find(item => item.value === this.filter.holding_type).label
         })
       }
       if (this.filter.professor) {
@@ -253,7 +253,7 @@ export default {
     },
     onChangeCategory () {
       this.filter.unit = null
-      this.getUnits(this.filter.category)
+      this.getUnits(this.filter.unit__category)
     },
     openFilterDialog () {
       this.filterDialog = true

+ 9 - 8
src/components/Widgets/Classroom/AllClassrooms/components/Filters.vue

@@ -29,7 +29,7 @@
       <div class="row q-col-gutter-md">
         <div class="col-md-3">
           <div>گروه آموزشی</div>
-          <select-control v-model:value="localFilters.category"
+          <select-control v-model:value="localFilters.unit__category"
                           :options="categories.list"
                           :disable="categories.loading"
                           :loading="categories.loading"
@@ -55,8 +55,8 @@
         </div>
         <div class="col-md-3">
           <div>نوع برگزاری</div>
-          <select-control v-model:value="localFilters.classroomHoldingTypes"
-                          :options="classroomHoldingTypes"
+          <select-control v-model:value="localFilters.holding_type"
+                          :options="classroomHoldingTypeOptions"
                           optionValue="value"
                           optionLabel="label" />
         </div>
@@ -89,6 +89,7 @@ import { UnitList } from 'src/models/Unit.js'
 import { mixinAuth } from 'src/mixin/Mixins.js'
 import { UnitCategoryList } from 'src/models/UnitCategory.js'
 import SelectControl from 'src/components/Control/Select.vue'
+import { Classroom } from 'src/models/Classroom'
 
 export default {
   name: 'Filters',
@@ -99,10 +100,10 @@ export default {
       type: Object,
       default () {
         return {
-          category: null,
+          unit__category: null,
           unit: null,
           classroomStatus: null,
-          classroomHoldingTypes: null,
+          holding_type: null,
           professor: null
         }
       }
@@ -136,10 +137,10 @@ export default {
       }
     },
     classroomStatuses () {
-      return Enums.classroomStatuses
+      return Enums.classroomStatuses.filter(item => item.showInUserFilters)
     },
-    classroomHoldingTypes () {
-      return Enums.classroomHoldingTypes
+    classroomHoldingTypeOptions () {
+      return (new Classroom()).holding_typeEnums
     }
   },
   methods: {