|
@@ -92,7 +92,12 @@
|
|
|
:table-grid-size="$q.screen.lt.sm"
|
|
:table-grid-size="$q.screen.lt.sm"
|
|
|
:show-expand-button="false"
|
|
:show-expand-button="false"
|
|
|
:show-reload-button="false"
|
|
:show-reload-button="false"
|
|
|
- :show-search-button="false">
|
|
|
|
|
|
|
+ :show-search-button="false"
|
|
|
|
|
+ @on-page-changed="onPageChanged">
|
|
|
|
|
+ <template v-if='classroom.holding_type === "OFFLINE"'
|
|
|
|
|
+ #before-form-builder>
|
|
|
|
|
+ مجموع نمره حضور و غیاب کسب شده از ۱۰۰ نمره : {{ totalAttendanceScore }}
|
|
|
|
|
+ </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 }}
|
|
@@ -446,6 +451,7 @@ export default {
|
|
|
// const userId = this.$store.getters['Auth/user'].id
|
|
// const userId = this.$store.getters['Auth/user'].id
|
|
|
return {
|
|
return {
|
|
|
mounted: false,
|
|
mounted: false,
|
|
|
|
|
+ totalAttendanceScore: 0,
|
|
|
teamInfoDialog: false,
|
|
teamInfoDialog: false,
|
|
|
selectedTeam: null,
|
|
selectedTeam: null,
|
|
|
selectedTest: {
|
|
selectedTest: {
|
|
@@ -457,7 +463,8 @@ export default {
|
|
|
tab: 'classroomInfo',
|
|
tab: 'classroomInfo',
|
|
|
inputs: [],
|
|
inputs: [],
|
|
|
sessionsInputs: [
|
|
sessionsInputs: [
|
|
|
- { type: 'hidden', name: 'classroom', value: classroomId }
|
|
|
|
|
|
|
+ { type: 'hidden', name: 'classroom', value: classroomId },
|
|
|
|
|
+ { type: 'hidden', name: 'per_page', value: 100 }
|
|
|
],
|
|
],
|
|
|
api: APIGateway.classroom.get(classroomId),
|
|
api: APIGateway.classroom.get(classroomId),
|
|
|
sessionsApi: APIGateway.session.APIAdresses.attendanceSheets,
|
|
sessionsApi: APIGateway.session.APIAdresses.attendanceSheets,
|
|
@@ -589,13 +596,6 @@ export default {
|
|
|
align: 'left',
|
|
align: 'left',
|
|
|
field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).attendance_status_info.label
|
|
field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).attendance_status_info.label
|
|
|
},
|
|
},
|
|
|
- {
|
|
|
|
|
- name: 'attendance_score',
|
|
|
|
|
- required: true,
|
|
|
|
|
- label: 'نمره حضور و غیاب',
|
|
|
|
|
- align: 'left',
|
|
|
|
|
- field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).attendance_score
|
|
|
|
|
- },
|
|
|
|
|
{
|
|
{
|
|
|
name: 'action',
|
|
name: 'action',
|
|
|
required: true,
|
|
required: true,
|
|
@@ -886,9 +886,83 @@ export default {
|
|
|
this.$store.commit('Test/updateAnswerBook', null)
|
|
this.$store.commit('Test/updateAnswerBook', null)
|
|
|
this.getRegistrationInfo()
|
|
this.getRegistrationInfo()
|
|
|
this.mounted = true
|
|
this.mounted = true
|
|
|
|
|
+ console.log(this.classroom)
|
|
|
|
|
+ if (this.classroom.holding_type === 'OFFLINE') {
|
|
|
|
|
+ this.sessionsTable = {
|
|
|
|
|
+ columns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'number',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'شماره',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: () => ''
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'id',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'شناسه',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => row.id
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'title',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'عنوان',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => row.title
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'title',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'زمان شروع',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => row.beginning_time ? ShamsiDate.getDateTime(row.beginning_time) : '-'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'title',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'زمان پایان',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => row.ending_time ? ShamsiDate.getDateTime(row.ending_time) : '-'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'assignment_status',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'وضعیت تکلیف',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).assignment_status_info.label
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'attendance_status',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'وضعیت حضور و غیاب',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).attendance_status_info.label
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'attendance_score',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'نمره حضور و غیاب',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: row => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(row))).attendance_score
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'action',
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ label: 'جزییات',
|
|
|
|
|
+ align: 'left',
|
|
|
|
|
+ field: ''
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
FormBuilderAssist.setAttributeByName(this.testListInputs, 'owner', 'value', this.user.id)
|
|
FormBuilderAssist.setAttributeByName(this.testListInputs, 'owner', 'value', this.user.id)
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ onPageChanged (responseData) {
|
|
|
|
|
+ this.totalAttendanceScore = responseData.data.results?.map(session => (new SessionAttendanceSheets(this.getCurrentUserAttendanceSheet(session))).attendance_score || 0) // گرفتن مقدار امتیاز حضور
|
|
|
|
|
+ .reduce((sum, value) => sum + value, 0) // محاسبه مجموع
|
|
|
|
|
+ },
|
|
|
showParticipateTypeDialog (testId, answerBookId) {
|
|
showParticipateTypeDialog (testId, answerBookId) {
|
|
|
this.$store.commit('Test/updateAnswerBook', null)
|
|
this.$store.commit('Test/updateAnswerBook', null)
|
|
|
this.selectedTest.testId = testId
|
|
this.selectedTest.testId = testId
|