index.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import Dialog from 'tdesign-miniprogram/dialog/index';
  2. import Toast from 'tdesign-miniprogram/toast/index';
  3. import { cancelRights } from '../../after-service-detail/api';
  4. import { ServiceButtonTypes } from '../../config';
  5. Component({
  6. properties: {
  7. service: {
  8. type: Object,
  9. observer(service) {
  10. const buttonsRight = service.buttons || service.buttonVOs || [];
  11. this.setData({
  12. buttons: {
  13. left: [],
  14. right: buttonsRight,
  15. },
  16. });
  17. },
  18. },
  19. },
  20. data: {
  21. service: {},
  22. buttons: {
  23. left: [],
  24. right: [],
  25. },
  26. },
  27. methods: {
  28. // 点击【订单操作】按钮,根据按钮类型分发
  29. onServiceBtnTap(e) {
  30. const { type } = e.currentTarget.dataset;
  31. switch (type) {
  32. case ServiceButtonTypes.REVOKE:
  33. this.onConfirm(this.data.service);
  34. break;
  35. case ServiceButtonTypes.FILL_TRACKING_NO:
  36. this.onFillTrackingNo(this.data.service);
  37. break;
  38. case ServiceButtonTypes.CHANGE_TRACKING_NO:
  39. this.onChangeTrackingNo(this.data.service);
  40. break;
  41. case ServiceButtonTypes.VIEW_DELIVERY:
  42. this.viewDelivery(this.data.service);
  43. break;
  44. }
  45. },
  46. onFillTrackingNo(service) {
  47. wx.navigateTo({
  48. url: `/pages/order/fill-tracking-no/index?rightsNo=${service.id}`,
  49. });
  50. },
  51. viewDelivery(service) {
  52. wx.navigateTo({
  53. url: `/pages/order/delivery-detail/index?data=${JSON.stringify(
  54. service.logistics || service.logisticsVO,
  55. )}&source=2`,
  56. });
  57. },
  58. onChangeTrackingNo(service) {
  59. wx.navigateTo({
  60. url: `/pages/order/fill-tracking-no/index?rightsNo=${
  61. service.id
  62. }&logisticsNo=${service.logisticsNo}&logisticsCompanyName=${
  63. service.logisticsCompanyName
  64. }&logisticsCompanyCode=${service.logisticsCompanyCode}&remark=${
  65. service.remark || ''
  66. }`,
  67. });
  68. },
  69. onConfirm() {
  70. Dialog.confirm({
  71. title: '是否撤销退货申请?',
  72. content: '',
  73. confirmBtn: '撤销申请',
  74. cancelBtn: '不撤销',
  75. }).then(() => {
  76. const params = { rightsNo: this.data.service.id };
  77. return cancelRights(params).then(() => {
  78. Toast({
  79. context: this,
  80. selector: '#t-toast',
  81. message: '你确认撤销申请',
  82. });
  83. });
  84. });
  85. },
  86. },
  87. });