captain-ui
Version:
有赞vue wap业务组件库
72 lines (62 loc) • 1.68 kB
JavaScript
import "vant/es/toast/style";
import _Toast from "vant/es/toast";
import "vant/es/dialog/style";
import _Dialog from "vant/es/dialog";
import ajax from '../../../common/ajax';
import Config from '../config';
var CancelOrder =
/*#__PURE__*/
function () {
function CancelOrder(options) {
if (options === void 0) {
options = {};
}
this.url = options.url || Config.CANCEL_ORDER.CANCEL_URL;
this.data = options.data || {};
this.callback = options.callback;
}
var _proto = CancelOrder.prototype;
_proto.cancel = function cancel(options) {
var _this = this;
_Dialog.confirm({
message: '订单还未付款,确定要取消吗?',
cancelButtonText: '取消订单',
confirmButtonText: '再考虑下'
}).catch(function (action) {
if (action === 'cancel') {
_this._cancelOrder(_this.url, _this.data).then(function () {
return _this.callback && _this.callback();
});
}
});
};
_proto._cancelOrder = function _cancelOrder(url, data) {
_Toast({
type: 'loading'
});
var promise = new Promise(function (resolve, reject) {
ajax({
url: url,
method: 'POST',
data: data
}).then(function (res) {
if (res.code === 0) {
resolve(res);
} else {
reject(res);
}
}, function (err) {
reject(err);
});
});
promise.then(function (res) {
_Toast('取消订单成功。');
return res;
}).catch(function (res) {
_Toast(res.msg || '取消订单失败。');
});
return promise;
};
return CancelOrder;
}();
export default CancelOrder;