import Dialog from 'tdesign-miniprogram/dialog/index'; import Toast from 'tdesign-miniprogram/toast/index'; import { cancelRights } from '../../after-service-detail/api'; import { ServiceButtonTypes } from '../../config'; Component({ properties: { service: { type: Object, observer(service) { const buttonsRight = service.buttons || service.buttonVOs || []; this.setData({ buttons: { left: [], right: buttonsRight, }, }); }, }, }, data: { service: {}, buttons: { left: [], right: [], }, }, methods: { // 点击【订单操作】按钮,根据按钮类型分发 onServiceBtnTap(e) { const { type } = e.currentTarget.dataset; switch (type) { case ServiceButtonTypes.REVOKE: this.onConfirm(this.data.service); break; case ServiceButtonTypes.FILL_TRACKING_NO: this.onFillTrackingNo(this.data.service); break; case ServiceButtonTypes.CHANGE_TRACKING_NO: this.onChangeTrackingNo(this.data.service); break; case ServiceButtonTypes.VIEW_DELIVERY: this.viewDelivery(this.data.service); break; } }, onFillTrackingNo(service) { wx.navigateTo({ url: `/pages/order/fill-tracking-no/index?rightsNo=${service.id}`, }); }, viewDelivery(service) { wx.navigateTo({ url: `/pages/order/delivery-detail/index?data=${JSON.stringify( service.logistics || service.logisticsVO, )}&source=2`, }); }, onChangeTrackingNo(service) { wx.navigateTo({ url: `/pages/order/fill-tracking-no/index?rightsNo=${ service.id }&logisticsNo=${service.logisticsNo}&logisticsCompanyName=${ service.logisticsCompanyName }&logisticsCompanyCode=${service.logisticsCompanyCode}&remark=${ service.remark || '' }`, }); }, onConfirm() { Dialog.confirm({ title: '是否撤销退货申请?', content: '', confirmBtn: '撤销申请', cancelBtn: '不撤销', }).then(() => { const params = { rightsNo: this.data.service.id }; return cancelRights(params).then(() => { Toast({ context: this, selector: '#t-toast', message: '你确认撤销申请', }); }); }); }, }, });