|
|
@@ -80,7 +80,36 @@ export default {
|
|
|
classroomType: 'TRAINING'
|
|
|
},
|
|
|
api: APIGateway.answerBook.APIAdresses.base,
|
|
|
- inputs: [
|
|
|
+ inputs: [],
|
|
|
+ eventInputs: [
|
|
|
+ {
|
|
|
+ type: 'select',
|
|
|
+ name: 'registration__status',
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ label: 'ثبت نام',
|
|
|
+ value: 'REGISTERED'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'حذف توسط کاربر',
|
|
|
+ value: 'DROPPED_BY_ITSELF'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'حذف توسط ادمین',
|
|
|
+ value: 'DROPPED_BY_ADMIN'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ label: 'وضعیت ثبت نام',
|
|
|
+ placeholder: ' ',
|
|
|
+ value: null,
|
|
|
+ col: 'col-md-3 col-12'
|
|
|
+ },
|
|
|
+ { type: 'input', name: 'owner__national_code', label: 'کدملی', placeholder: ' ', col: ' col-md-3 col-12' },
|
|
|
+ { type: 'hidden', name: 'test', value: this.$route.params.test_id },
|
|
|
+ { type: 'hidden', name: 'test__classroom', value: this.$route.params.classroom_id },
|
|
|
+ { type: BtnControlComp, name: 'btn', label: 'جستجو', placeholder: ' ', atClick: () => {}, col: 'col-md-2 col-12' }
|
|
|
+ ],
|
|
|
+ classroomInputs: [
|
|
|
{
|
|
|
type: 'select',
|
|
|
name: 'status',
|
|
|
@@ -112,107 +141,145 @@ export default {
|
|
|
{ type: BtnControlComp, name: 'btn', label: 'جستجو', placeholder: ' ', atClick: () => {}, col: 'col-md-2 col-12' }
|
|
|
],
|
|
|
table: {
|
|
|
- columns: [
|
|
|
- {
|
|
|
- name: 'number',
|
|
|
- required: true,
|
|
|
- label: 'شماره',
|
|
|
- align: 'left',
|
|
|
- field: () => ''
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'id',
|
|
|
- required: true,
|
|
|
- label: 'شناسه',
|
|
|
- align: 'left',
|
|
|
- field: row => row.id
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'owner_info.fullname',
|
|
|
- required: true,
|
|
|
- label: 'نام و نام خانوادگی',
|
|
|
- align: 'left',
|
|
|
- field: row => row.owner_info.firstname + ' ' + row.owner_info.lastname
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'owner_info.national_code',
|
|
|
- required: true,
|
|
|
- label: 'کد ملی',
|
|
|
- align: 'left',
|
|
|
- field: row => row.owner_info.national_code
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'attending_start_time',
|
|
|
- required: true,
|
|
|
- label: 'زمان شروع',
|
|
|
- align: 'left',
|
|
|
- field: row => row.attending_start_time ? this.toShamsi(row.attending_start_time) : '-'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'attending_start_time',
|
|
|
- required: true,
|
|
|
- label: 'زمان پایان',
|
|
|
- align: 'left',
|
|
|
- field: row => row.attending_end_time ? this.toShamsi(row.attending_end_time) : '-'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'grader_info',
|
|
|
- required: true,
|
|
|
- label: 'مصحح',
|
|
|
- align: 'left',
|
|
|
- field: row => row.grader_info ? row.grader_info.firstname + ' ' + row.grader_info.lastname : '-'
|
|
|
- },
|
|
|
- // {
|
|
|
- // name: 'last_modification_time',
|
|
|
- // required: true,
|
|
|
- // label: 'زمان آخرین ویرایش تصحیح',
|
|
|
- // align: 'left',
|
|
|
- // field: row => row.last_modification_time ? this.toShamsi(row.last_modification_time) : '-'
|
|
|
- // },
|
|
|
- // {
|
|
|
- // name: 'title',
|
|
|
- // required: true,
|
|
|
- // label: 'عنوان آزمون',
|
|
|
- // align: 'left',
|
|
|
- // field: row => row.test_info.title
|
|
|
- // },
|
|
|
- // {
|
|
|
- // name: 'test_questions_length',
|
|
|
- // required: true,
|
|
|
- // label: 'تعداد سوالات',
|
|
|
- // align: 'left',
|
|
|
- // field: row => row.test_info.test_questions_length
|
|
|
- // },
|
|
|
- {
|
|
|
- name: 'status_info',
|
|
|
- required: true,
|
|
|
- label: 'وضعیت تصحیح',
|
|
|
- align: 'left',
|
|
|
- field: row => (new AnswerBook(row)).status_info.label
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'test_info_status_info',
|
|
|
- required: true,
|
|
|
- label: 'وضعیت آزمون',
|
|
|
- align: 'left',
|
|
|
- field: row => (new Test(row.test_info)).status_info.label
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'total_score',
|
|
|
- required: true,
|
|
|
- label: 'نمره آزمون',
|
|
|
- align: 'left',
|
|
|
- field: row => row.total_score
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'actions',
|
|
|
- required: true,
|
|
|
- label: 'عملیات',
|
|
|
- align: 'left',
|
|
|
- field: ''
|
|
|
- }
|
|
|
- ]
|
|
|
+ columns: []
|
|
|
},
|
|
|
+ eventColumns: [
|
|
|
+ {
|
|
|
+ name: 'number',
|
|
|
+ required: true,
|
|
|
+ label: 'شماره',
|
|
|
+ align: 'left',
|
|
|
+ field: () => ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'id',
|
|
|
+ required: true,
|
|
|
+ label: 'شناسه',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.id
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'owner_info.fullname',
|
|
|
+ required: true,
|
|
|
+ label: 'نام و نام خانوادگی',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.owner_info.firstname + ' ' + row.owner_info.lastname
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'owner_info.national_code',
|
|
|
+ required: true,
|
|
|
+ label: 'کد ملی',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.owner_info.national_code
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'actions',
|
|
|
+ required: true,
|
|
|
+ label: 'عملیات',
|
|
|
+ align: 'left',
|
|
|
+ field: ''
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ classroomColumns: [
|
|
|
+ {
|
|
|
+ name: 'number',
|
|
|
+ required: true,
|
|
|
+ label: 'شماره',
|
|
|
+ align: 'left',
|
|
|
+ field: () => ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'id',
|
|
|
+ required: true,
|
|
|
+ label: 'شناسه',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.id
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'owner_info.fullname',
|
|
|
+ required: true,
|
|
|
+ label: 'نام و نام خانوادگی',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.owner_info.firstname + ' ' + row.owner_info.lastname
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'owner_info.national_code',
|
|
|
+ required: true,
|
|
|
+ label: 'کد ملی',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.owner_info.national_code
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'attending_start_time',
|
|
|
+ required: true,
|
|
|
+ label: 'زمان شروع',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.attending_start_time ? this.toShamsi(row.attending_start_time) : '-'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'attending_start_time',
|
|
|
+ required: true,
|
|
|
+ label: 'زمان پایان',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.attending_end_time ? this.toShamsi(row.attending_end_time) : '-'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'grader_info',
|
|
|
+ required: true,
|
|
|
+ label: 'مصحح',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.grader_info ? row.grader_info.firstname + ' ' + row.grader_info.lastname : '-'
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // name: 'last_modification_time',
|
|
|
+ // required: true,
|
|
|
+ // label: 'زمان آخرین ویرایش تصحیح',
|
|
|
+ // align: 'left',
|
|
|
+ // field: row => row.last_modification_time ? this.toShamsi(row.last_modification_time) : '-'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: 'title',
|
|
|
+ // required: true,
|
|
|
+ // label: 'عنوان آزمون',
|
|
|
+ // align: 'left',
|
|
|
+ // field: row => row.test_info.title
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: 'test_questions_length',
|
|
|
+ // required: true,
|
|
|
+ // label: 'تعداد سوالات',
|
|
|
+ // align: 'left',
|
|
|
+ // field: row => row.test_info.test_questions_length
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ name: 'status_info',
|
|
|
+ required: true,
|
|
|
+ label: 'وضعیت تصحیح',
|
|
|
+ align: 'left',
|
|
|
+ field: row => (new AnswerBook(row)).status_info.label
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'test_info_status_info',
|
|
|
+ required: true,
|
|
|
+ label: 'وضعیت آزمون',
|
|
|
+ align: 'left',
|
|
|
+ field: row => (new Test(row.test_info)).status_info.label
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'total_score',
|
|
|
+ required: true,
|
|
|
+ label: 'نمره آزمون',
|
|
|
+ align: 'left',
|
|
|
+ field: row => row.total_score
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'actions',
|
|
|
+ required: true,
|
|
|
+ label: 'عملیات',
|
|
|
+ align: 'left',
|
|
|
+ field: ''
|
|
|
+ }
|
|
|
+ ],
|
|
|
tableKeys: {
|
|
|
data: 'results',
|
|
|
total: 'count',
|
|
|
@@ -247,7 +314,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
|
- this.setActionBtn()
|
|
|
this.setClassroomTypeOfInputs()
|
|
|
this.mounted = true
|
|
|
},
|
|
|
@@ -298,6 +364,14 @@ export default {
|
|
|
FormBuilderAssist.setAttributeByName(this.inputs, 'btn', 'atClick', this.search)
|
|
|
},
|
|
|
setClassroomTypeOfInputs () {
|
|
|
+ if (this.$route.query.classroom_type === 'EVENT') {
|
|
|
+ this.inputs = this.eventInputs
|
|
|
+ this.table.columns = this.eventColumns
|
|
|
+ } else {
|
|
|
+ this.inputs = this.classroomInputs
|
|
|
+ this.table.columns = this.classroomColumns
|
|
|
+ }
|
|
|
+ this.setActionBtn()
|
|
|
this.table.columns.forEach(col => {
|
|
|
if (col.name === 'title') {
|
|
|
col.label = 'نام ' + this.classroomTypeTitle
|