cash.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. var _request = require('../../../../utils/request.js')
  2. var util = require('../../../../utils/util.js')
  3. var MAX_MERCHANT_TRANSFER_CASH = 20000
  4. var TAKE_CASH_SUBSCRIBE_TEMPLATE_ID = "L073dR84XibBZNxfvTkvTIemd7JAbj5o2Og7-VBAiX8"
  5. var PENDING_VIRTUAL_RECHARGE_ORDER_KEY = 'pendingVirtualRechargeOrderId'
  6. Page({
  7. data: {
  8. page: 1,
  9. per_page: 20,
  10. list: [],
  11. more: true,
  12. balance: 0,
  13. confirmDialog:false,
  14. min_cash:0,
  15. max_cahs:0,
  16. fee:0,
  17. withdraw_num:0,
  18. view_withdraw:0,
  19. view_fee:0,
  20. syncingPendingRecharge:false
  21. },
  22. onLoad: function (options) {
  23. this.getBalanceInfo()
  24. this.getBalanceList()
  25. // this.getCashTotal()
  26. },
  27. onShow () {
  28. this.syncPendingVirtualRecharge()
  29. if (getApp().globalData.rechargeChanged) {
  30. getApp().globalData.rechargeChanged = false
  31. this.refreshBalancePage()
  32. }
  33. },
  34. onReachBottom: function () {
  35. if (this.data.more) {
  36. var page = this.data.page + 1
  37. this.setData({
  38. page: page
  39. })
  40. this.getBalanceList()
  41. }
  42. },
  43. getBalanceInfo () {
  44. var that = this
  45. var url = 'v1/user/cash/balance/info'
  46. var params = {
  47. }
  48. var success = function (res) {
  49. var result = res.data.available
  50. that.setData({
  51. balance: result,
  52. cashTotal: res.data
  53. })
  54. that.getWithDrawlimit()
  55. }
  56. _request.$get(url, params, success)
  57. },
  58. getBalanceList () {
  59. var that = this
  60. var url = 'v1/user/cash/balances'
  61. var params = {
  62. page: this.data.page,
  63. per_page: this.data.per_page
  64. }
  65. var success = function (res) {
  66. var result = that.data.list.concat(res.data.balance_list || [])
  67. that.setData({
  68. list: result
  69. })
  70. var listMore = res.data.balance_count > that.data.list.length
  71. that.setData({
  72. more: listMore
  73. })
  74. }
  75. _request.$get(url, params, success)
  76. },
  77. refreshBalancePage () {
  78. this.setData({
  79. page: 1,
  80. list: [],
  81. more: true
  82. })
  83. this.getBalanceInfo()
  84. this.getBalanceList()
  85. },
  86. syncPendingVirtualRecharge () {
  87. var that = this
  88. if (that.data.syncingPendingRecharge) {
  89. return
  90. }
  91. var url = 'v1/virtual_pay/recharge/sync_pending'
  92. var success = function (res) {
  93. that.setData({
  94. syncingPendingRecharge: false
  95. })
  96. if (res.data && res.data.synced_count > 0) {
  97. wx.removeStorageSync(PENDING_VIRTUAL_RECHARGE_ORDER_KEY)
  98. getApp().globalData.rechargeChanged = false
  99. wx.showToast({
  100. title: '充值成功',
  101. icon: 'success',
  102. duration: 1000
  103. })
  104. that.refreshBalancePage()
  105. }
  106. }
  107. var fail = function () {
  108. that.setData({
  109. syncingPendingRecharge: false
  110. })
  111. }
  112. that.setData({
  113. syncingPendingRecharge: true
  114. })
  115. _request.$get(url, {}, success, fail)
  116. },
  117. getDetail (val) {
  118. var id = val.currentTarget.dataset.val
  119. wx.navigateTo({
  120. url: '/packageUser/pages/user/cashDetail/cashDetail?id=' + id
  121. })
  122. },
  123. onShareAppMessage: function (val) {
  124. return _request.share({
  125. sc: 'xcx_user_radish'
  126. })
  127. },
  128. getCashTotal () {
  129. var that = this
  130. var url = 'v1/user/cash/balance/info'
  131. var params = {
  132. }
  133. var success = function (res) {
  134. console.log('res.data',res.data)
  135. that.setData({
  136. cashTotal: res.data
  137. })
  138. }
  139. _request.$get(url, params, success)
  140. },
  141. getWithDrawlimit () {
  142. var that = this
  143. var url = 'v1/user/takecash/limit'
  144. var params = {}
  145. var success = function (res) {
  146. var maxCash = Math.min(res.data.max_limit_cash || MAX_MERCHANT_TRANSFER_CASH, MAX_MERCHANT_TRANSFER_CASH)
  147. var withdrawnum = that.data.balance > maxCash ? maxCash : that.data.balance;
  148. that.setData({
  149. min_cash: res.data.min_limit_cash,
  150. max_cash: maxCash,
  151. fee:res.data.fee_bl ? res.data.fee_bl : 0,
  152. withdraw_num: withdrawnum,
  153. view_withdraw:parseFloat(withdrawnum/100).toFixed(2),
  154. view_fee:parseFloat(withdrawnum * (res.data.fee_bl?res.data.fee_bl/100:0)/100).toFixed(2)
  155. })
  156. }
  157. _request.$get(url, params, success)
  158. },
  159. goWithdrawClick () {
  160. wx.navigateTo({
  161. url: '/packageUser/pages/user/withdraw/withdraw'
  162. })
  163. },
  164. getBankInfoAndTip(){
  165. var that = this
  166. that.requestTakeCashSubscribe(function () {
  167. that.showWithdrawConfirm()
  168. })
  169. },
  170. showWithdrawConfirm () {
  171. var that = this
  172. // var url = 'v1/user/get_bank_info'
  173. // var params = {
  174. // }
  175. // var success = function (res) {
  176. // that.setData({
  177. // has_bank:res.data.has_bank
  178. // })
  179. // if(that.data.has_bank){
  180. that.data.confirmDialog = !that.data.confirmDialog
  181. if (that.data.withdraw_num > that.data.min_cash) {
  182. that.setData({
  183. confirmDialog: that.data.confirmDialog
  184. })
  185. } else {
  186. wx.showToast({
  187. title: '单次提现金额范围,大于'+parseFloat(that.data.min_cash/100).toFixed(2) +'元 单次最高'+parseFloat(that.data.max_cash/100).toFixed(2) +'元',
  188. icon: 'none',
  189. duration: 2000
  190. })
  191. }
  192. // }
  193. // _request.$get(url, params, success)
  194. },
  195. confrimClick () {
  196. var that = this
  197. console.log('that.data.has_bank',that.data.has_bank)
  198. // if (that.data.has_bank) {
  199. that.withdrawClick()
  200. // } else {
  201. // that.setData({
  202. // confirmDialog: false,
  203. // identityDialog: true
  204. // })
  205. // }
  206. },
  207. requestTakeCashSubscribe (done) {
  208. if (!wx.requestSubscribeMessage) {
  209. done && done()
  210. return
  211. }
  212. wx.requestSubscribeMessage({
  213. tmplIds: [TAKE_CASH_SUBSCRIBE_TEMPLATE_ID],
  214. success: function (res) {
  215. console.log("take cash subscribe message", res)
  216. },
  217. fail: function (res) {
  218. console.log("take cash subscribe message fail", res)
  219. },
  220. complete: function () {
  221. done && done()
  222. }
  223. })
  224. },
  225. closedDialog () {
  226. var that = this
  227. that.setData({
  228. confirmDialog: false
  229. })
  230. },
  231. withdrawClick () {
  232. var that = this
  233. var url = 'v1/user/takecash'
  234. var params = {
  235. amount: that.data.withdraw_num
  236. }
  237. var success = function (res) {
  238. if (res.data) {
  239. that.setData({
  240. confirmDialog: false
  241. })
  242. // that.data.lockWithdraw = false
  243. wx.showToast({
  244. title: '提现成功~',
  245. icon: 'none',
  246. duration: 2000
  247. })
  248. getApp().globalData.withdrawChanged = true
  249. that.refreshBalancePage()
  250. that.getCashTotal()
  251. wx.navigateTo({
  252. url: '/packageUser/pages/user/withdraw/withdraw'
  253. })
  254. }
  255. }
  256. _request.$post(url, params, success)
  257. },
  258. })