| | |
| | | v-show="item.infoList.length" |
| | | > |
| | | <p class="catalogName" :style="{ color: primaryColor }"> |
| | | <span v-if="nindex == 0">一、</span> |
| | | <span v-if="nindex == 1">二、</span> |
| | | <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 class="catalogName-box"> |
| | | <span v-if="nindex == 0">一、</span> |
| | | <span v-if="nindex == 1">二、</span> |
| | | <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> |
| | | <img |
| | | :src="item.isCollect ? isHeart : heart" |
| | | alt="" |
| | | class="collect-png" |
| | | @click="setCollect(nindex, index)" |
| | | v-if="!hideCollect && item.type == 'material'" |
| | | /> |
| | | </p> |
| | | <el-image v-if="item.catalogImage" :src="item.catalogImage"></el-image> |
| | | <el-image |
| | | v-if="item.catalogImage" |
| | | :src="item.catalogImage" |
| | | :preview-src-list="[item.catalogImage]" |
| | | class="catalogImage" |
| | | ></el-image> |
| | | <ul> |
| | | <li |
| | | v-for="(value, index) in item.infoList" |
| | |
| | | v-html="itemText" |
| | | class="input-txt" |
| | | ></span> |
| | | <input |
| | | <!-- <input |
| | | v-else |
| | | type="text" |
| | | class="input" |
| | | v-model.trim="value.userAnswer[itemText.num]" |
| | | :disabled="value.isComplete" |
| | | :style="{ backgroundColor: inputBc }" |
| | | /> |
| | | /> --> |
| | | <math-field |
| | | v-else |
| | | class="mathField" |
| | | :menuItems="[]" |
| | | @input="onChangeInput($event, nindex, index, itemText.num)" |
| | | > |
| | | {{ value.userAnswer[itemText.num] }} |
| | | </math-field> |
| | | </span> |
| | | </p> |
| | | <!-- 富文本 --> |
| | |
| | | v-html="itemText" |
| | | class="input-txt" |
| | | ></span> |
| | | <el-select |
| | | <select |
| | | v-else |
| | | v-model="value.userAnswer" |
| | | :disabled="value.isComplete" |
| | | > |
| | | <el-option |
| | | <option |
| | | v-for="(citem, cindex) in value.option" |
| | | :key="cindex + 'dropdown'" |
| | | :label="citem" |
| | | :value="citem" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | ></option> |
| | | </select> |
| | | </span> |
| | | </p> |
| | | </div> |
| | |
| | | alt="" |
| | | class="collect-png" |
| | | @click="setCollect(nindex, index)" |
| | | v-if="!(hideCollect && value.questionType == 'shortAnswer')" |
| | | v-if="!hideCollect && item.type != 'material'" |
| | | /> |
| | | <!-- 收藏 --> |
| | | </div> |
| | |
| | | v-model="value.isUnfold" |
| | | accordion |
| | | v-if=" |
| | | value.questionType != 'shortAnswer' || |
| | | value.questionType != 'shortAnswer' && |
| | | value.questionType != 'formula' |
| | | " |
| | | > |
| | |
| | | <div class="referBox" v-if="value.analysisCon"> |
| | | <span>解析:</span> |
| | | <p |
| | | v-if="value.analysisCon" |
| | | v-html="value.analysisCon" |
| | | :class=" |
| | | [ |
| | |
| | | ].join(' ') |
| | | " |
| | | ></p> |
| | | <p v-else class="ti-2">暂无数据</p> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { MathfieldElement } from "mathlive"; |
| | | import { Message } from "element-ui"; |
| | | import TEditorVue from "../teditor/index.vue"; |
| | | export default { |
| | |
| | | // 获取不受保护的图片 |
| | | getPublicImage(md5, width, height) { |
| | | if (!md5) return; |
| | | if (md5.includes("http")) return md5; |
| | | if (md5.includes("http")) { |
| | | if (width) { |
| | | return md5 + `?width=${width}`; |
| | | } else { |
| | | return md5; |
| | | } |
| | | } |
| | | let src = null; |
| | | if (md5) { |
| | | src = process.env.VUE_APP_API_URL + `/file/GetPreViewImage?md5=${md5}`; |
| | |
| | | const item = this.cardData[index]; |
| | | for (let cindex = 0; cindex < item.infoList.length; cindex++) { |
| | | const citem = item.infoList[cindex]; |
| | | citem.userAnswer = ""; |
| | | if (typeof citem.userAnswer == "string") { |
| | | citem.userAnswer = ""; |
| | | } else { |
| | | if (citem.questionType == "multipleChoice") { |
| | | citem.userAnswer = []; |
| | | } else { |
| | | // 填空题 |
| | | for (let dindex = 0; dindex < citem.userAnswer.length; dindex++) { |
| | | citem.userAnswer[dindex] = ''; |
| | | } |
| | | } |
| | | } |
| | | citem.isComplete = false; |
| | | } |
| | | } |
| | |
| | | }, |
| | | // 题目收藏按钮,收藏和取消同一接口,取消数组减去该项id |
| | | setCollect(num, number) { |
| | | const item = this.cardData[num].infoList[number]; |
| | | let item = null; |
| | | if (number) { |
| | | item = this.cardData[num].infoList[number]; |
| | | } else { |
| | | item = this.cardData[num]; |
| | | } |
| | | item.isCollect = !item.isCollect; |
| | | console.log(111, item); |
| | | if (this.cardData.length == 0) { |
| | | this.collectList.push(item.id); |
| | | } else { |
| | |
| | | const item = this.allCollect[index]; |
| | | if (item.type == this.sourceType) item.collectList = this.collectList; |
| | | } |
| | | // console.log(this.allCollect, this.collectList, list); |
| | | console.log("点击收藏按钮", this.allCollect); |
| | | this.MG.identity |
| | | .setUserKey({ |
| | | setKeyRequests: [ |
| | |
| | | .then((res) => { |
| | | try { |
| | | const collect = JSON.parse(res[0].value); |
| | | console.log("全部收藏id", collect); |
| | | if (collect.length) { |
| | | this.collectList = collect.find( |
| | | (citem) => citem.type == this.sourceType |
| | |
| | | ).errorList; |
| | | } |
| | | } catch (error) {} |
| | | console.log("错题列表", this.allError); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | onChangeInput(e, index, cindex, num) { |
| | | this.cardData[index].infoList[cindex].userAnswer[num] = e.target.value; |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | |
| | | <style lang="less" scoped> |
| | | .catalogName { |
| | | display: flex; |
| | | text-indent: 1em !important; |
| | | font-size: 16px; |
| | | .catalogName-box { |
| | | display: inline-block; |
| | | width: 94%; |
| | | } |
| | | } |
| | | |
| | | .catalogImage { |
| | | width: 50%; |
| | | } |
| | | .examination { |
| | | min-height: 100px; |
| | | ul { |
| | |
| | | flex-wrap: wrap; |
| | | } |
| | | .titleText { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | align-items: center; |
| | | text-align: left; |
| | | min-width: 90%; |
| | | font-size: 16px; |
| | |
| | | font-weight: 400; |
| | | margin-top: 6px; |
| | | } |
| | | |
| | | select { |
| | | outline: none; |
| | | min-width: 100px; |
| | | } |
| | | input { |
| | | width: 140px; |
| | | height: 24px; |
| | |
| | | width: 21px; |
| | | height: 21px; |
| | | } |
| | | .mathField { |
| | | min-width: 200px; |
| | | max-width: 518px; |
| | | } |
| | | } |
| | | |
| | | /** 选项 */ |