| | |
| | | <div>附加题</div> |
| | | <div :class="exercisesType == 'additional' ? 'text' : 'line'"></div> |
| | | </div> |
| | | <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1" /> |
| | | <!-- <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1" /> |
| | | <div |
| | | class="tabItem hover" |
| | | @click="selectExercisesType('wrong')" |
| | |
| | | > |
| | | <div>错题本</div> |
| | | <div :class="exercisesType == 'wrong' ? 'text' : 'line'"></div> |
| | | </div> |
| | | <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1" /> |
| | | </div> --> |
| | | <!-- <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1" /> |
| | | <div |
| | | class="tabItem hover" |
| | | @click="selectExercisesType('collection')" |
| | |
| | | > |
| | | <div>收藏夹</div> |
| | | <div :class="exercisesType == 'collection' ? 'text' : 'line'"></div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | <!-- 目录 --> |
| | |
| | | v-else-if="item.icon && activeClassify != 'image'" |
| | | /> |
| | | <!-- <el-icon v-else-if="activeClassify == 'image'" size="30"></el-icon> --> |
| | | <el-icon v-else-if="activeClassify == 'audio'" size="30"><Headset /></el-icon> |
| | | <el-icon v-else-if="activeClassify == 'video'" size="30" |
| | | <!-- <el-icon v-else-if="activeClassify == 'audio'" size="30"><Headset /></el-icon> --> |
| | | <!-- <el-icon v-else-if="activeClassify == 'video'" size="30" |
| | | ><VideoCamera |
| | | /></el-icon> |
| | | <el-icon v-else-if="activeClassify == 'other'" size="30"><Files /></el-icon> |
| | | <el-icon v-else-if="activeClassify == 'exercises'" size="30" |
| | | ><Tickets |
| | | /></el-icon> |
| | | /></el-icon> --> |
| | | <!-- <el-icon v-else-if="activeClassify == 'other'" size="30"><Files /></el-icon> --> |
| | | <img src="@/assets/images/resource/yp-mr.png" v-else-if="activeClassify == 'audio'" /> |
| | | <img src="@/assets/images/resource/sp-mr.png" v-else-if="activeClassify == 'video'" /> |
| | | <img src="@/assets/images/resource/qt-mr.png" v-else-if="activeClassify == 'other'" /> |
| | | <div class="handleBox" v-if="showHandle == index"> |
| | | <div class="delImg"> |
| | | <el-icon |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 题库底部收藏夹和错题集 --> |
| | | <ul class="question-bottom" v-if="activeMenu == '题库'"> |
| | | <li @click="selectExercisesType('collection')">收藏夹</li> |
| | | <li @click="selectExercisesType('wrong')">错题本</li> |
| | | </ul> |
| | | <!-- 菜单内容收起 --> |
| | | <div class="menuStateBox" v-if="menuState.open"> |
| | | <svg |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 语音阅读组件 --> |
| | | <!-- <div class="voice-reader"> |
| | | <voiceReader /> |
| | | </div> --> |
| | | </div> |
| | | <!-- 教学组件 --> |
| | | <div class="toolBox"> |
| | |
| | | :type="examinationData.type" |
| | | :infoType="examinationData.infoType" |
| | | /> |
| | | <!-- 计算器 --> |
| | | <el-dialog title="计算器" align-center v-model="calculatorVisble" width="40%"> |
| | | |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | |
| | | import dictionary from '@/views/components/dictionary.vue' |
| | | import newWord from '@/views/components/newWord.vue' |
| | | import wrongQuestion from '@/views/components/wrongQuestion.vue' |
| | | import voiceReader from '@/views/components/voiceReader.vue' |
| | | import { ElMessage, ElMessageBox, valueEquals } from 'element-plus' |
| | | import logo from '@/assets/images/header/logo.png' |
| | | import mulu from '@/assets/images/menu/mulu.png' |
| | |
| | | }) |
| | | } |
| | | } |
| | | } else { |
| | | resourceDataList.value = [] |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | //错题本 |
| | | const wrongQuestionVisble = ref(false) |
| | | const selectExercisesType = (type) => { |
| | | exercisesType.value = type |
| | | searchText.value = '' |
| | | |
| | | if (type == 'exercises') { |
| | | getExercisesList() |
| | | exercisesType.value = type |
| | | searchText.value = '' |
| | | } else if (type == 'additional') { |
| | | getAdditionalList() |
| | | exercisesType.value = type |
| | | searchText.value = '' |
| | | } else if (type == 'wrong') { |
| | | openExaminationDialog(true, {}, 'errorQuestion') |
| | | questionList.value = [] |
| | | } else { |
| | | openExaminationDialog(true, {}, 'collectQuestion') |
| | | questionList.value = [] |
| | | } |
| | | } |
| | | // 题列表点击 |
| | |
| | | const siweiVisble = ref(false) |
| | | const modelToolVisble = ref(false) |
| | | const shengciVisble = ref(false) |
| | | const calculatorVisble = ref(false) |
| | | const activeTool = ref(0) |
| | | const toolState = reactive({ |
| | | open: true |
| | |
| | | case '生词卡片': |
| | | resourceUrl.value = bookConfig.value.resourceUrl |
| | | shengciVisble.value = true |
| | | break |
| | | case '计算器': |
| | | calculatorVisble.value = true |
| | | break |
| | | } |
| | | } else { |
| | | ElMessageBox.confirm('请先登录!', { |
| | |
| | | } |
| | | } |
| | | .menuContent { |
| | | // position: relative; |
| | | width: 300px; |
| | | flex-shrink: 0; |
| | | height: calc(100vh - 48px); |
| | |
| | | .screenshotList { |
| | | height: calc(100% - 60px); |
| | | overflow-y: auto; |
| | | } |
| | | .questionList { |
| | | height:83% |
| | | } |
| | | .question-bottom { |
| | | position: absolute; |
| | | bottom: 0; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | width:300px; |
| | | padding:20px 0; |
| | | background-color:#fff; |
| | | li { |
| | | cursor: pointer; |
| | | width: 65px; |
| | | height:65px; |
| | | border:1px solid #cfcfcf; |
| | | border-radius:10px; |
| | | background-color:#f9f9f9; |
| | | display:flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | .menuStateBox { |
| | |
| | | width: 100%; |
| | | } |
| | | } |
| | | .voice-reader { |
| | | position:absolute; |
| | | bottom:30px; |
| | | left:50px; |
| | | } |
| | | </style> |