examResult.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import Api from "../../model/api";
  2. import Config from "../../model/config";
  3. import {questionTypes} from "../../model/enum";
  4. Page({
  5. data: {
  6. exams: [],
  7. score: '',
  8. },
  9. async onLoad(options) {
  10. let id = options.id;
  11. let stuId = options.stuId;
  12. let score = options.score;
  13. let res = await Api.getPaperResult(id, stuId, true);
  14. let testQuestionsList = res.data.testQuestionsList;
  15. let exams = [
  16. ...(testQuestionsList.singleChoice || []),
  17. ...(testQuestionsList.multipleChoice || []),
  18. ...(testQuestionsList.qaq || []),
  19. ];
  20. exams.forEach(item => {
  21. if (item.questionType == questionTypes.SINGLE || item.questionType == questionTypes.MULTIPLE) {
  22. let okAnswers = item.testAnswerList.filter(
  23. (item, index) => {
  24. item.opt = Config.OPT_TIP[index];
  25. return !item.isItCorrect
  26. }
  27. );
  28. let myAnswers = item.testAnswerList.filter(
  29. (item, index) => {
  30. item.opt = Config.OPT_TIP[index];
  31. return !item.status
  32. }
  33. );
  34. item.okAnswers = okAnswers;
  35. item.myAnswers = myAnswers;
  36. } else if (item.questionType == questionTypes.WRITE) {
  37. let myAnswer = item.testAnswerList[0].qaqAnswer;
  38. item.myAnswer = myAnswer;
  39. }
  40. })
  41. this.setData({
  42. exams,
  43. score
  44. })
  45. }
  46. });