From cf4bbfabdd5da60ac78cc43a4febbb7e7d559f92 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期五, 22 十一月 2024 11:11:40 +0800 Subject: [PATCH] 公式输入框样式 --- src/views/examination/index.vue | 64 ++++++++++++++++++------------- 1 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/views/examination/index.vue b/src/views/examination/index.vue index d54014d..41dfcc6 100644 --- a/src/views/examination/index.vue +++ b/src/views/examination/index.vue @@ -85,6 +85,7 @@ :cardList="examination.cardList" @setCollect="setCollect" @onChangeRadio="onChangeRadio" + @onChangeInput="onChangeInput" /> </div> </li> @@ -190,7 +191,7 @@ getErrorList() } else if (props.type == 'collectQuestion') { examination.submitStatus = true - await getcollectId() // 鑾峰彇鏀惰棌棰樼洰 + await getcollectId() // 鑾峰彇鏀惰棌棰樼洰id // 鏀惰棌澶� } else if (props.type == 'errorQuestion') { examination.submitStatus = true @@ -210,7 +211,7 @@ examination.loading = true examination.submitStatus = false examination.cardList = [] - examination.collectList = [] + // examination.collectList = [] examination.errorList = [] goTop() if (props.type == 'option') { @@ -244,7 +245,7 @@ } else if (item.questionType == 'singleChoice' || item.questionType == 'judge') { // 鍗曢�� 鍒ゆ柇 item.isRight = item.answer == item.userAnswer - } else if (item.questionType == 'shortAnswer') { + } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') { // 绠�绛� 缈昏瘧 item.isRight = null } else if (item.questionType == 'completion') { @@ -275,7 +276,7 @@ citem.isUnfold = '' examination.isCollapse = false } else { - citem.questionType == 'shortAnswer' ? (citem.isUnfold = true) : (citem.isUnfold = citem.id) + citem.questionType == 'shortAnswer' || citem.questionType == 'formula' ? (citem.isUnfold = true) : (citem.isUnfold = citem.id) examination.isCollapse = true } } @@ -289,8 +290,13 @@ examination.submitStatus = true } // 棰樼洰鏀惰棌鎸夐挳,鏀惰棌鍜屽彇娑堝悓涓�鎺ュ彛锛屽彇娑堟暟缁勫噺鍘昏椤筰d -const setCollect = (num: number, number: number) => { - const item = examination.cardList[num].infoList[number] +const setCollect = (num: number, number?: number) => { + let item = null + if(number) { + item = examination.cardList[num].infoList[number] + } else { + item = examination.cardList[num] + } item.isCollect = !item.isCollect if (item.isJson) { // json棰樼洰鏀惰棌鍙栨秷 @@ -624,16 +630,16 @@ domain: 'collectData', keys: [props.activeBook.bookId] }) - .then(async (res) => { + .then(async (res:any) => { 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) {} @@ -663,9 +669,10 @@ } // 鑾峰彇鏀惰棌澶� const getCollectDataList = async () => { + console.log('鏀惰棌id',examination.allCollect) // 寮�濮嬭姹� let oldData = null - let oldList = [] + let oldList:any = [] let cardList = [ { catalogName: '鍗曢�夐', @@ -688,11 +695,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.collectList.length; qindex++) { const qitem = examination.collectList[qindex] @@ -752,7 +759,7 @@ isSubmit: false, // 鏌ョ湅瑙f瀽 isRight: null, // 鏄惁姝g‘ isComplete: false, - isCollect: examination.collectList.indexOf(item.id) > -1 ? true : false, + isCollect: true, isUnfold: '' } // 澶氶�夊拰濉┖绛旀鑲负鏁扮粍锛岃杞崲JSON鏍煎紡 @@ -786,7 +793,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) }) } @@ -808,7 +815,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"') @@ -889,7 +896,7 @@ } } } - + console.log('鏀惰棌json',jsonCollectList); for (let index = 0; index < jsonCollectList.length; index++) { const item = jsonCollectList[index] if (item.questionType == 'singleChoice') { @@ -900,11 +907,11 @@ examination.cardList[2].infoList.push(item) } else if (item.questionType == 'completion') { examination.cardList[3].infoList.push(item) - } else if (item.questionType == 'shortAnswer') { + } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') { examination.cardList[4].infoList.push(item) } else if (item.type && item.type == 'material') { examination.cardList[examination.cardList.length] = item - } + } } examination.cardList = examination.cardList.filter((item) => item.infoList.length > 0) console.log('鎷兼帴棰�', examination.cardList) @@ -1128,7 +1135,7 @@ } else if (item.Embedded_QuestionBank_QuestionType == 'completion') { questionObj.type = '濉┖棰�' completionArr.push(questionObj) - } else if (item.Embedded_QuestionBank_QuestionType == 'shortAnswer') { + } else if (item.Embedded_QuestionBank_QuestionType == 'shortAnswer' ) { questionObj.type = '绠�绛旈' shortArr.push(questionObj) } @@ -1185,7 +1192,7 @@ examination.cardList[2].infoList.push(item) } else if (item.questionType == 'completion') { examination.cardList[3].infoList.push(item) - } else if (item.questionType == 'shortAnswer') { + } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') { examination.cardList[4].infoList.push(item) } else if (item.type && item.type == 'material') { examination.cardList[examination.cardList.length] = item @@ -1215,7 +1222,7 @@ } else if (citem.questionType == 'singleChoice' || citem.questionType == 'judge') { if (citem.id == '63825') console.log('i', item) citem.isRight = citem.answer == citem.userAnswer - } else if (citem.questionType == 'shortAnswer') { + } else if (citem.questionType == 'shortAnswer' || item.questionType == 'formula') { // 绠�绛� 缈昏瘧 citem.isRight = null } else if (citem.questionType == 'completion') { @@ -1230,7 +1237,7 @@ } } } - if (!citem.isRight && citem.questionType != 'shortAnswer') { + if (!citem.isRight && citem.questionType != 'shortAnswer' && citem.questionType != 'formula') { // 瀹㈣棰樺洖绛旈敊璇� 璁板綍閿欓 if (citem.isJson) { @@ -1345,7 +1352,7 @@ keys: [props.info.id] }) .then((res:any) => { - if(res) { + if(res.length) { data = JSON.parse(res[0].value) } }) @@ -1419,6 +1426,9 @@ console.log('閿欓宸叉竻绌�') }) } +const onChangeInput = (value:any,index:number,cindex:number,dindex:number) => { + examination.cardList[index].infoList[cindex].userAnswer[dindex] = value +} defineExpose({ handleExaminationDialog }) </script> -- Gitblit v1.9.1