tplus-portaltouch 3.47.7 → 3.47.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/api/ModifyPassApi.js +165 -0
  2. package/dist/api/ModifyPassApi.js.map +1 -0
  3. package/dist/components/dutyandsettle/dutysettlebill.js +1030 -0
  4. package/dist/components/dutyandsettle/dutysettlebill.js.map +1 -0
  5. package/dist/components/dutyandsettle/dutysettlehistory.js +220 -0
  6. package/dist/components/dutyandsettle/dutysettlehistory.js.map +1 -0
  7. package/dist/components/dutyandsettle/index.js +25 -0
  8. package/dist/components/dutyandsettle/index.js.map +1 -0
  9. package/dist/components/dutyandsettle/tipContent.js +101 -0
  10. package/dist/components/dutyandsettle/tipContent.js.map +1 -0
  11. package/dist/components/header/customUse.js +79 -0
  12. package/dist/components/header/customUse.js.map +1 -0
  13. package/dist/components/header/headContent.js +942 -0
  14. package/dist/components/header/headContent.js.map +1 -0
  15. package/dist/components/header/index.js +107 -0
  16. package/dist/components/header/index.js.map +1 -0
  17. package/dist/components/header/offlinePointDesc.js +7 -0
  18. package/dist/components/header/offlinePointDesc.js.map +1 -0
  19. package/dist/components/header/style.less +458 -0
  20. package/dist/components/header/themeModal.js +164 -0
  21. package/dist/components/header/themeModal.js.map +1 -0
  22. package/dist/components/header/uploadList.js +271 -0
  23. package/dist/components/header/uploadList.js.map +1 -0
  24. package/dist/components/header/vertical-touch.js +285 -0
  25. package/dist/components/header/vertical-touch.js.map +1 -0
  26. package/dist/components/header/vertical-touch.less +229 -0
  27. package/dist/containers/Main/index.js +613 -0
  28. package/dist/containers/Main/index.js.map +1 -0
  29. package/dist/dutyService/index.js +276 -0
  30. package/dist/dutyService/index.js.map +1 -0
  31. package/dist/index.js +40 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/middleWare/index.js +75 -0
  34. package/dist/middleWare/index.js.map +1 -0
  35. package/dist/modalRouter/StaticRouter.js +134 -0
  36. package/dist/modalRouter/StaticRouter.js.map +1 -0
  37. package/dist/modalRouter/index.js +141 -0
  38. package/dist/modalRouter/index.js.map +1 -0
  39. package/dist/pages/Modal/index.js +71 -0
  40. package/dist/pages/Modal/index.js.map +1 -0
  41. package/dist/pages/Modal/style.less +5 -0
  42. package/dist/pages/Portalbc/data.js +835 -0
  43. package/dist/pages/Portalbc/data.js.map +1 -0
  44. package/dist/pages/Portalbc/horizontalPadPortal.js +129 -0
  45. package/dist/pages/Portalbc/horizontalPadPortal.js.map +1 -0
  46. package/dist/pages/Portalbc/horizontalSunMiPortal.js +130 -0
  47. package/dist/pages/Portalbc/horizontalSunMiPortal.js.map +1 -0
  48. package/dist/pages/Portalbc/index.js +1515 -0
  49. package/dist/pages/Portalbc/index.js.map +1 -0
  50. package/dist/pages/Portalbc/index.less +823 -0
  51. package/dist/pages/Portalbc/onframe.js +256 -0
  52. package/dist/pages/Portalbc/onframe.js.map +1 -0
  53. package/dist/pages/Portalbc/verticalPortal.js +134 -0
  54. package/dist/pages/Portalbc/verticalPortal.js.map +1 -0
  55. package/dist/pages/dutyandsettle/AuthProcess.js +42 -0
  56. package/dist/pages/dutyandsettle/AuthProcess.js.map +1 -0
  57. package/dist/pages/dutyandsettle/index.js +37 -0
  58. package/dist/pages/dutyandsettle/index.js.map +1 -0
  59. package/dist/pages/dutyandsettle/index.less +529 -0
  60. package/dist/pages/dutyandsettle/offDuty.js +544 -0
  61. package/dist/pages/dutyandsettle/offDuty.js.map +1 -0
  62. package/dist/pages/dutyandsettle/onDialy.js +182 -0
  63. package/dist/pages/dutyandsettle/onDialy.js.map +1 -0
  64. package/dist/pages/dutyandsettle/onDuty.js +242 -0
  65. package/dist/pages/dutyandsettle/onDuty.js.map +1 -0
  66. package/dist/pages/dutyandsettle/onUnDaily.js +138 -0
  67. package/dist/pages/dutyandsettle/onUnDaily.js.map +1 -0
  68. package/dist/pages/dutyandsettle/settleDialy.js +116 -0
  69. package/dist/pages/dutyandsettle/settleDialy.js.map +1 -0
  70. package/dist/pages/index.js +54 -0
  71. package/dist/pages/index.js.map +1 -0
  72. package/dist/pages/modifyPass/index.js +174 -0
  73. package/dist/pages/modifyPass/index.js.map +1 -0
  74. package/dist/pages/modifyPass/style.less +71 -0
  75. package/dist/pages/notFound/index.js +85 -0
  76. package/dist/pages/notFound/index.js.map +1 -0
  77. package/dist/pages/notFound/style.less +17 -0
  78. package/dist/stores/IframeStore.js +144 -0
  79. package/dist/stores/IframeStore.js.map +1 -0
  80. package/dist/stores/ModalRouter.js +182 -0
  81. package/dist/stores/ModalRouter.js.map +1 -0
  82. package/dist/stores/ModifyPassStore.js +211 -0
  83. package/dist/stores/ModifyPassStore.js.map +1 -0
  84. package/dist/stores/PortalStore.js +285 -0
  85. package/dist/stores/PortalStore.js.map +1 -0
  86. package/dist/stores/PosLoginStore.js +108 -0
  87. package/dist/stores/PosLoginStore.js.map +1 -0
  88. package/dist/stores/billHistoryStore.js +114 -0
  89. package/dist/stores/billHistoryStore.js.map +1 -0
  90. package/dist/stores/dutySettleStore.js +115 -0
  91. package/dist/stores/dutySettleStore.js.map +1 -0
  92. package/dist/stores/index.js +41 -0
  93. package/dist/stores/index.js.map +1 -0
  94. package/dist/utils/PrintProcess.js +112 -0
  95. package/dist/utils/PrintProcess.js.map +1 -0
  96. package/dist/utils/index.js +93 -0
  97. package/dist/utils/index.js.map +1 -0
  98. package/dist/utils/networkCheck.js +33 -0
  99. package/dist/utils/networkCheck.js.map +1 -0
  100. package/package.json +1 -1
@@ -0,0 +1,613 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _extends2 = require('babel-runtime/helpers/extends');
8
+
9
+ var _extends3 = _interopRequireDefault(_extends2);
10
+
11
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
12
+
13
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
14
+
15
+ var _keys = require('babel-runtime/core-js/object/keys');
16
+
17
+ var _keys2 = _interopRequireDefault(_keys);
18
+
19
+ var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
20
+
21
+ var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
22
+
23
+ var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
24
+
25
+ var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
26
+
27
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
28
+
29
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
30
+
31
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
32
+
33
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
34
+
35
+ var _createClass2 = require('babel-runtime/helpers/createClass');
36
+
37
+ var _createClass3 = _interopRequireDefault(_createClass2);
38
+
39
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
40
+
41
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42
+
43
+ var _inherits2 = require('babel-runtime/helpers/inherits');
44
+
45
+ var _inherits3 = _interopRequireDefault(_inherits2);
46
+
47
+ var _class, _class2, _temp;
48
+
49
+ exports.default = Main;
50
+
51
+ var _react = require('react');
52
+
53
+ var _react2 = _interopRequireDefault(_react);
54
+
55
+ var _propTypes = require('prop-types');
56
+
57
+ var _propTypes2 = _interopRequireDefault(_propTypes);
58
+
59
+ var _mobxReact = require('mobx-react');
60
+
61
+ var _antd = require('antd');
62
+
63
+ var _mutantsMicrofx = require('mutants-microfx');
64
+
65
+ var _tplusComponentsTouch = require('tplus-components-touch');
66
+
67
+ var _mutantsUtil = require('mutants-util');
68
+
69
+ var _tplusApi = require('tplus-api');
70
+
71
+ var _rxjs = require('rxjs');
72
+
73
+ var _reactRouter = require('react-router');
74
+
75
+ var _header = require('../../components/header');
76
+
77
+ var _header2 = _interopRequireDefault(_header);
78
+
79
+ var _Portalbc = require('../../pages/Portalbc');
80
+
81
+ var _Portalbc2 = _interopRequireDefault(_Portalbc);
82
+
83
+ var _stores = require('../../stores');
84
+
85
+ var _stores2 = _interopRequireDefault(_stores);
86
+
87
+ var _index = require('../../utils/index');
88
+
89
+ var _tplusPoslogin = require('tplus-poslogin');
90
+
91
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
92
+
93
+ var hasElectron = _mutantsMicrofx.env.platform === _mutantsMicrofx.env.constant.platform.electron;
94
+ window.rx$ = {};
95
+
96
+ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_Component) {
97
+ (0, _inherits3.default)(MainContainer, _Component);
98
+
99
+ function MainContainer(props) {
100
+ (0, _classCallCheck3.default)(this, MainContainer);
101
+
102
+ var _this = (0, _possibleConstructorReturn3.default)(this, (MainContainer.__proto__ || (0, _getPrototypeOf2.default)(MainContainer)).call(this, props));
103
+
104
+ _this.currentFocus = null;
105
+ _this.sys_parms = {
106
+ tinified_logo_bc: window.ossAliyuncsFileURL + '/tinified/logo-bc.png',
107
+ protal_chanjet_logo_bc: window.ossAliyuncsFileURL + '/protal-chanjet-logo-bc.png',
108
+ chanjet_logo_bc: window.ossAliyuncsFileURL + '/chanjet-logo-bc.png'
109
+ };
110
+
111
+ _this.initWebFrameZoom = function () {
112
+ var webFrame = _this.electron ? _this.electron.webFrame : null;
113
+ var value = _mutantsMicrofx.localStore.get('webFrameZoomValue') || '0.7';
114
+ if (webFrame) webFrame.setZoomFactor(parseFloat(value));
115
+ };
116
+
117
+ _this.doDeeplinkingUrl = function () {
118
+ if (_this.hasElectron === false) return;
119
+
120
+ var _ref = _this.electron || { ipcRenderer: null },
121
+ ipcRenderer = _ref.ipcRenderer;
122
+
123
+ ipcRenderer && ipcRenderer.on("asynchronous-deeplinkingUrl", function (event, ret, params) {
124
+ if (ret) {
125
+ console.log('deeplinkingUrl:' + ret);
126
+
127
+ var _ref2 = _mutantsMicrofx.stores.user || {},
128
+ orgId = _ref2.orgId,
129
+ userId = _ref2.userId;
130
+
131
+ if (!orgId || !userId) return;
132
+ var param = ret.split('&').reduce(function (accumulator, current) {
133
+ if (!current) return accumulator;
134
+
135
+ var _ref3 = current.split('=') || [],
136
+ _ref4 = (0, _slicedToArray3.default)(_ref3, 2),
137
+ key = _ref4[0],
138
+ value = _ref4[1];
139
+
140
+ accumulator[key] = value;
141
+ return accumulator;
142
+ }, {});
143
+ console.log(orgId, userId, param);
144
+ if (param.orgId !== orgId || param.cloudUserId !== userId) {
145
+ _tplusApi.User.logout();
146
+ }
147
+ }
148
+ });
149
+ };
150
+
151
+ _this.changeLogoSubject = function () {
152
+ var subject = new _rxjs.Subject();
153
+ rx$.changeLogo = subject;
154
+
155
+ subject.subscribe({
156
+ next: function next(v) {
157
+ return _this.setLogo(v);
158
+ }
159
+ });
160
+ };
161
+
162
+ _this.changeHsySubject = function () {
163
+ var subject = new _rxjs.Subject();
164
+ rx$.changeHsy = subject;
165
+
166
+ subject.subscribe({
167
+ next: function next(v) {
168
+ return _this.setHsy(v);
169
+ }
170
+ });
171
+ };
172
+
173
+ _this.addHotKeyChangeLister = function () {
174
+ document.addEventListener("RESET_USER_STORE", _this.registerHotKey);
175
+ };
176
+
177
+ _this.removeHotKeyChangeLister = function () {
178
+ document.removeEventListener("RESET_USER_STORE", _this.registerHotKey);
179
+ };
180
+
181
+ _this.setHsy = function (v) {
182
+ var _ref5 = v || {},
183
+ back = _ref5.back,
184
+ fn = _ref5.fn;
185
+
186
+ if (back === true) {
187
+ _this.setState({ hsy_s: true, hsy_f: fn });
188
+ } else {
189
+ _this.setState({ hsy_s: false, hsy_f: null });
190
+ }
191
+ };
192
+
193
+ _this.setLogo = function (v) {
194
+ var store = _mutantsMicrofx.localStore.get('StoreKey') || {};
195
+ var logoUrl = store.logo;
196
+
197
+ logoUrl && _this.setState({ logoUrl: logoUrl });
198
+ };
199
+
200
+ _this.logoNode = function (url, isPortal, isLogin) {
201
+ var _this$state = _this.state,
202
+ hsy_s = _this$state.hsy_s,
203
+ hsy_f = _this$state.hsy_f;
204
+
205
+ var _ref6 = _mutantsUtil.platform || {},
206
+ isVerticalTouch = _ref6.isVerticalTouch;
207
+
208
+ var theme = _mutantsMicrofx.stores.portalStore.themeStore;
209
+ var defualtImage = isVerticalTouch === true ? _this.sys_parms.tinified_logo_bc : !hsy_s && isPortal || theme === 'dark' && !isLogin ? _this.sys_parms.protal_chanjet_logo_bc : _this.sys_parms.chanjet_logo_bc;
210
+ if (hsy_s === true) {
211
+ return _react2.default.createElement(
212
+ 'div',
213
+ { className: 'business-logo-container' },
214
+ _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'zhiPOS-fanhuishouye2', className: 'back_i', onClick: function onClick() {
215
+ hsy_f && hsy_f();
216
+ } }),
217
+ _react2.default.createElement('img', { src: url || defualtImage, className: 'example-logo' })
218
+ );
219
+ }
220
+ return _react2.default.createElement('img', { src: url || defualtImage, className: 'example-logo' });
221
+ };
222
+
223
+ _this.hotKeyInjectOrEject = function (type, hotKeyAction) {
224
+ var registerKeys = ['esc', 'enter'];
225
+ var allKeys = [].concat(registerKeys, (0, _toConsumableArray3.default)((0, _keys2.default)(_tplusComponentsTouch.hotKey.hotKeyConfig)));
226
+ allKeys.forEach(function (keyboard, index) {
227
+ _mutantsMicrofx.nativeMs.onIpcRendererGlobalShortcut({ type: type, keyboard: keyboard }, hotKeyActionHandle);
228
+ });
229
+ };
230
+
231
+ _this.blurButton = function (_ref7) {
232
+ var target = _ref7.target;
233
+ // 焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键
234
+ if (target && target.nodeName === 'BUTTON') {
235
+ target.blur();
236
+ }
237
+ };
238
+
239
+ _this.registerHotKey = function () {
240
+ _this.isSetHotKey = true;
241
+
242
+ _this.hotKeyCreate = (0, _tplusComponentsTouch.hotKey)({
243
+ observerCallback: _this.observerDom,
244
+ log: true,
245
+ pressed: _this.hotKeyAction,
246
+ clickBefore: function clickBefore() {
247
+ var _document = document,
248
+ activeElement = _document.activeElement;
249
+
250
+ activeElement && activeElement.blur();
251
+ },
252
+ filter: function filter(event) {
253
+ var _ref8 = event.target || event.srcElement || {},
254
+ tagName = _ref8.tagName,
255
+ className = _ref8.className;
256
+
257
+ return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));
258
+ }
259
+ });
260
+
261
+ _this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true, attributeFilter: ['class', 'style'] });
262
+ _this.hotKeyCreate.register('esc')('.hot-key-focus-container')(_index.operationKeys.esc);
263
+ _this.hotKeyCreate.register('enter')('.hot-key-focus-container')(_index.operationKeys.enter);
264
+ };
265
+
266
+ _this.observerDom = function () {
267
+
268
+ var modals = [].concat((0, _toConsumableArray3.default)(document.querySelectorAll('.ant-modal-wrap'))).filter(function (modal) {
269
+ return modal.style && modal.style.display !== 'none';
270
+ }); //ant-module
271
+ var drawers = [].concat((0, _toConsumableArray3.default)(document.querySelectorAll('.ant-drawer-open'))); //ant-drawer
272
+ var modalsAndDrawers = [].concat((0, _toConsumableArray3.default)(modals), (0, _toConsumableArray3.default)(drawers)).sort(function (dom1, dom2) {
273
+ var style1 = window.getComputedStyle(dom1);
274
+ var style2 = window.getComputedStyle(dom2);
275
+ return style2.zIndex - style1.zIndex;
276
+ });
277
+
278
+ var visibleDom = modalsAndDrawers.length > 0 ? modalsAndDrawers[0] : null;
279
+
280
+ if (visibleDom) {
281
+ if (_this.currentFocus !== visibleDom) {
282
+ $.clearFocus();
283
+ _this.currentFocus = visibleDom;
284
+ return $.setFocus(visibleDom);
285
+ }
286
+ return;
287
+ }
288
+
289
+ if ($.getFocusId() !== '1') {
290
+ if (_this.currentFocus !== 'App' || !document.querySelector(".hot-key-focus-container")) {
291
+ $.clearFocus();
292
+ _this.currentFocus = 'App';
293
+ $.find('.app', true).setFocus();
294
+ }
295
+ return;
296
+ }
297
+ };
298
+
299
+ _this.hotKeyAction = function (event, handle) {
300
+ var _ref9 = handle || {},
301
+ key = _ref9.key;
302
+
303
+ var toggleKeyCode = 'ctrl+f1';
304
+ if (key === toggleKeyCode) {
305
+ var isSetHotKey = _this.isSetHotKey = !_this.isSetHotKey;
306
+ var message = isSetHotKey ? '设置' : '取消';
307
+ if (isSetHotKey) {
308
+ $.bind(_this.keys.filter(function (i) {
309
+ return i !== toggleKeyCode;
310
+ }), _this.hotKeyAction);
311
+ } else {
312
+ $.unbind(_this.keys.filter(function (i) {
313
+ return i !== toggleKeyCode;
314
+ }));
315
+ }
316
+ return _tplusComponentsTouch.Message.info('\u5DF2' + message + '\u5FEB\u6377\u952E');
317
+ }
318
+
319
+ $.action(key);
320
+ };
321
+
322
+ _this.handleInfoRender = function (solt) {
323
+ _this.setState({ solt: solt });
324
+ };
325
+
326
+ _this.onCollapse = function () {
327
+ var collapsed = _this.state.collapsed;
328
+
329
+ _this.setState({ collapsed: !collapsed });
330
+ };
331
+
332
+ _this.menuOnClick = function (_ref10) {
333
+ var key = _ref10.key;
334
+
335
+ console.log(key);
336
+ _this.setState({ selectedKeys: key });
337
+ };
338
+
339
+ _this.handleClose = function () {
340
+ _tplusComponentsTouch.Keyboard.close();
341
+ };
342
+
343
+ _this.handleOk = function (type, count) {
344
+ _mutantsMicrofx.stores.modifyPassStore.modifyPassWord();
345
+ };
346
+
347
+ _this.headMenuSelect = function (_ref11) {
348
+ var key = _ref11.key;
349
+
350
+ var footer = [{ text: '取消', className: 'modifypass-cancal-button', closable: true, action: _this.handleClose }, { text: '确定', className: 'modifypass-ok-button', action: _this.handleOk, type: 'primary' }];
351
+ footer = !!footer.length && _react2.default.createElement(
352
+ 'div',
353
+ null,
354
+ footer.map(function (btn, i) {
355
+ return _react2.default.createElement(
356
+ _antd.Button,
357
+ {
358
+ className: btn.className || '',
359
+ key: i,
360
+ type: btn.type,
361
+ loading: btn.loading,
362
+ onClick: function onClick() {
363
+ var _ref12 = btn || {},
364
+ action = _ref12.action;
365
+
366
+ if (typeof action === 'function') action();
367
+ if (btn.closable) {
368
+ _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
369
+ }
370
+ }
371
+ },
372
+ btn.text
373
+ );
374
+ })
375
+ );
376
+ switch (key) {
377
+ case 'logout':
378
+ _tplusApi.User.logout();
379
+ break;
380
+ case 'modifypass':
381
+ {
382
+ if (!_mutantsMicrofx.stores.offlineSys.shouldInOffline()) return;
383
+ _mutantsMicrofx.stores.modalRouter.show({
384
+ url: '/modifypass',
385
+ title: '修改密码',
386
+ className: 'modify-password',
387
+ width: 402,
388
+ footer: footer, modalType: 'mid',
389
+ onHide: function onHide() {
390
+ return _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
391
+ },
392
+ destroyOnClose: true
393
+ });
394
+ }
395
+ break;
396
+ default:
397
+ _mutantsMicrofx.history.push('/' + key);
398
+ break;
399
+ }
400
+ };
401
+
402
+ _this.hasElectron = hasElectron;
403
+ _this.state = {
404
+ hsy_s: false,
405
+ hsy_f: null
406
+ };
407
+ _stores2.default.posLoginStore.savePosCode();
408
+ _this.electron = _mutantsMicrofx.nativeMs && _mutantsMicrofx.nativeMs.get('electron');
409
+ _this.isAutoTest = (0, _index.getQueryString)(location.search, 'at');
410
+ _this.isShowFourTab = _this.hasElectron && window.screen.width < 1024 ? true : false;
411
+ //针对800*600分辨率下,页面显示不全的做一下处理。
412
+ if (_this.isShowFourTab == true) _this.initWebFrameZoom();
413
+
414
+ var isHorizontalPad = _mutantsUtil.localStore.get('isHorizontalPad'); // 是否在PAD
415
+ var isHorizontalSunMi = _mutantsUtil.localStore.get('isHorizontalSunMi'); //是否在商米(SunMi)
416
+ var isHorizontalSunMi_FuPing = _mutantsUtil.localStore.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)
417
+
418
+ _this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;
419
+ _this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;
420
+ return _this;
421
+ }
422
+
423
+ (0, _createClass3.default)(MainContainer, [{
424
+ key: 'getChildContext',
425
+ value: function getChildContext() {
426
+ var _this2 = this;
427
+
428
+ return {
429
+ infoRender: this.handleInfoRender,
430
+ headHook: {
431
+ addClass: function addClass(id, key) {
432
+ _this2.setState(function (state) {
433
+ return (0, _defineProperty3.default)({}, key, [].concat((0, _toConsumableArray3.default)(state[key] || []), [id]));
434
+ });
435
+ },
436
+ removeClass: function removeClass(id, key) {
437
+ _this2.setState(function (state) {
438
+ return (0, _defineProperty3.default)({}, key, state[key].filter(function (currentId) {
439
+ return currentId !== id;
440
+ }));
441
+ });
442
+ }
443
+ },
444
+ actionHook: {
445
+ actionFrom: this.actionFrom,
446
+ actionChange: function actionChange(value) {
447
+ _this2.actionFrom = value;
448
+ }
449
+ }
450
+ };
451
+ }
452
+
453
+ // 内置默认
454
+ // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];
455
+
456
+ // 解决从url地址唤醒exe,不同账号的处理问题。
457
+
458
+ }, {
459
+ key: 'componentWillMount',
460
+ value: function componentWillMount() {
461
+ this.changeLogoSubject();
462
+ this.changeHsySubject();
463
+
464
+ var _ref15 = _mutantsUtil.platform || {},
465
+ isVerticalTouch = _ref15.isVerticalTouch;
466
+
467
+ if (isVerticalTouch === true) {
468
+ document.body.classList.add('vertical-touch-platform');
469
+ }
470
+ }
471
+ }, {
472
+ key: 'componentDidMount',
473
+ value: function componentDidMount() {
474
+ this.registerHotKey();
475
+ this.addHotKeyChangeLister();
476
+ rx$.changeLogo.next();
477
+ document.body.addEventListener('focus', this.blurButton, true);
478
+ this.doDeeplinkingUrl();
479
+
480
+ if (this.hasElectron === true) {
481
+ document.body.classList.add('electron-env');
482
+ } else {
483
+ if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗
484
+ _tplusComponentsTouch.ModalWraper.confirm({
485
+ className: 'tplus-confirm-modal',
486
+ title: "温馨提示",
487
+ content: '智+新零售POS端不允许浏览器直接访问,请从智+产品中下载安装客户端程序使用!',
488
+ cancelable: false,
489
+ onOk: function onOk() {
490
+ (0, _index.closeWebPage)();
491
+ },
492
+ onCancel: function onCancel() {
493
+ (0, _index.closeWebPage)();
494
+ }
495
+ });
496
+ }
497
+ }
498
+ }, {
499
+ key: 'componentWillUnmount',
500
+ value: function componentWillUnmount() {
501
+ rx$.changeLogo.unsubscribe();
502
+ rx$.changeHsy.unsubscribe();
503
+ document.body.removeEventListener('focus', this.blurButton, true);
504
+ // clearInterval(this.addObserverDomTimer);
505
+ }
506
+
507
+ //未使用?
508
+
509
+ }, {
510
+ key: 'render',
511
+ value: function render() {
512
+ var _state = this.state,
513
+ collapsed = _state.collapsed,
514
+ selectedKeys = _state.selectedKeys,
515
+ solt = _state.solt,
516
+ _state$portalHead = _state.portalHead,
517
+ portalHead = _state$portalHead === undefined ? [] : _state$portalHead,
518
+ _state$loginHead = _state.loginHead,
519
+ loginHead = _state$loginHead === undefined ? [] : _state$loginHead,
520
+ _state$retailOrder = _state.retailOrder,
521
+ retailOrder = _state$retailOrder === undefined ? [] : _state$retailOrder,
522
+ logoUrl = _state.logoUrl,
523
+ hsy_s = _state.hsy_s;
524
+
525
+ var pathname = _mutantsMicrofx.history.location.pathname;
526
+ var storeInfo = _mutantsMicrofx.stores.user.options.get('store');
527
+ var isPortal = !!portalHead.length;
528
+ var isLogin = !!loginHead.length;
529
+ var isRetailOrder = !!retailOrder.length;
530
+ var headMenus = [{ title: '注销', key: 'logout', icon: 'zhuxiao' }];
531
+ if (_tplusPoslogin.vistorValidate.isNormal()) {
532
+ headMenus.push({ title: '修改密码', key: 'modifypass', icon: 'suoping' });
533
+ }
534
+ var headProps = {
535
+ logo: this.logoNode(logoUrl, isPortal, isLogin),
536
+ businessName: '',
537
+ storeName: '',
538
+ dateFormat: 'yyyy年MM月dd日 hh:mm:ss',
539
+ menu: headMenus,
540
+ onClick: this.headMenuSelect
541
+ };
542
+ if (storeInfo) {
543
+ headProps.businessName = storeInfo.orgName;
544
+ headProps.storeName = storeInfo.storeName;
545
+ headProps.posCode = storeInfo.posCode;
546
+ }
547
+
548
+ // 如果存在商米副屏则优先加载商米副屏
549
+ if (this.isHorizontalSunMi_FuPing) {
550
+ return _react2.default.createElement(_reactRouter.Redirect, { to: '/vicescreen' });
551
+ }
552
+ console.log('!stores.posLoginStore.posIsLogin=============', !_mutantsMicrofx.stores.posLoginStore.posIsLogin);
553
+ if (!_mutantsMicrofx.stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {
554
+ _mutantsMicrofx.stores.modalRouter.hideAll && _mutantsMicrofx.stores.modalRouter.hideAll();
555
+ return _react2.default.createElement(_reactRouter.Redirect, { to: '/login' });
556
+ }
557
+ var classNames = ['isPortal-layout', 'isRetailOrder-layout'];
558
+ var layoutClassName = [isPortal, isRetailOrder].map(function (v, i) {
559
+ return v ? classNames[i] : '';
560
+ }).join(' ');
561
+ return _react2.default.createElement(
562
+ _tplusComponentsTouch.Layout,
563
+ {
564
+ style: { height: '100%' },
565
+ className: layoutClassName
566
+ },
567
+ _react2.default.createElement(
568
+ _tplusComponentsTouch.Layout,
569
+ null,
570
+ _react2.default.createElement(_header2.default, (0, _extends3.default)({}, headProps, {
571
+ solt: solt,
572
+ isPortal: isPortal,
573
+ className: (!hsy_s && isPortal ? 'isPortal-head' : '') + ' ' + (isLogin ? 'isLogin-head' : ''),
574
+ isLogin: isLogin,
575
+ location: this.props.location,
576
+ history: this.props.history
577
+ })),
578
+ _react2.default.createElement(
579
+ _tplusComponentsTouch.Layout.Content,
580
+ null,
581
+ this.props.match.isExact ? _react2.default.createElement(_Portalbc2.default, null) : _react2.default.createElement(
582
+ _mutantsMicrofx.Switch,
583
+ null,
584
+ this.props.routes
585
+ )
586
+ )
587
+ )
588
+ );
589
+ }
590
+ }]);
591
+ return MainContainer;
592
+ }(_react.Component), _class2.childContextTypes = {
593
+ infoRender: _propTypes2.default.func,
594
+ headHook: _propTypes2.default.object,
595
+ actionHook: _propTypes2.default.object
596
+ }, _temp)) || _class;
597
+
598
+ function Main(props) {
599
+ var routes = props.routes,
600
+ modalRouter = props.modalRouter;
601
+
602
+
603
+ if (modalRouter) {
604
+ return _react2.default.createElement(
605
+ _mutantsMicrofx.Switch,
606
+ null,
607
+ routes
608
+ );
609
+ }
610
+
611
+ return _react2.default.cloneElement(_react2.default.createElement(MainContainer, null), props);
612
+ }
613
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-portaltouch/containers/Main/index.js"],"names":["Main","hasElectron","env","platform","constant","electron","window","rx$","MainContainer","observer","props","currentFocus","sys_parms","tinified_logo_bc","ossAliyuncsFileURL","protal_chanjet_logo_bc","chanjet_logo_bc","initWebFrameZoom","webFrame","value","localStore","get","setZoomFactor","parseFloat","doDeeplinkingUrl","ipcRenderer","on","event","ret","params","console","log","stores","user","orgId","userId","param","split","reduce","accumulator","current","key","cloudUserId","User","logout","changeLogoSubject","subject","Subject","changeLogo","subscribe","next","v","setLogo","changeHsySubject","changeHsy","setHsy","addHotKeyChangeLister","document","addEventListener","registerHotKey","removeHotKeyChangeLister","removeEventListener","back","fn","setState","hsy_s","hsy_f","store","logoUrl","logo","logoNode","url","isPortal","isLogin","state","isVerticalTouch","theme","portalStore","themeStore","defualtImage","hotKeyInjectOrEject","type","hotKeyAction","registerKeys","allKeys","hotKey","hotKeyConfig","forEach","keyboard","index","nativeMs","onIpcRendererGlobalShortcut","hotKeyActionHandle","blurButton","target","nodeName","blur","isSetHotKey","hotKeyCreate","observerCallback","observerDom","pressed","clickBefore","activeElement","filter","srcElement","tagName","className","indexOf","undefined","attributes","childList","subtree","attributeFilter","register","operationKeys","esc","enter","modals","querySelectorAll","modal","style","display","drawers","modalsAndDrawers","sort","dom1","dom2","style1","getComputedStyle","style2","zIndex","visibleDom","length","$","clearFocus","setFocus","getFocusId","querySelector","find","handle","toggleKeyCode","message","bind","keys","i","unbind","Message","info","action","handleInfoRender","solt","onCollapse","collapsed","menuOnClick","selectedKeys","handleClose","Keyboard","close","handleOk","count","modifyPassStore","modifyPassWord","headMenuSelect","footer","text","closable","map","btn","loading","modalRouter","hide","offlineSys","shouldInOffline","show","title","width","modalType","onHide","destroyOnClose","history","push","portalStores","posLoginStore","savePosCode","isAutoTest","location","search","isShowFourTab","screen","isHorizontalPad","storeUtil","isHorizontalSunMi","isHorizontalSunMi_FuPing","isMobileEnvironment","infoRender","headHook","addClass","id","removeClass","currentId","actionHook","actionFrom","actionChange","body","classList","add","ModalWraper","confirm","content","cancelable","onOk","onCancel","unsubscribe","portalHead","loginHead","retailOrder","pathname","storeInfo","options","isRetailOrder","headMenus","icon","vistorValidate","isNormal","headProps","businessName","storeName","dateFormat","menu","onClick","orgName","posCode","posIsLogin","hideAll","classNames","layoutClassName","join","height","match","isExact","routes","Component","childContextTypes","PropTypes","func","object","React","cloneElement"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { observer } from 'mobx-react';\nimport { Button } from 'antd';\nimport { history, Switch, stores, env, nativeMs, localStore } from 'mutants-microfx';\nimport { Ticon, Layout, Keyboard, ModalWraper, Message, hotKey } from 'tplus-components-touch';\nimport { platform, localStore as storeUtil } from 'mutants-util';\nimport { User } from 'tplus-api';\nimport { Subject } from 'rxjs';\nimport { Redirect } from 'react-router';\nimport Header from '../../components/header';\nimport PortalPageBC from '../../pages/Portalbc';\nimport portalStores from '../../stores';\nimport { closeWebPage, getQueryString, operationKeys } from '../../utils/index';\nimport { vistorValidate } from 'tplus-poslogin';\nconst hasElectron = (env.platform === env.constant.platform.electron);\nwindow.rx$ = {};\n@observer\nclass MainContainer extends Component {\n\n currentFocus = null;\n\n sys_parms = {\n tinified_logo_bc: `${window.ossAliyuncsFileURL}/tinified/logo-bc.png`,\n protal_chanjet_logo_bc: `${window.ossAliyuncsFileURL}/protal-chanjet-logo-bc.png`,\n chanjet_logo_bc: `${window.ossAliyuncsFileURL}/chanjet-logo-bc.png`,\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n this.state = {\n hsy_s: false,\n hsy_f: null\n };\n portalStores.posLoginStore.savePosCode();\n this.electron = nativeMs && nativeMs.get('electron');\n this.isAutoTest = getQueryString(location.search, 'at');\n this.isShowFourTab = this.hasElectron && window.screen.width < 1024 ? true : false;\n //针对800*600分辨率下,页面显示不全的做一下处理。\n if (this.isShowFourTab == true) this.initWebFrameZoom();\n\n const isHorizontalPad = storeUtil.get('isHorizontalPad')// 是否在PAD\n const isHorizontalSunMi = storeUtil.get('isHorizontalSunMi'); //是否在商米(SunMi)\n const isHorizontalSunMi_FuPing = storeUtil.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)\n\n this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;\n }\n static childContextTypes = {\n infoRender: PropTypes.func,\n headHook: PropTypes.object,\n actionHook: PropTypes.object,\n }\n\n initWebFrameZoom = () => {\n let webFrame = this.electron ? this.electron.webFrame : null;\n let value = localStore.get('webFrameZoomValue') || '0.7';\n if (webFrame) webFrame.setZoomFactor(parseFloat(value));\n }\n getChildContext() {\n return {\n infoRender: this.handleInfoRender,\n headHook: {\n addClass: (id, key) => {\n this.setState(state => ({\n [key]: [...(state[key] || []), id],\n }));\n },\n removeClass: (id, key) => {\n this.setState(state => ({\n [key]: state[key].filter(currentId => currentId !== id),\n }));\n }\n },\n actionHook: {\n actionFrom: this.actionFrom,\n actionChange: (value) => {\n this.actionFrom = value;\n }\n },\n };\n }\n\n // 内置默认\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];\n\n // 解决从url地址唤醒exe,不同账号的处理问题。\n doDeeplinkingUrl = () => {\n if (this.hasElectron === false) return;\n let { ipcRenderer } = this.electron || {ipcRenderer:null};\n ipcRenderer && ipcRenderer.on(\"asynchronous-deeplinkingUrl\", (event, ret, params) => {\n if (ret) {\n console.log('deeplinkingUrl:' + ret)\n const {orgId, userId} = stores.user || {};\n if (!orgId || !userId) return;\n const param = ret.split('&').reduce((accumulator, current) => {\n if (!current) return accumulator;\n const [key, value] = current.split('=') || [];\n accumulator[key] = value;\n return accumulator;\n }, {});\n console.log(orgId, userId, param)\n if (param.orgId !== orgId || param.cloudUserId !== userId) {\n User.logout();\n }\n }\n })\n }\n\n componentWillMount() {\n this.changeLogoSubject();\n this.changeHsySubject();\n const { isVerticalTouch } = platform || {};\n if (isVerticalTouch === true) {\n document.body.classList.add('vertical-touch-platform');\n }\n }\n\n changeLogoSubject = () => {\n const subject = new Subject();\n rx$.changeLogo = subject;\n\n subject\n .subscribe({\n next: (v) => this.setLogo(v)\n });\n }\n\n changeHsySubject = () => {\n const subject = new Subject();\n rx$.changeHsy = subject;\n\n subject\n .subscribe({\n next: (v) => this.setHsy(v)\n });\n }\n\n componentDidMount() {\n this.registerHotKey();\n this.addHotKeyChangeLister();\n rx$.changeLogo.next();\n document.body.addEventListener('focus', this.blurButton, true)\n this.doDeeplinkingUrl();\n\n if (this.hasElectron === true) {\n document.body.classList.add('electron-env');\n } else {\n if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: \"温馨提示\",\n content: '智+新零售POS端不允许浏览器直接访问,请从智+产品中下载安装客户端程序使用!',\n cancelable:false,\n onOk() {\n closeWebPage();\n },\n onCancel(){\n closeWebPage();\n }\n });\n }\n }\n addHotKeyChangeLister = () => {\n document.addEventListener(\"RESET_USER_STORE\",this.registerHotKey);\n }\n removeHotKeyChangeLister = () => {\n document.removeEventListener(\"RESET_USER_STORE\",this.registerHotKey);\n }\n\n componentWillUnmount() {\n rx$.changeLogo.unsubscribe();\n rx$.changeHsy.unsubscribe();\n document.body.removeEventListener('focus', this.blurButton, true)\n // clearInterval(this.addObserverDomTimer);\n }\n\n setHsy = (v) => {\n const { back, fn } = v || {};\n if (back === true) {\n this.setState({ hsy_s: true, hsy_f: fn })\n } else {\n this.setState({ hsy_s: false, hsy_f: null })\n }\n }\n\n setLogo = (v) => {\n const store = localStore.get('StoreKey') || {};\n const { logo: logoUrl } = store;\n logoUrl && this.setState({ logoUrl });\n }\n\n logoNode = (url, isPortal, isLogin) => {\n const { hsy_s, hsy_f } = this.state;\n const { isVerticalTouch } = platform || {};\n const theme = stores.portalStore.themeStore;\n const defualtImage = (isVerticalTouch === true) ? this.sys_parms.tinified_logo_bc : ((!hsy_s && isPortal) || (theme === 'dark' && !isLogin) ? this.sys_parms.protal_chanjet_logo_bc : this.sys_parms.chanjet_logo_bc);\n if (hsy_s === true) {\n return (<div className='business-logo-container'>\n <Ticon type='zhiPOS-fanhuishouye2' className='back_i' onClick={() => { hsy_f && hsy_f() }} />\n <img src={url || defualtImage} className=\"example-logo\" />\n </div>);\n }\n return <img src={url || defualtImage} className=\"example-logo\" />\n }\n\n //未使用?\n hotKeyInjectOrEject = (type, hotKeyAction) => {\n const registerKeys = ['esc', 'enter'];\n const allKeys = [...registerKeys, ...Object.keys(hotKey.hotKeyConfig)];\n allKeys.forEach((keyboard, index) => {\n nativeMs.onIpcRendererGlobalShortcut({ type, keyboard }, hotKeyActionHandle);\n });\n }\n\n blurButton = ({ target }) => { // 焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键\n if (target && target.nodeName === 'BUTTON') {\n target.blur();\n }\n }\n\n registerHotKey = () => {\n this.isSetHotKey = true;\n\n this.hotKeyCreate = hotKey({\n observerCallback: this.observerDom,\n log: true,\n pressed: this.hotKeyAction,\n clickBefore: () => {\n const { activeElement } = document;\n activeElement && activeElement.blur();\n },\n filter: event => {\n const { tagName, className } = event.target || event.srcElement || {};\n\n return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));\n }\n });\n\n this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true ,attributeFilter: ['class', 'style'], });\n this.hotKeyCreate.register('esc')('.hot-key-focus-container')(operationKeys.esc);\n this.hotKeyCreate.register('enter')('.hot-key-focus-container')(operationKeys.enter);\n }\n\n observerDom = () => {\n\n const modals = [...document.querySelectorAll('.ant-modal-wrap')].filter((modal) => modal.style && modal.style.display !== 'none'); //ant-module\n const drawers = [...document.querySelectorAll('.ant-drawer-open')] //ant-drawer\n let modalsAndDrawers = [...modals, ...drawers].sort((dom1, dom2) => {\n let style1 = window.getComputedStyle(dom1);\n let style2 = window.getComputedStyle(dom2);\n return style2.zIndex - style1.zIndex\n });\n\n let visibleDom = modalsAndDrawers.length > 0 ? modalsAndDrawers[0] : null\n\n if (visibleDom) {\n if (this.currentFocus !== visibleDom) {\n $.clearFocus();\n this.currentFocus = visibleDom\n return $.setFocus(visibleDom);\n }\n return;\n }\n\n if ($.getFocusId() !== '1') {\n if (this.currentFocus !== 'App' || !document.querySelector(\".hot-key-focus-container\")) {\n $.clearFocus();\n this.currentFocus = 'App';\n $.find('.app', true).setFocus();\n }\n return;\n }\n }\n\n hotKeyAction = (event, handle) => {\n const { key } = handle || {};\n const toggleKeyCode = 'ctrl+f1';\n if (key === toggleKeyCode) {\n const isSetHotKey = this.isSetHotKey = !this.isSetHotKey;\n const message = isSetHotKey ? '设置' : '取消';\n if (isSetHotKey) {\n $.bind(this.keys.filter(i => i !== toggleKeyCode), this.hotKeyAction);\n } else {\n $.unbind(this.keys.filter(i => i !== toggleKeyCode));\n }\n return Message.info(`已${message}快捷键`);\n }\n\n $.action(key);\n }\n\n handleInfoRender = (solt) => {\n this.setState({solt})\n }\n onCollapse = () => {\n const {collapsed} = this.state;\n this.setState({collapsed: !collapsed});\n }\n menuOnClick = ({key}) => {\n console.log(key)\n this.setState({selectedKeys: key});\n }\n\n handleClose = () => {\n Keyboard.close();\n }\n\n handleOk = (type, count) => {\n stores.modifyPassStore.modifyPassWord();\n }\n\n headMenuSelect = ({key}) => {\n var footer = [\n {text: '取消', className: 'modifypass-cancal-button', closable: true, action: this.handleClose},\n {text: '确定', className: 'modifypass-ok-button', action: this.handleOk, type: 'primary'}\n ];\n footer = !!footer.length && <div>\n {footer.map((btn, i) =>\n <Button\n className={btn.className || ''}\n key={i}\n type={btn.type}\n loading={btn.loading}\n onClick={() => {\n const {action} = btn || {};\n if (typeof action === 'function') action();\n if (btn.closable) {\n stores.modalRouter.hide('/modifypass');\n }\n }}\n >\n {btn.text}\n </Button>)}\n </div>\n switch (key) {\n case 'logout':\n User.logout();\n break;\n case 'modifypass':\n {\n if(!stores.offlineSys.shouldInOffline()) return;\n stores.modalRouter.show({\n url: '/modifypass',\n title: '修改密码',\n className: 'modify-password',\n width: 402,\n footer,modalType:'mid',\n onHide: () => stores.modalRouter.hide('/modifypass'),\n destroyOnClose: true,\n });\n }\n break;\n default:\n history.push(`/${key}`);\n break;\n }\n }\n render() {\n const { collapsed, selectedKeys, solt, portalHead = [], loginHead = [], retailOrder = [], logoUrl, hsy_s } = this.state;\n const pathname = history.location.pathname;\n const storeInfo = stores.user.options.get('store');\n const isPortal = !!portalHead.length;\n const isLogin = !!loginHead.length;\n const isRetailOrder = !!retailOrder.length;\n const headMenus = [\n { title: '注销', key: 'logout', icon: 'zhuxiao' }\n ];\n if (vistorValidate.isNormal()) {\n headMenus.push(\n { title: '修改密码', key: 'modifypass', icon: 'suoping' }\n )\n }\n const headProps = {\n logo: this.logoNode(logoUrl, isPortal, isLogin),\n businessName: '',\n storeName: '',\n dateFormat: 'yyyy年MM月dd日 hh:mm:ss',\n menu: headMenus,\n onClick: this.headMenuSelect\n };\n if (storeInfo) {\n headProps.businessName = storeInfo.orgName;\n headProps.storeName = storeInfo.storeName;\n headProps.posCode = storeInfo.posCode;\n }\n\n // 如果存在商米副屏则优先加载商米副屏\n if (this.isHorizontalSunMi_FuPing) {\n return <Redirect to={'/vicescreen'} />\n }\n console.log('!stores.posLoginStore.posIsLogin=============', !stores.posLoginStore.posIsLogin);\n if (!stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {\n stores.modalRouter.hideAll && stores.modalRouter.hideAll();\n return <Redirect to={'/login'} />\n }\n const classNames = ['isPortal-layout', 'isRetailOrder-layout'];\n const layoutClassName = [isPortal, isRetailOrder].map((v, i) => (v ? classNames[i] : '')).join(' ');\n return (\n <Layout\n style={{ height: '100%' }}\n className={layoutClassName}\n >\n <Layout>\n <Header\n {...headProps}\n solt={solt}\n isPortal={isPortal}\n className={`${(!hsy_s && isPortal) ? 'isPortal-head' : ''} ${isLogin ? 'isLogin-head' : ''}`}\n isLogin={isLogin}\n location={this.props.location}\n history={this.props.history}\n />\n <Layout.Content>\n {this.props.match.isExact ? (<PortalPageBC />) : <Switch>{this.props.routes}</Switch>}\n </Layout.Content>\n </Layout>\n </Layout>\n )\n }\n}\n\nexport default function Main(props) {\n const { routes, modalRouter } = props;\n\n if (modalRouter) {\n return <Switch>{routes}</Switch>;\n }\n\n return React.cloneElement(<MainContainer />, props);\n}\n"]}