index.js 4.3 KB

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