index.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. let app = getApp()
  2. Page({
  3. data: {
  4. preList:["A","B","C", "D"],
  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. console.log("checkAnswer", this.data.item)
  36. let param = {answerId: item.answerId}
  37. // 判断是否正确
  38. if( item.type == 2){
  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. })