withdraw.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. var _request = require('../../../../utils/request.js')
  2. function formatWithdrawStateText (state) {
  3. if (state === 'WAIT_USER_CONFIRM') {
  4. return '待确认'
  5. }
  6. return state || ''
  7. }
  8. function uniqueWithdrawList (list) {
  9. var result = []
  10. var seen = {}
  11. ;(list || []).forEach(function (item) {
  12. var key = item.order_id || item.id
  13. if (!key) {
  14. result.push(item)
  15. return
  16. }
  17. if (seen[key]) {
  18. return
  19. }
  20. seen[key] = true
  21. result.push(item)
  22. })
  23. return result
  24. }
  25. Page({
  26. /**
  27. * 页面的初始数据
  28. */
  29. data: {
  30. price: '',
  31. page: 1,
  32. per_page: 10,
  33. cashList: [],
  34. cashList_more: true,
  35. cashList_change: false,
  36. cashTotal: 0,
  37. confirmedTransferIds: {}
  38. },
  39. /**
  40. * 生命周期函数--监听页面加载
  41. */
  42. onLoad: function (options) {
  43. this.refreshCashList()
  44. },
  45. onShow () {
  46. if (getApp().globalData.withdrawChanged) {
  47. getApp().globalData.withdrawChanged = false
  48. this.refreshCashList()
  49. }
  50. },
  51. onPullDownRefresh: function () {
  52. this.setData({
  53. page: 1,
  54. cashList_more: true,
  55. cashList_change: true
  56. })
  57. this.getCashList()
  58. wx.stopPullDownRefresh()
  59. },
  60. onReachBottom: function () {
  61. if (this.data.cashList_more) {
  62. var page = this.data.page + 1
  63. this.setData({
  64. page: page
  65. })
  66. this.getCashList()
  67. }
  68. },
  69. refreshCashList () {
  70. this.setData({
  71. page: 1,
  72. cashList: [],
  73. cashList_more: true,
  74. cashList_change: false
  75. })
  76. this.getCashTotal()
  77. this.getCashList()
  78. },
  79. getCashTotal () {
  80. var that = this
  81. var url = 'v1/user/cash/balance/info'
  82. var params = {
  83. }
  84. var success = function (res) {
  85. that.setData({
  86. cashTotal: res.data
  87. })
  88. }
  89. _request.$get(url, params, success)
  90. },
  91. getCashList () {
  92. console.log(this.data.page)
  93. var that = this
  94. var requestPage = that.data.page
  95. var url = 'v1/user/takecash/flow'
  96. var params = {
  97. page: requestPage,
  98. per_page: that.data.per_page
  99. }
  100. var success = function (res) {
  101. var shouldReplace = requestPage === 1 || that.data.cashList_change
  102. if (that.data.cashList_change) {
  103. that.setData({
  104. cashList: [],
  105. cashList_change: false
  106. })
  107. }
  108. var confirmedTransferIds = that.data.confirmedTransferIds || {}
  109. var list = res.data.list || []
  110. list.forEach(function (item) {
  111. if (item.state_cn === 'WAIT_USER_CONFIRM') {
  112. item.state_cn = formatWithdrawStateText(item.state_cn)
  113. } else if (item.transfer_state === 'WAIT_USER_CONFIRM') {
  114. item.state_cn = formatWithdrawStateText(item.transfer_state)
  115. }
  116. if (confirmedTransferIds[item.id]) {
  117. item.can_confirm_transfer = false
  118. }
  119. })
  120. var result = uniqueWithdrawList((shouldReplace ? [] : that.data.cashList).concat(list))
  121. var listMore = res.data.list_count > result.length
  122. that.setData({
  123. cashList: result,
  124. cashList_more: listMore
  125. })
  126. }
  127. _request.$get(url, params, success)
  128. },
  129. onShareAppMessage: function (val) {
  130. return _request.share({
  131. sc: 'xcx_user_withdraw'
  132. })
  133. }
  134. })