captain-ui
Version:
有赞vue wap业务组件库
83 lines (67 loc) • 2.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
require("vant/es/toast/style");
var _toast = _interopRequireDefault(require("vant/es/toast"));
require("vant/es/dialog/style");
var _dialog = _interopRequireDefault(require("vant/es/dialog"));
var _ajax = _interopRequireDefault(require("../../../common/ajax"));
var _config = _interopRequireDefault(require("../config"));
var CancelOrder =
/*#__PURE__*/
function () {
function CancelOrder(options) {
if (options === void 0) {
options = {};
}
this.url = options.url || _config.default.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.default.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) {
(0, _toast.default)({
type: 'loading'
});
var promise = new Promise(function (resolve, reject) {
(0, _ajax.default)({
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) {
(0, _toast.default)('取消订单成功。');
return res;
}).catch(function (res) {
(0, _toast.default)(res.msg || '取消订单失败。');
});
return promise;
};
return CancelOrder;
}();
var _default = CancelOrder;
exports.default = _default;