order.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  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. _Http.basic({
  148. "classname": "system.payment.wechatpay",
  149. "method": "createWechatOrder",
  150. "content": {
  151. "orderno": that.data.detail.orderno,
  152. "wechat_code": s.code,
  153. "trade_type": "JSAPI"
  154. }
  155. }).then(res => {
  156. console.log("获取支付信息", res)
  157. if (res.data == '失败') return wx.showToast({
  158. title: res.msg,
  159. icon: "none",
  160. mask: true
  161. });
  162. wx.requestPayment({
  163. timeStamp: res.data.timeStamp,
  164. nonceStr: res.data.nonceStr,
  165. package: res.data.package,
  166. signType: res.data.signType,
  167. paySign: res.data.paySign,
  168. success(re) {
  169. console.log(re)
  170. wx.showToast({
  171. title: '支付成功',
  172. mask: true
  173. })
  174. that.getDetail();
  175. },
  176. fail(err) {
  177. console.error(err)
  178. wx.showToast({
  179. title: '已取消支付',
  180. icon: "none",
  181. mask: true
  182. })
  183. }
  184. })
  185. })
  186. },
  187. })
  188. },
  189. /* 删除订单 */
  190. deleteOrder() {
  191. let that = this;
  192. wx.showModal({
  193. title: '提示',
  194. content: '是否确定删除该订单',
  195. complete: (s) => {
  196. if (s.confirm) _Http.basic({
  197. "classname": "system.payorder.payorder",
  198. "method": "delete",
  199. "content": {
  200. "sys_payorderid": that.data.detail.sys_payorderid
  201. }
  202. }).then(res => {
  203. console.log("删除订单", res)
  204. wx.showToast({
  205. title: res.msg == '成功' ? '删除成功' : res.msg,
  206. icon: "none",
  207. mask: true
  208. });
  209. if (res.msg == '成功') setTimeout(() => {
  210. wx.navigateBack()
  211. }, 500)
  212. })
  213. }
  214. })
  215. },
  216. /* 查看版本 */
  217. viewDetails() {
  218. this.selectComponent("#inventory").show(this.data.detail.systemapp)
  219. },
  220. onReachBottom() {
  221. this.getList();
  222. },
  223. onUnload() {
  224. let page = getCurrentPages().find(v => v.__route__ == 'pages/teams/index');
  225. if (!page) return;
  226. if (page.data.active.title == '付费订单') {
  227. let content = JSON.parse(JSON.stringify(page.data.content));
  228. content.pageSize = (content.pageNumber - 1) * content.pageSize;
  229. content.pageNumber = 1;
  230. _Http.basic({
  231. "classname": "system.payorder.payorder",
  232. "method": "list",
  233. content
  234. }).then(res => {
  235. console.log('更新列表数据', res)
  236. res.data = res.data.map(v => {
  237. switch (v.ispaid) {
  238. case 0:
  239. v.color = "#FF3B30";
  240. v.status = '未付费';
  241. break;
  242. case 1:
  243. v.color = '#52C41A';
  244. v.status = '已付费';
  245. break;
  246. case 2:
  247. v.color = '#ddd';
  248. v.status = "新建";
  249. break;
  250. case 3:
  251. v.color = '#ddd';
  252. v.status = "已取消";
  253. break;
  254. case 4:
  255. v.color = '#ddd';
  256. v.status = "已退费";
  257. break;
  258. };
  259. v.amount = CNY(v.amount);
  260. return v
  261. })
  262. if (res.msg == '成功') page.setData({
  263. list: res.data
  264. })
  265. })
  266. }
  267. }
  268. })