UNPKG

tplus-pos

Version:

pos module

1,498 lines (1,150 loc) 101 kB
'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'