UNPKG

tplus-pos

Version:

pos module

458 lines (395 loc) 15.9 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _Tabs3 = require('tinper-bee/dist/Tabs'); var _Tabs4 = _interopRequireDefault(_Tabs3); var _Button6 = require('tinper-bee/dist/Button'); var _Button7 = _interopRequireDefault(_Button6); 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, _temp; require('tinper-bee/dist/Tabs/index.css'); require('tinper-bee/dist/Button/index.css'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _mutantsMicrofx = require('mutants-microfx'); var _mutantsAppfx = require('mutants-appfx'); var _common = require('../../../util/common'); var _common2 = _interopRequireDefault(_common); var _tplusComponentsTouch = require('tplus-components-touch'); var _tplusPoslogin = require('tplus-poslogin'); var _mutantsUtil = require('mutants-util'); require('./style.less'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TabPane = _Tabs4.default.TabPane; var DataList = (_dec = (0, _mutantsMicrofx.translate)('posTouch'), _dec(_class = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = function (_TemplateComponent) { (0, _inherits3.default)(DataList, _TemplateComponent); function DataList(props, context) { (0, _classCallCheck3.default)(this, DataList); //是否移动端 var _this = (0, _possibleConstructorReturn3.default)(this, (DataList.__proto__ || (0, _getPrototypeOf2.default)(DataList)).call(this)); _this.state = { eventHanding: false }; _this.reduceTabbarKeyControll = function () { setTimeout(function () { // 阻止tinper-bee 组件库通过上下左右键控制tabbar var tabbar = document.querySelector(".u-tabs-bar"); tabbar ? tabbar.onkeydown = function (e) { console.log(e); } : null; }, 1000); }; _this.fireEvent = function () { var _this$context; _this.setState({ eventHanding: true }); return (_this$context = _this.context).onEvent.apply(_this$context, arguments).then(function () { _this.setState({ eventHanding: false }); }); }; _this.handleOk = function () { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); var dataList = planList.activeDetail; _this.fireEvent(planList, 'onDetailOk').then(function () { dataList.hide('ok'); }); _this.setState({ text: '' }); }; _this.handleCancel = function () { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); var dataList = planList.activeDetail; dataList.hide('cancel'); _this.fireEvent(planList, 'onDetailCancel'); planList.activeItem.remove(); _this.setState({ text: '' }); }; _this.handleRowClick = function (type, index, record, fieldName, rowItem) { var tabIndex = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); var fieldEditor = _this.context.viewModel.items.find(function (it) { return it.type === 'TextBoxModal'; }); var column = void 0; switch (type) { case 'click': planList.activeDetail.tabs[tabIndex].setCurrent(record.key); if (planList.activeDetail.tabs[tabIndex].clickType === 'update') { planList.activeDetail.tabs[tabIndex].updateRow(record.key, record); } else { planList.activeDetail.tabs[tabIndex].copyRow(record.key); } _this.fireEvent(planList, 'onRowClick', { index: index, tabIndex: tabIndex }); break; case 'update': planList.activeDetail.tabs[tabIndex].updateRow(record.key, record); break; case 'updateField': // if (planList.detailEditor.has(fieldName)) { // fieldEditor.inputForm({ // formData: {...planList.detailEditor.get(fieldName),Data:[record]}, // cancelable: true // }, (value) => { // planList.activeDetail.tabs[tabIndex].updateRow(index, record); // }); // } if (!_common2.default.getIsModifyQuantityAuth() && fieldName === 'Quantity') return; column = planList.activeDetail.tabs[tabIndex].columns.find(function (it) { return it.key === fieldName; }); fieldEditor.inputForm({ Title: column.title, Data: [{ ControlType: column.controlType, FieldName: fieldName, Title: column.title, State: '', Label: '', Value: record[fieldName], type: column.minValue >= 0 ? 'positive' : null, maxLength: column.maxLength, precisionLength: column.precision }], okable: true, cancelable: true }, function (value) { if (value !== undefined) { planList.activeDetail.tabs[tabIndex].updateRow(record.key, value); } }); break; case 'delete': planList.activeDetail.tabs[tabIndex].deleteRow(planList.activeDetail.tabs[tabIndex].data[record.key]); break; } }; _this.handleRowCheck = function (checked, index, tabIndex) { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); planList.activeDetail.tabs[tabIndex].select(index, checked); }; _this.handleMoreClick = function (action) { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); _this.fireEvent(planList, 'onMoreClick', { action: action }); }; _this.handleInput = function (val) { _this.setState({ text: val }); }; _this.handleSearch = function () { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); //const row = planList.activeDetail.search(val); _this.fireEvent(planList, 'onSearch', { value: _this.state.text }); _this.setState({ text: '' }); // if (row){ // planList.activeDetail.addRow(row); // } }; _this.handleTabChange = function (tabIndex) { var planList = _this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); planList.activeDetail.setActiveTab(tabIndex); }; _this.changeScanProduct = function () { if (_this.scanObj) _this.scanObj.startScan(); }; _this.onScanResult = function (res) { _this.setState({ text: res }, function () { _this.handleSearch(); }); }; _this.setCurrentSta = function (currentIndex, list) { return list.findIndex(function (item) { return item.key == currentIndex; }); }; var _ref = _mutantsUtil.platform || {}, isHorizontalPad = _ref.isHorizontalPad; _this.isHorizontalPad = !!isHorizontalPad; var watchDataChange = function watchDataChange(detial) { if (_this.disposer) { _this.disposer(); _this.disposer = null; } if (detial) { var planList = context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); _this.disposer = (0, _mutantsMicrofx.reaction)(function () { return detial.tabs[0].rows; }, function (rows) { _this.fireEvent(planList, 'onDetailChange', rows); }); } }; (0, _mutantsMicrofx.reaction)(function () { return context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }).activeDetail; }, watchDataChange); return _this; } (0, _createClass3.default)(DataList, [{ key: 'componentWillUnmount', value: function componentWillUnmount() { if (this.disposer) { this.disposer(); this.disposer = null; } } }, { key: 'componentDidUpdate', value: function componentDidUpdate() { this.reduceTabbarKeyControll(); } }, { key: 'componentDidMount', value: function componentDidMount() { this.reduceTabbarKeyControll(); } //移动端:扫描商品 }, { key: 'render', value: function render() { var _this2 = this; var t = this.props.t; var planList = this.context.viewModel.items.find(function (it) { return it.type === 'PlanListModel'; }); var dataList = planList.activeDetail; if (!dataList) { return null; } return _react2.default.createElement( _tplusComponentsTouch.ModalWraper, { key: 'dataList', className: 'dataListModal', show: dataList.visible, modalType: 'big', exclueBoard: true, title: dataList.title, onHide: this.handleCancel, footer: _react2.default.createElement( 'div', null, _react2.default.createElement( 'span', { className: 'tabinfo' }, dataList.activeTab.info ), _react2.default.createElement( _Button7.default, { disabled: !dataList.activeTab.cancel, onClick: this.handleCancel }, t('取消') ), _react2.default.createElement( _Button7.default, { type: 'primary', disabled: !dataList.activeTab.ok || this.state.eventHanding, className: 'ok', onClick: this.handleOk }, t('确定') ) ) }, _react2.default.createElement( 'div', { className: 'voucher-body ' + _tplusComponentsTouch.hotKey.hotKeyBindClass('9') }, _react2.default.createElement( 'div', { className: ['content', dataList.tabs.length === 1 && planList.extraLabel ? 'showExtra' : '', dataList.tabs.length > 1 ? 'hasTabs' : ''].join(' ') }, _react2.default.createElement( 'div', { className: 'kb' }, _react2.default.createElement(_tplusComponentsTouch.Keyboard, { type: 'letter+modal+input', prefix: 'sousuo', placeholder: planList.placeholder, value: this.state.text, onChange: this.handleInput, handleOk: this.handleSearch, handleEnter: this.handleSearch }), //扫描 this.isHorizontalPad && _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'saomiao1', className: 'product-saomiao', onClick: this.changeScanProduct }), _react2.default.createElement( _Button7.default, { type: 'primary', className: 'ok', onClick: this.handleSearch }, t('搜索') ), dataList.tabs.length <= 1 ? planList.moreBtns.filter(function (it) { return it.visible; }).reverse().map(function (btn, i) { return _react2.default.createElement( _Button7.default, { key: i, type: 'default', className: 'more', onClick: function onClick() { return _this2.handleMoreClick(btn.action); } }, btn.name ); }) : null, /* 扫描组件 */ this.isHorizontalPad && _react2.default.createElement(_tplusComponentsTouch.Scan, { ref: function ref(scan) { return _this2.scanObj = scan; }, onChange: this.onScanResult }) ), _react2.default.createElement( 'div', { className: 'extra' }, dataList.tabs.length === 1 ? planList.extraLabel : null, _react2.default.createElement( 'span', null, dataList.tabs.length === 1 ? dataList.extraMessage : null ) ), dataList.tabs.length > 1 ? _react2.default.createElement( _Tabs4.default, { defaultActiveKey: '0', activeKey: dataList.activeTabIndex.toString(), className: 'tabs', onChange: this.handleTabChange, extraContent: dataList.activeTabIndex.toString() === '0' ? planList.moreBtns.filter(function (it) { return it.visible; }).reverse().map(function (btn, i) { return _react2.default.createElement( _Button7.default, { key: i, type: 'default', className: 'more', onClick: function onClick() { return _this2.handleMoreClick(btn.action); } }, btn.name ); }) : null }, dataList.tabs.map(function (it, i) { return _react2.default.createElement( TabPane, { tab: it.title, key: i }, _react2.default.createElement(_tplusComponentsTouch.TouchTable, { tableHeight: 250, rowIndex: _this2.setCurrentSta(it.currentIndex, it.rows), delRow: i === 0, className: 'table', checkbox: it.checkEnabled, cboxClick: function cboxClick() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _this2.handleRowCheck.apply(_this2, args.concat([i])); }, dataSource: it.rows.slice(), columns: it.columns.slice(), rowClick: function rowClick(type, index, record, fieldName) { return _this2.handleRowClick(type, index, record, fieldName, i); } }) ); }) ) : dataList.tabs.length === 1 ? _react2.default.createElement(_tplusComponentsTouch.TouchTable, { tableHeight: 250, rowIndex: this.setCurrentSta(dataList.tabs[0].currentIndex, dataList.tabs[0].rows), delRow: false, className: 'table', checkbox: dataList.tabs[0].checkEnabled, cboxClick: this.handleRowCheck, dataSource: dataList.tabs[0].rows.slice(), columns: dataList.tabs[0].columns.slice(), rowClick: this.handleRowClick }) : null ) ) ); } }]); return DataList; }(_mutantsAppfx.TemplateComponent), _class2.propTypes = { t: _propTypes2.default.func }, _temp)) || _class) || _class); exports.default = DataList; //# sourceMappingURL=index.js.map