UNPKG

tplus-pos

Version:

pos module

90 lines (77 loc) 3.73 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.AmountMeetEnableProcessor = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _Enum = require('../../../../commom/Enum'); var _cloneDeep2 = require('lodash/cloneDeep'); var _cloneDeep3 = _interopRequireDefault(_cloneDeep2); var _mobx = require('mobx'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var AmountMeetEnableProcessor = exports.AmountMeetEnableProcessor = function () { function AmountMeetEnableProcessor() { (0, _classCallCheck3.default)(this, AmountMeetEnableProcessor); } (0, _createClass3.default)(AmountMeetEnableProcessor, null, [{ key: 'execute', value: function execute(promotionList) { promotionList.forEach(function (item) { //查询此促销对应零售明细行金额总和 var totalAmount = 0; item.RetailDetails.forEach(function (detail) { totalAmount = totalAmount + detail.TaxAmount; }); var meetAmount = 0; switch (item.PromotionType) { //组合满返 case _Enum.PromotionType.DR_PromotionType_03: // count = item.SubsDetails.length; var subsDetails = (0, _cloneDeep3.default)((0, _mobx.toJS)(item.SubsDetails)); item.SubsDetails = []; subsDetails.forEach(function (detail) { meetAmount = detail.AmountMeet; if (meetAmount <= totalAmount) { //item.SubsDetails.splice(index, 1); item.SubsDetails.push(detail); } }); // for (let index = 0; index < count; index++) { // meetAmount = subsDetails[index].AmountMeet; // if (meetAmount <= totalAmount) { // //item.SubsDetails.splice(index, 1); // item.SubsDetails.push(subsDetails[index]); // } // } if (item.SubsDetails.length == 0) { item.IsEnable = false; } break; case _Enum.PromotionType.DR_PromotionType_07: //组合满赠 meetAmount = item.AmountMeet; if (meetAmount > totalAmount) { item.IsEnable = false; } break; case _Enum.PromotionType.DR_PromotionType_02: //整单返现 case _Enum.PromotionType.DR_PromotionType_06: //整单满赠 case _Enum.PromotionType.DR_PromotionType_04: //整单满单品优惠 meetAmount = item.Details[0].AmountMeet; if (meetAmount > totalAmount) { item.IsEnable = false; } break; } }); } }]); return AmountMeetEnableProcessor; }(); /** * 计算可用的金额满足的促销方式 */ //# sourceMappingURL=AmountMeetEnableProcessor.js.map