|
@@ -208,6 +208,10 @@
|
|
</span>
|
|
</span>
|
|
</h3>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
|
|
+ <rich-text
|
|
|
|
+ class="edit-cont-body"
|
|
|
|
+ :text-json="paperDetail.description"
|
|
|
|
+ ></rich-text>
|
|
<div
|
|
<div
|
|
:id="paperDetail.id"
|
|
:id="paperDetail.id"
|
|
class="edit-cont-action"
|
|
class="edit-cont-action"
|
|
@@ -273,10 +277,6 @@
|
|
@click.stop="showContent(detailIndex)"
|
|
@click.stop="showContent(detailIndex)"
|
|
></el-button>
|
|
></el-button>
|
|
</div>
|
|
</div>
|
|
- <rich-text
|
|
|
|
- class="edit-cont-body"
|
|
|
|
- :text-json="paperDetail.description"
|
|
|
|
- ></rich-text>
|
|
|
|
</div>
|
|
</div>
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div class="edit-property-box">
|
|
<div class="edit-property-box">
|
|
@@ -329,6 +329,25 @@
|
|
></rich-text>
|
|
></rich-text>
|
|
<span> ({{ paperDetailUnit.score }}分) </span>
|
|
<span> ({{ paperDetailUnit.score }}分) </span>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="edit-cont-body">
|
|
|
|
+ <div
|
|
|
|
+ v-for="(quesOption, optionIndex) in paperDetailUnit.question
|
|
|
|
+ .quesOptions"
|
|
|
|
+ :key="optionIndex"
|
|
|
|
+ class="paper-option"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ optionIndex | optionOrderWordFilter }}. </span>
|
|
|
|
+ <rich-text :text-json="quesOption.optionBody"></rich-text>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="!isNested(paperDetailUnit.questionType)">
|
|
|
|
+ <div v-show="quesAnswerShow" class="paper-answer">
|
|
|
|
+ <span>答案:</span>
|
|
|
|
+ <question-answer
|
|
|
|
+ :data="paperDetailUnit.question"
|
|
|
|
+ ></question-answer>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
:id="paperDetailUnit.id"
|
|
:id="paperDetailUnit.id"
|
|
class="edit-cont-action"
|
|
class="edit-cont-action"
|
|
@@ -414,25 +433,6 @@
|
|
@click.stop="showSubContent(detailIndex + '-' + unitIndex)"
|
|
@click.stop="showSubContent(detailIndex + '-' + unitIndex)"
|
|
></el-button>
|
|
></el-button>
|
|
</div>
|
|
</div>
|
|
- <div class="edit-cont-body">
|
|
|
|
- <div
|
|
|
|
- v-for="(quesOption, optionIndex) in paperDetailUnit.question
|
|
|
|
- .quesOptions"
|
|
|
|
- :key="optionIndex"
|
|
|
|
- class="paper-option"
|
|
|
|
- >
|
|
|
|
- <span>{{ optionIndex | optionOrderWordFilter }}. </span>
|
|
|
|
- <rich-text :text-json="quesOption.optionBody"></rich-text>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="!isNested(paperDetailUnit.questionType)">
|
|
|
|
- <div v-show="quesAnswerShow" class="paper-answer">
|
|
|
|
- <span>答案:</span>
|
|
|
|
- <question-answer
|
|
|
|
- :data="paperDetailUnit.question"
|
|
|
|
- ></question-answer>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div class="edit-property-box">
|
|
<div class="edit-property-box">
|
|
@@ -478,6 +478,35 @@
|
|
quesMouseOut(getSubQuesEditId(paperDetailUnit, subQuestion))
|
|
quesMouseOut(getSubQuesEditId(paperDetailUnit, subQuestion))
|
|
"
|
|
"
|
|
>
|
|
>
|
|
|
|
+ <div class="edit-cont-title">
|
|
|
|
+ <span>{{ subQuestion.subNumber }}. </span>
|
|
|
|
+ <rich-text :text-json="subQuestion.quesBody"></rich-text>
|
|
|
|
+ <span
|
|
|
|
+ >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div
|
|
|
|
+ v-if="!isMatchingQuestion(paperDetailUnit.questionType)"
|
|
|
|
+ class="edit-cont-body"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ v-for="(
|
|
|
|
+ subQuesOption, subOptIndex
|
|
|
|
+ ) in subQuestion.quesOptions"
|
|
|
|
+ :key="subOptIndex"
|
|
|
|
+ class="paper-option"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ subOptIndex | optionOrderWordFilter }}. </span>
|
|
|
|
+ <rich-text
|
|
|
|
+ :text-json="subQuesOption.optionBody"
|
|
|
|
+ ></rich-text>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-show="quesAnswerShow" class="paper-answer">
|
|
|
|
+ <span>答案:</span>
|
|
|
|
+ <question-answer :data="subQuestion"></question-answer>
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
v-show="isShowEditBtn()"
|
|
v-show="isShowEditBtn()"
|
|
:id="getSubQuesEditId(paperDetailUnit, subQuestion)"
|
|
:id="getSubQuesEditId(paperDetailUnit, subQuestion)"
|
|
@@ -520,35 +549,6 @@
|
|
>下移
|
|
>下移
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
- <div class="edit-cont-title">
|
|
|
|
- <span>{{ subQuestion.subNumber }}. </span>
|
|
|
|
- <rich-text :text-json="subQuestion.quesBody"></rich-text>
|
|
|
|
- <span
|
|
|
|
- >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div
|
|
|
|
- v-if="!isMatchingQuestion(paperDetailUnit.questionType)"
|
|
|
|
- class="edit-cont-body"
|
|
|
|
- >
|
|
|
|
- <div
|
|
|
|
- v-for="(
|
|
|
|
- subQuesOption, subOptIndex
|
|
|
|
- ) in subQuestion.quesOptions"
|
|
|
|
- :key="subOptIndex"
|
|
|
|
- class="paper-option"
|
|
|
|
- >
|
|
|
|
- <span>{{ subOptIndex | optionOrderWordFilter }}. </span>
|
|
|
|
- <rich-text
|
|
|
|
- :text-json="subQuesOption.optionBody"
|
|
|
|
- ></rich-text>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div v-show="quesAnswerShow" class="paper-answer">
|
|
|
|
- <span>答案:</span>
|
|
|
|
- <question-answer :data="subQuestion"></question-answer>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
<div class="edit-property-box">
|
|
<div class="edit-property-box">
|
|
@@ -1228,6 +1228,7 @@ import PaperQuestionType from "./PaperQuestionType.vue";
|
|
import PaperBlue from "./PaperBlue.vue";
|
|
import PaperBlue from "./PaperBlue.vue";
|
|
import AuditInfo from "./AuditInfo.vue";
|
|
import AuditInfo from "./AuditInfo.vue";
|
|
import AuditPaper from "./AuditPaper.vue";
|
|
import AuditPaper from "./AuditPaper.vue";
|
|
|
|
+import { checkRichTextContentIsEmpty } from "@/plugins/utils";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "EditPaperApp",
|
|
name: "EditPaperApp",
|
|
@@ -2345,6 +2346,19 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (
|
|
|
|
+ this.quesModel.quesOptions.length &&
|
|
|
|
+ this.quesModel.quesOptions.some((item) =>
|
|
|
|
+ checkRichTextContentIsEmpty(item.optionBody)
|
|
|
|
+ )
|
|
|
|
+ ) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ message: "有选项内容为空",
|
|
|
|
+ type: "error",
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (this.paper.paperType == "GENERATE") {
|
|
if (this.paper.paperType == "GENERATE") {
|
|
this.$confirm(
|
|
this.$confirm(
|
|
"试题内容修改,会影响所有关联试卷,是否确定进行?",
|
|
"试题内容修改,会影响所有关联试卷,是否确定进行?",
|