index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. const getHeight = require("../../utils/getRheRemainingHeight");
  2. const _Http = getApp().globalData.http;
  3. let dowmCount = null;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. scrollHeight: 0, //滚动区域高度
  10. searchContent: "", //搜索内容
  11. mainActiveIndex: 0, //分类选择器打开分类的下标
  12. activeId: "", //分类选择器选择id
  13. showText: null, //左上显示文本
  14. items: [], //分类列表
  15. list: [], //列表
  16. sort: [],
  17. content: {
  18. pageNumber: 1,
  19. pageSize: 20,
  20. pageTotal: 1,
  21. where: {
  22. condition: ""
  23. }
  24. }
  25. },
  26. /**
  27. * 生命周期函数--监听页面加载
  28. */
  29. onLoad(options) {
  30. this.selectMenu(0);
  31. this.selectList();
  32. },
  33. /* 查询菜单分类 */
  34. selectMenu(index) {
  35. if (index == '5') return wx.showToast({
  36. title: '加载失败,请稍后再试',
  37. icon: "none"
  38. })
  39. _Http.basic({
  40. "classname": "saletool.courseware.courseware",
  41. "method": "selectMenu",
  42. "content": {}
  43. }).then(res => {
  44. if (res.msg != '成功') return this.selectMenu(index + 1)
  45. let str = JSON.stringify(res.data).replace(/classname/g, 'text').replace(/sat_courseware_classid/g, 'id');
  46. this.setData({
  47. items: JSON.parse(str)
  48. })
  49. })
  50. },
  51. toDetail(e) {
  52. const {
  53. item
  54. } = e.currentTarget.dataset;
  55. wx.navigateTo({
  56. url: './detail?id=' + item.sat_coursewareid,
  57. })
  58. },
  59. /* 获取列表 */
  60. selectList(init = false) {
  61. if (init.detail != undefined) init = init.detail;
  62. if (init) this.setData({
  63. ['content.pageNumber']: 1
  64. })
  65. if (this.data.content.pageNumber > this.data.content.pageTotal) return;
  66. let content = this.data.content;
  67. (this.data.activeId == "") ? delete(content.where.sat_courseware_classid): content.where.sat_courseware_classid = this.data.activeId;
  68. if (this.data.sort[0]) content.sort = this.data.sort;
  69. _Http.basic({
  70. "classname": "saletool.courseware.courseware",
  71. "method": "selectList",
  72. content
  73. }).then(res => {
  74. this.selectComponent('#ListBox').RefreshToComplete();
  75. if (res.msg != '成功') return wx.showToast({
  76. title: res.data,
  77. icon: "none"
  78. })
  79. this.setData({
  80. list: (res.pageNumber == 1) ? res.data : this.data.list.concat(res.data),
  81. ['content.pageNumber']: res.pageNumber + 1,
  82. ['content.pageTotal']: res.pageTotal,
  83. total: res.total,
  84. sort: res.sort
  85. })
  86. })
  87. },
  88. /* 开始搜索 */
  89. startSearch({
  90. detail
  91. }) {
  92. clearTimeout(dowmCount);
  93. this.setData({
  94. "content.where.condition": detail.trim()
  95. })
  96. dowmCount = setTimeout(() => {
  97. this.selectList(true);
  98. }, 1000);
  99. },
  100. /* 关闭搜索 */
  101. closeSearch() {
  102. this.setData({
  103. "content.where.condition": ""
  104. })
  105. this.selectList(true);
  106. },
  107. switchChange({
  108. detail
  109. }) {
  110. this.setData({
  111. sort: detail
  112. })
  113. this.selectList(true);
  114. },
  115. onClickNav({
  116. detail = {}
  117. }) {
  118. this.setData({
  119. mainActiveIndex: detail.index || 0,
  120. });
  121. },
  122. onClickItem({
  123. detail = {}
  124. }) {
  125. const activeId = this.data.activeId === detail.id ? "" : detail.id,
  126. showText = this.data.showText === detail.text ? null : detail.text;
  127. this.setData({
  128. activeId,
  129. showText
  130. });
  131. this.selectList(true);
  132. },
  133. /**
  134. * 生命周期函数--监听页面初次渲染完成
  135. */
  136. onReady() {
  137. //滚动区域高度
  138. getHeight.getHeight('.menu', this).then(res => {
  139. this.setData({
  140. scrollHeight: res
  141. })
  142. })
  143. },
  144. /**
  145. * 生命周期函数--监听页面显示
  146. */
  147. onShow() {
  148. },
  149. /**
  150. * 生命周期函数--监听页面隐藏
  151. */
  152. onHide() {
  153. },
  154. /**
  155. * 生命周期函数--监听页面卸载
  156. */
  157. onUnload() {
  158. },
  159. /**
  160. * 页面相关事件处理函数--监听用户下拉动作
  161. */
  162. onPullDownRefresh() {
  163. },
  164. /**
  165. * 页面上拉触底事件的处理函数
  166. */
  167. onReachBottom() {
  168. },
  169. /**
  170. * 用户点击右上角分享
  171. */
  172. onShareAppMessage() {
  173. }
  174. })