|
@@ -2,114 +2,75 @@
|
|
<div
|
|
<div
|
|
id="editPaperApp"
|
|
id="editPaperApp"
|
|
v-loading="loading"
|
|
v-loading="loading"
|
|
- class="paper"
|
|
|
|
|
|
+ class="view-paper"
|
|
element-loading-text="拼命加载中。。。"
|
|
element-loading-text="拼命加载中。。。"
|
|
>
|
|
>
|
|
- <div class="edit-paper-top">
|
|
|
|
- <div class="edit-paper-top-inline">
|
|
|
|
- <div class="paper-top-div">
|
|
|
|
- <span class="paper-top-title">课程代码:</span>
|
|
|
|
- <span class="paper-top-value">{{ paper.course.code }}</span>
|
|
|
|
|
|
+ <div class="view-header box-justify">
|
|
|
|
+ <div class="header-info">
|
|
|
|
+ <div class="header-info-item">
|
|
|
|
+ <span>课程代码:</span>
|
|
|
|
+ <span>{{ paper.course.code }}</span>
|
|
</div>
|
|
</div>
|
|
- <div class="paper-top-div">
|
|
|
|
- <span class="paper-top-title">课程名称:</span>
|
|
|
|
- <span class="paper-top-value">{{ paper.course.name }}</span>
|
|
|
|
|
|
+ <div class="header-info-item">
|
|
|
|
+ <span>课程名称:</span>
|
|
|
|
+ <span>{{ paper.course.name }}</span>
|
|
</div>
|
|
</div>
|
|
- <div class="paper-top-div">
|
|
|
|
- <span class="paper-top-title">试卷名称:</span>
|
|
|
|
- <span class="paper-top-value">{{ paper.name }}</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="paper-top-div">
|
|
|
|
- <span class="paper-top-title">试卷难度:</span>
|
|
|
|
- <span class="paper-top-value">{{ paper.difficultyDegree }}</span>
|
|
|
|
|
|
+ <div class="header-info-item">
|
|
|
|
+ <span>试卷名称:</span>
|
|
|
|
+ <span>
|
|
|
|
+ {{ paper.name }}
|
|
|
|
+ </span>
|
|
</div>
|
|
</div>
|
|
- <div>
|
|
|
|
- <el-button
|
|
|
|
- size="small"
|
|
|
|
- type="primary"
|
|
|
|
- plain
|
|
|
|
- @click="releasePaper(paper.id)"
|
|
|
|
- ><i class="el-icon-share"></i>释放</el-button
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- size="small"
|
|
|
|
- type="primary"
|
|
|
|
- style="margin-left: 10px"
|
|
|
|
- @click="back"
|
|
|
|
- ><i class="el-icon-arrow-left"></i> 返回</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="header-info-item">
|
|
|
|
+ <span>试卷难度:</span>
|
|
|
|
+ <span>{{ paper.difficultyDegree }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="header-btns">
|
|
|
|
+ <el-button type="primary" @click="releasePaper(paper.id)"
|
|
|
|
+ ><i class="el-icon-share"></i>释放</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button type="danger" plain @click="back"
|
|
|
|
+ ><i class="el-icon-arrow-left"></i> 返回</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div class="paperName">
|
|
|
|
- <div>
|
|
|
|
- <br />
|
|
|
|
- <h3 class="text-center">{{ paper.course.name }} 试卷</h3>
|
|
|
|
- <h5 class="text-center">
|
|
|
|
- <span v-show="paper.hasAudio">(含音频试卷)</span>
|
|
|
|
- </h5>
|
|
|
|
- <br />
|
|
|
|
- <h4 class="text-center">(课程代码 {{ paper.course.code }})</h4>
|
|
|
|
- <br />
|
|
|
|
|
|
+
|
|
|
|
+ <div class="view-body">
|
|
|
|
+ <div class="view-title">
|
|
|
|
+ <h1 class="paper-title">{{ paper.course.name }} 试卷</h1>
|
|
|
|
+ <p v-if="paper.hasAudio" class="paper-title-sub">(含音频试卷)</p>
|
|
|
|
+ <p class="paper-title-sub">(课程代码 {{ paper.course.code }})</p>
|
|
</div>
|
|
</div>
|
|
- <div class="text-left">
|
|
|
|
- <el-table :data="paper.paperDetails" border style="width: 100%">
|
|
|
|
- <el-table-column header-align="center" label="大题名称">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{ scope.row.name }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column header-align="center" label="大题总分">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{ scope.row.score }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column header-align="center" label="小题数量">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{ scope.row.unitCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column header-align="center" label="公开数量">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{ scope.row.pubCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column header-align="center" label="非公开数量">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{ scope.row.noPubCount }}</span>
|
|
|
|
- </template>
|
|
|
|
|
|
+ <div class="view-summary">
|
|
|
|
+ <el-table :data="paper.paperDetails" border>
|
|
|
|
+ <el-table-column prop="name" label="大题名称"> </el-table-column>
|
|
|
|
+ <el-table-column prop="score" label="大题总分"> </el-table-column>
|
|
|
|
+ <el-table-column prop="unitCount" label="小题数量"> </el-table-column>
|
|
|
|
+ <el-table-column prop="pubCount" label="公开数量"> </el-table-column>
|
|
|
|
+ <el-table-column prop="noPubCount" label="非公开数量">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
-
|
|
|
|
- <div class="mainQues" style="margin-top: 20px; margin-left: 0px">
|
|
|
|
- <div class="mainQuesTitle">
|
|
|
|
- <span>考试说明:</span>
|
|
|
|
- <div style="width: 550px; margin-left: 20px; margin-top: 20px">
|
|
|
|
- <span v-html="paper.examRemark"></span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <!-- end by wwh -->
|
|
|
|
- <div>
|
|
|
|
- <h1>本试卷满分{{ paper.totalScore }}分。</h1>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="view-seperator"></div>
|
|
|
|
+ <!-- 考试说明 -->
|
|
|
|
+ <div class="view-part">
|
|
|
|
+ <div class="paper-question-title">考试说明</div>
|
|
|
|
+ <div class="paper-question-body">
|
|
|
|
+ <div v-html="paper.examRemark"></div>
|
|
|
|
+ <div>本试卷满分{{ paper.totalScore }}分。</div>
|
|
</div>
|
|
</div>
|
|
- <br />
|
|
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div>
|
|
|
|
<!-- 循环大题 -->
|
|
<!-- 循环大题 -->
|
|
<div
|
|
<div
|
|
v-for="(paperDetail, detailIndex) in paper.paperDetails"
|
|
v-for="(paperDetail, detailIndex) in paper.paperDetails"
|
|
v-show="paperDetailShow(paperDetail)"
|
|
v-show="paperDetailShow(paperDetail)"
|
|
:key="detailIndex"
|
|
:key="detailIndex"
|
|
- class="mainQues"
|
|
|
|
|
|
+ class="view-part"
|
|
|
|
+ @mouseover="quesMouseOver(paperDetail.id)"
|
|
|
|
+ @mouseout="quesMouseOut(paperDetail.id)"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="mainQuesTitle"
|
|
|
|
- @mouseover="quesMouseOver(paperDetail.id)"
|
|
|
|
- @mouseout="quesMouseOut(paperDetail.id)"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="paper-question-title">
|
|
<span>{{ paperDetail.cnNum }}</span> <span>.</span>
|
|
<span>{{ paperDetail.cnNum }}</span> <span>.</span>
|
|
<span>{{ paperDetail.name }}</span>
|
|
<span>{{ paperDetail.name }}</span>
|
|
<span>
|
|
<span>
|
|
@@ -117,377 +78,328 @@
|
|
paperDetail.unitCount
|
|
paperDetail.unitCount
|
|
}}小题,满分{{ paperDetail.score }}分)
|
|
}}小题,满分{{ paperDetail.score }}分)
|
|
</span>
|
|
</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="paper-question-body" v-html="paperDetail.description"></div>
|
|
|
|
+ <div :id="paperDetail.id" class="view-part-action">
|
|
|
|
+ <el-button
|
|
|
|
+ v-show="showButtons[detailIndex].up"
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-arrow-up"
|
|
|
|
+ @click.stop="hideContent(detailIndex)"
|
|
|
|
+ ></el-button>
|
|
|
|
|
|
- <span :id="paperDetail.id" class="btnDiv">
|
|
|
|
- <el-button
|
|
|
|
- v-show="showButtons[detailIndex].up"
|
|
|
|
- size="small"
|
|
|
|
- icon="el-icon-arrow-up"
|
|
|
|
- @click.stop="hideContent(detailIndex)"
|
|
|
|
- ></el-button>
|
|
|
|
-
|
|
|
|
- <el-button
|
|
|
|
- v-show="!showButtons[detailIndex].up"
|
|
|
|
- size="small"
|
|
|
|
- icon="el-icon-arrow-down"
|
|
|
|
- @click.stop="showContent(detailIndex)"
|
|
|
|
- ></el-button>
|
|
|
|
- </span>
|
|
|
|
- <br />
|
|
|
|
- <span v-html="paperDetail.description"></span>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-show="!showButtons[detailIndex].up"
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-arrow-down"
|
|
|
|
+ @click.stop="showContent(detailIndex)"
|
|
|
|
+ ></el-button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 循环小题 -->
|
|
<!-- 循环小题 -->
|
|
- <div v-show="showQuestions[detailIndex].is_show">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-show="showQuestions[detailIndex].is_show"
|
|
|
|
+ class="view-paper-questions"
|
|
|
|
+ >
|
|
<div
|
|
<div
|
|
v-for="(paperDetailUnit, unitIndex) in paperDetail.paperDetailUnits"
|
|
v-for="(paperDetailUnit, unitIndex) in paperDetail.paperDetailUnits"
|
|
v-show="quesShow(paperDetailUnit.id)"
|
|
v-show="quesShow(paperDetailUnit.id)"
|
|
:key="unitIndex"
|
|
:key="unitIndex"
|
|
- class="ques"
|
|
|
|
|
|
+ class="view-quesiton"
|
|
|
|
+ @mouseover="quesMouseOver(paperDetailUnit.id)"
|
|
|
|
+ @mouseout="quesMouseOut(paperDetailUnit.id)"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="quesSelect"
|
|
|
|
- @mouseover="quesMouseOver(paperDetailUnit.id)"
|
|
|
|
- @mouseout="quesMouseOut(paperDetailUnit.id)"
|
|
|
|
- >
|
|
|
|
- <div :id="paperDetailUnit.id" class="btnDiv">
|
|
|
|
- <el-button
|
|
|
|
- size="small"
|
|
|
|
- @click="editQues(paperDetailUnit, paperDetailUnit.question)"
|
|
|
|
- >查看
|
|
|
|
- </el-button>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="quesBody">
|
|
|
|
- <span class="ques-title">{{ paperDetailUnit.number }}.</span>
|
|
|
|
- <span
|
|
|
|
- v-question-audio
|
|
|
|
- class="ques-body"
|
|
|
|
- :hasAudio="paperDetailUnit.question.hasAudio"
|
|
|
|
- :questionId="paperDetailUnit.question.id"
|
|
|
|
- v-html="paperDetailUnit.question.quesBody"
|
|
|
|
- ></span>
|
|
|
|
-
|
|
|
|
- <span class="score-span">
|
|
|
|
- ({{ paperDetailUnit.score }}分)
|
|
|
|
- </span>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
|
|
+ <div class="paper-question-title">
|
|
|
|
+ <span>{{ paperDetailUnit.number }}.</span>
|
|
|
|
+ <span
|
|
|
|
+ v-question-audio
|
|
|
|
+ :hasAudio="paperDetailUnit.question.hasAudio"
|
|
|
|
+ :questionId="paperDetailUnit.question.id"
|
|
|
|
+ v-html="paperDetailUnit.question.quesBody"
|
|
|
|
+ ></span>
|
|
|
|
+ <span> ({{ paperDetailUnit.score }}分) </span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="paper-question-body">
|
|
<div
|
|
<div
|
|
v-for="(quesOption, optionIndex) in paperDetailUnit.question
|
|
v-for="(quesOption, optionIndex) in paperDetailUnit.question
|
|
.quesOptions"
|
|
.quesOptions"
|
|
:key="optionIndex"
|
|
:key="optionIndex"
|
|
- class="quesOption"
|
|
|
|
|
|
+ class="paper-question-option"
|
|
>
|
|
>
|
|
- <span class="ques-title"
|
|
|
|
- >{{ optionIndex | optionOrderWordFilter }}.
|
|
|
|
- </span>
|
|
|
|
-
|
|
|
|
|
|
+ <span>{{ optionIndex | optionOrderWordFilter }}. </span>
|
|
<span
|
|
<span
|
|
v-question-audio
|
|
v-question-audio
|
|
- class="ques-body"
|
|
|
|
:hasAudio="paperDetailUnit.question.hasAudio"
|
|
:hasAudio="paperDetailUnit.question.hasAudio"
|
|
:questionId="paperDetailUnit.question.id"
|
|
:questionId="paperDetailUnit.question.id"
|
|
v-html="quesOption.optionBody"
|
|
v-html="quesOption.optionBody"
|
|
></span>
|
|
></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <br />
|
|
|
|
- <div style="flex-basis: 100%"></div>
|
|
|
|
- <div class="sub-ques-main-div">
|
|
|
|
|
|
+ <div :id="paperDetailUnit.id" class="view-part-action">
|
|
|
|
+ <el-button
|
|
|
|
+ size="small"
|
|
|
|
+ type="primary"
|
|
|
|
+ plain
|
|
|
|
+ @click="editQues(paperDetailUnit, paperDetailUnit.question)"
|
|
|
|
+ >查看
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 子题循环 -->
|
|
|
|
+ <div class="view-question-subs">
|
|
<div
|
|
<div
|
|
v-for="(subQuestion, subIndex) in paperDetailUnit.question
|
|
v-for="(subQuestion, subIndex) in paperDetailUnit.question
|
|
.subQuestions"
|
|
.subQuestions"
|
|
v-show="quesShow(subQuestion.id)"
|
|
v-show="quesShow(subQuestion.id)"
|
|
:key="subIndex"
|
|
:key="subIndex"
|
|
- class="subQues"
|
|
|
|
|
|
+ class="view-part"
|
|
|
|
+ @mouseover="
|
|
|
|
+ quesMouseOver(getSubQuesEditId(paperDetailUnit, subQuestion))
|
|
|
|
+ "
|
|
|
|
+ @mouseout="
|
|
|
|
+ quesMouseOut(getSubQuesEditId(paperDetailUnit, subQuestion))
|
|
|
|
+ "
|
|
>
|
|
>
|
|
|
|
+ <div class="paper-question-title">
|
|
|
|
+ <span>{{ subQuestion.subNumber }}. </span>
|
|
|
|
+ <span v-html="subQuestion.quesBody"></span>
|
|
|
|
+ <span
|
|
|
|
+ >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
- class="quesSelect"
|
|
|
|
- @mouseover="
|
|
|
|
- quesMouseOver(
|
|
|
|
- getSubQuesEditId(paperDetailUnit, subQuestion)
|
|
|
|
- )
|
|
|
|
- "
|
|
|
|
- @mouseout="
|
|
|
|
- quesMouseOut(getSubQuesEditId(paperDetailUnit, subQuestion))
|
|
|
|
- "
|
|
|
|
|
|
+ v-if="paperDetailUnit.questionType != 'MATCHING_QUESTION'"
|
|
|
|
+ class="paper-question-body"
|
|
>
|
|
>
|
|
<div
|
|
<div
|
|
- :id="getSubQuesEditId(paperDetailUnit, subQuestion)"
|
|
|
|
- class="btnDiv"
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- size="small"
|
|
|
|
- @click="editQues(paperDetailUnit, subQuestion)"
|
|
|
|
- >查看
|
|
|
|
- </el-button>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="quesBody">
|
|
|
|
- <span class="ques-title"
|
|
|
|
- >{{ subQuestion.subNumber }}.
|
|
|
|
- </span>
|
|
|
|
-
|
|
|
|
- <span v-html="subQuestion.quesBody"></span>
|
|
|
|
- <span
|
|
|
|
- >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- v-if="paperDetailUnit.questionType != 'MATCHING_QUESTION'"
|
|
|
|
|
|
+ v-for="(
|
|
|
|
+ subQuesOption, subOptIndex
|
|
|
|
+ ) in subQuestion.quesOptions"
|
|
|
|
+ :key="subOptIndex"
|
|
|
|
+ class="paper-question-option"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- v-for="(
|
|
|
|
- subQuesOption, subOptIndex
|
|
|
|
- ) in subQuestion.quesOptions"
|
|
|
|
- :key="subOptIndex"
|
|
|
|
- class="quesOption"
|
|
|
|
- >
|
|
|
|
- <span class="ques-title"
|
|
|
|
- >{{ subOptIndex | optionOrderWordFilter }}.
|
|
|
|
- </span>
|
|
|
|
- <span v-html="subQuesOption.optionBody"></span>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <span>{{ subOptIndex | optionOrderWordFilter }}. </span>
|
|
|
|
+ <span v-html="subQuesOption.optionBody"></span>
|
|
</div>
|
|
</div>
|
|
- <br />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ :id="getSubQuesEditId(paperDetailUnit, subQuestion)"
|
|
|
|
+ class="view-part-action"
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ size="small"
|
|
|
|
+ type="primary"
|
|
|
|
+ plain
|
|
|
|
+ @click="editQues(paperDetailUnit, subQuestion)"
|
|
|
|
+ >查看
|
|
|
|
+ </el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <br />
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="text-left">
|
|
|
|
- <el-dialog
|
|
|
|
- v-loading.body="dialogLoading"
|
|
|
|
- title="试题查看"
|
|
|
|
- :visible.sync="quesDialog"
|
|
|
|
- @close="closeQuesDialog"
|
|
|
|
- >
|
|
|
|
- <el-form :model="quesModel" label-position="right" label-width="80px">
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :xs="10" :sm="10" :md="10" :lg="10">
|
|
|
|
- <el-form-item label="题型">
|
|
|
|
- <el-select
|
|
|
|
- v-model="quesModel.questionType"
|
|
|
|
- :disabled="true"
|
|
|
|
- placeholder="请输入题型"
|
|
|
|
|
|
+ <!-- 试题查看 -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ v-loading.body="dialogLoading"
|
|
|
|
+ title="试题查看"
|
|
|
|
+ :visible.sync="quesDialog"
|
|
|
|
+ :modal="false"
|
|
|
|
+ append-to-body
|
|
|
|
+ custom-class="side-dialog"
|
|
|
|
+ @close="closeQuesDialog"
|
|
|
|
+ >
|
|
|
|
+ <el-form :model="quesModel" label-position="right" label-width="80px">
|
|
|
|
+ <el-row :gutter="10">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="题型">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="quesModel.questionType"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ placeholder="请输入题型"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in questionTypes"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <el-option
|
|
|
|
- v-for="item in questionTypes"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="10" :sm="10" :md="10" :lg="10">
|
|
|
|
- <el-form-item label="分值">
|
|
|
|
- <el-input
|
|
|
|
- v-model="quesModel.score"
|
|
|
|
- :disabled="true"
|
|
|
|
- placeholder="分值"
|
|
|
|
- ></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <!-- create by weiwenhai 添加难度,公开度,试题属性 -->
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :xs="10" :sm="10" :md="10" :lg="10">
|
|
|
|
- <el-form-item label="难度">
|
|
|
|
- <el-select
|
|
|
|
- v-model="quesModel.difficultyDegree"
|
|
|
|
- placeholder="请输入难度"
|
|
|
|
- :disabled="true"
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="分值">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="quesModel.score"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ placeholder="分值"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="难度">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="quesModel.difficultyDegree"
|
|
|
|
+ placeholder="请输入难度"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in difficultyDegreeList"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <el-option
|
|
|
|
- v-for="item in difficultyDegreeList"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="10" :sm="10" :md="10" :lg="10">
|
|
|
|
- <el-form-item label="公开度">
|
|
|
|
- <el-select
|
|
|
|
- v-model="quesModel.publicity"
|
|
|
|
- placeholder="请输入公开度"
|
|
|
|
- :disabled="true"
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="公开度">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="quesModel.publicity"
|
|
|
|
+ placeholder="请输入公开度"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in publicityList"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <el-option
|
|
|
|
- v-for="item in publicityList"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- <el-col
|
|
|
|
- v-if="quesModel.questionType == 'TEXT_ANSWER_QUESTION'"
|
|
|
|
- :xs="10"
|
|
|
|
- :sm="10"
|
|
|
|
- :md="10"
|
|
|
|
- :lg="10"
|
|
|
|
- >
|
|
|
|
- <el-form-item label="作答类型">
|
|
|
|
- <el-select v-model="quesModel.answerType" :disabled="true">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in answerTypes"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col
|
|
|
|
- v-if="quesModel.questionType && !isNested(quesModel.questionType)"
|
|
|
|
- :xs="10"
|
|
|
|
- :sm="10"
|
|
|
|
- :md="10"
|
|
|
|
- :lg="10"
|
|
|
|
- >
|
|
|
|
- <el-form-item label="时长">
|
|
|
|
- <el-input-number
|
|
|
|
- v-model="quesModel.control.maxAnswerTime"
|
|
|
|
- size="small"
|
|
|
|
- :precision="0"
|
|
|
|
- :min="1"
|
|
|
|
- :disabled="true"
|
|
|
|
- ></el-input-number>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col
|
|
|
|
- v-if="quesModel.questionType == 'MATCHING_QUESTION'"
|
|
|
|
- :xs="10"
|
|
|
|
- :sm="10"
|
|
|
|
- :md="10"
|
|
|
|
- :lg="10"
|
|
|
|
- >
|
|
|
|
- <el-form-item label="配对类型">
|
|
|
|
- <el-select
|
|
|
|
- v-model="quesModel.quesParam.matchingType"
|
|
|
|
- :disabled="true"
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ v-if="quesModel.questionType == 'TEXT_ANSWER_QUESTION'"
|
|
|
|
+ :span="12"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item label="作答类型">
|
|
|
|
+ <el-select v-model="quesModel.answerType" :disabled="true">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in answerTypes"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <el-option
|
|
|
|
- v-for="item in matchingTypes"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col
|
|
|
|
- v-if="quesModel.questionType == 'MATCHING_QUESTION'"
|
|
|
|
- :xs="10"
|
|
|
|
- :sm="10"
|
|
|
|
- :md="10"
|
|
|
|
- :lg="10"
|
|
|
|
- >
|
|
|
|
- <el-form-item label="答题模式">
|
|
|
|
- <el-select
|
|
|
|
- v-model="quesModel.quesParam.matchingMode"
|
|
|
|
- :disabled="true"
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ v-if="quesModel.questionType && !isNested(quesModel.questionType)"
|
|
|
|
+ :span="12"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item label="时长">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="quesModel.control.maxAnswerTime"
|
|
|
|
+ size="small"
|
|
|
|
+ class="select_width"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ v-if="quesModel.questionType == 'MATCHING_QUESTION'"
|
|
|
|
+ :span="12"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item label="配对类型">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="quesModel.quesParam.matchingType"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in matchingTypes"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <el-option
|
|
|
|
- v-for="item in matchingModes"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </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
|
|
|
|
- v-for="(content, propIndex) in quesModel.quesProperties"
|
|
|
|
- :key="propIndex"
|
|
|
|
- placement="top"
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ v-if="quesModel.questionType == 'MATCHING_QUESTION'"
|
|
|
|
+ :span="12"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item label="答题模式">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="quesModel.quesParam.matchingMode"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in matchingModes"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
>
|
|
>
|
|
- <div slot="content">
|
|
|
|
- <span v-if="content.firstProperty != null"
|
|
|
|
- >一级属性:{{ content.firstProperty.name }}</span
|
|
|
|
- ><br />
|
|
|
|
- <span v-if="content.secondProperty != null"
|
|
|
|
- >二级属性:{{ content.secondProperty.name }}</span
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
- <span>
|
|
|
|
- <el-tag
|
|
|
|
- :key="content.id"
|
|
|
|
- style="margin-right: 5px"
|
|
|
|
- :closable="false"
|
|
|
|
- type="primary"
|
|
|
|
- >
|
|
|
|
- {{ content.coursePropertyName }}
|
|
|
|
- </el-tag>
|
|
|
|
- </span>
|
|
|
|
- </el-tooltip>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <!-- end by weiwenhai -->
|
|
|
|
- <div>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col>
|
|
|
|
- <el-form-item label="题目">
|
|
|
|
- <span v-html="quesModel.quesBody"></span>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <div
|
|
|
|
- v-if="
|
|
|
|
- !quesModel.parentType ||
|
|
|
|
- quesModel.parentType != 'MATCHING_QUESTION'
|
|
|
|
- "
|
|
|
|
- >
|
|
|
|
- <el-form-item
|
|
|
|
- v-for="(quesOption, optIndex) in quesModel.quesOptions"
|
|
|
|
- :key="optIndex"
|
|
|
|
- ><el-col :span="2">
|
|
|
|
- <span>{{ optIndex | optionOrderWordFilter }}</span>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="20">
|
|
|
|
- <span v-html="quesOption.optionBody"></span>
|
|
|
|
- </el-col>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="!isNested(quesModel.questionType)">
|
|
|
|
- <el-form-item label="答案">
|
|
|
|
- <span v-html="quesModel.quesAnswer"></span>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- :class="{
|
|
|
|
- margin_left_40: true,
|
|
|
|
- }"
|
|
|
|
- >
|
|
|
|
- <el-button @click="closeQuesDialog">关闭</el-button>
|
|
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-form-item label="属性列表">
|
|
|
|
+ <el-tooltip
|
|
|
|
+ v-for="(content, propIndex) in quesModel.quesProperties"
|
|
|
|
+ :key="propIndex"
|
|
|
|
+ placement="top"
|
|
|
|
+ >
|
|
|
|
+ <div slot="content">
|
|
|
|
+ <span v-if="content.firstProperty != null"
|
|
|
|
+ >一级属性:{{ content.firstProperty.name }}</span
|
|
|
|
+ ><br />
|
|
|
|
+ <span v-if="content.secondProperty != null"
|
|
|
|
+ >二级属性:{{ content.secondProperty.name }}</span
|
|
|
|
+ >
|
|
</div>
|
|
</div>
|
|
|
|
+ <span>
|
|
|
|
+ <el-tag
|
|
|
|
+ :key="propIndex"
|
|
|
|
+ style="margin-right: 5px"
|
|
|
|
+ :closable="false"
|
|
|
|
+ type="primary"
|
|
|
|
+ >
|
|
|
|
+ {{ content.courseProperty.name }}
|
|
|
|
+ </el-tag>
|
|
|
|
+ </span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="题目">
|
|
|
|
+ <div
|
|
|
|
+ class="paper-question-title"
|
|
|
|
+ style="font-weight: 400; padding-top: 7px"
|
|
|
|
+ v-html="quesModel.quesBody"
|
|
|
|
+ ></div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ v-if="
|
|
|
|
+ !quesModel.parentType || quesModel.parentType != 'MATCHING_QUESTION'
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ v-for="(quesOption, optIndex) in quesModel.quesOptions"
|
|
|
|
+ :key="optIndex"
|
|
|
|
+ class="paper-question-option"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ optIndex | optionOrderWordFilter }}. </span>
|
|
|
|
+ <span v-html="quesOption.optionBody"></span>
|
|
</div>
|
|
</div>
|
|
- </el-form>
|
|
|
|
- </el-dialog>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item v-if="!isNested(quesModel.questionType)" label="答案">
|
|
|
|
+ <div
|
|
|
|
+ class="paper-question-body"
|
|
|
|
+ style="padding-top: 6px"
|
|
|
|
+ v-html="quesModel.quesAnswer"
|
|
|
|
+ ></div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer">
|
|
|
|
+ <el-button type="danger" plain @click="closeQuesDialog">关闭</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|