Browse Source

fixed #344

ali 2 years ago
parent
commit
be21b01d49

+ 176 - 102
src/components/Widgets/Classroom/AdminClassroomAnswerBookList/AdminClassroomAnswerBookList.vue

@@ -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