|
|
- 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,
- }
|