| | |
| | | <span v-if="nindex == 2">三、</span> |
| | | <span v-if="nindex == 3">四、</span> |
| | | <span v-if="nindex == 4">五、</span> |
| | | <span v-html="item.catalogName" ></span> |
| | | <span v-html="item.catalogName"></span> |
| | | </p> |
| | | <el-image v-if="item.catalogImage" :src="item.catalogImage"></el-image> |
| | | <ul> |
| | |
| | | </span> |
| | | <!-- 听力进度条 --> |
| | | <!-- <answerAudioPlayer :audioUrl="value.src" v-show="item.name == '听力题'" /> --> |
| | | |
| | | <!-- 仅文字 --> |
| | | <p |
| | | class="titleText text-fl" |
| | | v-if=" |
| | | value.stemStyle == 'Txt' && value.questionType != 'completion' |
| | | value.stemStyle == 'Txt' && |
| | | value.questionType != 'completion' && |
| | | value.questionType != 'dropdown' |
| | | " |
| | | :id="value.id" |
| | | v-html="value.stem.stemTxt" |
| | | > |
| | | </p> |
| | | ></p> |
| | | <!-- 仅图片 --> |
| | | <el-image |
| | | class="stemImg" |
| | |
| | | class="stemTxtAndImage titleText" |
| | | v-else-if="value.stemStyle == 'TxtAndImage'" |
| | | > |
| | | <span v-html="value.stem.stemTxt"> |
| | | </span> |
| | | <span v-html="value.stem.stemTxt"> </span> |
| | | <el-image |
| | | :src="getPublicImage(value.stem.stemImage, 150)" |
| | | :preview-src-list="[getPublicImage(value.stem.stemImage)]" |
| | |
| | | <span |
| | | v-if="typeof itemText == 'string'" |
| | | v-html="itemText" |
| | | class="input-txt" |
| | | ></span> |
| | | <input |
| | | v-else |
| | |
| | | v-html="value.stem.stemTxt" |
| | | v-cloak |
| | | ></p> |
| | | <!-- 下拉选择题 --> |
| | | <p class="titleText" v-if="value.questionType == 'dropdown'"> |
| | | <span |
| | | v-for="(itemText, indexText) in value.stem" |
| | | :key="indexText + 'questionType'" |
| | | > |
| | | <span |
| | | v-if="typeof itemText == 'string'" |
| | | v-html="itemText" |
| | | class="input-txt" |
| | | ></span> |
| | | <el-select |
| | | v-else |
| | | v-model="value.userAnswer" |
| | | :disabled="value.isComplete" |
| | | > |
| | | <el-option |
| | | v-for="(citem, cindex) in value.option" |
| | | :key="cindex + 'dropdown'" |
| | | :label="citem" |
| | | :value="citem" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <img |
| | | :src="value.isCollect ? isHeart : heart" |
| | |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | <!-- 简答 翻译 --> |
| | | <!-- <TEditorVue |
| | | v-else-if="value.questionType == 'shortAnswer'" |
| | | :value="value.userAnswer" |
| | | :disabled="value.isComplete" |
| | | @getContent=" |
| | | (val) => { |
| | | value.userAnswer = val.trim(); |
| | | inputChange(); |
| | | } |
| | | " |
| | | ></TEditorVue> --> |
| | | <TEditorVue |
| | | v-else-if="value.questionType == 'formula'" |
| | | :value="value.userAnswer" |
| | | :disabled="value.isComplete" |
| | | @getContent=" |
| | | (val) => { |
| | | value.userAnswer = val; |
| | | } |
| | | " |
| | | /> |
| | | <el-input |
| | | :disabled="value.isComplete" |
| | | style="width: 94%; margin: 0 auto" |
| | |
| | | <div class="analysis" v-if="value.isComplete"> |
| | | <el-collapse |
| | | v-model="value.isUnfold" |
| | | @change="handleChange(value)" |
| | | accordion |
| | | v-if="value.questionType != 'shortAnswer'" |
| | | v-if=" |
| | | value.questionType != 'shortAnswer' || |
| | | value.questionType != 'formula' |
| | | " |
| | | > |
| | | <el-collapse-item :name="value.id" class="objective"> |
| | | <template #title> |
| | |
| | | ></div> |
| | | <div v-else>暂无数据</div> |
| | | </el-collapse-item> |
| | | <!-- 主观题 --> |
| | | </el-collapse> |
| | | <!-- 主观题 --> |
| | | <el-collapse v-else v-model="value.isUnfold" accordion> |
| | | <el-collapse-item :name="value.id" class="objective"> |
| | | <template #title> |
| | |
| | | |
| | | <script> |
| | | import { Message } from "element-ui"; |
| | | import TEditorVue from "../teditor/index.vue"; |
| | | export default { |
| | | name: "examination-option", |
| | | components: { TEditorVue }, |
| | | props: { |
| | | cardList: { |
| | | type: Array, |
| | |
| | | watch: { |
| | | cardList: { |
| | | handler(newVal) { |
| | | // console.log('新值',newVal); |
| | | this.cardData = this.cardList; |
| | | if (newVal && newVal.length) { |
| | | this.loading = false; |
| | |
| | | this.getErrorList(); |
| | | }, |
| | | methods: { |
| | | // 获取不受保护的图片 |
| | | getPublicImage(md5, width, height) { |
| | | if (!md5) return; |
| | | if (md5.includes("http")) return md5; |
| | | let src = null; |
| | | if (md5) { |
| | | src = process.env.VUE_APP_API_URL + `/file/GetPreViewImage?md5=${md5}`; |
| | | } |
| | | if (width) src += `&width=${width}`; |
| | | if (height) src += `&height=${height}`; |
| | | return src; |
| | | }, |
| | | // 数组转为字符串方法 |
| | | arrayToString(data) { |
| | | // 检查是否为数组 |
| | |
| | | } |
| | | } else if ( |
| | | citem.questionType == "singleChoice" || |
| | | citem.questionType == "judge" |
| | | citem.questionType == "judge" || |
| | | citem.questionType == "dropdown" |
| | | ) { |
| | | if (citem.id == "63825") console.log("i", item); |
| | | citem.isRight = citem.answer == citem.userAnswer; |
| | | } else if (citem.questionType == "shortAnswer") { |
| | | // 简答 翻译 |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .titleText img { |
| | | max-width: 80%; |
| | | } |
| | | </style> |
| | | |
| | | <style lang="less" scoped> |
| | | .catalogName { |
| | |
| | | font-weight: bold; |
| | | } |
| | | .text-fl { |
| | | display:flex; |
| | | align-items:center; |
| | | flex-wrap:wrap; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | } |
| | | .titleText { |
| | | text-align: left; |
| | |
| | | font-size: 16px; |
| | | line-height: 32px; |
| | | color: #000; |
| | | |
| | | .input-txt { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | align-items: center; |
| | | } |
| | | span { |
| | | display: inline-block; |
| | | font-size: 16px; |
| | | // line-height: 26px; |
| | | color: #000; |
| | | font-weight: 400; |
| | | margin-top: 6px; |