zhangjie 2 jaren geleden
bovenliggende
commit
8ffcad115a

+ 1 - 1
src/components/vEditor/VEditor.vue

@@ -113,7 +113,7 @@ export default {
       this.clearSetTs();
       // 延迟触发input任务,避免频繁触发,同时也等待图片渲染,方便获取图片显示尺寸
       this.addSetTime(() => {
-        // console.log("input:" + Math.random());
+        console.log("input:" + Math.random());
         this.inputDelaying = false;
         const json = toJSON(this.$refs.editor);
         this.$emit("input", json);

+ 5 - 10
src/components/vEditor/toJSON.js

@@ -69,19 +69,14 @@ function toNodeSections(node) {
  * @param {String} tag
  */
 function checkAncestorElementTag(e) {
-  let parentElement = e.parentElement;
+  let parentNode = e.parentNode;
   let elementTags = [];
   let validTags = ["I", "B", "U", "SUB", "SUP"];
-  while (
-    parentElement &&
-    parentElement.className &&
-    parentElement.className.indexOf("v-editor-body") === -1
-  ) {
-    if (validTags.includes(parentElement.nodeName)) {
-      elementTags.push(parentElement.nodeName);
-    } else {
-      parentElement = parentElement.parentElement;
+  while (parentNode && !parentNode.className.includes("v-editor-body")) {
+    if (validTags.includes(parentNode.nodeName)) {
+      elementTags.push(parentNode.nodeName);
     }
+    parentNode = parentNode.parentNode;
   }
   return elementTags;
 }

+ 1 - 0
src/modules/card/assets/styles/card-preview.scss

@@ -539,6 +539,7 @@
         }
         &:last-child {
           margin-left: 20px;
+          white-space: normal;
         }
       }
     }

+ 1 - 1
src/modules/card/elements/card-head/CardHead.vue

@@ -16,7 +16,7 @@
       <div
         v-for="(cont, index) in notices"
         :key="index"
-        class="head-notice-cont"
+        class="card-head-notice-cont"
       >
         <span>{{ index + 1 }}、</span>
         <span>{{ cont }}</span>

+ 1 - 0
src/modules/card/elements/explain/model.js

@@ -63,6 +63,7 @@ const getFullModel = (modelProp) => {
 
     elements[index] = child;
   });
+  console.log(elements);
 
   return elements;
 };

+ 5 - 27
src/modules/card/store/card.js

@@ -338,35 +338,13 @@ const actions = {
       state.topics
     );
     const elementGroupPosInfos = groupByParams(positionInfos, "serialNumber");
-    const orgElementCount = elementGroupPosInfos.length;
-    if (orgElementCount > element.questionsCount) {
-      // 原小题数多于新小题数,要删除原多于的小题;
-      let needDeleteInfos = elementGroupPosInfos.splice(
-        element.questionsCount,
-        orgElementCount - element.questionsCount
-      );
-      needDeleteInfos.reverse().forEach((item) => {
-        item.reverse().forEach((pos) => {
-          state.topics.splice(pos._elementNo, 1);
-        });
+    for (let i = 0; i < elementGroupPosInfos.length; i++) {
+      elementGroupPosInfos[i].forEach((pos) => {
+        let child = state.topics[pos._elementNo];
+        child.parent = { ...element };
+        child.topicName = element.topicName;
       });
     }
-
-    const newElements = getExplainElements(element);
-    const lastPos = elementGroupPosInfos.slice(-1)[0].slice(-1)[0];
-    let lastNewElementPos = lastPos._elementNo;
-    for (let i = 0; i < element.questionsCount; i++) {
-      if (elementGroupPosInfos[i]) {
-        elementGroupPosInfos[i].forEach((pos) => {
-          let child = state.topics[pos._elementNo];
-          child.serialNumber = i + element.startNumber;
-          child.parent = { ...element };
-          child.topicNo = element.topicNo;
-        });
-      } else {
-        state.topics.splice(++lastNewElementPos, 0, newElements[i]);
-      }
-    }
   },
   modifySplitTopic({ state }, element) {
     // 非作文题都是拆分题,即同一个题拆分成多个小题展示

+ 1 - 0
src/modules/card/views/CardManage.vue

@@ -17,6 +17,7 @@
             filterable
             clearable
             placeholder="请选择"
+            @clear="getCourses4Search('')"
           >
             <el-option
               v-for="item in courseList"

+ 1 - 1
src/modules/questions/views/BluePaperStructure.vue

@@ -19,7 +19,7 @@
             remote
             clearable
             placeholder="请选择"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 2 - 2
src/modules/questions/views/CheckDuplicateList.vue

@@ -13,7 +13,7 @@
             remote
             clearable
             placeholder="请选择"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"
@@ -32,7 +32,7 @@
             remote
             clearable
             placeholder="请选择"
-            @focus="(e) => getPapers(e.target.value)"
+            @clear="getPapers('')"
           >
             <el-option
               v-for="item in paperList"

+ 1 - 0
src/modules/questions/views/CourseProperty.vue

@@ -19,6 +19,7 @@
             filterable
             clearable
             placeholder="请选择"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/ExamPaperPendingTrial.vue

@@ -11,7 +11,7 @@
             remote
             clearable
             placeholder="全部"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/GenPaper.vue

@@ -12,7 +12,7 @@
             remote
             clearable
             placeholder="全部"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 2 - 2
src/modules/questions/views/ImportPaper.vue

@@ -13,7 +13,7 @@
             remote
             clearable
             placeholder="请输入"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"
@@ -313,7 +313,7 @@
             filterable
             clearable
             placeholder="全部"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/ImportPaperInfo.vue

@@ -23,7 +23,7 @@
             clearable
             placeholder="请选择"
             @change="searchCourseName"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 4 - 2
src/modules/questions/views/InsertBluePaperStructure.vue

@@ -50,7 +50,7 @@
             clearable
             placeholder="课程名称"
             @change="clearCourseProperty"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"
@@ -222,7 +222,7 @@ export default {
         paperDetailStructs: [],
         type: "BLUEPRINT", //试卷结构类型
         genPaperType: "SPECIFIC", //组卷类型
-        examRemark: "",
+        examRemark: { sections: [] },
       },
       detailDialog: false,
       dialogType: "",
@@ -509,6 +509,8 @@ export default {
           var paperDetailStruct = Object.assign({}, this.paperDetailStructForm);
           paperDetailStruct.id = maxId + 1;
           paperDetailStruct.number = this.paperDetailStructs.length + 1;
+          if (!paperDetailStruct.remark)
+            paperDetailStruct.remark = { sections: [] };
           this.paperDetailStructs.push(paperDetailStruct);
           this.detailDialog = false;
           this.blueStruct.paperDetailStructs = this.paperDetailStructs;

+ 3 - 1
src/modules/questions/views/InsertPaperStructure.vue

@@ -211,7 +211,7 @@ export default {
         courseName: "",
         type: "EXACT", //试卷结构类型
         genPaperType: "COMMON", //组卷类型
-        examRemark: "",
+        examRemark: { sections: [] },
       },
       paperDetailStructs: [],
       paperDeatilId: "",
@@ -406,6 +406,8 @@ export default {
           var paperDetailStruct = Object.assign({}, this.paperDetailStructForm);
           paperDetailStruct.id = nextId;
           paperDetailStruct.number = paperDetailStruct.id;
+          if (!paperDetailStruct.remark)
+            paperDetailStruct.remark = { sections: [] };
           this.paperDetailStructs.push(paperDetailStruct);
           this.paperDetailStructDialog = false;
           this.paperDetailStructForm.id = "";

+ 1 - 1
src/modules/questions/views/InsertPaperTitle.vue

@@ -18,7 +18,7 @@
             placeholder="请输入课程名称(代码)"
             :remote-method="queryCoursesByKeyword"
             @change="searchGenPaper"
-            @focus="(e) => queryCoursesByKeyword(e.target.value)"
+            @clear="queryCoursesByKeyword('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/PaperPendingTrial.vue

@@ -12,7 +12,7 @@
             remote
             clearable
             placeholder="全部"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/PaperStorage.vue

@@ -12,7 +12,7 @@
             remote
             clearable
             placeholder="全部"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 1 - 1
src/modules/questions/views/Question.vue

@@ -13,7 +13,7 @@
             clearable
             placeholder="请选择"
             @change="initCourseProperty"
-            @focus="(e) => getCourses(e.target.value)"
+            @clear="getCourses('')"
           >
             <el-option
               v-for="item in courseInfoSelect"

+ 2 - 2
src/modules/questions/views/data_previllege_add_course.vue

@@ -112,7 +112,7 @@ export default {
       var url =
         QUESTION_API +
         "/course/coursePageForDataRule/" +
-        (this.currentPage - 1) +
+        this.currentPage +
         "/" +
         this.pageSize +
         "?" +
@@ -124,7 +124,7 @@ export default {
       this.loading = true;
       return this.$httpWithMsg.get(url).then((response) => {
         this.tableData = response.data.content;
-        this.currentPage = response.data.number + 1;
+        this.currentPage = response.data.number;
         this.total = response.data.totalElements;
         this.loading = false;
         this.paginationShow = true;

+ 1 - 0
src/modules/questions/views/user.vue

@@ -44,6 +44,7 @@
             filterable
             clearable
             placeholder="请选择"
+            @clear="getCourses4Search('')"
           >
             <el-option
               v-for="item in courseList4Search"