mixin.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // 根目录的static下创建js文件夹并创建mixin.js文件
  2. export const mixin = {
  3. data() {
  4. return {
  5. }
  6. },
  7. methods: {
  8. //订单操作按钮
  9. sureOrd(item, val) {
  10. // val 0支付保证金 2 取消订单
  11. this.order_news = item;
  12. // order_status 订单状态: 0=取消 1支付 2 收货 3退货
  13. if (val == '0') {
  14. this.ordHandle('orders/cancel_order', item);
  15. } else if (val == 1) {
  16. this.pay('orders/order_pay', item);
  17. } else if (val == 2) {
  18. this.ordHandle('orders/confirm', item);
  19. } else if (val == 3) {
  20. uni.navigateTo({
  21. url:'/pagesA/mall/ordReturn?id='+item.id
  22. })
  23. } else if (val == 4) {
  24. uni.navigateTo({
  25. url:'/pagesA/mall/logisticsInfo?exp_id='+item.exp_list.exp_id+'&exp_no='+item.exp_list.exp_no
  26. })
  27. }
  28. },
  29. pay(url, item) {
  30. this.$api
  31. .request(url, {
  32. id: item.id,
  33. type: Number(this.tabcur + 1),
  34. })
  35. .then(res => {
  36. if (res.code && res.code != 200) {
  37. // this.$refs.confirmBtn.stop();
  38. this.$api.toast(res.msg || '获取支付信息失败');
  39. return;
  40. }
  41. const orderInfo = res;
  42. const {
  43. timeStamp,
  44. nonceStr,
  45. paySign
  46. } = orderInfo;
  47. const payParams = {
  48. provider: 'wxpay',
  49. orderInfo: res,
  50. timeStamp,
  51. nonceStr,
  52. package: orderInfo.package,
  53. signType: 'MD5',
  54. paySign,
  55. success: e => {
  56. this.$api.toast('支付成功');
  57. setTimeout(res => {
  58. this.page = 1;
  59. this.orderList = [];
  60. this.loadData();
  61. }, 800)
  62. },
  63. fail: err => {
  64. if (err.errMsg.indexOf('取消') > -1 || err.errMsg.indexOf('cancel') > 1 || err
  65. .errMsg.indexOf('-2') > -1) {
  66. this.$api.toast('取消支付');
  67. } else {
  68. this.$api.toast('支付遇到错误,请稍候重试');
  69. console.log(err);
  70. }
  71. }
  72. };
  73. uni.requestPayment(payParams);
  74. })
  75. },
  76. // 处理订单
  77. ordHandle(url, item) {
  78. this.$api
  79. .request(url, {
  80. id: item.id,
  81. type: Number(this.tabcur + 1),
  82. })
  83. .then(data => {
  84. if (data.code == 200) {
  85. this.page = 1;
  86. this.orderList = [];
  87. this.loadData();
  88. if (item.status == 5) {
  89. uni.redirectTo({
  90. url: '/pages/moneyBox/payOk?type=1'
  91. })
  92. } else if (item.order_status == 6) {
  93. setTimeout(res => {
  94. uni.redirectTo({
  95. url: '/pages/moneyBox/payOk?type=1'
  96. })
  97. }, 1000);
  98. }
  99. } else {
  100. this.$api.toast(data.msg);
  101. }
  102. })
  103. },
  104. },
  105. }