UNPKG

tplus-pos

Version:

pos module

282 lines (241 loc) 12 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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 _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _dec, _class, _class2, _temp2; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _mutantsAppfx = require('mutants-appfx'); var _mobx = require('mobx'); var _mobx2 = _interopRequireDefault(_mobx); var _mutantsMicrofx = require('mutants-microfx'); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _tplusComponentsTouch = require('tplus-components-touch'); var _tools = require('../../../util/tools.js'); var _tools2 = _interopRequireDefault(_tools); var _common = require('../../../util/common.js'); var _common2 = _interopRequireDefault(_common); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var VoucherBody = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_class = (0, _mutantsMicrofx.observer)(_class = (_temp2 = _class2 = function (_React$Component) { (0, _inherits3.default)(VoucherBody, _React$Component); function VoucherBody() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, VoucherBody); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = VoucherBody.__proto__ || (0, _getPrototypeOf2.default)(VoucherBody)).call.apply(_ref, [this].concat(args))), _this), _this.rowClick = function (type, index, record, fieldName) { var controllerEvent = _this.props.controllerEvent; if (_tools2.default.isNull(index) || _tools2.default.isNull(record)) return; //业务逻辑 switch (type) { case 'delete': if (record.uiState.record && !record.uiState.record.delete) return; controllerEvent('deleteBodyItem', { index: index }); break; case 'update': controllerEvent('updateBodyItem', { index: index, record: record }); break; case 'updateField': if (_tools2.default.isNull(fieldName)) return; var uiState = record.uiState; if (uiState[fieldName] && uiState[fieldName].disable) { if (!!uiState.disableTip) Message.info(uiState.disableTip); return; } controllerEvent('updateFieldFlow', { index: index, record: record, fieldName: fieldName }); break; case 'click': controllerEvent('selectRow', { index: index, record: record }); } }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(VoucherBody, [{ key: 'changeQuantity', value: function changeQuantity(index, record, type) { var Quantity = void 0; var isAllow = this.isChangeQuantity(record); switch (type) { case 'minus': { if (!isAllow.minus) return; Quantity = record.Quantity - 1; break; } case 'plus': { if (!isAllow.plus) return; Quantity = record.Quantity + 1; break; } default: Quantity = record.Quantity; } this.rowClick('update', index, { Quantity: Quantity }); } }, { key: 'getValue', value: function getValue(retail, fieldName) { var viewInfo = this.props.viewModel; var voucherDetail = viewInfo.voucherDetail; return _common2.default.formatValue(voucherDetail.find(function (column) { return column.FieldName == fieldName; }), retail[fieldName]); } }, { key: 'componentDidUpdate', value: function componentDidUpdate() { this.scrollIntoView(); } }, { key: 'scrollIntoView', value: function scrollIntoView() { if (!this.container) return; var viewInfo = this.props.viewModel; var curLi = this.container.querySelectorAll("li")[viewInfo.targetIndex]; if (curLi) { curLi.scrollIntoView(); } } }, { key: 'isChangeQuantity', value: function isChangeQuantity(record) { var quantityUiState = record.uiState && record.uiState.Quantity; var max = quantityUiState.max.value; var min = quantityUiState.min.value; var abs = quantityUiState.abs; var isAllow = { plus: true, minus: true }; if (max !== null && record.Quantity >= max) isAllow.plus = false; if (min !== null && record.Quantity <= min) isAllow.minus = false; //自助够不允许为 负数(强行写死,应该viewblock控制) if (record.Quantity <= 1) isAllow.minus = false; //如果uistate只允许正数,当数量小于1 不允许点击-;(暂时 领域viewblock 没有控制) if (abs && record.Quantity <= 1) isAllow.minus = false; //称重商品不允许修改数量 if (record.Inventory.IsWeigh) { isAllow = { plus: false, minus: false }; } return isAllow; } }, { key: 'render', value: function render() { var _this2 = this; var viewInfo = this.props.viewModel; var dataSource = viewInfo.data; var targetIndex = viewInfo.targetIndex; if (!viewInfo.totalQuantity) { return _react2.default.createElement( 'div', { className: 'blank-page' }, _react2.default.createElement( 'span', null, '\u8BF7\u5C06\u5546\u54C1\u6761\u5F62\u7801' ), _react2.default.createElement('br', null), _react2.default.createElement( 'span', null, '\u5BF9\u51C6\u53F3\u4E0B\u65B9\u626B\u63CF\u53E3' ) ); } return _react2.default.createElement( 'div', { style: { height: '100%', overflow: 'scroll' }, ref: function ref(e) { _this2.container = e; } }, _react2.default.createElement( 'ul', null, dataSource.map(function (retail, index) { var name = retail.Inventory && retail.Inventory.Name; var taxPrice = _this2.getValue(retail, 'TaxPrice'); var retailPrice = _this2.getValue(retail, 'RetailPrice'); var quantity = _this2.getValue(retail, 'Quantity'); var taxAmount = _this2.getValue(retail, 'TaxAmount'); var isAllow = _this2.isChangeQuantity(retail); var select = targetIndex == index; return _react2.default.createElement( 'li', { key: retail.Code, className: 'sku ' + (select ? 'sku-select' : ''), onClick: function onClick() { _this2.rowClick('click', index, retail); } }, _react2.default.createElement( 'div', { className: 'top' }, retail.badge && _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'zeng', className: 'zeng' }), _react2.default.createElement( 'span', { className: 'name' }, name ), _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'shanchu', className: 'delete', onClick: function onClick(e) { e.stopPropagation(); _this2.rowClick('delete', index, retail); } }) ), _react2.default.createElement( 'div', { className: 'bottom' }, _react2.default.createElement( 'span', { className: 'tax-price' }, '\u5355\u4EF7: \uFFE5', taxPrice ), _react2.default.createElement( 'span', { className: 'retail-price ' + (taxPrice == retailPrice ? '' : 'retail-price-through') }, '\u539F\u4EF7: \uFFE5', retailPrice ), _react2.default.createElement( 'span', { className: 'quantity' }, _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'jianqu', className: 'minus ' + (!isAllow.minus ? 'no-effect' : ''), onClick: function onClick() { _this2.changeQuantity(index, retail, 'minus'); } }), quantity, _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'zengjia', className: 'plus ' + (!isAllow.plus ? 'no-effect' : ''), onClick: function onClick() { _this2.changeQuantity(index, retail, 'plus'); } }) ), _react2.default.createElement( 'span', { className: 'tax-amount' }, '\uFFE5', taxAmount ) ) ); }) ) ); } }]); return VoucherBody; }(_react2.default.Component), _class2.contextTypes = { onEvent: _propTypes2.default.func }, _temp2)) || _class) || _class); exports.default = VoucherBody; //# sourceMappingURL=voucherBody.js.map