order.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. let sys_payorderid = null,
  2. _Http = getApp().globalData.http,
  3. currency = require("../../utils/currency"),
  4. pageNumber = 1,
  5. pageTotal = 1,
  6. CNY = value => currency(value, {
  7. symbol: "¥",
  8. precision: 2
  9. }).format();
  10. Page({
  11. data: {
  12. loading: true
  13. },
  14. onLoad(options) {
  15. sys_payorderid = options.id;
  16. // sys_payincidence 1账号 2主体
  17. this.setData({
  18. sys_payincidence: wx.getStorageSync('siteP').sys_payincidence,
  19. sys_payswitch: wx.getStorageSync('siteP').sys_payswitch
  20. })
  21. this.getDetail();
  22. this.getList(true);
  23. },
  24. getDetail() {
  25. _Http.basic({
  26. "classname": "system.payorder.payorder",
  27. "method": "detail",
  28. "content": {
  29. nocache: true,
  30. sys_payorderid
  31. }
  32. }).then(res => {
  33. console.log("付费订单详情", res)
  34. if (res.msg != '成功') {
  35. wx.showToast({
  36. title: res.msg,
  37. icon: "none",
  38. mask: true
  39. });
  40. setTimeout(() => wx.navigateBack(), 1000)
  41. return;
  42. };
  43. let detail = res.data;
  44. detail.showAmount = CNY(detail.amount);
  45. switch (detail.ispaid) {
  46. case 0:
  47. detail.color = "#FF3B30";
  48. detail.status = '未付费';
  49. break;
  50. case 1:
  51. detail.color = '#52C41A';
  52. detail.status = '已付费';
  53. break;
  54. case 2:
  55. detail.color = '#ddd';
  56. detail.status = "新建";
  57. break;
  58. case 3:
  59. detail.color = '#ddd';
  60. detail.status = "已取消";
  61. break;
  62. case 4:
  63. detail.color = '#ddd';
  64. detail.status = "已退费";
  65. break;
  66. };
  67. this.setData({
  68. detail,
  69. showroom: [{
  70. label: "付费订单号",
  71. value: detail.orderno
  72. }, {
  73. label: "付费状态",
  74. value: detail.status,
  75. color: detail.color,
  76. }, {
  77. label: "付费金额",
  78. value: detail.showAmount,
  79. color: '#FF3B30',
  80. }, {
  81. label: "付费时间",
  82. value: detail.paytime
  83. }, {
  84. label: "付费版本",
  85. value: detail.partitionname,
  86. func: "viewDetails"
  87. }, {
  88. label: "付费人",
  89. value: detail.createby
  90. }, {
  91. label: "付费渠道",
  92. value: detail.paymode
  93. }, {
  94. label: "备注",
  95. value: detail.remarks
  96. }],
  97. loading: false
  98. });
  99. })
  100. },
  101. /* 获取列表 */
  102. getList(init = false) {
  103. if (init) {
  104. pageNumber = 1;
  105. pageTotal = 1;
  106. };
  107. if (pageNumber > pageTotal) return;
  108. _Http.basic({
  109. "classname": "system.payorder.payorder",
  110. "method": "detail_userlist",
  111. "content": {
  112. sys_payorderid,
  113. pageNumber,
  114. "where": {
  115. "condition": ""
  116. }
  117. }
  118. }).then(res => {
  119. console.log("获取付费列表", res)
  120. if (res.msg != '成功') {
  121. wx.showToast({
  122. title: res.msg,
  123. icon: "none",
  124. mask: true
  125. });
  126. setTimeout(() => wx.navigateBack(), 1000)
  127. return;
  128. };
  129. pageNumber = res.pageNumber + 1;
  130. pageTotal = res.pageTotal;
  131. res.data = res.data.map(v => {
  132. v.discount = v.price == 0;
  133. v.price = CNY(v.price)
  134. return v
  135. })
  136. this.setData({
  137. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  138. total: res.total
  139. })
  140. })
  141. },
  142. /* 支付 */
  143. payment() {
  144. let that = this;
  145. wx.login({
  146. success: (s) => {
  147. console.log(s)
  148. _Http.basic({
  149. "classname": "system.payment.wechatpay",
  150. "method": "createWechatOrder",
  151. "content": {
  152. "orderno": that.data.detail.orderno,
  153. "wechat_code": s.code,
  154. "trade_type": "JSAPI"
  155. }
  156. }).then(res => {
  157. console.log("获取支付信息", res)
  158. if (res.msg != '成功') return wx.showToast({
  159. title: res.msg,
  160. icon: "none",
  161. mask: true
  162. });
  163. wx.requestPayment({
  164. timeStamp: res.data.timeStamp,
  165. nonceStr: res.data.nonceStr,
  166. package: res.data.package,
  167. signType: res.data.signType,
  168. paySign: res.data.paySign,
  169. success(re) {
  170. console.log(re)
  171. wx.showToast({
  172. title: '支付成功',
  173. mask: true
  174. })
  175. that.getDetail();
  176. },
  177. fail(err) {
  178. console.error(err)
  179. wx.showToast({
  180. title: '已取消支付',
  181. icon: "none",
  182. mask: true
  183. })
  184. }
  185. })
  186. })
  187. },
  188. })
  189. },
  190. /* 删除订单 */
  191. deleteOrder() {
  192. let that = this;
  193. wx.showModal({
  194. title: '提示',
  195. content: '是否确定删除该订单',
  196. complete: (s) => {
  197. if (s.confirm) _Http.basic({
  198. "classname": "system.payorder.payorder",
  199. "method": "delete",
  200. "content": {
  201. "sys_payorderid": that.data.detail.sys_payorderid
  202. }
  203. }).then(res => {
  204. console.log("删除订单", res)
  205. wx.showToast({
  206. title: res.msg == '成功' ? '删除成功' : res.msg,
  207. icon: "none",
  208. mask: true
  209. });
  210. if (res.msg == '成功') setTimeout(() => {
  211. wx.navigateBack()
  212. }, 500)
  213. })
  214. }
  215. })
  216. },
  217. /* 查看版本 */
  218. viewDetails() {
  219. this.selectComponent("#inventory").show(this.data.detail.systemapp)
  220. },
  221. onReachBottom() {
  222. this.getList();
  223. },
  224. onUnload() {
  225. let page = getCurrentPages().find(v => v.__route__ == 'pages/teams/index');
  226. if (!page) return;
  227. if (page.data.active.title == '付费订单') {
  228. let content = JSON.parse(JSON.stringify(page.data.content));
  229. content.pageSize = (content.pageNumber - 1) * content.pageSize;
  230. content.pageNumber = 1;
  231. _Http.basic({
  232. "classname": "system.payorder.payorder",
  233. "method": "list",
  234. content
  235. }).then(res => {
  236. console.log('更新列表数据', res)
  237. res.data = res.data.map(v => {
  238. switch (v.ispaid) {
  239. case 0:
  240. v.color = "#FF3B30";
  241. v.status = '未付费';
  242. break;
  243. case 1:
  244. v.color = '#52C41A';
  245. v.status = '已付费';
  246. break;
  247. case 2:
  248. v.color = '#ddd';
  249. v.status = "新建";
  250. break;
  251. case 3:
  252. v.color = '#ddd';
  253. v.status = "已取消";
  254. break;
  255. case 4:
  256. v.color = '#ddd';
  257. v.status = "已退费";
  258. break;
  259. };
  260. v.amount = CNY(v.amount);
  261. return v
  262. })
  263. if (res.msg == '成功') page.setData({
  264. list: res.data
  265. })
  266. })
  267. }
  268. }
  269. })