cashDetail.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. var _request = require('../../../../utils/request.js')
  2. var rid
  3. function formatTransferStateText (state) {
  4. if (state === 'WAIT_USER_CONFIRM') {
  5. return '待确认,确认后到帐'
  6. }
  7. return state || ''
  8. }
  9. function normalizeTransferDetail (data) {
  10. data = data || {}
  11. data.count = Number(data.count) || 0
  12. data.ctime = data.ctime || data.created_at || 0
  13. data.source_name = data.source_name || '提现'
  14. data.relate_id = data.relate_id || data.order_id || data.id || ''
  15. data.remark = data.remark || data.state_cn || ''
  16. data.transfer_state_text = formatTransferStateText(data.transfer_state || data.state_cn)
  17. return data
  18. }
  19. Page({
  20. data: {
  21. detail: {},
  22. confirmingTransfer: false,
  23. confirmedTransfer: false
  24. },
  25. onLoad: function (options) {
  26. rid = options.id || options.cash_id || options.balance_id || options.rid || options.order_id
  27. if (rid) {
  28. this.getRadish()
  29. return
  30. }
  31. this.getLatestWithdrawRecord()
  32. },
  33. getRadish () {
  34. var that = this
  35. var url = 'v1/user/cash/balance/' + rid
  36. var params = {
  37. }
  38. var success = function (res) {
  39. var data = normalizeTransferDetail(res.data)
  40. if (that.data.confirmedTransfer) {
  41. data.can_confirm_transfer = false
  42. }
  43. that.setData({
  44. detail: data
  45. })
  46. }
  47. _request.$get(url, params, success)
  48. },
  49. getLatestWithdrawRecord () {
  50. var that = this
  51. var url = 'v1/user/takecash/flow'
  52. var params = {
  53. page: 1,
  54. per_page: 1
  55. }
  56. var success = function (res) {
  57. var list = (res.data && res.data.list) || []
  58. if (list.length > 0) {
  59. that.setData({
  60. detail: normalizeTransferDetail(list[0])
  61. })
  62. return
  63. }
  64. wx.showToast({
  65. title: '暂无提现记录',
  66. icon: 'none',
  67. duration: 2000
  68. })
  69. wx.redirectTo({
  70. url: '/packageUser/pages/user/withdraw/withdraw'
  71. })
  72. }
  73. var fail = function () {
  74. wx.redirectTo({
  75. url: '/packageUser/pages/user/withdraw/withdraw'
  76. })
  77. }
  78. _request.$get(url, params, success, fail)
  79. },
  80. confirmMerchantTransfer () {
  81. var that = this
  82. var detail = that.data.detail || {}
  83. if (that.data.confirmingTransfer) {
  84. return
  85. }
  86. if (!detail.can_confirm_transfer || !detail.package_info) {
  87. wx.showToast({
  88. title: '当前提现无需确认收款',
  89. icon: 'none',
  90. duration: 2000
  91. })
  92. return
  93. }
  94. if (!wx.canIUse || !wx.canIUse('requestMerchantTransfer')) {
  95. wx.showToast({
  96. title: '当前微信版本不支持确认收款,请升级微信',
  97. icon: 'none',
  98. duration: 2000
  99. })
  100. return
  101. }
  102. detail.can_confirm_transfer = false
  103. that.setData({
  104. detail: detail,
  105. confirmingTransfer: true
  106. })
  107. wx.requestMerchantTransfer({
  108. mchId: String(detail.mch_id || ''),
  109. appId: String(detail.app_id || ''),
  110. package: detail.package_info,
  111. success: function () {
  112. wx.showToast({
  113. title: '确认收款已提交',
  114. icon: 'none',
  115. duration: 2000
  116. })
  117. that.setData({
  118. confirmedTransfer: true
  119. })
  120. that.getRadish()
  121. },
  122. fail: function (res) {
  123. detail.can_confirm_transfer = true
  124. that.setData({
  125. detail: detail,
  126. confirmingTransfer: false
  127. })
  128. wx.showToast({
  129. title: (res && res.errMsg) ? res.errMsg : '确认收款失败',
  130. icon: 'none',
  131. duration: 3000
  132. })
  133. }
  134. })
  135. },
  136. onShareAppMessage: function (val) {
  137. return _request.share({
  138. sc: 'xcx_user_radishdetail'
  139. })
  140. }
  141. })