diff --git a/packageB/train/practice/startPracticing.vue b/packageB/train/practice/startPracticing.vue index ec261df..1575fa9 100644 --- a/packageB/train/practice/startPracticing.vue +++ b/packageB/train/practice/startPracticing.vue @@ -1,7 +1,93 @@ - 专项练习 + + + 正确率:0% + 用时:00:00 + 暂停 + + + + + + 单选题 + 多选题 + 判断题 + {{item.content}} + + + + {{indexToLetter(i)}} + {{val}} + + + + + {{indexToLetter(i)}} + {{val}} + + + + + + 正确 + + + 错误 + + + + + 回答正确! + + + + + 正确答案: + {{String.fromCharCode(65 + Number(item.answer))}}. + + {{indexToLetter(val-1)}}. + + {{item.answer}} + + + 答案解析: + {{item.answerDesc}} + + + 知识点: + + {{item.knowledgePoint}} + + + + + 提交答案 + 下一题 + + + + + + @@ -13,9 +99,79 @@ const { $api, navTo, vacanciesTo, formatTotal, config } = inject('globalFunction import useUserStore from '@/stores/useUserStore'; import useDictStore from '@/stores/useDictStore'; -function jumps(url){ - navTo(url); -} +const radio = ref(''); +const radio2 = ref(''); +const checkList = ref([]); +const questionIndex = ref(1); +const correctIndex = ref(0); +const errorsIndex = ref(0); +const accuracyRate = ref(0); +const problemData = reactive([ + { + type:'single', + content:"君不见黄河之水天上来,下一句是?", + fraction:5, + trainChooses:"奔流到海不复回,朝如青丝暮成雪,人生得意须尽欢,莫使金樽空对月", + },{ + type:'multiple', + content:"以下哪些是欧姆定律的适用条件?", + fraction:8, + trainChooses:"线性电阻,恒定温度,金属导体,半导体材料", + + },{ + type:'judge', + content:"功率越大的电器,其电阻值越小", + fraction:2, + trainChooses:[ + "正确", + "错误", + ] + } +]); + +function selected(i){ + radio.value=i +}; +//多选 +function selected2(i){ + let arr=checkList.value.join(",") + if(arr.indexOf(i) !== -1){ + const index = checkList.value.indexOf(i); + if (index !== -1) { + checkList.value.splice(index, 1); + } + }else{ + checkList.value.push(i) + } +}; +function judgment(i){ + let arr=checkList.value.join(",") + if(arr.indexOf(i) !== -1){ + return true + }else{ + return false + } +}; +function selected3(i){ + radio2.value=i +}; +// 解析选项 +function parseOptions(options) { + if (!options) return []; + // 假设options是字符串格式,以分号分隔 + if (typeof options === 'string') { + return options.split(',').filter(opt => opt.trim()); + } + // 如果是数组,直接返回 + if (Array.isArray(options)) { + return options; + } + return []; +}; +function indexToLetter(index) { + // 将索引转换为对应的字母 + return String.fromCharCode(65 + index); +}; \ No newline at end of file