tplus-pos
Version:
pos module
1,498 lines (1,150 loc) • 101 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _getOwnPropertyDescriptor = require('babel-runtime/core-js/object/get-own-property-descriptor');
var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _get2 = require('babel-runtime/helpers/get');
var _get3 = _interopRequireDefault(_get2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _desc, _value, _class;
var _mutantsMicrofx = require('mutants-microfx');
var _cloneDeep2 = require('lodash/cloneDeep');
var _cloneDeep3 = _interopRequireDefault(_cloneDeep2);
var _RetailBaseController2 = require('./RetailBaseController');
var _RetailBaseController3 = _interopRequireDefault(_RetailBaseController2);
var _mobx = require('mobx');
var _tplusPoslogin = require('tplus-poslogin');
var _tplusComponentsTouch = require('tplus-components-touch');
var _tools = require('../util/tools');
var _tools2 = _interopRequireDefault(_tools);
require('../commom/Challenger');
var _InitDataProcessor = require('../domain/retail/InitDataProcessor');
var _AddInventoryProcessorBlock = require('../domain/retail/AddInventoryProcessorBlock');
var _RowDeleteProcessorBlock = require('../domain/retail/RowDeleteProcessorBlock');
var _QuantityChangeProcessorBlock = require('../domain/retail/quantity/QuantityChangeProcessorBlock');
var _Quantity2ChangeProcessorBlock = require('../domain/retail/quantity/Quantity2ChangeProcessorBlock');
var _RetailPriceChangeProcessorBlock = require('../domain/retail/priceAmount/RetailPriceChangeProcessorBlock');
var _TaxPriceChangeProcessorBlock = require('../domain/retail/priceAmount/TaxPriceChangeProcessorBlock');
var _TaxAmountChangeProcessorBlock = require('../domain/retail/priceAmount/TaxAmountChangeProcessorBlock');
var _UpdateFreeItemsProcessorBlock = require('../domain/retail/freeItem/UpdateFreeItemsProcessorBlock');
var _VoucherDateProcessor = require('../domain/retail/VoucherDateProcessor');
var _UnitProcessorBlock = require('../domain/retail/UnitProcessorBlock');
var _RetailPrintProcessBlock = require('../domain/retail/print/RetailPrintProcessBlock');
var _OnlyRetailPrintProcess = require('../domain/retail/print/OnlyRetailPrintProcess');
var _ShiftVoucherPrintProcessBlock = require('../domain/retail/print/ShiftVoucherPrintProcessBlock');
var _DailyVoucherPrintProcessBlock = require('../domain/retail/print/DailyVoucherPrintProcessBlock');
var _StoragePrintProcessBlock = require('../domain/retail/print/StoragePrintProcessBlock');
var _ProjectStoragePrintProcessBlock = require('../domain/retail/print/ProjectStoragePrintProcessBlock');
var _ProjectConsumePrintProcessBlock = require('../domain/retail/print/ProjectConsumePrintProcessBlock');
var _MeiTuanPrintProcessBlock = require('../domain/retail/print/MeiTuanPrintProcessBlock');
var _ControlMinPriceProcessorBlock = require('../domain/retail/validate/controlMinPrice/ControlMinPriceProcessorBlock');
var _ConvertRetailDetailFromStockProcessorBlock = require('../domain/retail/convertVoucher/ConvertRetailDetailFromStockProcessorBlock');
var _SettleValidateProcessorBlock = require('../domain/retail/SettleValidateProcessorBlock');
var _AuthorityValidateProcessorBlock = require('../domain/retail/AuthorityValidateProcessorBlock');
var _DealAmountSettingProcessorBlock = require('../domain/retail/priceAmount/AmountSetting/DealAmountSettingProcessorBlock');
var _DealSingleRowAmountSettingProcessorBlock = require('../domain/retail/priceAmount/AmountSetting/DealSingleRowAmountSettingProcessorBlock');
var _LogController = require('../log/LogController');
var _ChangeMemberProcessorBlock = require('../domain/retail/member/ChangeMemberProcessorBlock');
var _WipeChangeProcessorBlock = require('../domain/retail/WipeChangeProcessorBlock');
var _SingleDiscountOperationProcessorBlock = require('../domain/retail/detail/SingleDiscountOperationProcessorBlock');
var _SinglePresentProcessorBlock = require('../domain/retail/detail/SinglePresentProcessorBlock');
var _WholeDiscountProcessorBlock = require('../domain/retail/WholeDiscountProcessorBlock');
var _WholePresentProcessorBlock = require('../domain/retail/WholePresentProcessorBlock');
var _CalculateExpiryDateProcessor = require('../domain/retail/batch/CalculateExpiryDateProcessor');
var _CalculateProductionDateProcessor = require('../domain/retail/batch/CalculateProductionDateProcessor');
var _SettlePromotionProcessBlock = require('../domain/retail/promotion/SettlePromotionProcessBlock');
var _OperationLog = require('../domain/operationLog/OperationLog');
var _OperationLog2 = _interopRequireDefault(_OperationLog);
var _PersonProcessBlock = require('../domain/retail/person/PersonProcessBlock');
var _PromotionApi = require('../api/PromotionApi');
var _PromotionApi2 = _interopRequireDefault(_PromotionApi);
var _OpenCashBoxProcessBlock = require('../domain/retail/cashBox/OpenCashBoxProcessBlock');
var _Enum = require('../commom/Enum');
var _Quantity2ToQuantityProcessor = require('../domain/retail/quantity/Quantity2ToQuantityProcessor');
var _QuantityToQuantity2Processor = require('../domain/retail/quantity/QuantityToQuantity2Processor');
var _AuthProcess = require('../domain/retail/auth/AuthProcess');
var _CheckMemberStorageProcessorBlock = require('../domain/retail/validate/controlMember/CheckMemberStorageProcessorBlock');
var _CheckUpdateMemberPasswordProcessorBlock = require('../domain/retail/validate/controlMember/CheckUpdateMemberPasswordProcessorBlock');
var _CheckMemberProjectStorageProcessorBlock = require('../domain/retail/validate/controlMember/CheckMemberProjectStorageProcessorBlock');
var _PreWholeFullSingleProcessBlock = require('../domain/retail/promotion/whole/PreWholeFullSingleProcessBlock');
var _SelfRunPromotionProcessBlock = require('../domain/retail/promotion/SelfRunPromotionProcessBlock');
var _CalcMultGiftItemProcessBlock = require('../domain/retail/promotion/calcmeet/CalcMultGiftItemProcessBlock');
var _AddLogProcessor = require('../domain/operationLog/AddLogProcessor');
var _OriginalReturnProcessBlock = require('../domain/retail/originalReturn/OriginalReturnProcessBlock');
var _OriginalReturnPaymentProcessBlock = require('../domain/retail/originalReturn/OriginalReturnPaymentProcessBlock');
var _ReturnTaxAmountProcessBlock = require('../domain/retail/originalReturn/ReturnTaxAmountProcessBlock');
var _CheckCanWeighFromBarCodeBlock = require('../domain/retail/CheckCanWeighFromBarCodeBlock');
var _VoucherUiStateProcessor = require('../domain/view/VoucherUiStateProcessor');
var _OperationsUiStateProcessor = require('../domain/view/OperationsUiStateProcessor');
var _DeductionValidateProcessorBlock = require('../domain/retail/DeductionValidateProcessorBlock');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
var user = _mutantsMicrofx.stores.user;
/**新增存货改变相关处理 */
/**删除明细行处理 */
/**数量改变相关处理 */
/**数量2改变相关处理 */
/**零售价格改变相关处理 */
/**含税金额改变相关处理 */
/**含税金额相关处理 */
/**自由项相关处理 */
/**单据日期相关处理 */
/**计量单位改变 */
/**零售打印 */
/**只打印小票 */
/**交班单打印 */
/**日班单打印 */
/**会员储值单打印 */
/**项目储值单打印 */
/**扣次打印 */
/**配送小票打印*/
/**校验最低售价 */
/**库存查询的明细转换为零售单 */
/**结算时校验 */
/**成交金额抹零 */
/**单品金额抹零 */
/**抹零 */
/**单品打折 */
/**贈品相关处理 */
/**整单打折 */
/**整单赠送 */
/**改变生产日期计算失效日期 */
/**改变失效日期计算生产日期 */
/**导购员相关处理 */
// import RetailApi from '../api/RetailApi';
/**钱箱相关处理 */
//枚举
/**数量2改变修改处理 */
/**数量改变相关处理 */
/**功能权限处理 */
/**储值时校验 */
/**修改会员密码时校验 */
/**项目储值时校验 */
/**统计相关信息 */
//原单退货
//次卡扣次校验
var RetailOrderController = (_dec = (0, _OperationLog2.default)('updateWipeChange', '抹零金额:{0}'), _dec2 = (0, _OperationLog2.default)('updateSingleSale', '商品({0})折扣由{1}修改为{2}', ['1-Inventory.Name', '1-DiscountRate', '0']), _dec3 = (0, _OperationLog2.default)('updateTotalSale', '整单打折为:{0}'), _dec4 = (0, _OperationLog2.default)('updateSinglePresent', '第{0}行商品({1})标识为赠品', ['0', '0-Inventory.Name']), _dec5 = (0, _OperationLog2.default)('updateTotalPresent', '执行整单赠送'), _dec6 = (0, _OperationLog2.default)('updateFreeItem', '商品({0})自由项修改为{1}', ['1-Inventory.Name', '0']), _dec7 = (0, _OperationLog2.default)('updateSingleMemo', '商品({0})修改备注信息为{1}', ['1-Inventory.Name', '0']), _dec8 = (0, _OperationLog2.default)('updateSingleAmount', '商品({0})价格由{1}改为{2}', ['1-Inventory.Name', '1-TaxAmount', '0']), _dec9 = (0, _OperationLog2.default)('updateQuantity2', '商品({0})数量2由{1}改为{2}', ['1-Inventory.Name', '1-Quantity2', '0']), _dec10 = (0, _OperationLog2.default)('updateVoucherDate', '修改单据日期为{0}'), _dec11 = (0, _OperationLog2.default)('updateGuide', '修改导购员ID为{0}'), _dec12 = (0, _OperationLog2.default)('updateSingleGuide', '商品({0})修改导购员ID为{1}', ['1-Inventory.Name', '0']), (_class = function (_RetailBaseController) {
(0, _inherits3.default)(RetailOrderController, _RetailBaseController);
function RetailOrderController() {
var _ref;
var _temp, _this2, _ret;
(0, _classCallCheck3.default)(this, RetailOrderController);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this2 = (0, _possibleConstructorReturn3.default)(this, (_ref = RetailOrderController.__proto__ || (0, _getPrototypeOf2.default)(RetailOrderController)).call.apply(_ref, [this].concat(args))), _this2), _this2.executePromotions = [], _temp), (0, _possibleConstructorReturn3.default)(_this2, _ret);
}
(0, _createClass3.default)(RetailOrderController, [{
key: 'rowClick',
//tuzha 行点击事件
value: function rowClick(_ref2) {
var index = _ref2.index;
this.refundVoucherControl(index);
}
//原单退货的控制
}, {
key: 'refundVoucherControl',
value: function refundVoucherControl(index) {
$T.debugger();
//不是原单退货,直接返回,不控制
if (!this.isOriginalReturn()) {
return;
}
//明细行数据
var refundDetail = this.getRefundDetail(index);
var detailDto = this.data.RetailDetails[index];
var voucherView = this.viewModel.items.find(function (el) {
return el.name == "Voucher";
});
_VoucherUiStateProcessor.VoucherUiStateProcessor.execute(detailDto, refundDetail, voucherView);
//按钮控制数据
var operationView = this.viewModel.items.find(function (el) {
return el.name == "Operations";
});
_OperationsUiStateProcessor.OperationsUiStateProcessor.execute(detailDto, refundDetail, operationView);
}
}, {
key: 'initData',
value: function () {
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
var _this3 = this;
var viewModelNames;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
console.log('initData开始执行');
_context.prev = 1;
_context.next = 4;
return _InitDataProcessor.InitDataProcessor.execute(this.data);
case 4:
_context.next = 9;
break;
case 6:
_context.prev = 6;
_context.t0 = _context['catch'](1);
// 测试代码,发版时删除
alert("初始化方法报错,请联系开发,报错信息:" + _context.t0);
case 9:
viewModelNames = ['Voucher', 'Operations'];
try {
viewModelNames.forEach(function (name) {
var viewModel = _this3.viewModel.items && _this3.viewModel.items.find(function (el) {
return el.name == name;
});
viewModel && viewModel.clearUiState();
});
} catch (error) {
console.warn(error);
}
console.log('initData执行完成');
// reaction(() => [this.data.Idmember], () => {
// alert('会员ID发生变化,请确认是否修改会员,如没有修改会员,请联系开发!');
// console.log(this.data.Idmember)
// })
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[1, 6]]);
}));
function initData() {
return _ref3.apply(this, arguments);
}
return initData;
}()
/**
* 退货初始化
*/
}, {
key: 'initReturnInventory',
value: function () {
var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
var _this4 = this;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.init();
case 2:
(0, _mutantsMicrofx.runInAction)(function () {
//开单退货状态
_this4.data.IdbusiType = 35; // datamodal改成退货状态
});
case 3:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
function initReturnInventory() {
return _ref4.apply(this, arguments);
}
return initReturnInventory;
}()
}, {
key: 'init',
value: function () {
var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
(0, _get3.default)(RetailOrderController.prototype.__proto__ || (0, _getPrototypeOf2.default)(RetailOrderController.prototype), 'init', this).call(this);
// this.inputFeedbackModal('',111,333)
_context3.next = 3;
return this.initData();
case 3:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
function init() {
return _ref5.apply(this, arguments);
}
return init;
}()
//会员修改
}, {
key: 'changeMember',
value: function () {
var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(member) {
var originalIdMember, newIdMember;
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
console.log('表头部分给变memberid', new Date().toLocaleString(), member);
$T.debugger();
//tuzh 原单退货不支持修改会员
if (!this.isOriginalReturn()) {
_context4.next = 9;
break;
}
originalIdMember = this.refundRetail.Idmember;
newIdMember = null;
if (member) {
newIdMember = member.ID;
}
if (!(originalIdMember != newIdMember)) {
_context4.next = 9;
break;
}
_tplusComponentsTouch.Message.warn("原单退货不支持修改会员");
return _context4.abrupt('return');
case 9:
_ChangeMemberProcessorBlock.ChangeMemberProcessorBlock.execute(this.data, member);
case 10:
case 'end':
return _context4.stop();
}
}
}, _callee4, this);
}));
function changeMember(_x) {
return _ref6.apply(this, arguments);
}
return changeMember;
}()
// -------------------------------- 2.3.1.4.2. 录入商品 ----------------------------------
/**
*添加存货
*
* @param {*} RetailDetailUpdate
* @param {*} retailDetail
* @memberof RetailOrderController
*/
}, {
key: 'addInventory',
value: function () {
var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(RetailDetailUpdate, retailDetail) {
var _this5 = this;
return _regenerator2.default.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
$T.debugger();
_context5.next = 3;
return (0, _mutantsMicrofx.runInAction)(function () {
var voucherVM = _this5.viewModel.getViewItem('Voucher');
var desc = '\u6DFB\u52A0\u660E\u7EC6\u884C\u5B58\u8D27\u3010' + retailDetail.Inventory.Name + '\u3011\u6570\u636E';
_AddLogProcessor.AddLogProcessor.execute("添加存货", _this5.data.Code, desc);
//tuzh 如果是原单退货,则添加商品为换货,则为正数
if (_this5.isOriginalReturn()) {
retailDetail.Quantity = -retailDetail.Quantity;
_QuantityChangeProcessorBlock.QuantityChangeProcessorBlock.execute(_this5.data, retailDetail, retailDetail.Quantity, {});
}
_AddInventoryProcessorBlock.AddInventoryProcessorBlock.execute(_this5.data, retailDetail, RetailDetailUpdate, voucherVM && voucherVM.targetIndex);
});
case 3:
// //原单退货添加完存货后自动触发状态控制
// if (this.isOriginalReturn()) {
// this.refundVoucherControl(this.data.RetailDetails.length - 1)
// }
$T.debugger();
case 4:
case 'end':
return _context5.stop();
}
}
}, _callee5, this);
}));
function addInventory(_x2, _x3) {
return _ref7.apply(this, arguments);
}
return addInventory;
}()
//获取存货行
}, {
key: 'getRowIndex',
value: function getRowIndex(retailDetail) {
var voucherVM = this.viewModel.getViewItem('Voucher');
var targetIndex = voucherVM.targetIndex;
var _this = this;
var diff = function diff(it, detail, index) {
var arr = ['Idinventory', 'Idunit', 'Batch', 'ExpiryDate', 'FreeItem0', 'FreeItem1', 'FreeItem2', 'FreeItem3', 'FreeItem4', 'FreeItem5', 'FreeItem6', 'FreeItem7', 'FreeItem8', 'FreeItem9'];
for (var i = 0; i < arr.length; i++) {
var status = false;
var item = arr[i];
switch (it[item] ? (0, _typeof3.default)(it[item]) : 'string') {
case 'string':case 'number':
if (it[item] != detail[item]) {
status = true;
}
var accwhenScan = (0, _tplusPoslogin.PosInitData)("AccwhenScan");
/**
* 与上行相同才累加 -- "accwhenScan_01": "1222",
* 累加 -- "accwhenScan_02": "1223",
* 不累加 -- "accwhenScan_03": "1224",
* */
if (_Enum.AccwhenScan.accwhenScan_02 != accwhenScan) {
var data1 = _this.data.RetailDetails;
if (data1 && data1.length > 1) {
if (data1 && index === targetIndex + 1) {
return true;
} else {
return false;
}
}
} else {
if (it.RetailPrice === detail.RetailPrice && it.Idinventory === detail.Idinventory) {
return true;
} else {
return false;
}
}
break;
case 'object':
if (isNaN(it[item]) && !isNaN(it[item])) {
if (it[item] != detail[item]) {
status = true;
}
} else {
if (it[item]['Name'] != detail[item]['Name']) {
status = true;
}
}
break;
}
if (status == true) {
return false;
}
}
return true;
};
return this.data.RetailDetails.findIndex(function (it, index) {
return diff(it, retailDetail, index);
});
}
/**
* 库存查询的明细转换到零售单
*/
}, {
key: 'ConvertRetailDetailFromStockProcessor',
value: function () {
var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(RetailDetailUpdate, retailDetail) {
return _regenerator2.default.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return _ConvertRetailDetailFromStockProcessorBlock.ConvertRetailDetailFromStockProcessorBlock.execute(this.data, retailDetail, RetailDetailUpdate);
case 2:
case 'end':
return _context6.stop();
}
}
}, _callee6, this);
}));
function ConvertRetailDetailFromStockProcessor(_x4, _x5) {
return _ref8.apply(this, arguments);
}
return ConvertRetailDetailFromStockProcessor;
}()
/**
* 抹零、整单金额都走这个业务逻辑
* 根据抹零金额进行明细行的抹零金额进行分配
*/
}, {
key: 'updateWipeChange',
value: function () {
var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(WipeChange) {
return _regenerator2.default.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return _WipeChangeProcessorBlock.WipeChangeProcessorBlock.execute(this.data, WipeChange);
case 2:
case 'end':
return _context7.stop();
}
}
}, _callee7, this);
}));
function updateWipeChange(_x6) {
return _ref9.apply(this, arguments);
}
return updateWipeChange;
}()
//修改单品打折
}, {
key: 'updateSingleSale',
value: function () {
var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(SingleSale, targetIndex) {
return _regenerator2.default.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
_SingleDiscountOperationProcessorBlock.SingleDiscountOperationProcessorBlock.execute(this.data, this.data.RetailDetails[targetIndex], SingleSale);
case 1:
case 'end':
return _context8.stop();
}
}
}, _callee8, this);
}));
function updateSingleSale(_x7, _x8) {
return _ref10.apply(this, arguments);
}
return updateSingleSale;
}()
//整单打折
}, {
key: 'updateTotalSale',
value: function () {
var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(DiscountRate) {
return _regenerator2.default.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
console.log('编写整单打折逻辑');
_WholeDiscountProcessorBlock.WholeDiscountProcessorBlock.execute(this.data, DiscountRate);
case 2:
case 'end':
return _context9.stop();
}
}
}, _callee9, this);
}));
function updateTotalSale(_x9) {
return _ref11.apply(this, arguments);
}
return updateTotalSale;
}()
//赠品 单行明细标识为赠送
}, {
key: 'updateSinglePresent',
value: function updateSinglePresent(targetIndex) {
console.log('编写单行赠送逻辑');
_SinglePresentProcessorBlock.SinglePresentProcessorBlock.execute(this.data, this.data.RetailDetails[targetIndex]);
}
//整单赠送
}, {
key: 'updateTotalPresent',
value: function updateTotalPresent() {
console.log('编写整单赠送逻辑');
_WholePresentProcessorBlock.WholePresentProcessorBlock.execute(this.data);
}
//修改自由项
}, {
key: 'updateFreeItem',
value: function () {
var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(freeitem, targetIndex) {
return _regenerator2.default.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
console.log('编写修改自由项逻辑:', freeitem);
_UpdateFreeItemsProcessorBlock.UpdateFreeItemsProcessorBlock.execute(this.data, this.data.RetailDetails[targetIndex], freeitem);
console.log('编写修改自由项逻辑完成');
case 3:
case 'end':
return _context10.stop();
}
}
}, _callee10, this);
}));
function updateFreeItem(_x10, _x11) {
return _ref12.apply(this, arguments);
}
return updateFreeItem;
}()
//修改批号
//@operationLog('updateBatch', '商品({0})批次修改为{1}', ['1-Inventory.Name', '0'])
}, {
key: 'updateBatch',
value: function () {
var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(batchs, targetIndex) {
var _this6 = this;
var retailDetail, RetailDetailUpdate, batchStr, desc;
return _regenerator2.default.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
console.log('编写修改自由项逻辑:', batchs);
$T.debugger();
if (batchs && batchs.length > 0) {
_context11.next = 4;
break;
}
return _context11.abrupt('return');
case 4:
retailDetail = this.data.RetailDetails[targetIndex];
RetailDetailUpdate = {};
RetailDetailUpdate.Batchs = batchs;
RetailDetailUpdate.event = "batch";
_context11.next = 10;
return (0, _mutantsMicrofx.runInAction)(function () {
console.log('编写修改自由项逻辑runInAction');
$T.debugger();
var voucherVM = _this6.viewModel.getViewItem('Voucher');
_AddInventoryProcessorBlock.AddInventoryProcessorBlock.execute(_this6.data, retailDetail, RetailDetailUpdate, voucherVM && voucherVM.targetIndex);
});
case 10:
batchStr = batchs.map(function (item) {
return item.Batch;
}).join(",");
desc = '\u5546\u54C1(' + retailDetail.Inventory.Name + '),\u6279\u6B21\u4FEE\u6539\u4E3A\u3010' + batchStr + '\u3011';
_AddLogProcessor.AddLogProcessor.execute("修改批号", this.data.Code, desc);
case 13:
case 'end':
return _context11.stop();
}
}
}, _callee11, this);
}));
function updateBatch(_x12, _x13) {
return _ref13.apply(this, arguments);
}
return updateBatch;
}()
/**
* 修改批号明细上的数量
* @param {*} param
*/
}, {
key: 'updateBatchDetail',
value: function () {
var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(param) {
var updateProp, updateRetailDetail, desc;
return _regenerator2.default.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
console.log("updateRetailDetail开始执行:", param);
$T.debugger();
// let batchsData = param.batchsData;
// let index = param.index;
updateProp = param.updateProp;
updateRetailDetail = param.updateRetailDetail;
desc = '';
$T.debugger();
if ("Quantity" === updateProp.name) {
updateRetailDetail.Quantity = updateProp.newData;
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + updateRetailDetail.Inventory.Name + '\u3011\u6570\u91CF\u4E3A\u3010' + updateRetailDetail.Quantity + '\u3011';
// 数量1改变
_QuantityToQuantity2Processor.QuantityToQuantity2Processor.execute(updateRetailDetail);
}
if ("Quantity2" === updateProp.name) {
// 数量1改变
updateRetailDetail.Quantity2 = updateProp.newData;
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + updateRetailDetail.Inventory.Name + '\u3011\u6570\u91CF2\u4E3A\u3010' + updateRetailDetail.Quantity2 + '\u3011';
_Quantity2ToQuantityProcessor.Quantity2ToQuantityProcessor.execute(updateRetailDetail);
}
if (!("ProductionDate" === updateProp.name)) {
_context12.next = 12;
break;
}
// 生产日期改变
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + updateRetailDetail.Inventory.Name + '\u3011\u751F\u4EA7\u65E5\u671F\u4E3A\u3010' + updateProp.newData.toLocaleDateString() + '\u3011';
_context12.next = 12;
return _CalculateExpiryDateProcessor.CalculateExpiryDateProcessor.execute(updateRetailDetail, updateProp.newData);
case 12:
if (!("ExpiryDate" === updateProp.name)) {
_context12.next = 16;
break;
}
// 失效日期改变
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + updateRetailDetail.Inventory.Name + '\u3011\u5931\u6548\u65E5\u671F\u4E3A\u3010' + updateProp.newData.toLocaleDateString() + '\u3011';
_context12.next = 16;
return _CalculateProductionDateProcessor.CalculateProductionDateProcessor.execute(updateRetailDetail, updateProp.newData);
case 16:
case 'end':
return _context12.stop();
}
}
}, _callee12, this);
}));
function updateBatchDetail(_x14) {
return _ref14.apply(this, arguments);
}
return updateBatchDetail;
}()
//修改备注
}, {
key: 'updateSingleMemo',
value: function () {
var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(SingleMemo, targetIndex) {
var _this7 = this;
return _regenerator2.default.wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
(0, _mutantsMicrofx.runInAction)(function () {
_this7.data.RetailDetails[targetIndex].Memo = SingleMemo;
console.log('进入备注业务处理逻辑');
});
case 1:
case 'end':
return _context13.stop();
}
}
}, _callee13, this);
}));
function updateSingleMemo(_x15, _x16) {
return _ref15.apply(this, arguments);
}
return updateSingleMemo;
}()
//修改整单备注
// @operationLog('updateMemo', '修改整单备注信息为{0}', ['0'])
}, {
key: 'updateWholeMemo',
value: function () {
var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(WholeMemo) {
var _this8 = this;
return _regenerator2.default.wrap(function _callee14$(_context14) {
while (1) {
switch (_context14.prev = _context14.next) {
case 0:
(0, _mutantsMicrofx.runInAction)(function () {
_this8.data.Memo = WholeMemo;
});
case 1:
case 'end':
return _context14.stop();
}
}
}, _callee14, this);
}));
function updateWholeMemo(_x17) {
return _ref16.apply(this, arguments);
}
return updateWholeMemo;
}()
//修改存货序列号
}, {
key: 'updateSerialNumber',
value: function () {
var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(SerialNumber, SerialNumberMemo, targetIndex) {
var _this9 = this;
return _regenerator2.default.wrap(function _callee15$(_context15) {
while (1) {
switch (_context15.prev = _context15.next) {
case 0:
(0, _mutantsMicrofx.runInAction)(function () {
var Inventory = _this9.data.RetailDetails[targetIndex];
if (Inventory) {
Inventory.SerialNumber = SerialNumber;
Inventory.SerialNumberMemo = SerialNumberMemo;
}
});
case 1:
case 'end':
return _context15.stop();
}
}
}, _callee15, this);
}));
function updateSerialNumber(_x18, _x19, _x20) {
return _ref17.apply(this, arguments);
}
return updateSerialNumber;
}()
}, {
key: 'deleteBodyItem',
value: function () {
var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(paramIn) {
var _this10 = this;
var index;
return _regenerator2.default.wrap(function _callee16$(_context16) {
while (1) {
switch (_context16.prev = _context16.next) {
case 0:
index = paramIn.index;
(0, _mutantsMicrofx.runInAction)(function () {
console.log('进入明细删除业务处理逻辑->paramIn=====', paramIn);
var desc = '\u5220\u9664\u660E\u7EC6\u884C\u3010' + index + '\u3011,\u660E\u7EC6\u884C\u5B58\u8D27\u3010' + _this10.data.RetailDetails[index].Inventory.Name + '\u3011\u7684\u6570\u636E';
_RowDeleteProcessorBlock.RowDeleteProcessorBlock.execute(_this10.data, index);
_AddLogProcessor.AddLogProcessor.execute("删除明细行", _this10.data.Code, desc);
});
case 2:
case 'end':
return _context16.stop();
}
}
}, _callee16, this);
}));
function deleteBodyItem(_x21) {
return _ref18.apply(this, arguments);
}
return deleteBodyItem;
}()
}, {
key: 'updateBodyItem',
value: function () {
var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(updateRetailDetail, _ref20) {
var index = _ref20.index,
updateProp = _ref20.updateProp;
var funName;
return _regenerator2.default.wrap(function _callee17$(_context17) {
while (1) {
switch (_context17.prev = _context17.next) {
case 0:
funName = 'update' + updateProp.name;
if (this[funName]) {
this[funName](updateRetailDetail, {
index: index,
updateProp: updateProp
});
} else {
console.warn('方法:[' + funName + ']不存在!');
}
case 2:
case 'end':
return _context17.stop();
}
}
}, _callee17, this);
}));
function updateBodyItem(_x22, _x23) {
return _ref19.apply(this, arguments);
}
return updateBodyItem;
}()
//修改数量
}, {
key: 'updateQuantity',
value: function () {
var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(updateRetailDetail, _ref22) {
var index = _ref22.index,
updateProp = _ref22.updateProp;
var desc;
return _regenerator2.default.wrap(function _callee18$(_context18) {
while (1) {
switch (_context18.prev = _context18.next) {
case 0:
console.log('进入数量编辑逻辑->paramIn=====', {
index: index,
updateProp: updateProp
});
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + this.data.RetailDetails[index].Inventory.Name + '\u3011\u6570\u91CF\u4ECE\u3010' + this.data.RetailDetails[index].Quantity + '\u3011\u4E3A\u3010' + updateProp.newData + '\u3011';
_QuantityChangeProcessorBlock.QuantityChangeProcessorBlock.execute(this.data, this.data.RetailDetails[index], updateProp.newData, {});
// tuzh 原单退货 退货数量等于最大可退数量,需要调用退货金额算法,减少退货误差
if (this.isOriginalReturnDetail(index)) {
_ReturnTaxAmountProcessBlock.ReturnTaxAmountProcessBlock.execute(this.data, this.data.RetailDetails[index]);
}
//tuzh 存货相关修改暂时关闭,否则日志量会很大
//AddLogProcessor.execute("修改数量", this.data.Code, desc);
case 4:
case 'end':
return _context18.stop();
}
}
}, _callee18, this);
}));
function updateQuantity(_x24, _x25) {
return _ref21.apply(this, arguments);
}
return updateQuantity;
}()
/**
* 修改明细行金额
*/
}, {
key: 'updateSingleAmount',
value: function () {
var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(SingleAmount, targetIndex) {
return _regenerator2.default.wrap(function _callee19$(_context19) {
while (1) {
switch (_context19.prev = _context19.next) {
case 0:
console.log('修改明细行金额');
$T.debugger();
_TaxAmountChangeProcessorBlock.TaxAmountChangeProcessorBlock.execute(this.data, this.data.RetailDetails[targetIndex], SingleAmount);
case 3:
case 'end':
return _context19.stop();
}
}
}, _callee19, this);
}));
function updateSingleAmount(_x26, _x27) {
return _ref23.apply(this, arguments);
}
return updateSingleAmount;
}()
/**
* 修改数量2
* @param {*} Quantity2
* @param {*} targetIndex
*/
}, {
key: 'updateQuantity2',
value: function () {
var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(Quantity2, targetIndex) {
return _regenerator2.default.wrap(function _callee20$(_context20) {
while (1) {
switch (_context20.prev = _context20.next) {
case 0:
_Quantity2ChangeProcessorBlock.Quantity2ChangeProcessorBlock.execute(this.data, this.data.RetailDetails[targetIndex], Quantity2, {});
case 1:
case 'end':
return _context20.stop();
}
}
}, _callee20, this);
}));
function updateQuantity2(_x28, _x29) {
return _ref24.apply(this, arguments);
}
return updateQuantity2;
}()
/**
* 修改计量单位2
* @param {*} updateRetailDetail
* @param {*} param1
*/
}, {
key: 'updateUnit',
value: function () {
var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(updateRetailDetail, _ref26) {
var index = _ref26.index,
updateProp = _ref26.updateProp;
return _regenerator2.default.wrap(function _callee21$(_context21) {
while (1) {
switch (_context21.prev = _context21.next) {
case 0:
_context21.next = 2;
return _UnitProcessorBlock.UnitProcessorBlock.execute(this.data, index, updateProp.newData, "Unit1");
case 2:
case 'end':
return _context21.stop();
}
}
}, _callee21, this);
}));
function updateUnit(_x30, _x31) {
return _ref25.apply(this, arguments);
}
return updateUnit;
}()
//修改含税单价 即单品改价
}, {
key: 'updateTaxPrice',
value: function () {
var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(updateRetailDetail, _ref28) {
var index = _ref28.index,
updateProp = _ref28.updateProp;
var desc;
return _regenerator2.default.wrap(function _callee22$(_context22) {
while (1) {
switch (_context22.prev = _context22.next) {
case 0:
console.log('进入含税单价逻辑->paramIn=====', {
index: index,
updateProp: updateProp
});
$T.debugger();
// let oldData = _cloneDeep(toJS(this.data));
// 含税单价改变
desc = '\u4FEE\u6539\u5B58\u8D27\u3010' + this.data.RetailDetails[index].Inventory.Name + '\u3011\u542B\u7A0E\u5355\u4EF7\u4ECE\u3010' + this.data.RetailDetails[index].TaxPrice + '\u3011\u4E3A\u3010' + updateProp.newData + '\u3011';
_TaxPriceChangeProcessorBlock.TaxPriceChangeProcessorBlock.execute(this.data, this.data.RetailDetails[index], updateProp.newData);
_AddLogProcessor.AddLogProcessor.execute("修改含税单价", this.data.Code, desc);
// // 获取弹出框的相关信息
// let popupMethod = this.getPopupMethodInfomation();
// let result = await ControlMinPriceProcessorBlock.execute(oldData, oldData.RetailDetails[index], true, false, popupMethod);
// if (result) {
// runInAction(() => {
// Object.assign(this.data, oldData);
// // Object.assign(this.data.RetailDetails[index], oldData.RetailDetails[index]);
// console.log(this.data.RetailDetails[index]);
// });
// }
case 5:
case 'end':
return _context22.stop();
}
}
}, _callee22, this);
}));
function updateTaxPrice(_x32, _x33) {
return _ref27.apply(this, arguments);
}
return updateTaxPrice;
}()
}, {
key: 'updateVoucherDate',
value: function () {
var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(voucherDate) {
return _regenerator2.default.wrap(function _callee23$(_context23) {
while (1) {
switch (_context23.prev = _context23.next) {
case 0:
if (!(this.isOriginalReturn() && new Date(this.refundRetail.VoucherDate).getDate() > voucherDate.getDate())) {
_context23.next = 3;
break;
}
_tplusComponentsTouch.Message.warn("原单退货不支持修改单据日期早于原单日期");
return _context23.abrupt('return');
case 3:
_context23.next = 5;
return _VoucherDateProcessor.VoucherDateProcessor.execute(this.data, voucherDate);
case 5:
case 'end':
return _context23.stop();
}
}
}, _callee23, this);
}));
function updateVoucherDate(_x34) {
return _ref29.apply(this, arguments);
}
return updateVoucherDate;
}()
//修改导购员
}, {
key: 'updateGuide',
value: function () {
var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(guide) {
return _regenerator2.default.wrap(function _callee24$(_context24) {
while (1) {
switch (_context24.prev = _context24.next) {
case 0:
_PersonProcessBlock.PersonProcessBlock.execute(this.data, null, { "person": guide, "choice": "all" });
case 1:
case 'end':
return _context24.stop();
}
}
}, _callee24, this);
}));
function updateGuide(_x35) {
return _ref30.apply(this, arguments);
}
return updateGuide;
}()
//修改单行导购员
}, {
key: 'updateSingleGuide',
value: function () {
var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(guide, targetIndex) {
return _regenerator2.default.wrap(function _callee25$(_context25) {
while (1) {
switch (_context25.prev = _context25.next) {
case 0:
_PersonProcessBlock.PersonProcessBlock.execute(this.data, this.data.RetailDetails[targetIndex], { "person": guide, "choice": "detail" });
case 1:
case 'end':
return _context25.stop();
}
}
}, _callee25, this);
}));
function updateSingleGuide(_x36, _x37) {
return _ref31.apply(this, arguments);
}
return updateSingleGuide;
}()
/* 加载voucherbody 数据(merge datamodel) */
}, {
key: 'loadVoucherBody',
value: function () {
var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(dataModel) {
var _this11 = this;
return _regenerator2.default.wrap(function _callee26$(_context26) {
while (1) {
switch (_context26.prev = _context26.next) {
case 0:
_context26.next = 2;
return (0, _mutantsMicrofx.runInAction)(function () {
_this11.data.merge(dataModel);
});
case 2:
return _context26.abrupt('return', true);
case 3:
case 'end':
return _context26.stop();
}
}
}, _callee26, this);
}));
function loadVoucherBody(_x38) {
return _ref32.apply(this, arguments);
}
return loadVoucherBody;
}()
/* tuzh 原单退货相关逻辑处理 ----begian*/
/* 加载voucherbody-原单退货 */
}, {
key: 'loadRefundVoucherBody',
value: function () {
var _ref33 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(dataModel) {
var _this12 = this;
return _regenerator2.default.wrap(function _callee27$(_context27) {
while (1) {
switch (_context27.prev = _context27.next) {
case 0:
$T.debugger();
console.log("initReturnInventory开始");
_context27.next = 4;
return this.initReturnInventory();
case 4:
console.log("initReturnInventory结束");
_context27.next = 7;
return (0, _mutantsMicrofx.runInAction)(function () {
var sourceDate = dataModel.VoucherDate;
console.log("OriginalReturnProcessBlock开始");
//tuzha 处理原单退货的零售单信息
_OriginalReturnProcessBlock.OriginalReturnProcessBlock.execute(_this12.data, dataModel);
console.log("OriginalReturnProcessBlock结束");
// 创建一个原单快照,校验数量等信息需要
_this12.refundRetail = (0, _cloneDeep3.default)((0, _mobx.toJS)(_this12.data));
_this12.refundRetail.VoucherDate = sourceDate;
JSON.setCellValue(_this12.data, "IsOriginalReturn", true);
// 原单退货数据
JSON.setCellValue(_this12.data, "refundRetail", _this12.refundRetail);
// //原单退货选择完存货后自动触发状态控制
// this.refundVoucherControl(0);
});
case 7:
return _context27.abrupt('return', true);
case 8:
case 'end'