Răsfoiți Sursa

修正套题中修改某小题的分值后,会影响其它小题的分值显示,但实际计分未变问题

deason 5 ani în urmă
părinte
comite
baf70cc790
1 a modificat fișierele cu 73 adăugiri și 46 ștergeri
  1. 73 46
      src/modules/questions/views/EditPaper.vue

+ 73 - 46
src/modules/questions/views/EditPaper.vue

@@ -97,7 +97,7 @@
             </template>
           </el-table-column>
         </el-table>
-        <!-- create by wwh -->
+
         <div class="mainQues" style="margin-top:20px;margin-left:0px;">
           <div class="mainQuesTitle">
             <span>考试说明:</span>
@@ -118,13 +118,14 @@
         <br />
       </div>
     </div>
+
     <div>
       <!-- 循环大题 -->
       <div
         class="mainQues"
         v-show="paperDetailShow(paperDetail)"
-        v-for="(paperDetail, index) in paper.paperDetails"
-        :key="index"
+        v-for="(paperDetail, detailIndex) in paper.paperDetails"
+        :key="detailIndex"
       >
         <div
           class="mainQuesTitle"
@@ -133,48 +134,54 @@
         >
           <span>{{ paperDetail.cnNum }}</span> <span>.</span>
           <span>{{ paperDetail.name }}</span>
-          <span
-            >({{ !paperDetail.title ? "本大题" : paperDetail.title + "," }}共{{
+          <span>
+            ({{ !paperDetail.title ? "本大题" : paperDetail.title + "," }}共{{
               paperDetail.unitCount
-            }}小题,满分{{ paperDetail.score }}分)</span
-          >
+            }}小题,满分{{ paperDetail.score }}分)
+          </span>
+
           <span class="btnDiv" :id="paperDetail.id">
             <el-button
               v-show="parentView == 'gen_paper'"
               size="small"
               @click="selectQues(paperDetail.id)"
-              >选题</el-button
-            >
+              >选题
+            </el-button>
+
             <el-button size="small" @click="openEditPaperDetail(paperDetail)"
-              >编辑</el-button
-            >
+              >编辑
+            </el-button>
+
             <el-button
               size="small"
               type="danger"
               @click="deletePaperDetail(paperDetail.id)"
-              >删除</el-button
-            >
+              >删除
+            </el-button>
+
             <el-button
               size="small"
               icon="el-icon-arrow-up"
-              @click.stop="hideContent(index)"
-              v-show="showButtons[index].up"
+              @click.stop="hideContent(detailIndex)"
+              v-show="showButtons[detailIndex].up"
             ></el-button>
+
             <el-button
               size="small"
               icon="el-icon-arrow-down"
-              @click.stop="showContent(index)"
-              v-show="!showButtons[index].up"
+              @click.stop="showContent(detailIndex)"
+              v-show="!showButtons[detailIndex].up"
             ></el-button>
           </span>
         </div>
+
         <!-- 循环小题 -->
-        <div v-show="showQuestions[index].is_show">
+        <div v-show="showQuestions[detailIndex].is_show">
           <div
             class="ques"
             v-show="quesShow(paperDetailUnit.id)"
-            v-for="(paperDetailUnit, n) in paperDetail.paperDetailUnits"
-            :key="n"
+            v-for="(paperDetailUnit, unitIndex) in paperDetail.paperDetailUnits"
+            :key="unitIndex"
           >
             <reduplicate_mark
               :id="paperDetailUnit.id"
@@ -184,6 +191,7 @@
               @reduplicate_mark_check="reduplicate_mark_check"
             >
             </reduplicate_mark>
+
             <div
               class="quesSelect"
               @mouseover="quesMouseOver(paperDetailUnit.id)"
@@ -195,13 +203,15 @@
                   @click="editQues(paperDetailUnit, paperDetailUnit.question)"
                   >编辑
                 </el-button>
+
                 <el-button
                   type="danger"
                   size="small"
                   @click="deleteQues(paperDetailUnit)"
-                  >删除</el-button
-                >
+                  >删除
+                </el-button>
               </div>
+
               <div class="quesBody">
                 <span class="ques-title">{{ paperDetailUnit.number }}.</span>
                 <span
@@ -211,19 +221,22 @@
                   :questionId="paperDetailUnit.question.id"
                   v-html="paperDetailUnit.question.quesBody"
                 ></span>
-                <span class="score-span"
-                  >({{ paperDetailUnit.score }}分)</span
-                >
+
+                <span class="score-span">
+                  ({{ paperDetailUnit.score }}分)
+                </span>
               </div>
+
               <div
                 class="quesOption"
-                v-for="(quesOption, index) in paperDetailUnit.question
+                v-for="(quesOption, optionIndex) in paperDetailUnit.question
                   .quesOptions"
-                :key="index"
+                :key="optionIndex"
               >
                 <span class="ques-title"
-                  >{{ index | optionOrderWordFilter }}.</span
-                >
+                  >{{ optionIndex | optionOrderWordFilter }}.
+                </span>
+
                 <span
                   class="ques-body"
                   v-question-audio
@@ -234,15 +247,18 @@
               </div>
             </div>
             <br />
+
             <div
               class="subQues"
               v-show="quesShow(subQuestion.id)"
-              v-for="(subQuestion, m) in paperDetailUnit.question.subQuestions"
-              :key="m"
+              v-for="(subQuestion, subIndex) in paperDetailUnit.question
+                .subQuestions"
+              :key="subIndex"
             >
               <reduplicate_mark
                 :show="reduplicateMarkShow(subQuestion.id)"
               ></reduplicate_mark>
+
               <div
                 class="quesSelect"
                 @mouseover="
@@ -259,24 +275,30 @@
                   <el-button
                     size="small"
                     @click="editQues(paperDetailUnit, subQuestion)"
-                    >编辑</el-button
-                  >
+                    >编辑
+                  </el-button>
                 </div>
+
                 <div class="quesBody">
                   <span class="ques-title"
-                    >{{ subQuestion.quesParams.number }}.</span
-                  >
+                    >{{ subQuestion.quesParams.number }}.
+                  </span>
+
                   <span v-html="subQuestion.quesBody"></span>
-                  <span>({{ paperDetailUnit.subScoreList[index] }}分)</span>
+                  <span
+                    >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
+                  >
                 </div>
+
                 <div
                   class="quesOption"
-                  v-for="(subQuesOption, index) in subQuestion.quesOptions"
-                  :key="index"
+                  v-for="(subQuesOption,
+                  subOptIndex) in subQuestion.quesOptions"
+                  :key="subOptIndex"
                 >
                   <span class="ques-title"
-                    >{{ index | optionOrderWordFilter }}.</span
-                  >
+                    >{{ subOptIndex | optionOrderWordFilter }}.
+                  </span>
                   <span v-html="subQuesOption.optionBody"></span>
                 </div>
                 <br />
@@ -287,6 +309,7 @@
         </div>
       </div>
     </div>
+
     <div class="text-left">
       <!-- 编辑大题弹框 -->
       <el-dialog
@@ -425,13 +448,14 @@
               </el-form-item>
             </el-col>
           </el-row>
+
           <el-row :gutter="10">
             <el-col :xs="20" :sm="20" :md="20" :lg="20">
               <el-form-item label="属性列表">
                 <el-tooltip
                   placement="top"
-                  v-for="(content, index) in quesModel.quesProperties"
-                  :key="index"
+                  v-for="(content, propIndex) in quesModel.quesProperties"
+                  :key="propIndex"
                 >
                   <div slot="content">
                     <span v-if="content.firstProperty != null"
@@ -456,6 +480,7 @@
               </el-form-item>
             </el-col>
           </el-row>
+
           <el-row>
             <el-col :span="6">
               <el-form-item label="属性名" label-width="60px">
@@ -537,19 +562,20 @@
                 </el-form-item>
               </el-col>
             </el-row>
+
             <el-form-item
-              v-for="(quesOption, index) in quesModel.quesOptions"
-              :key="index"
+              v-for="(quesOption, optIndex) in quesModel.quesOptions"
+              :key="optIndex"
             >
               <el-col :span="2">
                 <el-radio
                   v-model="singleRightAnswer"
-                  :label="index | optionOrderWordFilter"
+                  :label="optIndex | optionOrderWordFilter"
                   v-if="quesModel.questionType === 'SINGLE_ANSWER_QUESTION'"
                 ></el-radio>
                 <el-checkbox
                   v-model="multipleRightAnswer"
-                  :label="index | optionOrderWordFilter"
+                  :label="optIndex | optionOrderWordFilter"
                   v-if="quesModel.questionType === 'MULTIPLE_ANSWER_QUESTION'"
                 ></el-checkbox>
               </el-col>
@@ -564,6 +590,7 @@
                 ></i>
               </el-col>
             </el-form-item>
+
             <div
               v-if="
                 quesModel.questionType != 'NESTED_ANSWER_QUESTION' &&