zhangjie 4 өдөр өмнө
parent
commit
779147e9d5

+ 25 - 1
src/modules/question/components/QuestionImportEdit.vue

@@ -578,6 +578,7 @@ export default {
     },
     resetData({ richText, detailInfo }) {
       this.paperData = deepCopy(detailInfo);
+      this.updatePaperData();
       this.paperRichJson = this.buildRichText(deepCopy(richText));
       this.transformDataInfo();
       this.paperRichJsonGroup = this.getRichTextGroup();
@@ -873,6 +874,28 @@ export default {
       });
       return { sections };
     },
+    updatePaperData() {
+      const getQuestionInfo = (question) => {
+        return {
+          id: randomCode(),
+          courseId: this.courseId,
+          sourceDetailId: question.customizeQuestionType?.id,
+          sourceDetailName: question.customizeQuestionType?.name,
+          score: question.score || 0,
+        };
+      };
+      this.paperData.forEach((detail) => {
+        detail.questions.forEach((question) => {
+          Object.assign(question, getQuestionInfo(question));
+
+          if (question.subQuestions && question.subQuestions.length) {
+            question.subQuestions.forEach((subq) => {
+              Object.assign(subq, getQuestionInfo(subq));
+            });
+          }
+        });
+      });
+    },
     async toParse() {
       if (isAnEmptyRichText(this.paperRichJson)) {
         this.$message.error("请输入试卷内容!");
@@ -899,10 +922,11 @@ export default {
         res.data.detailInfo,
         cacheData
       );
+      this.updatePaperData();
       this.paperRichJson = this.buildRichText(deepCopy(res.data.richText));
       this.paperRichJsonGroup = this.getRichTextGroup();
       this.parseQuestionStatData();
-      this.filterQuestionTypeChange(this.filterQuestionType);
+      this.filterQuestionTypeChange("all");
       this.questionKey = randomCode();
 
       this.$nextTick(() => {

+ 1 - 7
src/modules/question/components/QuestionImportPaperEdit.vue

@@ -40,7 +40,7 @@
 </template>
 
 <script>
-import { deepCopy, randomCode } from "@/plugins/utils";
+import { deepCopy } from "@/plugins/utils";
 import BooleanQuestion from "./import-edit/BooleanQuestion.vue";
 import FillBlankQuestion from "./import-edit/FillBlankQuestion.vue";
 import SelectQuestion from "./import-edit/SelectQuestion.vue";
@@ -149,13 +149,7 @@ export default {
       );
 
       return {
-        sourceDetailId: question.customizeQuestionType?.id,
-        sourceDetailName: question.customizeQuestionType?.name,
-        questionType: question.questionType,
-        courseId: this.courseId,
         exceptions,
-        score: question.score || 0,
-        id: randomCode(),
       };
     },
     getQuestionContIndex(question) {