tplus-pos
Version:
pos module
220 lines (181 loc) • 7.66 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Alert2 = require('tinper-bee/dist/Alert');
var _Alert3 = _interopRequireDefault(_Alert2);
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;
require('tinper-bee/dist/Alert/index.css');
var _tplusComponentsTouch = require('tplus-components-touch');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mutantsMicrofx = require('mutants-microfx');
var _mutantsAppfx = require('mutants-appfx');
var _mutantsUtil = require('mutants-util');
require('./style.less');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var FreeItemsModal = (_dec = (0, _mutantsAppfx.injectViewModel)('FreeItemsModal'), _dec(_class = (0, _mutantsMicrofx.observer)(_class = function (_Component) {
(0, _inherits3.default)(FreeItemsModal, _Component);
function FreeItemsModal(props, context) {
(0, _classCallCheck3.default)(this, FreeItemsModal);
var _this = (0, _possibleConstructorReturn3.default)(this, (FreeItemsModal.__proto__ || (0, _getPrototypeOf2.default)(FreeItemsModal)).call(this, props, context));
_this.onOk = function () {
var viewInfo = _this.props.viewModel;
var ok = viewInfo.ok,
freeItems = viewInfo.freeItems;
var isSuccess = freeItems.every(function (element) {
return _this.outData[element.Name];
});
if (isSuccess) ok(_this.outData);
};
_this.upDown = function (index) {
_this.setState({ freeItemIndex: index });
_this.refs['freeItem_' + index].scrollIntoView(true);
};
_this.getDefaultFreeItems = function (freeItems, freeItemSelect) {
// 默认没有选中自由项的选中第一个
freeItems.forEach(function (freeItem, i) {
var isChoose = freeItem.FreeItemRanges.some(function (rangeItem) {
if (rangeItem.Name === freeItem.Value) return true;
});
if (!isChoose && freeItem.FreeItemRanges[0] !== undefined) {
freeItems[i].Value = freeItem.FreeItemRanges[0].Name;
}
});
return freeItems;
};
_this.outData = {}, _this.state = {
freeItemIndex: 0
};
return _this;
}
(0, _createClass3.default)(FreeItemsModal, [{
key: 'renderFree',
value: function renderFree() {
var _this2 = this;
var _props$viewModel = this.props.viewModel,
freeItems = _props$viewModel.freeItems,
freeItemSelect = _props$viewModel.freeItemSelect;
var ItemIndex = this.state.freeItemIndex;
var refreeItems = this.getDefaultFreeItems(freeItems, freeItemSelect);
var idx = ItemIndex <= -1 || ItemIndex == undefined || ItemIndex > refreeItems.length - 1 ? 0 : ItemIndex;
return refreeItems.map(function (freeItem, i) {
return _react2.default.createElement(
'div',
{ onClick: function onClick() {
_this2.upDown(i);
}, ref: 'freeItem_' + i, className: 'free-range ' + (idx == i ? 'free-range-selected' : ''), key: 'freeItem_' + i },
_react2.default.createElement(
'span',
{ className: 'free-range-title' },
freeItem.Title
),
_react2.default.createElement(
'div',
{ className: 'free-range-valueWaper' },
freeItem.FreeItemRanges.map(function (rangeItem, index) {
var isChoose = rangeItem.Name === freeItem.Value;
return _react2.default.createElement(
'span',
{ key: freeItem.Name + '_rangeItem_' + index,
className: isChoose ? 'free-range-select' : 'free-range-default',
onClick: function onClick() {
freeItemSelect(rangeItem, i);
} },
rangeItem.Name,
_react2.default.createElement(_tplusComponentsTouch.Ticon, { style: !isChoose ? { visibility: 'hidden' } : {}, type: 'xuanzhong', className: 'xuanzhong' })
);
})
)
);
});
}
}, {
key: 'render',
value: function render() {
var _props$viewModel2 = this.props.viewModel,
visible = _props$viewModel2.visible,
title = _props$viewModel2.title,
_ok = _props$viewModel2.ok,
_cancel = _props$viewModel2.cancel,
errText = _props$viewModel2.errText,
cancelEnable = _props$viewModel2.cancelEnable,
head = _props$viewModel2.head;
var voucherDefaultPosMode = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('voucherDefaultPosMode') || 'touch';
var _ref = _mutantsUtil.platform || {},
isHorizontalPad = _ref.isHorizontalPad;
return _react2.default.createElement(
'div',
null,
_react2.default.createElement(
_tplusComponentsTouch.ModalWraper,
{
key: 'freeItems',
show: visible,
modalType: 'mid',
title: head,
className: _tplusComponentsTouch.hotKey.hotKeyBindClass('7', 'freeItem'),
reqfooter: true,
cancel: function cancel() {
_cancel();
},
ok: function ok() {
_ok();
}
},
_react2.default.createElement(
'div',
{ className: 'freeItem-content' },
title ? _react2.default.createElement(
'div',
{ className: 'freeItem-title' },
_react2.default.createElement(
'span',
{ className: 'head-name' },
title && title.name,
':'
),
_react2.default.createElement(
'span',
{ className: 'head-value' },
title && title.value
)
) : null,
!!errText && _react2.default.createElement(
_Alert3.default,
null,
errText
),
_react2.default.createElement(
'div',
{ className: 'freeItem-container' },
this.renderFree()
),
voucherDefaultPosMode == 'voucher' && !isHorizontalPad ? head == "修改单位" ? _react2.default.createElement(
'div',
{ className: 'freeItem-footer' },
'\u2190\u2192\u65B9\u5411\u952E\uFF1A\u9009\u62E9\u5355\u4F4D'
) : _react2.default.createElement(
'div',
{ className: 'freeItem-footer' },
'\u2191\u2193\u65B9\u5411\u952E\uFF1A\u9009\u62E9\u81EA\u7531\u9879 \uFF1B\u2190\u2192\u65B9\u5411\u952E\uFF1A\u9009\u62E9\u81EA\u7531\u9879\u53D6\u503C'
) : null
)
)
);
}
}]);
return FreeItemsModal;
}(_react.Component)) || _class) || _class);
exports.default = FreeItemsModal;
//# sourceMappingURL=index.js.map