|
@@ -21,6 +21,12 @@
|
|
|
:show-expand-button="false"
|
|
:show-expand-button="false"
|
|
|
:show-reload-button="false"
|
|
:show-reload-button="false"
|
|
|
:show-search-button="false">
|
|
:show-search-button="false">
|
|
|
|
|
+ <template #before-form-builder>
|
|
|
|
|
+ <filters :unitCategories="unitCategories"
|
|
|
|
|
+ :units="units"
|
|
|
|
|
+ @onUnitCategoriesFilterChanged="onUnitCategoriesFilterChanged"
|
|
|
|
|
+ @onUnitsFilterChanged="onUnitsFilterChanged" />
|
|
|
|
|
+ </template>
|
|
|
<template #entity-index-table-cell="{inputData}">
|
|
<template #entity-index-table-cell="{inputData}">
|
|
|
<template v-if="inputData.col.name === 'number'">
|
|
<template v-if="inputData.col.name === 'number'">
|
|
|
{{ inputData.rowNumber }}
|
|
{{ inputData.rowNumber }}
|
|
@@ -49,22 +55,19 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { shallowRef } from 'vue'
|
|
|
|
|
import { EntityIndex } from 'quasar-crud'
|
|
import { EntityIndex } from 'quasar-crud'
|
|
|
import Enums from 'src/assets/Enums/Enums.js'
|
|
import Enums from 'src/assets/Enums/Enums.js'
|
|
|
import { Invoice } from 'src/models/Invoice.js'
|
|
import { Invoice } from 'src/models/Invoice.js'
|
|
|
import ShamsiDate from 'src/assets/ShamsiDate.js'
|
|
import ShamsiDate from 'src/assets/ShamsiDate.js'
|
|
|
import { APIGateway } from 'src/api/APIGateway.js'
|
|
import { APIGateway } from 'src/api/APIGateway.js'
|
|
|
import { FormBuilderAssist } from 'quasar-form-builder'
|
|
import { FormBuilderAssist } from 'quasar-form-builder'
|
|
|
-import BtnControl from 'src/components/Control/btn.vue'
|
|
|
|
|
import { Registration } from 'src/models/Registration.js'
|
|
import { Registration } from 'src/models/Registration.js'
|
|
|
import { mixinAuth, mixinWidget } from 'src/mixin/Mixins.js'
|
|
import { mixinAuth, mixinWidget } from 'src/mixin/Mixins.js'
|
|
|
import UserClassroomCard from 'src/components/Widgets/Classroom/UserClassroomCard/UserClassroomCard.vue'
|
|
import UserClassroomCard from 'src/components/Widgets/Classroom/UserClassroomCard/UserClassroomCard.vue'
|
|
|
import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
|
|
import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
|
|
|
import { TranscriptSheet } from 'src/models/TranscriptSheet'
|
|
import { TranscriptSheet } from 'src/models/TranscriptSheet'
|
|
|
import FormBuilderBarCode from 'src/components/FormBuilderCustumComponents/FormBuilderBarCode.vue'
|
|
import FormBuilderBarCode from 'src/components/FormBuilderCustumComponents/FormBuilderBarCode.vue'
|
|
|
-
|
|
|
|
|
-const BtnControlComp = shallowRef(BtnControl)
|
|
|
|
|
|
|
+import Filters from './filters.vue'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'UserPanel.Profile.AllClassrooms',
|
|
name: 'UserPanel.Profile.AllClassrooms',
|
|
@@ -72,36 +75,19 @@ export default {
|
|
|
FormBuilderBarCode,
|
|
FormBuilderBarCode,
|
|
|
EntityIndex,
|
|
EntityIndex,
|
|
|
Breadcrumbs,
|
|
Breadcrumbs,
|
|
|
- UserClassroomCard
|
|
|
|
|
|
|
+ UserClassroomCard,
|
|
|
|
|
+ Filters
|
|
|
},
|
|
},
|
|
|
mixins: [mixinAuth, mixinWidget],
|
|
mixins: [mixinAuth, mixinWidget],
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
mounted: false,
|
|
mounted: false,
|
|
|
|
|
+ unitCategories: [],
|
|
|
|
|
+ units: [],
|
|
|
national_code: null,
|
|
national_code: null,
|
|
|
inputs: [
|
|
inputs: [
|
|
|
- {
|
|
|
|
|
- type: 'select',
|
|
|
|
|
- name: 'category',
|
|
|
|
|
- options: [],
|
|
|
|
|
- value: null,
|
|
|
|
|
- label: 'گروه آموزشی',
|
|
|
|
|
- placeholder: ' ',
|
|
|
|
|
- col: 'col-md-2 col-12'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- type: 'select',
|
|
|
|
|
- name: 'unit',
|
|
|
|
|
- responseKey: 'unit',
|
|
|
|
|
- options: [],
|
|
|
|
|
- value: null,
|
|
|
|
|
- label: 'درس',
|
|
|
|
|
- placeholder: ' ',
|
|
|
|
|
- col: 'col-md-2 col-12'
|
|
|
|
|
- },
|
|
|
|
|
{ type: 'hidden', name: 'classroom__unit__category__type', value: 'TRAINING' },
|
|
{ type: 'hidden', name: 'classroom__unit__category__type', value: 'TRAINING' },
|
|
|
- { type: 'hidden', name: 'owner', value: null },
|
|
|
|
|
- { type: BtnControlComp, name: 'btn', responseKey: 'btn', label: 'جستجو', placeholder: ' ', atClick: () => {}, col: 'col-md-2 col-12' }
|
|
|
|
|
|
|
+ { type: 'hidden', name: 'owner', value: null }
|
|
|
],
|
|
],
|
|
|
api: APIGateway.registration.APIAdresses.base,
|
|
api: APIGateway.registration.APIAdresses.base,
|
|
|
table: {
|
|
table: {
|
|
@@ -204,7 +190,8 @@ export default {
|
|
|
return 'UserPanel.Profile.ClassroomInfo'
|
|
return 'UserPanel.Profile.ClassroomInfo'
|
|
|
},
|
|
},
|
|
|
selectedCategoryId () {
|
|
selectedCategoryId () {
|
|
|
- return this.getInputValue('category')
|
|
|
|
|
|
|
+ // return this.getInputValue('category')
|
|
|
|
|
+ return 1 // TODO:
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
@@ -221,6 +208,10 @@ export default {
|
|
|
this.mounted = true
|
|
this.mounted = true
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ onUnitCategoriesFilterChanged () {
|
|
|
|
|
+ },
|
|
|
|
|
+ onUnitsFilterChanged () {
|
|
|
|
|
+ },
|
|
|
setClassroomTypeOfInputs () {
|
|
setClassroomTypeOfInputs () {
|
|
|
FormBuilderAssist.setAttributeByName(this.inputs, 'classroom__unit__category__type', 'value', this.localOptions.classroomType)
|
|
FormBuilderAssist.setAttributeByName(this.inputs, 'classroom__unit__category__type', 'value', this.localOptions.classroomType)
|
|
|
|
|
|
|
@@ -303,6 +294,7 @@ export default {
|
|
|
label: item.title
|
|
label: item.title
|
|
|
}
|
|
}
|
|
|
}))
|
|
}))
|
|
|
|
|
+ this.unitCategories = categories.list
|
|
|
})
|
|
})
|
|
|
.catch(() => {})
|
|
.catch(() => {})
|
|
|
},
|
|
},
|
|
@@ -313,6 +305,7 @@ export default {
|
|
|
})
|
|
})
|
|
|
.then(unitList => {
|
|
.then(unitList => {
|
|
|
this.loadSelectOptions('unit', this.getSelectOptions(unitList.list.list, 'id', 'title'))
|
|
this.loadSelectOptions('unit', this.getSelectOptions(unitList.list.list, 'id', 'title'))
|
|
|
|
|
+ this.units = unitList.list
|
|
|
})
|
|
})
|
|
|
.catch(() => {
|
|
.catch(() => {
|
|
|
})
|
|
})
|