index.js 1.6 KB

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