tplus-poslogin
Version:
password login module
985 lines (840 loc) • 35.9 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Button2 = require('tinper-bee/dist/Button');
var _Button3 = _interopRequireDefault(_Button2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
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 _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _Notification2 = require('tinper-bee/dist/Notification');
var _Notification3 = _interopRequireDefault(_Notification2);
var _class, _temp, _initialiseProps;
require('tinper-bee/dist/Button/index.css');
require('tinper-bee/dist/Notification/index.css');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mutantsMicrofx = require('mutants-microfx');
var _mutantsUtil = require('mutants-util');
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _stores = require('../stores');
var _tools = require('../util/tools');
var _tools2 = _interopRequireDefault(_tools);
var _Store = require('../model/Store');
var _Store2 = _interopRequireDefault(_Store);
var _textAnimate = require('./text-animate');
var _textAnimate2 = _interopRequireDefault(_textAnimate);
var _tplusComponentsTouch = require('tplus-components-touch');
require('./style.less');
require('./vertical-touch.less');
var _StoreApi = require('../api/StoreApi');
var _StoreApi2 = _interopRequireDefault(_StoreApi);
var _LoginStore = require('../stores/LoginStore');
var _LoginStore2 = _interopRequireDefault(_LoginStore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var notification = null;
_Notification3.default.newInstance({ position: 'topRight' }, function (n) {
return notification = n;
});
var user = _mutantsMicrofx.stores.user;
var LoginPage = (_temp = _class = function (_Component) {
(0, _inherits3.default)(LoginPage, _Component);
function LoginPage(props) {
(0, _classCallCheck3.default)(this, LoginPage);
var _this = (0, _possibleConstructorReturn3.default)(this, (LoginPage.__proto__ || (0, _getPrototypeOf2.default)(LoginPage)).call(this, props));
_initialiseProps.call(_this);
_this.state = {
cloudPosLoaded: false,
username: '',
password: ''
};
_this.hasElectron = _mutantsMicrofx.env.platform === _mutantsMicrofx.env.constant.platform.electron;
var _ref = _mutantsUtil.platform || {},
isVerticalTouch = _ref.isVerticalTouch,
isHorizontalPad = _ref.isHorizontalPad,
isHorizontalSunMi = _ref.isHorizontalSunMi;
_this.isVerticalTouch = !!isVerticalTouch;
_this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;
return _this;
}
(0, _createClass3.default)(LoginPage, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
this.changeKeyBoard(0);
if (document.readyState === 'complete') {
this.showTextAnimation();
} else {
document.addEventListener('readystatechange', this.showTextAnimation);
}
var _context = this.context,
_context$headHook = _context.headHook;
_context$headHook = _context$headHook === undefined ? {} : _context$headHook;
var addClass = _context$headHook.addClass,
_context$actionHook = _context.actionHook;
_context$actionHook = _context$actionHook === undefined ? {} : _context$actionHook;
var actionFrom = _context$actionHook.actionFrom;
addClass && addClass(this.id, 'loginHead');
if (actionFrom === 'close-app') return; // 关闭应用进入时不执行后续代码
document.getElementById('root').addEventListener('click', this.inputKeyboard, false);
_stores.loginStore.getCloudPos().then(function (cloudPos) {
if (cloudPos) {
var OrgId = cloudPos.OrgId,
StoreId = cloudPos.StoreId,
PosCode = cloudPos.PosCode,
PosKey = cloudPos.PosKey;
_this2.orgId = OrgId;
_this2.posCode = PosCode;
_this2.key = PosKey;
_this2.storeID = StoreId;
var storeKey = _mutantsUtil.localStore.get('StoreKey') || {};
var _ref2 = _mutantsUtil.localStore.get('user') || {},
username = _ref2.username;
var _ref3 = storeKey || {},
formal = _ref3.formal;
var isFirstStartUp = _mutantsUtil.localStore.get('isFirstStartUp') === 'true'; // 是否为安装后第一次打开
if (isFirstStartUp) {
// 注销之前绑定的mac信息
_this2.resetDefaultLoginState();
_this2.lockLogin = true;
_stores.loginStore.cleanRegisterInfo(cloudPos).then(function (res) {
_this2.lockLogin = false;
}).catch(function (err) {
_tplusComponentsTouch.ModalWraper.info({
title: '温馨提示',
content: '清除绑定失败,请卸载安装重试',
okText: '确定',
okType: 'warning'
});
_this2.lockLogin = false;
});
} else {
_this2.setState({
orgId: OrgId,
posCode: PosCode,
key: PosKey,
storeID: StoreId,
storeName: undefined,
orgName: undefined,
validateUser: true,
isLogined: true,
cloudPosLoaded: true,
username: username || '',
formal: formal
});
var usernameInput = _this2.usernameRef;
if (username && usernameInput) setTimeout(function () {
usernameInput.select();usernameInput.focus();
}, 100);
}
} else {
_this2.resetDefaultLoginState();
}
}).catch(function (err) {
_tplusComponentsTouch.Message.warn('获取云端pos信息服务出错!');
_this2.setState({ cloudPosLoaded: true });
});
}
}, {
key: 'componentDidUpdate',
value: function componentDidUpdate() {
var _this3 = this;
var cloudPosLoaded = this.state.cloudPosLoaded;
if (cloudPosLoaded && !this.windowFocus) {
setTimeout(function () {
_this3.windowFocus = true;
window.focus();
}, 20);
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
var _context$headHook2 = this.context.headHook;
_context$headHook2 = _context$headHook2 === undefined ? {} : _context$headHook2;
var removeClass = _context$headHook2.removeClass;
removeClass && removeClass(this.id, 'loginHead');
_tplusComponentsTouch.Keyboard.close();
document.getElementById('root').removeEventListener('click', this.inputKeyboard, false);
document.removeEventListener('readystatechange', this.showTextAnimation);
}
}, {
key: 'orgSelect',
value: function () {
var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(param, _ref5) {
var _this4 = this;
var item = _ref5.props.item;
var orgId, _state$orgItems, orgItems, _ref6, orgName;
return _regenerator2.default.wrap(function _callee$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
orgId = item.orgId;
_state$orgItems = this.state.orgItems, orgItems = _state$orgItems === undefined ? [] : _state$orgItems;
_ref6 = orgItems.find(function (v) {
return v.orgId === orgId;
}) || {}, orgName = _ref6.orgFullName;
this.orgSelectOpen = false;
this.setState({ orgId: orgId, orgName: orgName, orgSelectOpen: false, storeID: undefined, storeName: undefined, posCode: undefined, storeItems: [], posItems: [] });
_context2.next = 7;
return _stores.loginStore.login(orgId);
case 7:
_stores.loginStore.getStoreInfos().then(function (store) {
if (store.storeInfos) {
_this4.store = store;
var storeItems = store.storeInfos;
_this4.setState({ storeItems: storeItems });
} else {
_tplusComponentsTouch.Message.warn('没有获取到门店信息');
}
}).catch(function (err) {
if ('EXSV0011' === err.Code) {
var message = '检测到T+服务器未安装新零售补丁,请更新后再试!';
_tplusComponentsTouch.ModalWraper.info({
title: '温馨提示',
content: message,
okText: '确定',
okType: 'warning'
});
}
});
case 8:
case 'end':
return _context2.stop();
}
}
}, _callee, this);
}));
function orgSelect(_x, _x2) {
return _ref4.apply(this, arguments);
}
return orgSelect;
}()
}, {
key: 'pageRedirect',
value: function pageRedirect() {
var redirect = _tools2.default.GetQueryString(this.props.location.search, 'redirect');
if (_tools2.default.isNull(redirect)) {
_mutantsMicrofx.history.push('/');
} else {
_mutantsMicrofx.history.push(redirect);
}
_mutantsMicrofx.stores.modalRouter.hide();
}
}, {
key: 'experienceLogin',
value: function () {
var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
var isLogined, demoUser, _ref8, _ref8$data, _ref8$data$Value, success, msg, orgId, account, pwd, pass, storeID, posCode, posInfo, _ref9, poscode, idstore;
return _regenerator2.default.wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_tplusComponentsTouch.Loading.show({
target: '.loginBox',
className: 'experience-loading',
node: _react2.default.createElement(
'div',
{ className: 'experience-spin' },
_react2.default.createElement(_tplusComponentsTouch.Spin, { scale: 1.2, type: 'circle', visible: true }),
_react2.default.createElement(
'h1',
null,
'\u4F53\u9A8C\u767B\u5F55\u4E2D'
)
),
delay: false
});
_context3.prev = 1;
isLogined = this.state.isLogined;
_context3.next = 5;
return _StoreApi2.default.getDemoUser();
case 5:
demoUser = _context3.sent;
_ref8 = demoUser || {}, _ref8$data = _ref8.data;
_ref8$data = _ref8$data === undefined ? {} : _ref8$data;
_ref8$data$Value = _ref8$data.Value;
_ref8$data$Value = _ref8$data$Value === undefined ? {} : _ref8$data$Value;
success = _ref8$data$Value.success, msg = _ref8$data$Value.msg, orgId = _ref8$data$Value.enterpriseId, account = _ref8$data$Value.account, pwd = _ref8$data$Value.pwd;
if (success) {
_context3.next = 13;
break;
}
return _context3.abrupt('return', _tplusComponentsTouch.Message.warn(msg));
case 13:
pass = atob(pwd);
_context3.next = 16;
return _stores.loginStore.getOrgList(account, pass);
case 16:
_context3.next = 18;
return _stores.loginStore.login(orgId);
case 18:
storeID = void 0, posCode = void 0;
if (isLogined) {
_context3.next = 28;
break;
}
_context3.next = 22;
return _StoreApi2.default.getDemoPosInfo();
case 22:
posInfo = _context3.sent;
_ref9 = posInfo || {}, poscode = _ref9.poscode, idstore = _ref9.idstore;
storeID = idstore;
posCode = poscode;
_context3.next = 30;
break;
case 28:
posCode = this.posCode;
storeID = this.storeID;
case 30:
_context3.next = 32;
return _stores.loginStore.loginPos({ orgId: orgId, storeID: storeID, posCode: posCode, key: this.key });
case 32:
_tplusComponentsTouch.Loading.hide();
this.pageRedirect();
_context3.next = 40;
break;
case 36:
_context3.prev = 36;
_context3.t0 = _context3['catch'](1);
// Message.error('体验登录失败,请稍后重试');
_tplusComponentsTouch.Loading.hide();
console.error(_context3.t0);
case 40:
case 'end':
return _context3.stop();
}
}
}, _callee2, this, [[1, 36]]);
}));
function experienceLogin() {
return _ref7.apply(this, arguments);
}
return experienceLogin;
}()
}, {
key: 'render',
value: function render() {
var _this5 = this;
var _state = this.state,
username = _state.username,
password = _state.password,
_state$orgItems2 = _state.orgItems,
orgItems = _state$orgItems2 === undefined ? [] : _state$orgItems2,
_state$storeItems = _state.storeItems,
storeItems = _state$storeItems === undefined ? [] : _state$storeItems,
_state$posItems = _state.posItems,
posItems = _state$posItems === undefined ? [] : _state$posItems,
orgSelectOpen = _state.orgSelectOpen,
storeID = _state.storeID,
orgName = _state.orgName,
storeName = _state.storeName,
posCode = _state.posCode,
isLogined = _state.isLogined,
validateUser = _state.validateUser,
_state$disabledLogin = _state.disabledLogin,
disabledLogin = _state$disabledLogin === undefined ? false : _state$disabledLogin,
_state$cloudPosLoaded = _state.cloudPosLoaded,
cloudPosLoaded = _state$cloudPosLoaded === undefined ? true : _state$cloudPosLoaded,
_state$textAnimation = _state.textAnimation,
textAnimation = _state$textAnimation === undefined ? false : _state$textAnimation,
formal = _state.formal;
console.log('loginState====', !posCode, validateUser, disabledLogin);
var loginState = !posCode || validateUser || disabledLogin;
var notFoundContent = { notFoundContent: '未搜索到相应内容' };
var isTpEnv = _mutantsUtil.localStore.get('isTpEnv') === 'true'; // 是否为线上环境
return _react2.default.createElement(
'div',
{ className: 'loginPage' },
_react2.default.createElement(
'h1',
{ className: 'login-page-bg-text' },
_react2.default.createElement(_textAnimate2.default, { text: '\u667A\u6167\u95E8\u5E97\uFF0C\u8F7B\u677E\u8D2D\uFF01', visible: textAnimation, delay: 80, easeOut: 20 })
),
_react2.default.createElement(
'div',
{ className: 'login-content-container' },
cloudPosLoaded && _react2.default.createElement(
'div',
{ className: 'loginBox ' + (isLogined ? 'pos-logined' : '') + ' ' + (cloudPosLoaded ? 'cloud-pos-loaded-animate' : '') + ' ' + (formal ? 'formal-login-box' : '') },
_react2.default.createElement(
'div',
{ className: 'pos-login-input-content' },
_react2.default.createElement(_tplusComponentsTouch.Input, {
tplusInput: true,
bottomLine: true,
type: 'native',
prefix: 'person',
placeholder: '\u8BF7\u8F93\u5165\u624B\u673A\u53F7\u6216\u90AE\u7BB1',
onChange: this.onChange.bind(this, 'username'),
value: username,
inputRef: function inputRef(ref) {
return _this5.usernameRef = ref;
},
onKeyDown: this.onKeyDown,
onClear: function onClear() {
return _this5.onClear('username', _this5.usernameRef);
},
onFocus: function onFocus(_ref10) {
var target = _ref10.target;
_this5.focusInputName = 'username';
_this5.inputTarget = target;
_tplusComponentsTouch.Keyboard.open(function (v) {
var key = _this5.focusInputName;
var value = _tplusComponentsTouch.Keyboard.getNewValue(_this5.inputTarget, _this5.inputTarget.value, v);
_this5.setState((0, _defineProperty3.default)({}, key, value), _this5.changeAlidateState);
}, _this5.keyboardOnOk, _this5.keyboardOnClose)();
}
}),
_react2.default.createElement(_tplusComponentsTouch.Input, {
tplusInput: true,
bottomLine: true,
htmlType: 'password',
type: 'native',
prefix: 'suoping1',
placeholder: '\u8BF7\u8F93\u5165\u5BC6\u7801',
value: password,
onChange: this.onChange.bind(this, 'password'),
onKeyDown: this.onKeyDown,
inputRef: function inputRef(ref) {
return _this5.passwordRef = ref;
},
onClear: function onClear() {
return _this5.onClear('password', _this5.passwordRef);
},
onFocus: function onFocus(_ref11) {
var target = _ref11.target;
_this5.focusInputName = 'password';
_this5.inputTarget = target;
_tplusComponentsTouch.Keyboard.open(function (v) {
var key = _this5.focusInputName;
var value = _tplusComponentsTouch.Keyboard.getNewValue(_this5.inputTarget, _this5.inputTarget.value, v);
_this5.setState((0, _defineProperty3.default)({}, key, value), _this5.changeAlidateState);
}, _this5.keyboardOnOk, _this5.keyboardOnClose)();
}
}),
!isLogined && _react2.default.createElement(
_tplusComponentsTouch.Input,
(0, _extends3.default)({
tplusInput: true,
bottomLine: true,
showSearch: true,
prefix: 'tuodong',
className: 'select-org',
placeholder: orgName || '请选择企业',
open: orgSelectOpen,
type: 'select',
onSelect: this.orgSelect.bind(this),
value: orgName,
onClick: function onClick(e) {
return _this5.handleClick('user', e);
},
arrowPlaceholder: true,
arrowPlaceholderClass: 'select-org-arrow-placeholder'
}, notFoundContent),
orgItems.map(function (v) {
return _react2.default.createElement(
_tplusComponentsTouch.Input.Option,
{ value: v.orgFullName, key: v.orgId, item: v },
v.orgFullName
);
})
),
!isLogined && _react2.default.createElement(
_tplusComponentsTouch.Input,
(0, _extends3.default)({
tplusInput: true,
bottomLine: true,
password: true,
showSearch: true,
type: 'select',
prefix: 'shouye2',
className: 'select-store',
placeholder: storeName || '请选择门店',
value: storeName,
disabled: !storeItems.length,
onSelect: this.storeSelect
}, notFoundContent),
storeItems.map(function (v) {
return _react2.default.createElement(
_tplusComponentsTouch.Input.Option,
{ value: v.Name, key: v.ID, item: v },
v.Name
);
})
),
!isLogined && _react2.default.createElement(
_tplusComponentsTouch.Input,
(0, _extends3.default)({
tplusInput: true,
bottomLine: true,
password: true,
showSearch: true,
disabled: !posItems.length,
type: 'select',
prefix: 'posnum',
className: 'select-pos',
value: posCode,
placeholder: posCode || '请选择POS机号',
onSelect: function onSelect(param, _ref12) {
var PosCode = _ref12.props.item.PosCode;
return _this5.setState({ posCode: PosCode });
}
}, notFoundContent),
posItems.map(function (v) {
return _react2.default.createElement(
_tplusComponentsTouch.Input.Option,
{ value: v.PosName, key: v.PosCode, item: v },
v.PosName
);
})
)
),
_react2.default.createElement(
_Button3.default,
{
type: 'primary',
onClick: this.posLogin,
disabled: loginState,
className: 'login-button ' + (loginState ? 'login-button-disabled' : '')
},
'\u767B\u5F55'
),
isTpEnv && !formal && !isLogined && !this.isVerticalTouch && _react2.default.createElement(
'div',
{
onClick: this.experienceLogin.bind(this),
className: 'experience-btn'
},
'\u7ACB\u5373\u4F53\u9A8C'
)
)
),
_react2.default.createElement('div', { className: 'pos-login-bottom-bg' }),
_react2.default.createElement(
'footer',
{ style: { fontSize: this.isVerticalTouch ? '16px' : '12px' } },
'\u7545\u6377\u901A\u4FE1\u606F\u6280\u672F\u80A1\u4EFD\u6709\u9650\u516C\u53F8 \u7535\u8BDD\uFF1A',
_react2.default.createElement(
'span',
null,
'400-6600-566'
)
)
);
}
}]);
return LoginPage;
}(_react.Component), _class.contextTypes = {
headHook: _propTypes2.default.object,
actionHook: _propTypes2.default.object
}, _initialiseProps = function _initialiseProps() {
var _this6 = this;
this.inputTarget = null;
this.id = Date.now();
this.changeKeyBoard = function (type) {
var _ref13 = _mutantsUtil.platform || {},
isHorizontalSunMi = _ref13.isHorizontalSunMi;
isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(type);
};
this.resetDefaultLoginState = function () {
_this6.setState({
orgItems: [],
orgName: undefined,
storeItems: [],
storeName: undefined,
posItems: [],
posCode: undefined,
cloudPosLoaded: true
});
};
this.inputKeyboard = function () {
var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var _ref14 = e || {},
_ref14$target = _ref14.target;
_ref14$target = _ref14$target === undefined ? {} : _ref14$target;
var _ref14$target$classNa = _ref14$target.className,
className = _ref14$target$classNa === undefined ? '' : _ref14$target$classNa,
tagName = _ref14$target.tagName;
var isTargetSelect = className === 'u-select-search-field';
var _state$orgItems3 = _this6.state.orgItems,
orgItems = _state$orgItems3 === undefined ? [] : _state$orgItems3;
_this6.currentEvent = e.target;
var arrowClick = className.includes('select-org-arrow-placeholder');
if (orgItems.length && !isTargetSelect && !arrowClick) {
_this6.orgSelectOpen = false;
_this6.setState({ orgSelectOpen: false });
}
if (tagName !== 'INPUT' && !className.includes('tplus-input-clear')) return _tplusComponentsTouch.Keyboard.close();
};
this.orgListClick = function (e) {
if (_this6.loadUserInfo) {
var _ref15 = _this6.currentEvent || {},
_ref15$className = _ref15.className,
className = _ref15$className === undefined ? '' : _ref15$className;
if (className.includes('select-org-arrow-placeholder') && _this6.orgSelectOpen) {
_this6.orgSelectOpen = false;
return _this6.setState({ orgSelectOpen: _this6.orgSelectOpen });
}
_this6.orgSelectOpen = true;
return _this6.setState({ orgSelectOpen: _this6.orgSelectOpen });
}
var _state2 = _this6.state,
oldOrgItems = _state2.orgItems,
orgSelectOpen = _state2.orgSelectOpen;
_stores.loginStore.getOrgList(_this6.state.username, _this6.state.password).then(function (auth) {
if (auth.orgList && auth.orgList.length > 0) {
_this6.orgSelectOpen = !_this6.orgSelectOpen;
var orgItems = (auth.orgList || []).filter(function (v) {
return !!v.orgId && !!v.orgFullName;
});
_this6.loadUserInfo = true;
if (oldOrgItems.length === orgItems.length) {
_this6.setState({ orgItems: orgItems, orgSelectOpen: _this6.orgSelectOpen });
} else {
var isOrgItemsChange = oldOrgItems.some(function (v) {
var sameId = orgItems.find(function (vv) {
return vv.orgId === v.orgId;
});
return !sameId; //没有相同id时
});
_this6.setState({ orgItems: orgItems, orgSelectOpen: isOrgItemsChange ? true : !orgSelectOpen });
}
}
}).catch(function (err) {
_this6.setState({ orgItems: [], storeItems: [], posItems: [], orgName: undefined });
});
};
this.storeSelect = function (param, _ref16) {
var item = _ref16.props.item;
var storeID = item.ID;
var _state$storeItems2 = _this6.state.storeItems,
storeItems = _state$storeItems2 === undefined ? [] : _state$storeItems2;
var posItems = _this6.store.posInfo.get('store_' + storeID);
var _ref17 = storeItems.find(function (v) {
return v.ID === storeID;
}) || {},
storeName = _ref17.Name;
_this6.setState({ posItems: posItems, storeID: storeID, storeName: storeName, posCode: undefined });
};
this.validateUserInputError = function () {
var _state3 = _this6.state,
username = _state3.username,
password = _state3.password;
if (!username || !password) {
// TODO 还需要确认 username 和 pass 的校验规则,暂时默认不能为空
return true;
}
};
this.handleClick = function (type, e) {
if (_this6.validateInputs(type)) return;
switch (type) {
case 'user':
var elementInput = document.activeElement;
if (_this6.isMobileEnvironment && elementInput.tagName.toLocaleLowerCase() == 'input' && elementInput != e.target) elementInput.blur();
return _this6.orgListClick(e);
case 'store':
break;
case 'pos':
break;
}
};
this.validateInputs = function (type) {
var _state4 = _this6.state,
username = _state4.username,
password = _state4.password,
_state4$orgItems = _state4.orgItems,
orgItems = _state4$orgItems === undefined ? [] : _state4$orgItems,
_state4$storeItems = _state4.storeItems,
storeItems = _state4$storeItems === undefined ? [] : _state4$storeItems,
_state4$posItems = _state4.posItems,
posItems = _state4$posItems === undefined ? [] : _state4$posItems,
orgId = _state4.orgId,
storeID = _state4.storeID,
posCode = _state4.posCode;
switch (type) {
case 'user':
if (_this6.validateUserInputError()) {
_tplusComponentsTouch.Message.warn('您的用户名和密码填写不完整');
return true;
}
break;
case 'org':
if (_tools2.default.isNull(orgId)) {
_tplusComponentsTouch.Message.warn('请选择企业');
return true;
}
break;
case 'store':
if (_tools2.default.isNull(orgId)) {
_tplusComponentsTouch.Message.warn('请选择门店');
return true;
}
break;
}
};
this.posLogin = function () {
if (_this6.lockLogin) return;
var _state5 = _this6.state,
orgId = _state5.orgId,
orgName = _state5.orgName,
storeID = _state5.storeID,
storeName = _state5.storeName,
posCode = _state5.posCode,
key = _state5.key;
if (!_tools2.default.isNull(posCode)) {
_this6.setState({ disabledLogin: true });
_stores.loginStore.getOrgList(_this6.state.username, _this6.state.password).then(function (auth) {
if (auth.orgList && auth.orgList.length > 0) {
var orgItems = auth.orgList;
if (orgItems.some(function (item) {
return item.orgId == orgId;
})) {
return _stores.loginStore.login(orgId).then(function () {
return _stores.loginStore.loginPos({ orgId: orgId, orgName: orgName, storeID: storeID, storeName: storeName, posCode: posCode, key: key, formal: true }).then(function () {
// if (this.hasElectron) {
// return this.checkedPosUpgrade();
// }
_mutantsUtil.localStore.set('isFirstStartUp', false); // 登录后清除第一次打开时存储 isFirstStartUp 状态
_LoginStore2.default.setCustomLogo();
_this6.pageRedirect();
});
});
} else {
if (!!orgName) {
_tplusComponentsTouch.Message.warn('\u8BE5\u7528\u6237\u4E0D\u5728\'' + orgName + '\'\u4F01\u4E1A\u4E0B!');
} else {
_tplusComponentsTouch.Message.warn('\u8BE5\u7528\u6237\u4E0D\u5728\u5F53\u524D\u4F01\u4E1A\u4E0B!');
}
_this6.setState({ disabledLogin: false });
}
}
}).catch(function (err) {
_this6.setState({ disabledLogin: false });
});
} else {
if (_tools2.default.isNull(orgId)) {
return _tplusComponentsTouch.Message.error('请选择企业');
}
if (_tools2.default.isNull(storeID)) {
return _tplusComponentsTouch.Message.error('请选择门店');
}
if (_tools2.default.isNull(posCode)) {
return _tplusComponentsTouch.Message.error('请选择POS');
}
_this6.setState({ disabledLogin: true });
_stores.loginStore.loginPos({ orgId: orgId, orgName: orgName, storeID: storeID, storeName: storeName, posCode: posCode, key: key }).then(function () {
_this6.pageRedirect();
}).catch(function (err) {
_this6.setState({ disabledLogin: false });
});
}
};
this.onChange = function (key, e) {
var value = e.target.value;
_this6.loadUserInfo = false;
_this6.setState((0, _defineProperty3.default)({}, key, value), _this6.changeAlidateState);
};
this.showTextAnimation = function () {
_this6.setState({ textAnimation: true });
};
this.changeAlidateState = function () {
var _state6 = _this6.state,
username = _state6.username,
password = _state6.password,
isLogined = _state6.isLogined;
//如果用户清空账号或密码 将企业,门店,pos相关信息清空
if (!isLogined && (_tools2.default.isNull(username) || _tools2.default.isNull(password))) {
_this6.setState({
orgItems: [],
orgId: '',
orgName: undefined,
storeItems: [],
storeID: undefined,
storeName: undefined,
posItems: [],
posCode: undefined
});
}
_this6.setState({ validateUser: !!_this6.validateUserInputError() });
};
this.keyboardOnOk = function (e) {
var _state7 = _this6.state,
posCode = _state7.posCode,
validateUser = _state7.validateUser,
disabledLogin = _state7.disabledLogin;
var loginState = !posCode || validateUser || disabledLogin;
_this6.inputTarget.blur();
_tplusComponentsTouch.Keyboard.close();
if (!loginState) {
_this6.posLogin();
}
};
this.keyboardOnClose = function (e) {
_this6.inputTarget.blur();
_tplusComponentsTouch.Keyboard.close();
};
this.onClear = function (key, input) {
_this6.setState((0, _defineProperty3.default)({}, key, ''));
input.focus();
};
this.checkedPosUpgrade = function () {
_StoreApi2.default.posUpgrade().then(function (res) {
var _ref18 = res || {},
status = _ref18.status,
content = _ref18.content;
if (!status) return _this6.pageRedirect();
_this6.upgradeMsg(status, content);
});
};
this.upgradeMsg = function (status, content) {
if (status === 'warn') {
notification.notice({
content: content,
className: 'update-pos-notification',
title: '通知',
duration: 20,
closable: true,
color: 'light'
});
return _this6.pageRedirect();
}
_tplusComponentsTouch.ModalWraper.warning({ content: content });
};
this.onKeyDown = function (e) {
var _state8 = _this6.state,
posCode = _state8.posCode,
validateUser = _state8.validateUser,
_state8$disabledLogin = _state8.disabledLogin,
disabledLogin = _state8$disabledLogin === undefined ? false : _state8$disabledLogin,
username = _state8.username,
password = _state8.password;
var keyCode = e.keyCode;
var enterKey = 13;
var loginState = !posCode || validateUser || disabledLogin;
if (keyCode === enterKey) {
if (!username) return _this6.usernameRef.focus();
if (!password) return _this6.passwordRef.focus();
if (!loginState) return _this6.posLogin();
}
};
}, _temp);
exports.default = LoginPage;
//# sourceMappingURL=Login.js.map