You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 line
4.6 KiB

  1. const app = getApp()
  2. const config = require("../../config/config")
  3. const Http = require("../../utils/HttpBasics.js")
  4. const navigationBarHeight = (getApp().statusBarHeight + 44)+"px"
  5. Page({
  6. data:{
  7. imgHttps:app.globalData.imgHttps,
  8. navigationBarHeight,
  9. activityFlag:0,
  10. pageNum:1,
  11. inputValue:"",
  12. list:[],
  13. noDAtaFlag:false,
  14. },
  15. setSearchValue(e){
  16. let value = e.detail.value
  17. this.setData({
  18. inputValue:value
  19. })
  20. },
  21. setActiviy(e){
  22. let index = e.currentTarget.dataset.index
  23. this.setData({
  24. activityFlag:index,
  25. pageNum:1,
  26. noDAtaFlag:false,
  27. list:[]
  28. })
  29. this.search()
  30. },
  31. goXq(e){//跳转详情
  32. let id = e.currentTarget.dataset.id
  33. let title = e.currentTarget.dataset.title
  34. tt.navigateTo({
  35. url: `/pages/classDetails/classDetails?id=${id}&title=${title}` // 指定页面的url
  36. });
  37. },
  38. searchBtn(){
  39. this.setData({
  40. pageNum:1,
  41. list:[],
  42. })
  43. this.search()
  44. },
  45. search(){//查询
  46. tt.showLoading({
  47. title: '加载中...', // 内容
  48. });
  49. let url = ""
  50. let data=""
  51. if(this.data.activityFlag==0){//课程
  52. url = config.api.columnLsit
  53. data = {
  54. title:this.data.inputValue,
  55. pageNum:this.data.pageNum,
  56. pageSize:8
  57. }
  58. if(this.data.inputValue!=""){
  59. data.isSearch = 1
  60. }
  61. }else{//作者
  62. url = config.api.getAuthor
  63. data = {
  64. name:this.data.inputValue,
  65. pageNum:this.data.pageNum,
  66. pageSize:8
  67. }
  68. }
  69. Http.get({
  70. url:url,
  71. data:data
  72. }).then(res=>{
  73. let arr = []
  74. if(res.data.list!=0&&res.data.list[0].businessTypes){
  75. arr = res.data.list
  76. let sting = ""
  77. arr.map(item=>{
  78. if(item.businessTypes){
  79. if(JSON.parse(item.businessTypes).length>0){
  80. item.authoRemark = JSON.parse(item.businessTypes)[0].title
  81. }else{
  82. item.authoRemark = ""
  83. }
  84. }
  85. })
  86. let tempArr = this.data.list
  87. if(this.data.pageNum>1){
  88. // let contArr= tempArr.push(...arr)
  89. this.setData({
  90. list:[...tempArr,...res.data.list],
  91. })
  92. if(this.data.list.length==0){
  93. this.setData({
  94. noDAtaFlag:true
  95. })
  96. }else{
  97. this.setData({
  98. noDAtaFlag:false
  99. })
  100. }
  101. }else{
  102. this.setData({
  103. list:arr,
  104. noDAtaFlag:arr.length==0?true:false
  105. })
  106. }
  107. tt.hideLoading();
  108. }else{
  109. if(this.data.pageNum>1){
  110. let tempArr = this.data.list
  111. // let contArr= tempArr.push(...res.data.list)
  112. // console.log(contArr,"contArr");
  113. this.setData({
  114. list:[...tempArr,...res.data.list],
  115. })
  116. if(this.data.list.length==0){
  117. this.setData({
  118. noDAtaFlag:true
  119. })
  120. }else{
  121. this.setData({
  122. noDAtaFlag:false
  123. })
  124. }
  125. }else{
  126. this.setData({
  127. list:res.data.list,
  128. noDAtaFlag:res.data.list==0?true:false
  129. })
  130. }
  131. tt.hideLoading();
  132. }
  133. }).catch(err=>{
  134. tt.hideLoading();
  135. tt.showToast({
  136. title: err.message?err.message:err.data, // 内容
  137. icon:"none"
  138. });
  139. })
  140. // console.log(this.data.list);
  141. },
  142. onLoad(){
  143. this.search()
  144. },
  145. onReachBottom:function(){
  146. console.log("到底了");
  147. this.setData({
  148. pageNum:this.data.pageNum+1
  149. })
  150. this.search()
  151. }
  152. })