searchPro.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. // pages/searchPro/searchPro.js
  2. const utils = require('../../utils/util.js')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. list: [],
  9. pageNum: 1,
  10. pageSize: 10,
  11. pages: '',
  12. finish: false,
  13. keywords: '',
  14. },
  15. /**
  16. * 生命周期函数--监听页面加载
  17. */
  18. onLoad: function (options) {
  19. this.setData({
  20. index: options.index
  21. })
  22. this.getList()
  23. },
  24. //搜索
  25. getList(type) {
  26. let params = {
  27. mobile: utils.getInfo().mobile,
  28. reqChannel: 5,
  29. entTaxId:wx.getStorageSync('entTaxId'),
  30. pageNum: this.data.pageNum,
  31. pageSize: this.data.pageSize
  32. }
  33. if (utils.trimAll(this.data.keywords) !== '') {
  34. params.productName = utils.trimAll(this.data.keywords)
  35. }
  36. utils.axios({
  37. method: 'get',
  38. url: '/sys/product/findPage',
  39. data: params,
  40. sendBefore() {
  41. wx.showLoading({
  42. title: '搜索中...'
  43. })
  44. },
  45. complete() {
  46. wx.hideLoading()
  47. wx.stopPullDownRefresh()
  48. },
  49. success: res => {
  50. let result = res.data
  51. if (type === 'toFresh') {
  52. this.setData({
  53. list: result.records,
  54. pages: result.pages
  55. })
  56. } else {
  57. let list = this.data.list
  58. if(result){
  59. list = list.concat(result.records)
  60. }
  61. this.setData({
  62. list,
  63. pages: result.pages
  64. })
  65. }
  66. if (result.total <= this.data.pageSize) {
  67. this.setData({
  68. finish: true
  69. })
  70. }
  71. }
  72. })
  73. },
  74. toFresh() {
  75. this.setData({
  76. pageNum: 1,
  77. pages: '',
  78. finish: false
  79. })
  80. wx.pageScrollTo({
  81. scrollTop: 0,
  82. duration: 300
  83. })
  84. this.getList('toFresh')
  85. },
  86. //获取用户输入的内容
  87. getKeywords(e) {
  88. let value = e.detail.value
  89. this.setData({
  90. keywords: value
  91. })
  92. },
  93. //点击某个项目
  94. select(e) {
  95. let list = this.data.list
  96. let index = e.currentTarget.dataset.index
  97. //上一页是第几个元素点进来的
  98. let prevIndex = this.data.index
  99. utils.funPrev(prev => {
  100. list[index].noRatePrice = ''
  101. list[index].noRateTotal = ''
  102. list[index].totalMoney = ''
  103. list[index].totalRate = ''
  104. list[index].quantity = ''
  105. list[index].spreadFlag = false
  106. list[index].taxRateArr = [list[index].taxRate]
  107. list[index].taxRateArrIndex = 0
  108. prev.getTaxRate(prevIndex,list[index].taxationCateCode,list[index].taxRate)
  109. prev.setData({
  110. [`proList[${prevIndex}]`]: list[index]
  111. })
  112. prev.calcMoney()
  113. wx.navigateBack()
  114. })
  115. },
  116. //新增商品
  117. toGoodsAdd() {
  118. wx.navigateTo({
  119. url: '/pages/goodsAdd/goodsAdd?type=0'
  120. })
  121. },
  122. /**
  123. * 生命周期函数--监听页面初次渲染完成
  124. */
  125. onReady: function () {
  126. },
  127. /**
  128. * 生命周期函数--监听页面显示
  129. */
  130. onShow: function () {
  131. },
  132. /**
  133. * 生命周期函数--监听页面隐藏
  134. */
  135. onHide: function () {
  136. },
  137. /**
  138. * 生命周期函数--监听页面卸载
  139. */
  140. onUnload: function () {
  141. },
  142. /**
  143. * 页面相关事件处理函数--监听用户下拉动作
  144. */
  145. onPullDownRefresh: function () {
  146. this.toFresh()
  147. },
  148. /**
  149. * 页面上拉触底事件的处理函数
  150. */
  151. onReachBottom: function () {
  152. let pageNum = this.data.pageNum
  153. let pages = this.data.pages
  154. pageNum++
  155. if (pageNum <= pages) {
  156. this.setData({
  157. pageNum
  158. })
  159. this.getList()
  160. } else {
  161. this.setData({
  162. finish: true
  163. })
  164. return
  165. }
  166. },
  167. /**
  168. * 用户点击右上角分享
  169. */
  170. onShareAppMessage: function () {
  171. return {
  172. title: '诺信云',
  173. path: '/pages/index/index'
  174. }
  175. }
  176. })