XW преди 3 месеца
родител
ревизия
1e62f05672

+ 38 - 12
TEAMModelOS.Extension/IES.Exam/IES.ExamViews/src/view/admin/ActivityManage.vue

@@ -11,6 +11,9 @@
                         <i class="el-icon-user-solid"></i>
                     </el-avatar>
                     <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item disabled>
+                            <p style="color: #2076e5; font-weight: bold; font-size: 15px; padding: 5px 0px;">{{ userInfo.name }}</p>
+                        </el-dropdown-item>
                         <el-dropdown-item icon="el-icon-switch-button" @click.native="loginOut()">退出登录</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
@@ -90,6 +93,10 @@
                                 <div class="info-tag">班级:
                                     <span class="group-tag" v-for="(item, index) in evaluationClient.grouplist" :key="index">{{ item.name }}</span>
                                 </div>
+                                <div class="short-code">
+                                    提取码:
+                                    <span style="color: #24b880;">{{ evaluationClient.shortCode }}</span>
+                                </div>
                                 <div class="paper-content">
                                     <div v-for="(item, index) in evaluationClient.subjects" :key="index">
                                         <p class="subject-name">{{ item.subjectName }}</p>
@@ -98,10 +105,6 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="short-code">
-                                    提取码:
-                                    <span style="color: #24b880;">{{ evaluationClient.shortCode }}</span>
-                                </div>
                             </vuescroll>
                         </el-tab-pane>
                         <el-tab-pane label="学生作答" name="student" class="answer-content">
@@ -183,10 +186,10 @@
                                                     <span>{{ subject.subjectName }}</span>
                                                     <el-progress :percentage="subject.paperProgress" :status="subject.finished ? 'success' : null"></el-progress>
                                                 </p>
-                                                <!-- <p>
-                                                    <span>某个科目作答进度</span>
-                                                    <el-progress :percentage="item.answerProgress" :status="item.answerProgress === 100 ? 'success' : null"></el-progress>
-                                                </p> -->
+                                                <p v-if="evaluationClient.music">
+                                                    <span>音乐演唱</span>
+                                                    <el-progress :percentage="item.musicAIResult ? 100 : 0" :status="item.musicAIResult ? 'success' : null"></el-progress>
+                                                </p>
                                             </div>
                                         </div>
                                     </div>
@@ -413,6 +416,11 @@ export default {
             })
         },
         onSelectAct(index) {
+            this.isLoading = Loading.service({
+                lock: true,
+                text: '加载中',
+                background: 'rgba(0, 0, 0, 0.7)'
+            })
             this.needUpdate = {
                 status: 0,
                 msg: []
@@ -455,6 +463,7 @@ export default {
                 }
             }).finally(() => {
                 this.evaluationClient = this.examList[index]
+                this.isLoading.close()
             })
         },
         timeStatus(stime, etime, type) {
@@ -516,11 +525,18 @@ export default {
                     })
                 }
             } else {
+                if(!this.openCode) {
+                    this.$message({
+                        message: '请输入开卷码',
+                        type: 'warning'
+                    });
+                    return
+                }
                 let params = {
                     evaluationId: this.evaluationClient.id,
                     openCode: this.openCode,
                     deviceId: this.deviceId,
-                    shortCode: this.shortCode,
+                    shortCode: this.evaluationClient.shortCode,
                 }
                 this.$api.pushAnswer(params).then(res => {
                     if(res.code === 200) {
@@ -528,6 +544,7 @@ export default {
                             message: '推送成功',
                             type: 'success'
                         });
+                        this.openCode = ''
                     } else {
                         this.$message({
                             message: '推送失败',
@@ -595,7 +612,7 @@ export default {
                         });
                     }
                     this.setAnswerInfo.activate = res.setting.activate
-                    this.studentListShow = res.results.map(item => {
+                    this.studentListShow = !res.results ? [] : res.results.map(item => {
                         // 后续要重新处理状态
                         item.isAnswer = item.finished //0未开始  1正在作答  2已完成 3缺考
                         item.subjectResults = item.subjectResults.map(sub => {
@@ -683,7 +700,7 @@ export default {
                             if(roundGroup.find(group => group.id === item.id)) item.isUesed = true
                         })
                         let activateInfo = res.settings.find(item => item.activate === 1)
-                        if(activateInfo) this.getExamRoundInfo(activateInfo.id)
+                        if(activateInfo) this.getExamRoundInfo(activateInfo.id, true)
                     }
                 }
             })
@@ -698,6 +715,15 @@ export default {
                     background: 'rgba(0, 0, 0, 0.7)'
                 })
             }
+            this.setAnswerInfo = {
+                groupId: [],
+                startTime: '',
+                answerTime: [],
+                countdownType: 0,
+                hour: 0,
+                minute: 0,
+                activate: 0,
+            }
             let params = {
                 evaluationId: this.evaluationClient.id,
                 openCode: this.evaluationClient.openCode,
@@ -717,7 +743,7 @@ export default {
                         this.setAnswerInfo.startTime = new Date(res.setting.startline)
                     }
                     this.setAnswerInfo.answerTime.push(new Date(res.setting.startline), new Date(res.setting.deadline))
-                    this.studentListShow = res.results.map(item => {
+                    this.studentListShow = !res.results ? [] : res.results.map(item => {
                         // 后续要重新处理状态
                         item.isAnswer = item.finished //0未开始  1正在作答  2已完成
                         item.subjectResults = item.subjectResults.map(sub => {

+ 3 - 0
TEAMModelOS.Extension/IES.Exam/IES.ExamViews/src/view/student/ActivityInfo.vue

@@ -11,6 +11,9 @@
                         <i class="el-icon-user-solid"></i>
                     </el-avatar>
                     <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item disabled>
+                            <p style="color: #2076e5; font-weight: bold; font-size: 15px; padding: 5px 0px;">{{ userInfo.name }}</p>
+                        </el-dropdown-item>
                         <el-dropdown-item icon="el-icon-switch-button" @click.native="loginOut()">退出登录</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>