index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. let app = getApp()
  2. Page({
  3. data: {
  4. preList:["A","B","C", "D", "E", "F"],
  5. from:0,
  6. size:10,
  7. item: {},
  8. next: false,
  9. list: [],
  10. },
  11. onLoad: function(options) {
  12. this.loadData( true )
  13. },
  14. loadData( firstAnswer ){
  15. let {size,from} = this.data
  16. app.formPost('Exam.GetErrorAnswerList', {from,size}).then(res => {
  17. if (res.code ==200) {
  18. let list = res.data.list||[];
  19. list.reverse()
  20. if( firstAnswer){
  21. let item = list.pop() ||{};
  22. this.setData({list, item})
  23. }else{
  24. this.setData({list})
  25. }
  26. }
  27. })
  28. },
  29. checkAnswer( e ){
  30. let item = this.data.item;
  31. if( !item.select ){
  32. app.message("还未作答", 'error')
  33. return;
  34. }
  35. let param = {answerId: item.answerId}
  36. // 判断是否正确
  37. if( item.type == 2){
  38. item.correct = item.select.join("") == item.result;
  39. }else{
  40. item.correct = item.select == item.result;
  41. }
  42. param.correct = item.correct?1:0
  43. // 打开下一题
  44. app.formPost('Exam.EditErrorAnswer', param).then(res => {
  45. this.setData({item, next:true})
  46. })
  47. },
  48. radioChange( e ){
  49. let item = this.data.item
  50. item.select = +e.detail.value;
  51. this.setData({item})
  52. },
  53. checkboxChange( e ){
  54. let item = this.data.item
  55. item.select = e.detail.value.sort()
  56. this.setData( {item} );
  57. },
  58. nextAnswer( ){
  59. let {list} = this.data;
  60. let item = list.pop()||{};
  61. delete( item.select )
  62. this.setData({item, list, next:false})
  63. if( list.length < 1){
  64. this.loadData( )
  65. }
  66. }
  67. })