From f0c2c003738addcc452c4e7a001481f245056dec Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期五, 28 六月 2024 12:00:42 +0800 Subject: [PATCH] 题库优化 --- src/views/readerPages/webHome.vue | 46 +++++++++++++++++++---- src/views/examination/components/list.vue | 6 +- src/views/examination/components/sheet.vue | 6 +- src/views/examination/index.vue | 60 +++++++++++++++--------------- 4 files changed, 74 insertions(+), 44 deletions(-) diff --git a/src/views/examination/components/list.vue b/src/views/examination/components/list.vue index 216bf7a..28c33b8 100644 --- a/src/views/examination/components/list.vue +++ b/src/views/examination/components/list.vue @@ -339,7 +339,7 @@ // if (props.collectList) presentId.value = props.collectList[0] }) // 鏁扮粍杞负瀛楃涓叉柟娉� -const arrayToString = (data) => { +const arrayToString = (data:any) => { // 妫�鏌ユ槸鍚︿负鏁扮粍 if (Array.isArray(data)) { // 浣跨敤 join 鏂规硶灏嗘暟缁勮浆鎹负瀛楃涓诧紝榛樿浣跨敤閫楀彿鍒嗛殧 @@ -349,7 +349,7 @@ return data.replace(/<[^>]*>/g, '') } } -const isHaveAnswer = (data) => { +const isHaveAnswer = (data:any) => { if (typeof data == 'string') { data = data .replace(/<[^>]*>/g, '') @@ -370,7 +370,7 @@ } } // 鏀惰棌鎸夐挳 -const handleCollect = (num,number) => { +const handleCollect = (num:number,number:number) => { emits('setCollect',num,number) } // 鍗曢�夋杈撳叆 diff --git a/src/views/examination/components/sheet.vue b/src/views/examination/components/sheet.vue index 3af01de..32412d7 100644 --- a/src/views/examination/components/sheet.vue +++ b/src/views/examination/components/sheet.vue @@ -102,8 +102,8 @@ import { defineProps, watch, ref, computed, defineEmits, onMounted } from 'vue' const props = defineProps<{ cardList: any - submitStatus: boolean - answerType: string, + submitStatus: Boolean + answerType: String, }>() @@ -113,7 +113,7 @@ document.getElementById(`listItem-${id}`)!.scrollIntoView() } // 鍒ゆ柇鏄惁杈撳叆绛旀 -const isHaveAnswer = (data) => { +const isHaveAnswer = (data:any) => { if (typeof data == 'string') { data = data .replace(/<[^>]*>/g, '') diff --git a/src/views/examination/index.vue b/src/views/examination/index.vue index 58082f3..573ab21 100644 --- a/src/views/examination/index.vue +++ b/src/views/examination/index.vue @@ -349,24 +349,24 @@ domain: 'collectData', keys: [props.activeBook.bookId] }) - .then((res) => { + .then((res:any) => { console.log('鏀惰棌鏁版嵁', res) try { const collect = JSON.parse(res[0].value) if (collect.length) { - examination.collectList = collect.find((citem) => citem.type == 'bits').collectList + examination.collectList = collect.find((citem:any) => citem.type == 'bits').collectList examination.allCollect[0].collectList = collect.find( - (citem) => citem.type == 'bits' + (citem:any) => citem.type == 'bits' ).collectList examination.allCollect[1].collectList = collect.find( - (citem) => citem.type == 'json' + (citem:any) => citem.type == 'json' ).collectList } } catch (error) { console.log('鏆傛棤鏁版嵁') } if (props.type == 'option') { - getAnswerInfo(async (res) => { + getAnswerInfo(async (res:any) => { if (res.length) { // 鏈夎褰曪紝涓嶈兘绛旈锛岀姸鎬佽涓哄凡鎻愪氦 examination.submitStatus = true @@ -921,14 +921,14 @@ domain: 'errorData', keys: [props.activeBook.bookId] }) - .then(async (res) => { + .then(async (res:any) => { try { const error = JSON.parse(res[0].value) if (error.length) { console.log('鏈夊悧', error) - examination.errorList = error.find((citem) => citem.type == 'bits').errorList - examination.allError[0].errorList = error.find((citem) => citem.type == 'bits').errorList - examination.allError[1].errorList = error.find((citem) => citem.type == 'json').errorList + examination.errorList = error.find((citem:any) => citem.type == 'bits').errorList + examination.allError[0].errorList = error.find((citem:any) => citem.type == 'bits').errorList + examination.allError[1].errorList = error.find((citem:any) => citem.type == 'json').errorList } } catch (error) {} if (examination.allError[0].errorList || examination.allError[1].errorList) { @@ -960,7 +960,7 @@ } // 寮�濮嬭姹� let oldData = null - let oldList = [] + let oldList:any = [] let cardList = [ { catalogName: '鍗曢�夐', @@ -983,11 +983,11 @@ infoList: [] } ] - let singleChoiceArr = [] // 鍗曢�� - let judgeArr = [] // 鍒ゆ柇 - let shortArr = [] // 绠�绛� - let multipleChoiceArr = [] // 澶氶�� - let completionArr = [] // 濉┖ + let singleChoiceArr:any = [] // 鍗曢�� + let judgeArr:any = [] // 鍒ゆ柇 + let shortArr:any = [] // 绠�绛� + let multipleChoiceArr:any = [] // 澶氶�� + let completionArr:any = [] // 濉┖ // 11 for (let qindex = 0; qindex < examination.errorList.length; qindex++) { const qitem = examination.errorList[qindex] @@ -1013,10 +1013,10 @@ } const res = await MG.store.getProductDetail(query) if (!res.datas) return false - res.datas.cmsDatas[0].datas.forEach((item, index) => { + res.datas.cmsDatas[0].datas.forEach((item:any, index:number) => { let oldObj = {} if (oldList) { - oldObj = oldList.find((item) => item.id == qitem) + oldObj = oldList.find((item:any) => item.id == qitem) } const questionObj = { number: index + 1, // 棰樺彿 @@ -1081,7 +1081,7 @@ questionObj.stem.stemImage = getPublicImage(questionObj.stem.stemImage, 150) } if (questionObj.optionStyle == 'Image' || questionObj.optionStyle == 'TxtAndImage') { - questionObj.option.forEach((optionItem) => { + questionObj.option.forEach((optionItem:any) => { if (optionItem.img) optionItem.img = getPublicImage(optionItem.img, 150) }) } @@ -1103,7 +1103,7 @@ questionObj.questionType == 'judge' || questionObj.questionType == 'multipleChoice') ) { - questionObj.option.forEach((item) => { + questionObj.option.forEach((item:any) => { if (item.txt) item.txt = item.txt .replace(/\<img/gi, '<img class="option-rich-img"') @@ -1286,7 +1286,7 @@ } ] }) - .then((res) => { + .then((res:any) => { console.log('閿欓宸蹭繚瀛�', examination.allError) }) if (props.type == 'option') { @@ -1331,7 +1331,7 @@ setUserAnswer(arr) } // 鏈彁浜ら��鍑虹瓟棰橈紝淇濆瓨鐢ㄦ埛绛旀 -const setUserAnswer = (data) => { +const setUserAnswer = (data:any) => { MG.identity .setUserKey({ setKeyRequests: [ @@ -1342,7 +1342,7 @@ } ] }) - .then((res) => { + .then((res:any) => { console.log('鎻愪氦鐢ㄦ埛绛旈鏁版嵁鎴愬姛') }) } @@ -1354,7 +1354,7 @@ domain: 'beforeAnswerData', keys: [props.info.id] }) - .then((res) => { + .then((res:any) => { if(res) { data = JSON.parse(res[0].value) } @@ -1362,13 +1362,13 @@ return data } // 鑾峰彇鐢ㄦ埛鏃х瓟棰樻暟鎹�(鎻愪氦鍚�) -const getAnswerInfo = (callback) => { +const getAnswerInfo = (callback:any) => { MG.identity .getUserKey({ domain: 'answerData', keys: [props.info.id] }) - .then((res) => { + .then((res:any) => { if (callback) callback(res) }) } @@ -1384,18 +1384,18 @@ } ] }) - .then((res) => { + .then((res:any) => { console.log('鎻愪氦鐢ㄦ埛绛旈鏁版嵁鎴愬姛') }) } // 鍒犻櫎鐢ㄦ埛绛旈鏁版嵁 -const deleteAnswerInfo = (callback) => { +const deleteAnswerInfo = (callback:any) => { MG.identity .delUserKey({ domain: 'answerData', keys: [props.info.id] }) - .then((res) => { + .then((res:any) => { if (callback) callback() }) } @@ -1410,7 +1410,7 @@ } ] }) - .then((res) => { + .then((res:any) => { console.log('鏀惰棌/鍙栨秷鎴愬姛') }) } @@ -1425,7 +1425,7 @@ } ] }) - .then((res) => { + .then((res:any) => { console.log('閿欓宸蹭繚瀛�', examination.allError) }) } diff --git a/src/views/readerPages/webHome.vue b/src/views/readerPages/webHome.vue index 34bd1d5..483570f 100644 --- a/src/views/readerPages/webHome.vue +++ b/src/views/readerPages/webHome.vue @@ -141,7 +141,7 @@ <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')" @@ -149,8 +149,8 @@ > <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')" @@ -158,7 +158,7 @@ > <div>鏀惰棌澶�</div> <div :class="exercisesType == 'collection' ? 'text' : 'line'"></div> - </div> + </div> --> </div> </div> <!-- 鐩綍 --> @@ -535,6 +535,11 @@ </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 @@ -2340,18 +2345,19 @@ //閿欓鏈� 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 = [] } } // 棰樺垪琛ㄧ偣鍑� @@ -4112,6 +4118,7 @@ } } .menuContent { + // position: relative; width: 300px; flex-shrink: 0; height: calc(100vh - 48px); @@ -4532,6 +4539,29 @@ 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: 25px; -- Gitblit v1.9.1