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

168 рядки
5.3 KiB

  1. const app = getApp()
  2. const navigationBarHeight = (getApp().statusBarHeight + 44) + "px"
  3. const config = require("../../config/config")
  4. const util = require("../../utils/util");
  5. const Http = require("../../utils/HttpBasics.js")
  6. Page({
  7. data: {
  8. navigationBarHeight,
  9. imgHttps: app.globalData.imgHttps,
  10. pitch: 0,//选中支付类型
  11. orderLsit: [],//订单列表
  12. pageNum: 1,
  13. statusLsit: [
  14. {
  15. value: 0,
  16. name: "待支付"
  17. },
  18. {
  19. value: 1,
  20. name: "已支付"
  21. }
  22. ],
  23. },
  24. goClass(e){
  25. let id = e.currentTarget.dataset.id
  26. let title = e.currentTarget.dataset.title
  27. tt.navigateTo({
  28. url: `/pages/classDetails/classDetails?id=${id}&title=${title}` // 指定页面的url
  29. });
  30. },
  31. setPitch(e) {
  32. let index = e.currentTarget.dataset.index
  33. this.setData({
  34. pitch: index,
  35. pageNum:1
  36. })
  37. this.getOrder()
  38. },
  39. goPay(e){
  40. let id = e.currentTarget.dataset.id
  41. Http.post({//拿orderInfo
  42. url: config.api.pay,
  43. data: {
  44. orderId: id
  45. }
  46. }).then(item => {
  47. console.log(item, "orderId");
  48. tt.pay({
  49. service: 5,
  50. orderInfo: {
  51. order_id: item.data.orderId,
  52. order_token: item.data.token,
  53. },
  54. success(res) {
  55. if (res.code === 0) {
  56. tt.showToast({
  57. title: '支付成功!', // 内容
  58. });
  59. // 支付成功处理逻辑,只有res.code=0时,才表示支付成功
  60. // 但是最终状态要以商户后端结果为准
  61. } else if (res.code === 1) {
  62. tt.showToast({
  63. title: '支付超时', // 内容
  64. icon: "none"
  65. });
  66. Http.post({
  67. url: config.api.ifPayOk,
  68. data: {
  69. code: 1,
  70. orderId: res.data.id
  71. }
  72. })
  73. } else if (res.code === 2) {
  74. tt.showToast({
  75. title: '支付失败', // 内容
  76. icon: "none"
  77. });
  78. } else if (res.code === 3) {
  79. tt.showToast({
  80. title: '支付关闭', // 内容
  81. icon: "none"
  82. });
  83. } else if (res.code === 4) {
  84. tt.showToast({
  85. title: '支付取消', // 内容
  86. icon: "none"
  87. });
  88. } else if (res.code === 9) {
  89. tt.showToast({
  90. title: '订单状态开发者自行获取', // 内容
  91. icon: "none"
  92. });
  93. }
  94. },
  95. fail(res) {
  96. // handle fail
  97. },
  98. })
  99. }).catch(err => {
  100. tt.showToast({
  101. title: '唤起支付失败', // 内容
  102. icon: "none"
  103. });
  104. })
  105. },
  106. getOrder() {//查询订单
  107. //ORDER_STATUS_PENDING_PAYMENT(0, "待付款"),
  108. // ORDER_STATUS_PAYMENT_ING(1,"支付中"),
  109. // ORDER_STATUS_PAYMENT_SUCCESS(2, "已支付"),
  110. // ORDER_STATUS_OVERTIME_CANCEL(3, "已取消"),
  111. // ORDER_STATUS_PENDING_REFUND(4, "待退款"),
  112. // ORDER_STATUS_REFUND_SUCCESS(5,"已退款"),
  113. // ORDER_STATUS_REFUND_FAILD(6, "退款失败"),
  114. let tempArr = []
  115. if (this.data.pitch == 0) {//待付款
  116. tempArr.push(...[0, 1, 3])
  117. } else {//已支付
  118. tempArr.push(...[2, 4, 5, 6])
  119. }
  120. console.log(tempArr);
  121. Http.get({
  122. url: config.api.getOrderLsit,
  123. data: {
  124. pageNum: this.data.pageNum,
  125. pageSize: 3,
  126. statusS: tempArr
  127. }
  128. }).then(res => {
  129. let arr = res.data.list
  130. arr.map(item=>{
  131. item.createDate = util.formatTime(item.createDate, "yyyy-MM-dd hh:mm:ss")
  132. })
  133. if(this.data.pageNum>1){
  134. let tempLsit = this.data.orderLsit
  135. tempLsit.push(...arr)
  136. this.setData({
  137. orderLsit:tempLsit
  138. })
  139. }else{
  140. this.setData({
  141. orderLsit:arr
  142. })
  143. }
  144. }).catch(err=>{
  145. tt.showToast({
  146. title: err.message, // 内容
  147. icon: "none"
  148. });
  149. })
  150. },
  151. onLoad() {
  152. this.getOrder()
  153. },
  154. onSshow(){
  155. this.getOrder()
  156. },
  157. onReachBottom(){
  158. console.log("到底了");
  159. this.setData({
  160. pageNum:this.data.pageNum +1
  161. })
  162. this.getOrder()
  163. }
  164. })