import dayjs from "dayjs"; // 判断选项是否被选中 export function isOptionSelected(question, optionId) { if (!question.userAnswerBaseList || !question.userAnswerBaseList.length) return false; return question.userAnswerBaseList.some(answer => answer.answerId === optionId); } // 判断答案是否正确 export function isAnswerCorrect(question) { if (!question.userAnswerBaseList || !question.userAnswerBaseList.length) return false; // 获取所有正确答案的ID const correctOptionIds = question.answerList .filter(option => option.isTrue) .map(option => option.id); // 获取用户选择的答案ID const userAnswerIds = [...new Set(question.userAnswerBaseList.map(answer => answer.answerId))]; // 判断用户选择的答案数量是否与正确答案数量相同 if (userAnswerIds.length !== correctOptionIds.length) { return false; } // 判断用户选择的答案是否都是正确的 return userAnswerIds.every(answerId => correctOptionIds.includes(answerId)); } export function isQuestionAnswered(question) { if (question.type == '培训') { // 填空题:检查是否有答案且答案不为空 return question.userAppletAnswerTrain && question.userAppletAnswerTrain.answer && question.userAppletAnswerTrain.answer.trim() !== ''; } else { // 选择题:检查是否有选择的答案 return question.userAnswerBaseList && question.userAnswerBaseList.length > 0; } } // 判断全部题目答案是否达到指定的准确率 export function isSuccessPrecision(list, number = 100){ let errNumber = 0 for (var index = 0; index < list.length; index++) { var question = list[index]; if (question.type == '基本' && !isAnswerCorrect(question)) { errNumber++ } } console.log(errNumber, (list.length - errNumber) / list.length * 100); if(((list.length - errNumber) / list.length * 100) < number){ return false } return true } export default { isOptionSelected, isAnswerCorrect, isQuestionAnswered, isSuccessPrecision, }