美甲小程序
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

270 рядки
5.4 KiB

  1. // pages/detailContent/detailContent.js
  2. const utils = require('../../utils/serve')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. searchData: [
  9. ],
  10. isItem: 3,
  11. gramNum: null,
  12. paginate: null,
  13. rightStatus: true,
  14. leftStatus: true,
  15. hLoading: true,
  16. },
  17. /**
  18. * 生命周期函数--监听页面加载
  19. */
  20. onLoad: function (options) {
  21. let obj = JSON.parse(options.obj)
  22. this.initOn(obj)
  23. },
  24. skipSearch: function () {
  25. wx.navigateTo({
  26. url: '/pages/pageSearch/pageSearch',
  27. })
  28. },
  29. // 右滑翻页
  30. onbolwerRight: function () {
  31. console.log(this.data.searchData[this.data.searchData.length - 1])
  32. this.setData({
  33. hLoading: false
  34. })
  35. if (this.data.rightStatus) {
  36. utils.http({
  37. url: '/manicureApi/Index/finishedProduct',
  38. method: 'GET',
  39. data: {
  40. id: this.data.searchData[this.data.searchData.length - 1].id,
  41. type: 'right'
  42. }
  43. }).then(res => {
  44. if (res.data.lists.length === 0) {
  45. wx.showToast({
  46. title: '已经到底啦~',
  47. duration: 2000,
  48. icon: 'none',
  49. success: () => {
  50. this.setData({
  51. hLoading: true
  52. })
  53. }
  54. })
  55. return
  56. }
  57. if (res.data.lists.length >= 1 && res.data.lists.length === 20) {
  58. this.data.rightStatus = true
  59. } else {
  60. this.data.rightStatus = false
  61. }
  62. this.setData({
  63. searchData: this.data.searchData.concat(res.data.lists),
  64. hLoading: true
  65. })
  66. })
  67. } else {
  68. wx.showToast({
  69. title: '已经到低啦~',
  70. duration: 2000,
  71. icon: 'none',
  72. success:()=>{
  73. this.setData({
  74. hLoading: true
  75. })
  76. }
  77. })
  78. }
  79. },
  80. // 左翻页
  81. onbolwerLeft: function () {
  82. this.setData({
  83. hLoading: false
  84. })
  85. if (this.data.leftStatus) {
  86. utils.http({
  87. url: '/manicureApi/Index/finishedProduct',
  88. method: 'GET',
  89. data: {
  90. id: this.data.searchData[0].id,
  91. type: 'left'
  92. }
  93. }).then(res => {
  94. if (res.data.lists.length >= 1 && res.data.lists.length === 20) {
  95. this.data.leftStatus = true
  96. } else {
  97. this.data.leftStatus = false
  98. }
  99. this.setData({
  100. searchData: res.data.lists.concat(this.data.searchData),
  101. hLoading: true
  102. })
  103. })
  104. } else {
  105. wx.showToast({
  106. title: '已经到顶了~',
  107. duration: 2000,
  108. icon: 'none',
  109. success:()=>{
  110. this.setData({
  111. hLoading: true
  112. })
  113. }
  114. })
  115. }
  116. },
  117. onSwiperItem: function (ev) {
  118. this.setData({
  119. isItem: ev.detail.current
  120. })
  121. },
  122. initOn: function (params) {
  123. // const eventChannel = this.getOpenerEventChannel()
  124. console.log(params ,'params')
  125. // eventChannel.on('acceptDataFromOpenerPage', (data, list, paginate, finData) => {
  126. let isItem = 0;
  127. for (let i = 0; i < params.searchData.length; i++) {
  128. if ( params.searchData[i].id === params.param.id) {
  129. isItem = i
  130. break
  131. }
  132. }
  133. if (isItem <= 1) {
  134. utils.http({
  135. url: '/manicureApi/Index/finishedProduct',
  136. method: 'GET',
  137. data: {
  138. id: params.searchData[0].id,
  139. type: 'left'
  140. }
  141. }).then(res => {
  142. if (res.data.lists.length >= 1 && res.data.lists.length === 20) {
  143. this.data.leftStatus = true
  144. } else {
  145. this.data.leftStatus = false
  146. }
  147. this.setData({
  148. searchData: res.data.lists.concat( params.searchData ),
  149. isItem: isItem + res.data.lists.length
  150. }, () => {
  151. this.data.paginate = params.paginate
  152. this.data.finData = params.finData
  153. })
  154. })
  155. } else {
  156. this.setData({
  157. searchData: params.searchData,
  158. isItem: isItem
  159. }, () => {
  160. this.data.paginate = params.paginate
  161. this.data.finData = params.finData
  162. })
  163. }
  164. // })
  165. },
  166. setSearchColor: function (ev) {
  167. this.setData({
  168. isItem: ev.currentTarget.dataset.index
  169. })
  170. },
  171. skipInquire: function () {
  172. console.log(this.data.searchData)
  173. utils.http({
  174. url: '/manicureApi/Index/productDetail',
  175. method: 'GET',
  176. data: {
  177. id: this.data.searchData[this.data.isItem].id,
  178. num: this.data.gramNum,
  179. }
  180. }).then(res => {
  181. console.log(res)
  182. let data = JSON.stringify(res.data)
  183. wx.navigateTo({
  184. url: `/pages/pageInquire/pageInquire?data=${data}`,
  185. })
  186. })
  187. },
  188. onInputGram: function (ev) {
  189. this.data.gramNum = ev.detail.value
  190. },
  191. /**
  192. * 生命周期函数--监听页面初次渲染完成
  193. */
  194. onReady: function () {
  195. },
  196. /**
  197. * 生命周期函数--监听页面显示
  198. */
  199. onShow: function () {
  200. },
  201. /**
  202. * 生命周期函数--监听页面隐藏
  203. */
  204. onHide: function () {
  205. },
  206. /**
  207. * 生命周期函数--监听页面卸载
  208. */
  209. onUnload: function () {
  210. },
  211. /**
  212. * 页面相关事件处理函数--监听用户下拉动作
  213. */
  214. onPullDownRefresh: function () {
  215. },
  216. /**
  217. * 页面上拉触底事件的处理函数
  218. */
  219. onReachBottom: function () {
  220. },
  221. /**
  222. * 用户点击右上角分享
  223. */
  224. onShareAppMessage: function () {
  225. }
  226. })