detail.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. let sat_courseware_testid = null;
  2. const _Http = getApp().globalData.http;
  3. Page({
  4. data: {
  5. loading: false
  6. },
  7. onLoad(options) {
  8. sat_courseware_testid = options.id;
  9. this.getDetail();
  10. },
  11. getDetail() {
  12. _Http.basic({
  13. "classname": "saletool.courseware.coursewaretest",
  14. "method": "queryTestMain",
  15. "content": {
  16. sat_courseware_testid
  17. }
  18. }).then(res => {
  19. console.log("试卷详情", res)
  20. if (res.msg != '成功') return wx.showToast({
  21. title: res.msg,
  22. icon: "none"
  23. });
  24. let count = [];
  25. res.data.testitems = res.data.testitems.map(v => {
  26. v.answer = JSON.parse(v.answer);
  27. if (v.answer.length) count.push(v.sat_courseware_testitemsid);
  28. return v
  29. })
  30. this.setData({
  31. detail: res.data,
  32. count
  33. })
  34. })
  35. },
  36. groupOnChange(e) {
  37. const {
  38. index,
  39. item
  40. } = e.currentTarget.dataset;
  41. let count = this.data.count;
  42. item.answer = e.detail;
  43. this.setData({
  44. [`detail.testitems[${index}]`]: item
  45. })
  46. if (item.answer.length) {
  47. count.some(v => v == item.sat_courseware_testitemsid) ? '' : count.push(item.sat_courseware_testitemsid);
  48. } else {
  49. count = count.filter(v => v != item.sat_courseware_testitemsid);
  50. };
  51. this.setData({
  52. count
  53. })
  54. _Http.basic({
  55. "classname": "saletool.courseware.coursewaretest",
  56. "method": "testAnswer",
  57. "content": {
  58. "sat_courseware_testid": item.sat_courseware_testid,
  59. "sat_courseware_testitemsid": item.sat_courseware_testitemsid,
  60. "answer": e.detail
  61. }
  62. }, false);
  63. },
  64. submit() {
  65. if (this.data.loading) return;
  66. let that = this;
  67. wx.showModal({
  68. title: '提示',
  69. content: '一旦提交则无法修改,是否确认提交试卷',
  70. complete: ({
  71. confirm
  72. }) => {
  73. if (confirm) {
  74. that.setData({
  75. loading: true
  76. })
  77. _Http.basic({
  78. "accesstoken": "305def8607e623c06f118e94adcebaf1",
  79. "classname": "saletool.courseware.coursewaretest",
  80. "method": "testSubmit",
  81. "content": {
  82. sat_courseware_testid: that.data.detail.sat_courseware_testid,
  83. sat_coursewareid: that.data.detail.sat_coursewareid
  84. }
  85. }).then(res => {
  86. console.log("交卷", res)
  87. that.setData({
  88. loading: false
  89. });
  90. wx.showToast({
  91. title: res.msg != '成功' ? res.msg : "提交成功",
  92. icon: "none"
  93. });
  94. res.data.testitems = res.data.testitems.map(v => {
  95. v.answer = JSON.parse(v.answer);
  96. return v
  97. })
  98. if (res.msg == '成功') that.setData({
  99. detail: res.data,
  100. dataShow: true
  101. })
  102. })
  103. }
  104. }
  105. })
  106. },
  107. closeShowData() {
  108. this.setData({
  109. dataShow: false
  110. })
  111. },
  112. onUnload() {
  113. const page = getCurrentPages().find(v => v.__route__ == 'pages/exam/index');
  114. if (!page) return;
  115. let content = JSON.parse(JSON.stringify(page.data.content));
  116. content.pageSize = (content.pageNumber - 1) * content.pageSize;
  117. content.pageNumber = 1;
  118. _Http.basic({
  119. "classname": "saletool.courseware.coursewaretest",
  120. "method": "queryTestList",
  121. content
  122. }).then(res => {
  123. console.log("更新市场活动列表", res);
  124. if (res.msg == '成功') page.setData({
  125. list: res.data,
  126. total: res.total
  127. })
  128. })
  129. }
  130. })