From 5e4bed2d67b26eeb7eab4d176bfabe3f527836e4 Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期五, 19 七月 2024 13:48:29 +0800
Subject: [PATCH] 修复答题刷新与CAQ分片2从第2题开始bug

---
 src/views/exam/paper/job.vue |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/views/exam/paper/job.vue b/src/views/exam/paper/job.vue
index ca5bae7..2f13c62 100644
--- a/src/views/exam/paper/job.vue
+++ b/src/views/exam/paper/job.vue
@@ -23,13 +23,13 @@
             <el-card class="exampaper-item-box" v-if="titleItem.questionItems.length!==0">
               <el-form-item :key="questionItem.itemOrder" class="exam-question-item" label-width="0%"
                             v-for="questionItem in titleItem.questionItems" :id="'question-'+ questionItem.itemOrder">
-                <QuestionJobEdit @callNextSubject="callNext" :qType="questionItem.questionType" :question="questionItem"
+                <QuestionJobEdit @callSelected="callSelected" @callNextSubject="callNext" :qType="questionItem.questionType" :question="questionItem"
                               :answer="answer.answerItems[questionItem.itemOrder-1]"  :isReadOnly="autoNext"/>
               </el-form-item>
             </el-card>
           </el-row>
           <el-row class="do-align-center" v-if="order < form.titleItems.length - 1">
-            <el-button @click="preSubject" type="warning" v-if ="preDisable" round>{{$t('lastQuestion')}}</el-button>
+            <el-button @click="preSubject" type="warning" v-if ="preDisable" :disabled="preDisable2" round>{{$t('lastQuestion')}}</el-button>
             <el-button @click="nextSubject" type="primary" v-if ="nextDisable" round>{{$t('nextQuestion')}}</el-button>
           </el-row>
           <el-row class="do-align-center" v-else>
@@ -92,18 +92,20 @@
       submitDisable: false,
       doTime: 0,
       preDisable: false,
+      preDisable2: false,
       nextDisable: false,
       autoNext: true,
       isCallTain: false, // 鏄惁瑕佽皟鐢ㄦ嘲鍥藉洟闃熸帴鍙�
       isLangKaiStyle: false,
-      totalTitleNum: 0
+      totalTitleNum: 0,
+      selectedCount: 0
     }
   },
   created () {
     let _this = this
     // 澶氳瑷�
     _this.setLangFlag(false)
-    _this.form = this.$route.query.formDo
+    _this.form = undefined
     if (_this.form !== {} && _this.form !== undefined) {
       _this.formLoading = true
       _this.remainTime = _this.form.suggestTime * 60
@@ -228,6 +230,7 @@
     },
     nextSubject: function () {
       let _this = this
+      _this.preDisable2 = false
       // 璁剧疆涓婁竴棰樼粨鏉熸椂闂�
       _this.form.titleItems[_this.order].endTime = _this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
       _this.isShowGuide(false)
@@ -293,11 +296,26 @@
           }
         })
       }
+      // JAQ鎶ュ憡鏈�鍚庡ぇ棰樺畬鎴� 鍚敤鎻愪氦鎸夐挳
+      let isCompleted1 = _this.answer.answerItems[_this.answer.answerItems.length - 2].completed;
+      let isCompleted2 = _this.answer.answerItems[_this.answer.answerItems.length - 1].completed;
+      if (isCompleted1 && isCompleted2) {
+        this.submitDisable = false
+      }
+
       if (jumpNextFlag) {
         _this.nextSubject()
-        this.submitDisable = false
-      } else {
-        this.submitDisable = true
+      }
+    },
+    // 瑙﹀彂閫変腑閫夐」
+    callSelected () {
+      let _this = this
+      if (!_this.preDisable) {
+        return
+      }
+      _this.selectedCount += 1
+      if (_this.selectedCount % 2 === 0) {
+        _this.preDisable2 = true
       }
     },
     submitForm () {
@@ -309,7 +327,9 @@
       for (let i = 0; i < _this.answer.answerItems.length; i++) {
         if (_this.answer.answerItems[i].content === null) {
           unFinish = true
-          _this.answer.finish = 0
+          // 鏈夋湭瀹屾垚鐨勭瓟棰樺簲璇ユ槸 2绛旈涓�
+          // 涔嬪墠鏄�0鏈鐞�
+          _this.answer.finish = 2
         }
       }
       if (unFinish) {
@@ -347,7 +367,7 @@
       let answerSubmit = _this.getSubmitAnswerValue()
       examPaperAnswerApi.answerSubmit(answerSubmit, _this.memberToken).then(re => {
         if (re.code === 1) {
-          _this.$router.push({ path: '/exam/finish', query: { name: _this.form.name, content: mess } })
+          _this.$router.push({ path: '/exam/finish', query: { name: _this.form.name, content: mess, tokenId: _this.memberToken } })
         } else {
           _this.$message.error(re.message + '/exam/finish')
         }

--
Gitblit v1.9.1