captain-ui
Version:
有赞vue wap业务组件库
182 lines (156 loc) • 4.77 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
require("vant/es/dialog/style");
var _dialog = _interopRequireDefault(require("vant/es/dialog"));
require("vant/es/toast/style");
var _toast = _interopRequireDefault(require("vant/es/toast"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _ajax = _interopRequireDefault(require("../../../common/ajax"));
var _config = _interopRequireDefault(require("../config"));
/**
* 发货服务:
* 1. 延长收货
* 2. 确认收货
* 3. 提醒发货
*/
var ExpressService =
/*#__PURE__*/
function () {
function ExpressService() {}
var _proto = ExpressService.prototype;
/**
* 延长收货
* @param
*/
_proto.extend = function extend(options) {
var _this = this;
var _option = {
checkUrl: options.checkUrl || _config.default.EXTEND_RECEIVE.CHECK_EXTEND_URL,
extendUrl: options.url || _config.default.EXTEND_RECEIVE.DO_EXTEND_URL,
data: options.data || {}
};
return new Promise(function (resolve, reject) {
(0, _ajax.default)({
url: options.checkUrl,
data: options.data
}).then(function (res) {
if (res && res.code === 0) {
_this._startExtend((0, _extends2.default)(_option, {
resolve: resolve,
reject: reject
}));
} else {
if (res.code === _config.default.STATUS_MAP.TIME_NOT_ENOUGH || res.code === _config.default.STATUS_MAP.ALREADY_EXTENDED) {
_this._showInfoTips(res.msg);
} else {
(0, _toast.default)(res.msg);
}
reject(res);
}
}, function (err) {
return reject(err);
});
});
};
/**
* 确认收货
* @param {*} options
*/
_proto.confirm = function confirm(options) {
var confirmUrl = options.url || _config.default.CONFIRM_RECEIVE.CONFIRM_URL;
var comfirmMessage = options.message || '确认收货后,订单交易完成,钱款将立即到达商家账户。';
return new Promise(function (resolve, reject) {
_dialog.default.confirm({
title: '确认收货',
message: comfirmMessage,
confirmButtonText: '确认收货'
}).then(function (action) {
if (action === 'confirm') {
// loading
(0, _toast.default)({
type: 'loading'
}); // request
(0, _ajax.default)({
url: confirmUrl,
method: 'POST',
data: options.data
}).then(function (res) {
if (res.code === 0) {
(0, _toast.default)('收货成功');
resolve();
} else {
(0, _toast.default)(res.msg);
reject(res);
}
}, function (err) {
(0, _toast.default)(err.msg);
reject(err);
});
} else {
reject();
}
});
});
};
/**
* 提醒发货
* @param {*} options
*/
_proto.remindSend = function remindSend(options) {
var remindSendUrl = options.remindSendUrl || _config.default.REMIND_SEND.REMIND_SEND_URL;
return new Promise(function (resolve, reject) {
(0, _ajax.default)({
url: remindSendUrl,
method: 'POST',
data: options.data
}).then(function (res) {
if (res.code === 0) {
(0, _toast.default)('提醒发货成功。');
resolve();
} else {
(0, _toast.default)(res.msg);
reject(res);
}
}, function (err) {
return reject(err);
});
});
};
_proto._startExtend = function _startExtend(options) {
var _this2 = this;
_dialog.default.confirm({
title: '延长收货时间',
message: '每笔订单只能延长一次收货时间,如需多次延长请联系商家。',
cancelButtonText: '确定延长',
confirmButtonText: '取消'
}).catch(function () {
(0, _ajax.default)({
url: options.extendUrl,
data: options.data
}).then(function (res) {
if (res && res.code === 0) {
_this2._showInfoTips(res.msg);
options.resolve && options.resolve();
} else {
(0, _toast.default)(res.msg);
options.reject && options.reject();
}
});
});
};
_proto._showInfoTips = function _showInfoTips(msg) {
if (msg === void 0) {
msg = '';
}
_dialog.default.alert({
title: '延长收货时间',
message: msg,
confirmButtonText: '我知道了'
});
};
return ExpressService;
}();
var _default = ExpressService;
exports.default = _default;