|
@@ -224,10 +224,22 @@
|
|
|
<div class="edit-part-list">
|
|
|
<div class="edit-part">
|
|
|
<div class="edit-cont">
|
|
|
- <div class="edit-cont-title">
|
|
|
+ <div
|
|
|
+ class="edit-cont-title"
|
|
|
+ style="display: flex; align-items: center"
|
|
|
+ >
|
|
|
<h3>考试说明</h3>
|
|
|
+ <svg-btn
|
|
|
+ name="bianji"
|
|
|
+ color="#6D5FF6"
|
|
|
+ hoverBgColor="#F0EFFE"
|
|
|
+ class="hover-show"
|
|
|
+ @click="toEditExamRemark"
|
|
|
+ style="margin-left: 10px"
|
|
|
+ >编辑</svg-btn
|
|
|
+ >
|
|
|
</div>
|
|
|
- <div class="edit-cont-action">
|
|
|
+ <!-- <div class="edit-cont-action">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
plain
|
|
@@ -235,7 +247,7 @@
|
|
|
@click="toEditExamRemark"
|
|
|
>编辑</el-button
|
|
|
>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div class="edit-cont-body">
|
|
|
<rich-text :text-json="paper.examRemark"></rich-text>
|
|
|
</div>
|
|
@@ -249,7 +261,7 @@
|
|
|
:key="paperDetail.id"
|
|
|
class="edit-part-list"
|
|
|
>
|
|
|
- <div class="edit-part">
|
|
|
+ <div class="edit-part level1">
|
|
|
<div class="edit-cont">
|
|
|
<div class="edit-cont-title">
|
|
|
<h3>
|
|
@@ -261,10 +273,31 @@
|
|
|
class="edit-cont-body"
|
|
|
:text-json="paperDetail.description"
|
|
|
></rich-text>
|
|
|
- <div class="edit-cont-action box-justify">
|
|
|
- <div>
|
|
|
- 共{{ paperDetail.unitCount }}小题,满分{{ paperDetail.score }}分
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="level1-hover-show">
|
|
|
+ <div style="color: #595959; margin-bottom: 5px">
|
|
|
+ 共{{ paperDetail.unitCount }}小题,满分{{ paperDetail.score }}分
|
|
|
+ </div>
|
|
|
+ <div class="gray-btn-group">
|
|
|
+ <span @click="toSelectPaperDetailQues(paperDetail)">选题</span>
|
|
|
+ <span @click="toEditPaperDetail(paperDetail)">编辑</span>
|
|
|
+ <span
|
|
|
+ v-if="detailIndex"
|
|
|
+ @click="toMovePaperDetail(paperDetail, 'up')"
|
|
|
+ >上移</span
|
|
|
+ >
|
|
|
+ <span v-if="detailIndex < paper.paperDetails.length - 1"
|
|
|
+ >下移</span
|
|
|
+ >
|
|
|
+ <span @click="toDeletePaperDetail(paperDetail)">删除</span>
|
|
|
+ <span
|
|
|
+ @click.stop="
|
|
|
+ paperDetail.showQuestions = !paperDetail.showQuestions
|
|
|
+ "
|
|
|
+ >{{ paperDetail.showQuestions ? "收起" : "展开" }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <!--
|
|
|
<div>
|
|
|
<el-button
|
|
|
size="small"
|
|
@@ -315,8 +348,7 @@
|
|
|
paperDetail.showQuestions = !paperDetail.showQuestions
|
|
|
"
|
|
|
></el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
|
<div class="edit-property-box">
|
|
@@ -325,7 +357,7 @@
|
|
|
:key="tagIndex"
|
|
|
class="edit-property-item"
|
|
|
>
|
|
|
- <div class="edit-property-body edit-property-danger">
|
|
|
+ <div class="edit-property-body level1">
|
|
|
<div class="edit-property-title">
|
|
|
{{ paperDetailTag.tag }}
|
|
|
</div>
|
|
@@ -336,7 +368,7 @@
|
|
|
</div>
|
|
|
<template v-if="paperDetail.selective">
|
|
|
<div class="edit-property-item">
|
|
|
- <div class="edit-property-body edit-property-danger">
|
|
|
+ <div class="edit-property-body level1">
|
|
|
<div class="edit-property-title">选做题数</div>
|
|
|
<div class="edit-property-content">
|
|
|
{{ paperDetail.selectiveCount }}
|
|
@@ -344,7 +376,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="edit-property-item">
|
|
|
- <div class="edit-property-body edit-property-danger">
|
|
|
+ <div class="edit-property-body level1">
|
|
|
<div class="edit-property-title">取分规则</div>
|
|
|
<div class="edit-property-content">
|
|
|
{{ paperDetail.selectiveRule | selectiveRuleTypeFilter }}
|
|
@@ -364,6 +396,7 @@
|
|
|
:key="`question-${unitIndex}`"
|
|
|
:class="[
|
|
|
'edit-part',
|
|
|
+ 'level2',
|
|
|
{
|
|
|
'question-duplicate':
|
|
|
paperDetailUnit.question.checkDuplicateStatus ==
|
|
@@ -372,62 +405,53 @@
|
|
|
},
|
|
|
]"
|
|
|
>
|
|
|
- <div class="edit-cont">
|
|
|
- <div class="edit-cont-title">
|
|
|
- <span>{{ paperDetailUnit.number }}.</span>
|
|
|
- <rich-text
|
|
|
- :text-json="paperDetailUnit.question.quesBody"
|
|
|
- ></rich-text>
|
|
|
- <span :class="{ 'color-danger': !paperDetailUnit.score }">
|
|
|
- ({{ paperDetailUnit.score }}分)
|
|
|
- </span>
|
|
|
- </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
|
|
|
- v-if="paperDetailUnit.question.quesProperties"
|
|
|
- class="edit-cont-props"
|
|
|
- style="margin-top: 10px"
|
|
|
- >
|
|
|
- <el-tag
|
|
|
- v-for="(content, propIndex) in paperDetailUnit.question
|
|
|
- .quesProperties"
|
|
|
- :key="propIndex"
|
|
|
- type="primary"
|
|
|
- effect="dark"
|
|
|
- style="margin-right: 5px; margin-bottom: 5px"
|
|
|
- >
|
|
|
- {{ content.courseProperty && content.courseProperty.name }}
|
|
|
- <span style="margin: 0 3px">/</span>
|
|
|
- {{ content.firstProperty && content.firstProperty.name }}
|
|
|
- <span v-if="content.secondProperty" style="margin: 0 3px"
|
|
|
- >/</span
|
|
|
+ <div class="level2-hover-show">
|
|
|
+ <div class="box-justify">
|
|
|
+ <div class="gray-btn-group">
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ paperDetailUnit.question.checkDuplicateStatus ===
|
|
|
+ 'TO_BE_DISPOSE'
|
|
|
+ "
|
|
|
+ @click="
|
|
|
+ toCheckDuplicateQuestion(paperDetailUnit.question.id)
|
|
|
+ "
|
|
|
+ >进入查重</span
|
|
|
>
|
|
|
- {{ content.secondProperty && content.secondProperty.name }}
|
|
|
- </el-tag>
|
|
|
- </div>
|
|
|
- <div class="edit-cont-action">
|
|
|
+ <span @click="toChangeQues(paperDetailUnit)">换题</span>
|
|
|
+ <span @click="toEditQues(paperDetailUnit)">编辑</span>
|
|
|
+ <span
|
|
|
+ v-if="unitIndex"
|
|
|
+ @click="
|
|
|
+ toMoveQues(paperDetail.id, paperDetailUnit.id, 'up')
|
|
|
+ "
|
|
|
+ >上移</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="unitIndex < paperDetail.paperDetailUnits.length - 1"
|
|
|
+ @click="
|
|
|
+ toMoveQues(paperDetail.id, paperDetailUnit.id, 'down')
|
|
|
+ "
|
|
|
+ >下移</span
|
|
|
+ >
|
|
|
+ <span @click="toDeleteQues(paperDetailUnit)">删除</span>
|
|
|
+ <span
|
|
|
+ v-if="isNested(paperDetailUnit.questionType)"
|
|
|
+ @click="
|
|
|
+ paperDetailUnit.showSubQuestions =
|
|
|
+ !paperDetailUnit.showSubQuestions
|
|
|
+ "
|
|
|
+ >{{
|
|
|
+ paperDetailUnit.showSubQuestions ? "收起" : "展开"
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
<span class="tips-info">
|
|
|
{{ paperDetailUnit.question.bodyLengthText }}
|
|
|
</span>
|
|
|
- <el-button
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <el-button
|
|
|
v-if="
|
|
|
paperDetailUnit.question.checkDuplicateStatus ===
|
|
|
'TO_BE_DISPOSE'
|
|
@@ -492,7 +516,58 @@
|
|
|
paperDetailUnit.showSubQuestions =
|
|
|
!paperDetailUnit.showSubQuestions
|
|
|
"
|
|
|
- ></el-button>
|
|
|
+ ></el-button> -->
|
|
|
+ </div>
|
|
|
+ <div class="edit-cont">
|
|
|
+ <div class="edit-cont-title">
|
|
|
+ <span>{{ paperDetailUnit.number }}.</span>
|
|
|
+ <rich-text
|
|
|
+ :text-json="paperDetailUnit.question.quesBody"
|
|
|
+ ></rich-text>
|
|
|
+ <span :class="{ 'color-danger': !paperDetailUnit.score }">
|
|
|
+ ({{ paperDetailUnit.score }}分)
|
|
|
+ </span>
|
|
|
+ </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
|
|
|
+ v-if="paperDetailUnit.question.quesProperties"
|
|
|
+ class="edit-cont-props"
|
|
|
+ style="margin-top: 10px"
|
|
|
+ >
|
|
|
+ <el-tag
|
|
|
+ v-for="(content, propIndex) in paperDetailUnit.question
|
|
|
+ .quesProperties"
|
|
|
+ :key="propIndex"
|
|
|
+ type="primary"
|
|
|
+ effect="dark"
|
|
|
+ style="margin-right: 5px; margin-bottom: 5px"
|
|
|
+ >
|
|
|
+ {{ content.courseProperty && content.courseProperty.name }}
|
|
|
+ <span style="margin: 0 3px">/</span>
|
|
|
+ {{ content.firstProperty && content.firstProperty.name }}
|
|
|
+ <span v-if="content.secondProperty" style="margin: 0 3px"
|
|
|
+ >/</span
|
|
|
+ >
|
|
|
+ {{ content.secondProperty && content.secondProperty.name }}
|
|
|
+ </el-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-show="quesTagShow" class="edit-property">
|
|
@@ -503,7 +578,7 @@
|
|
|
:key="tagIndex"
|
|
|
class="edit-property-item"
|
|
|
>
|
|
|
- <div class="edit-property-body">
|
|
|
+ <div class="edit-property-body level2">
|
|
|
<div class="edit-property-title">
|
|
|
{{ questionTag.tag }}
|
|
|
</div>
|
|
@@ -622,7 +697,7 @@
|
|
|
:key="tagIndex"
|
|
|
class="edit-property-item"
|
|
|
>
|
|
|
- <div class="edit-property-body">
|
|
|
+ <div class="edit-property-body level2">
|
|
|
<div class="edit-property-title">
|
|
|
{{ subQuestionTag.tag }}
|
|
|
</div>
|
|
@@ -644,6 +719,7 @@
|
|
|
<modify-rich-text
|
|
|
ref="ModifyRichText"
|
|
|
:content="paper.examRemark"
|
|
|
+ title="考试说明"
|
|
|
@modified="examRemarkModified"
|
|
|
></modify-rich-text>
|
|
|
<!-- 编辑大题弹框 -->
|
|
@@ -1198,3 +1274,69 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.edit-paper {
|
|
|
+ .edit-part {
|
|
|
+ &.level2 {
|
|
|
+ padding-bottom: 60px;
|
|
|
+ .level2-hover-show {
|
|
|
+ display: none;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 15px;
|
|
|
+ left: 20px;
|
|
|
+ z-index: 1;
|
|
|
+ width: calc(100% - 450px);
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ .level2-hover-show {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ &.level1 {
|
|
|
+ padding-bottom: 80px;
|
|
|
+ .level1-hover-show {
|
|
|
+ display: none;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 15px;
|
|
|
+ left: 20px;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ .level1-hover-show {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .hover-show {
|
|
|
+ visibility: hidden;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ .hover-show {
|
|
|
+ visibility: visible;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .gray-btn-group {
|
|
|
+ height: 32px;
|
|
|
+ border-radius: 6px;
|
|
|
+ background: #f2f3f5;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ & > span {
|
|
|
+ color: #8c8c8c;
|
|
|
+ font-size: 14px;
|
|
|
+ padding: 0 12px;
|
|
|
+ cursor: pointer;
|
|
|
+ transition: all 0.3s;
|
|
|
+ &:not(:first-child) {
|
|
|
+ border-left: 1px solid #e5e5e5;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ color: #262626;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|