tplus-portaltouch 3.17.5 → 3.17.9

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.
@@ -166,7 +166,7 @@ var OnLineStatus = (0, _mobxReact.observer)(function (props) {
166
166
 
167
167
  //头部联网状态
168
168
  var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) {
169
- var isShowUploadBtns = props.isShowUploadBtns;
169
+ var isShowUploadBtnsByRouter = props.isShowUploadBtnsByRouter;
170
170
  var networkCheckStore = _mutantsMicrofx.stores.networkCheckStore,
171
171
  offlineSys = _mutantsMicrofx.stores.offlineSys;
172
172
 
@@ -223,7 +223,7 @@ var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) {
223
223
  _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: iconName })
224
224
  )
225
225
  ),
226
- isShowUploadBtns && _react2.default.createElement(
226
+ isShowUploadBtnsByRouter && (0, _tplusPoslogin.PosInitData)('IsOfflineCash') === "1" && _react2.default.createElement(
227
227
  'div',
228
228
  { className: 'status-square c-pointer online-status-bg ' + (isOnLine ? '' : 'off-line') },
229
229
  _react2.default.createElement(
@@ -316,11 +316,11 @@ function RetailUpload() {
316
316
  _react2.default.createElement(
317
317
  'span',
318
318
  { className: 'fast-upload-btn' },
319
- '\u4E0A\u4F20\u96F6\u552E\u5355'
320
- ),
321
- _react2.default.createElement(UnLoadNum, null)
319
+ ' \u4E0A\u4F20\u96F6\u552E\u5355'
320
+ )
322
321
  )
323
322
  ),
323
+ _react2.default.createElement(UnLoadNum, null),
324
324
  _react2.default.createElement(_uploadList2.default, { ref: refModal, visible: isModalVisible, handleOk: handleOk, handleCancel: handleCancel })
325
325
  );
326
326
  }
@@ -330,10 +330,94 @@ var UnLoadNum = (0, _mobxReact.observer)(function () {
330
330
 
331
331
  return _react2.default.createElement(
332
332
  'span',
333
- { className: 'up-count-btn' },
333
+ { style: { display: retailNotUploadNumber > 0 ? 'inherit' : 'none' }, className: 'up-count-btn' },
334
334
  retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber
335
335
  );
336
336
  });
337
+ //零售单下载
338
+ function RetailDownload() {
339
+ var _this2 = this;
340
+
341
+ var offlineSys = _mutantsMicrofx.stores.offlineSys;
342
+
343
+ var _useState5 = (0, _react.useState)(false),
344
+ _useState6 = (0, _slicedToArray3.default)(_useState5, 2),
345
+ isDownload = _useState6[0],
346
+ setIsDownload = _useState6[1];
347
+
348
+ var handleDownLoad = function () {
349
+ var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
350
+ var result;
351
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
352
+ while (1) {
353
+ switch (_context2.prev = _context2.next) {
354
+ case 0:
355
+ if (!isDownload) {
356
+ _context2.next = 3;
357
+ break;
358
+ }
359
+
360
+ _tplusComponentsTouch.Message.warn('下载中……');
361
+ return _context2.abrupt('return');
362
+
363
+ case 3:
364
+ setIsDownload(true);
365
+ _tplusComponentsTouch.Message.warn('下载中……');
366
+ _context2.prev = 5;
367
+ _context2.next = 8;
368
+ return offlineSys.downloadCatcherData();
369
+
370
+ case 8:
371
+ result = _context2.sent;
372
+
373
+ _tplusComponentsTouch.Message.success('\u6570\u636E\u4E0B\u8F7D' + (result ? "成功" : "失败"));
374
+ _context2.next = 15;
375
+ break;
376
+
377
+ case 12:
378
+ _context2.prev = 12;
379
+ _context2.t0 = _context2['catch'](5);
380
+
381
+ _tplusComponentsTouch.Message.error('数据下载失败');
382
+
383
+ case 15:
384
+ setIsDownload(false);
385
+
386
+ case 16:
387
+ case 'end':
388
+ return _context2.stop();
389
+ }
390
+ }
391
+ }, _callee2, _this2, [[5, 12]]);
392
+ }));
393
+
394
+ return function handleDownLoad() {
395
+ return _ref4.apply(this, arguments);
396
+ };
397
+ }();
398
+ return _react2.default.createElement(
399
+ 'div',
400
+ { className: 'download-retail' },
401
+ _react2.default.createElement(
402
+ 'div',
403
+ { className: 'status-square online-status-bg c-pointer', onClick: handleDownLoad },
404
+ _react2.default.createElement(
405
+ 'span',
406
+ { className: 'status-tog-btn' },
407
+ _react2.default.createElement(
408
+ 'span',
409
+ { className: '' + (isDownload ? 'isRetailLoading' : '') },
410
+ _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: 'xiazaishuju' })
411
+ ),
412
+ _react2.default.createElement(
413
+ 'span',
414
+ { className: 'fast-upload-btn' },
415
+ ' \u4E0B\u8F7D\u6570\u636E'
416
+ )
417
+ )
418
+ )
419
+ );
420
+ }
337
421
  var releaseDate = void 0,
338
422
  releaseVersion = void 0;
339
423
  try {
@@ -366,18 +450,18 @@ function HeadContent(props, context) {
366
450
  onClick = props.onClick,
367
451
  location = props.location;
368
452
 
369
- var _useState5 = (0, _react.useState)(false),
370
- _useState6 = (0, _slicedToArray3.default)(_useState5, 2),
371
- themeVisible = _useState6[0],
372
- setThemeVisible = _useState6[1];
373
-
374
- var _useState7 = (0, _react.useState)(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0),
453
+ var _useState7 = (0, _react.useState)(false),
375
454
  _useState8 = (0, _slicedToArray3.default)(_useState7, 2),
376
- isShowUploadBtns = _useState8[0],
377
- setIsShowUploadBtns = _useState8[1];
455
+ themeVisible = _useState8[0],
456
+ setThemeVisible = _useState8[1];
457
+
458
+ var _useState9 = (0, _react.useState)(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0),
459
+ _useState10 = (0, _slicedToArray3.default)(_useState9, 2),
460
+ isShowUploadBtnsByRouter = _useState10[0],
461
+ setIsShowUploadBtnsByRouter = _useState10[1];
378
462
 
379
463
  props.history.listen(function (route) {
380
- setIsShowUploadBtns(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);
464
+ setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);
381
465
  });
382
466
  var menuProps = { onClick: onClick };
383
467
  var menus = _react2.default.createElement(
@@ -406,12 +490,12 @@ function HeadContent(props, context) {
406
490
  title: '关闭提示',
407
491
  content: '您确定要关闭应用吗?',
408
492
  onOk: function onOk() {
409
- var _this2 = this;
493
+ var _this3 = this;
410
494
 
411
- return (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
412
- return _regenerator2.default.wrap(function _callee2$(_context2) {
495
+ return (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
496
+ return _regenerator2.default.wrap(function _callee3$(_context3) {
413
497
  while (1) {
414
- switch (_context2.prev = _context2.next) {
498
+ switch (_context3.prev = _context3.next) {
415
499
  case 0:
416
500
  _tplusComponentsTouch.Loading.show({
417
501
  className: 'close-app-loading',
@@ -428,8 +512,8 @@ function HeadContent(props, context) {
428
512
  delay: false
429
513
  });
430
514
  context.actionHook.actionChange('close-app');
431
- _context2.prev = 2;
432
- _context2.next = 5;
515
+ _context3.prev = 2;
516
+ _context3.next = 5;
433
517
  return _tplusApi.User.logout(function () {
434
518
  setTimeout(function () {
435
519
  _mutantsMicrofx.nativeMs.doWindow(item.event);
@@ -437,12 +521,12 @@ function HeadContent(props, context) {
437
521
  });
438
522
 
439
523
  case 5:
440
- _context2.next = 12;
524
+ _context3.next = 12;
441
525
  break;
442
526
 
443
527
  case 7:
444
- _context2.prev = 7;
445
- _context2.t0 = _context2['catch'](2);
528
+ _context3.prev = 7;
529
+ _context3.t0 = _context3['catch'](2);
446
530
 
447
531
  _tplusApi.User.clear();
448
532
  _mutantsMicrofx.localStore.remove('user');
@@ -452,10 +536,10 @@ function HeadContent(props, context) {
452
536
 
453
537
  case 12:
454
538
  case 'end':
455
- return _context2.stop();
539
+ return _context3.stop();
456
540
  }
457
541
  }
458
- }, _callee2, _this2, [[2, 7]]);
542
+ }, _callee3, _this3, [[2, 7]]);
459
543
  }))();
460
544
  }
461
545
  });
@@ -473,8 +557,8 @@ function HeadContent(props, context) {
473
557
  };
474
558
 
475
559
  var setInventoryFocus = function setInventoryFocus() {
476
- var _ref4 = _mutantsUtil.platform || {},
477
- isHorizontalPad = _ref4.isHorizontalPad;
560
+ var _ref5 = _mutantsUtil.platform || {},
561
+ isHorizontalPad = _ref5.isHorizontalPad;
478
562
 
479
563
  if (!!isHorizontalPad) return;
480
564
  var doms = document.getElementsByClassName('app hot-key-focus-container');
@@ -557,8 +641,9 @@ function HeadContent(props, context) {
557
641
  _react2.default.createElement('i', { className: 'header-triangle-down' })
558
642
  )
559
643
  ),
560
- _react2.default.createElement(OnLineStatusToggle, { isShowUploadBtns: isShowUploadBtns }),
561
- isShowUploadBtns && _react2.default.createElement(RetailUpload, null)
644
+ _react2.default.createElement(OnLineStatusToggle, { isShowUploadBtnsByRouter: isShowUploadBtnsByRouter }),
645
+ isShowUploadBtnsByRouter && _react2.default.createElement(RetailUpload, null),
646
+ isShowUploadBtnsByRouter && _react2.default.createElement(RetailDownload, null)
562
647
  ),
563
648
  isElectron && headControlNode,
564
649
  _react2.default.createElement(
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","Item","Menu","defaultFromat","t","i18n","getFixedT","UPLOAD_BASE_PATH","weakRemindNum","HeadTime","props","time","dateFormat","unMount","timeStr","Date","now","currentTime","setCurrentTime","timeout","refreshDate","setTimeout","clearTimeout","split","date_YMD","date_HMS","platform","isVerticalTouch","OnLineStatus","networkStatus","networkCheckStore","stores","networkState","networkOn","iconName","switchNetwork","checked","event","switchOnLine","lineIcon","marginRight","OnLineStatusToggle","isShowUploadBtns","offlineSys","isOnLine","isOffline","setIsOffline","ModalWraper","confirm","title","content","onOk","_setIsOnLine","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","refModal","showModal","current","fetch","handleOk","isUpLoad","Message","warn","handleCancel","UnLoadNum","retailNotUploadNumber","releaseDate","releaseVersion","__RELEASESDATE__","__BUILDVERSION__","error","context","isElectron","env","businessName","storeName","posCode","logo","style","history","solt","isPortal","isLogin","menu","onClick","location","themeVisible","setThemeVisible","window","href","indexOf","setIsShowUploadBtns","listen","route","pathname","menuProps","menus","map","item","i","key","icon","controlConfig","type","beforeEvent","className","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","localStore","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","document","getElementsByClassName","input","getElementById","length","console","log","focus","clickTheme","isShow","userName","overlayClassName","moreInfoNode","headControlNode","v","display","width","height","replace","e","preventDefault","contextTypes","PropTypes","object"],"mappings":"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","file":"headContent.js","sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\nimport { Ticon, ModalWraper, Loading, Spin, Message } from 'tplus-components-touch';\r\nimport { Tooltip, Menu, Dropdown, Switch, Popover } from 'antd';\r\nimport PropTypes from 'prop-types';\r\nimport { formatDate } from '../../utils';\r\nimport { env, nativeMs, localStore, i18n } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { User } from 'tplus-api';\r\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\r\nimport { platform } from 'mutants-util';\r\nimport ThemeModal from \"./themeModal\";\r\nimport UploadOrder from \"./uploadList\";\r\nimport {stores} from 'mutants-microfx';\r\nimport {observer} from 'mobx-react';\r\nimport {OFFLINE_POINT_DESC} from './offlinePointDesc';\r\nconst { Item } = Menu;\r\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\r\nconst t = i18n.getFixedT(null, 'newretail');\r\nconst UPLOAD_BASE_PATH = '/login';\r\nlet weakRemindNum = 0;// 弱网提示初始值\r\n//头部时间\r\nfunction HeadTime(props) {\r\n const { time, dateFormat } = props;\r\n let unMount = false;\r\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\r\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\r\n let timeout;\r\n function refreshDate() {\r\n if (time) return;\r\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\r\n timeout = setTimeout(refreshDate, 1000);\r\n }\r\n useEffect(() => {\r\n refreshDate();\r\n return () => {\r\n unMount = true;\r\n clearTimeout(timeout);\r\n };\r\n }, [currentTime]);\r\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\r\n\r\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\r\n return (\r\n <div className='time'>\r\n {timeStr ?\r\n <div>{timeStr}</div> :\r\n <div>\r\n {date_YMD}\r\n <span>{date_HMS}</span>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\n//头部联网状态\r\nconst OnLineStatus = observer((props)=>{\r\n const { networkStatus } = props;\r\n const { networkCheckStore } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let networkOn = true;\r\n let iconName = 'WiFi';\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n networkOn = false;\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n const switchNetwork = (checked ,event)=>{\r\n networkCheckStore.switchOnLine(checked);\r\n }\r\n const lineIcon = <Ticon\r\n icon={iconName}\r\n className=\"network-state-icon\"\r\n />\r\n return (\r\n <div><span className='network-status' style={{marginRight:'10px'}}>{networkStatus || lineIcon}</span><span><Switch checkedChildren=\"开启\" unCheckedChildren=\"关闭\" defaultChecked checked={networkOn} onChange={switchNetwork}/></span></div>\r\n );\r\n});\r\n\r\n//头部联网状态\r\nconst OnLineStatusToggle = observer(props => {\r\n const { isShowUploadBtns } = props;\r\n const { networkCheckStore , offlineSys } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let isOnLine = !offlineSys.isOffline\r\n let iconName = 'WiFi';\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n isOnLine = false;\r\n offlineSys.setIsOffline(!isOnLine);\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (networkState === '弱网' && weakRemindNum <= 3) {\r\n weakRemindNum ++;\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('当前网络不好,是否切换到离线?'),\r\n onOk: () => {\r\n networkCheckStore.switchOnLine(false);\r\n offlineSys.setIsOffline(true);\r\n isOnLine = !isOnLine;\r\n }\r\n });\r\n }\r\n function _setIsOnLine() {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\r\n onOk: () => {\r\n networkCheckStore.switchOnLine(!isOnLine);\r\n offlineSys.setIsOffline(isOnLine);\r\n isOnLine = !isOnLine;\r\n }\r\n });\r\n }\r\n return (\r\n <div className='on-off-wrap'>\r\n <div className='status-square'>\r\n <span className=\"status-tog-btn\">{<Ticon icon={iconName}/>}</span>\r\n </div>\r\n { isShowUploadBtns && <div className={`status-square c-pointer online-status-bg ${isOnLine ? '' : 'off-line'}`}>\r\n <span className=\"status-tog-btn\" onClick={_setIsOnLine}>\r\n <span>{isOnLine ? '在线' : '离线'}</span>\r\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\"/>}</span>\r\n {/* <span className=\"status-space\">|</span> */}\r\n </span>\r\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<span>{OFFLINE_POINT_DESC}</span>} trigger=\"hover\">\r\n <span className=\"status-tog-btn\">{<Ticon icon=\"tanhao1\"/>}</span>\r\n </Popover>\r\n </div>}\r\n </div>\r\n );\r\n});\r\n\r\n//零售单上传\r\nfunction RetailUpload() {\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const refModal = useRef(null);\r\n const showModal = async () => {\r\n refModal && refModal.current.fetch();\r\n setIsModalVisible(true);\r\n };\r\n\r\n const handleOk = (isUpLoad = false) => {\r\n setIsModalVisible(false);\r\n Message.warn(isUpLoad ? '上传中……' : '暂无可以上传的单据')\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsModalVisible(false);\r\n };\r\n return (\r\n <div className='upload-retail'>\r\n <div className=\"status-square online-status-bg c-pointer\" onClick={showModal}>\r\n <span className=\"status-tog-btn\">\r\n <span>{<Ticon icon=\"shangchuan\"/>}</span>\r\n <span className=\"fast-upload-btn\">上传零售单</span>\r\n <UnLoadNum/>\r\n </span>\r\n </div>\r\n <UploadOrder ref={refModal} visible={isModalVisible} handleOk={handleOk} handleCancel={handleCancel}/>\r\n </div>\r\n );\r\n}\r\n// 零售单未上传的数量\r\nconst UnLoadNum = observer(() => {\r\n const {offlineSys: {retailNotUploadNumber} } = stores;\r\n return <span className=\"up-count-btn\">{retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber}</span>\r\n});\r\nlet releaseDate, releaseVersion;\r\ntry {\r\n releaseDate = __RELEASESDATE__;\r\n releaseVersion = __BUILDVERSION__;\r\n} catch (error) {\r\n releaseDate = '';\r\n releaseVersion = '';\r\n}\r\nexport default function HeadContent(props, context) {\r\n const isElectron = (env || {}).platform === 'electron';\r\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\r\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\r\n const [themeVisible, setThemeVisible] = useState(false);\r\n const [isShowUploadBtns, setIsShowUploadBtns] = useState(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0);\r\n props.history.listen(route => {\r\n setIsShowUploadBtns(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);\r\n });\r\n const menuProps = {onClick};\r\n const menus = (\r\n <Menu {...menuProps}>\r\n {menu.map((item, i) =>\r\n <Item key={item.key || i}>\r\n {item.icon && <Ticon icon={item.icon}/>}\r\n <span>{item.title}</span>\r\n </Item>)\r\n }\r\n </Menu>\r\n );\r\n\r\n const controlConfig = [\r\n {type: 'suoxiao', event: 'min'},\r\n {\r\n type: 'guanbixiao',\r\n event: 'close',\r\n beforeEvent: (item) => {\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭提示',\r\n content: '您确定要关闭应用吗?',\r\n async onOk() {\r\n Loading.show({\r\n className: 'close-app-loading',\r\n node: <div className='close-app-spin'>\r\n <Spin scale={1.2} type='shape' visible/>\r\n <h1>应用关闭中...</h1>\r\n </div>,\r\n delay: false\r\n });\r\n context.actionHook.actionChange('close-app');\r\n try {\r\n await User.logout(() => {\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500); // 需要为500ms 时间短可能会不能正常注销清理\r\n });\r\n } catch (err) {\r\n User.clear();\r\n localStore.remove('user');\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500);\r\n }\r\n }\r\n });\r\n }\r\n },\r\n ];\r\n\r\n const splitUser = (value) => {\r\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\r\n const isEmail = regEmail.test(value);\r\n\r\n if (isEmail) {\r\n return value.split('@')[0];\r\n }\r\n return value;\r\n }\r\n\r\n const setInventoryFocus = () => {\r\n const { isHorizontalPad } = platform || {};\r\n if (!!isHorizontalPad) return;\r\n let doms = document.getElementsByClassName('app hot-key-focus-container');\r\n let input = document.getElementById('productPoint');\r\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\r\n }\r\n\r\n const clickTheme = (isShow) => {\r\n setThemeVisible(isShow)\r\n }\r\n\r\n const userName = PosInitData('UserName');\r\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\r\n const moreInfoNode = <div className='pos-more-info-container'>\r\n <h1 className='business-name'>{businessName}</h1>\r\n <h1 className='store-code'>{posCode}</h1>\r\n </div>\r\n\r\n const headControlNode = <div className=\"head-content-control\">\r\n {controlConfig.map(v => <Ticon\r\n type={v.type}\r\n key={v.type}\r\n onClick={() => {\r\n if (nativeMs) {\r\n const {beforeEvent} = v;\r\n if (beforeEvent) {\r\n return beforeEvent(v);\r\n }\r\n nativeMs.doWindow(v.event)\r\n if (typeof setInventoryFocus == 'function') {\r\n setInventoryFocus()\r\n }\r\n }\r\n }}\r\n />)}\r\n </div>\r\n\r\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\r\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\r\n\r\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\r\n <div className=\"head-content-left\">\r\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\r\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\r\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\r\n </Tooltip>}\r\n {/* <OnLineStatus networkStatus={networkStatus}/> */}\r\n <OnLineStatusToggle isShowUploadBtns={isShowUploadBtns}/>\r\n {isShowUploadBtns && <RetailUpload/>}\r\n </div>\r\n {isElectron && headControlNode}\r\n <div className=\"head-content-right\">\r\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\r\n {!isLogin && !!userName && <Dropdown\r\n overlayClassName={overlayClassName}\r\n trigger={['click']}\r\n overlay={menus}\r\n placement=\"bottomRight\"\r\n arrow\r\n >\r\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\r\n <div className='store-info-item'>\r\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\r\n </div>\r\n <i className='header-triangle-down'/>\r\n </div>\r\n </Dropdown>}\r\n {!isLogin && <div className='store-info-item'>{solt}</div>}\r\n <HeadTime time={time} dateFormat={dateFormat}/>\r\n </div>\r\n <ThemeModal\r\n visible={themeVisible}\r\n isVertical={platform.isVerticalTouch}\r\n isPortal={isPortal}\r\n closeFn={(isShow) => clickTheme(isShow)}\r\n />\r\n </div>);\r\n}\r\n\r\nHeadContent.contextTypes = {\r\n actionHook: PropTypes.object,\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","Item","Menu","defaultFromat","t","i18n","getFixedT","UPLOAD_BASE_PATH","weakRemindNum","HeadTime","props","time","dateFormat","unMount","timeStr","Date","now","currentTime","setCurrentTime","timeout","refreshDate","setTimeout","clearTimeout","split","date_YMD","date_HMS","platform","isVerticalTouch","OnLineStatus","networkStatus","networkCheckStore","stores","networkState","networkOn","iconName","switchNetwork","checked","event","switchOnLine","lineIcon","marginRight","OnLineStatusToggle","isShowUploadBtnsByRouter","offlineSys","isOnLine","isOffline","setIsOffline","ModalWraper","confirm","title","content","onOk","_setIsOnLine","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","refModal","showModal","current","fetch","handleOk","isUpLoad","Message","warn","handleCancel","UnLoadNum","retailNotUploadNumber","display","RetailDownload","isDownload","setIsDownload","handleDownLoad","downloadCatcherData","result","success","error","releaseDate","releaseVersion","__RELEASESDATE__","__BUILDVERSION__","context","isElectron","env","businessName","storeName","posCode","logo","style","history","solt","isPortal","isLogin","menu","onClick","location","themeVisible","setThemeVisible","window","href","indexOf","setIsShowUploadBtnsByRouter","listen","route","pathname","menuProps","menus","map","item","i","key","icon","controlConfig","type","beforeEvent","className","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","localStore","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","document","getElementsByClassName","input","getElementById","length","console","log","focus","clickTheme","isShow","userName","overlayClassName","moreInfoNode","headControlNode","v","width","height","replace","e","preventDefault","contextTypes","PropTypes","object"],"mappings":"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","file":"headContent.js","sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\nimport { Ticon, ModalWraper, Loading, Spin, Message } from 'tplus-components-touch';\r\nimport { Tooltip, Menu, Dropdown, Switch, Popover } from 'antd';\r\nimport PropTypes from 'prop-types';\r\nimport { formatDate } from '../../utils';\r\nimport { env, nativeMs, localStore, i18n } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { User } from 'tplus-api';\r\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\r\nimport { platform } from 'mutants-util';\r\nimport ThemeModal from \"./themeModal\";\r\nimport UploadOrder from \"./uploadList\";\r\nimport {stores} from 'mutants-microfx';\r\nimport {observer} from 'mobx-react';\r\nimport {OFFLINE_POINT_DESC} from './offlinePointDesc';\r\nconst { Item } = Menu;\r\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\r\nconst t = i18n.getFixedT(null, 'newretail');\r\nconst UPLOAD_BASE_PATH = '/login';\r\nlet weakRemindNum = 0;// 弱网提示初始值\r\n//头部时间\r\nfunction HeadTime(props) {\r\n const { time, dateFormat } = props;\r\n let unMount = false;\r\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\r\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\r\n let timeout;\r\n function refreshDate() {\r\n if (time) return;\r\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\r\n timeout = setTimeout(refreshDate, 1000);\r\n }\r\n useEffect(() => {\r\n refreshDate();\r\n return () => {\r\n unMount = true;\r\n clearTimeout(timeout);\r\n };\r\n }, [currentTime]);\r\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\r\n\r\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\r\n return (\r\n <div className='time'>\r\n {timeStr ?\r\n <div>{timeStr}</div> :\r\n <div>\r\n {date_YMD}\r\n <span>{date_HMS}</span>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\n//头部联网状态\r\nconst OnLineStatus = observer((props)=>{\r\n const { networkStatus } = props;\r\n const { networkCheckStore } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let networkOn = true;\r\n let iconName = 'WiFi';\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n networkOn = false;\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n const switchNetwork = (checked ,event)=>{\r\n networkCheckStore.switchOnLine(checked);\r\n }\r\n const lineIcon = <Ticon\r\n icon={iconName}\r\n className=\"network-state-icon\"\r\n />\r\n return (\r\n <div><span className='network-status' style={{marginRight:'10px'}}>{networkStatus || lineIcon}</span><span><Switch checkedChildren=\"开启\" unCheckedChildren=\"关闭\" defaultChecked checked={networkOn} onChange={switchNetwork}/></span></div>\r\n );\r\n});\r\n\r\n//头部联网状态\r\nconst OnLineStatusToggle = observer(props => {\r\n const { isShowUploadBtnsByRouter } = props;\r\n const { networkCheckStore , offlineSys } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let isOnLine = !offlineSys.isOffline\r\n let iconName = 'WiFi';\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n isOnLine = false;\r\n offlineSys.setIsOffline(!isOnLine);\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (networkState === '弱网' && weakRemindNum <= 3) {\r\n weakRemindNum ++;\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('当前网络不好,是否切换到离线?'),\r\n onOk: () => {\r\n networkCheckStore.switchOnLine(false);\r\n offlineSys.setIsOffline(true);\r\n isOnLine = !isOnLine;\r\n }\r\n });\r\n }\r\n function _setIsOnLine() {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\r\n onOk: () => {\r\n networkCheckStore.switchOnLine(!isOnLine);\r\n offlineSys.setIsOffline(isOnLine);\r\n isOnLine = !isOnLine;\r\n }\r\n });\r\n }\r\n return (\r\n <div className='on-off-wrap'>\r\n <div className='status-square'>\r\n <span className=\"status-tog-btn\">{<Ticon icon={iconName}/>}</span>\r\n </div>\r\n { isShowUploadBtnsByRouter && PosInitData('IsOfflineCash') === \"1\" && <div className={`status-square c-pointer online-status-bg ${isOnLine ? '' : 'off-line'}`}>\r\n <span className=\"status-tog-btn\" onClick={_setIsOnLine}>\r\n <span>{isOnLine ? '在线' : '离线'}</span>\r\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\"/>}</span>\r\n {/* <span className=\"status-space\">|</span> */}\r\n </span>\r\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<span>{OFFLINE_POINT_DESC}</span>} trigger=\"hover\">\r\n <span className=\"status-tog-btn\">{<Ticon icon=\"tanhao1\"/>}</span>\r\n </Popover>\r\n </div>}\r\n </div>\r\n );\r\n});\r\n\r\n//零售单上传\r\nfunction RetailUpload() {\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const refModal = useRef(null);\r\n const showModal = async () => {\r\n refModal && refModal.current.fetch();\r\n setIsModalVisible(true);\r\n };\r\n\r\n const handleOk = (isUpLoad = false) => {\r\n setIsModalVisible(false);\r\n Message.warn(isUpLoad ? '上传中……' : '暂无可以上传的单据')\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsModalVisible(false);\r\n };\r\n return (\r\n <div className='upload-retail'>\r\n <div className=\"status-square online-status-bg c-pointer\" onClick={showModal}>\r\n <span className=\"status-tog-btn\">\r\n <span>{<Ticon icon=\"shangchuan\"/>}</span>\r\n <span className=\"fast-upload-btn\"> 上传零售单</span>\r\n </span>\r\n </div>\r\n <UnLoadNum/>\r\n <UploadOrder ref={refModal} visible={isModalVisible} handleOk={handleOk} handleCancel={handleCancel}/>\r\n </div>\r\n );\r\n}\r\n// 零售单未上传的数量\r\nconst UnLoadNum = observer(() => {\r\n const {offlineSys: {retailNotUploadNumber} } = stores;\r\n return <span style={{display: retailNotUploadNumber > 0 ? 'inherit' : 'none'}} className=\"up-count-btn\">{retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber}</span>\r\n});\r\n//零售单下载\r\nfunction RetailDownload() {\r\n const {offlineSys} = stores;\r\n const [isDownload, setIsDownload] = useState(false);\r\n const handleDownLoad = async () => {\r\n if (isDownload) {\r\n Message.warn('下载中……');\r\n return;\r\n }\r\n setIsDownload(true);\r\n Message.warn('下载中……');\r\n try {\r\n let result = await offlineSys.downloadCatcherData();\r\n Message.success(`数据下载${result?\"成功\":\"失败\"}`);\r\n } catch(err){\r\n Message.error('数据下载失败');\r\n }\r\n setIsDownload(false);\r\n };\r\n return (\r\n <div className='download-retail'>\r\n <div className=\"status-square online-status-bg c-pointer\" onClick={handleDownLoad}>\r\n <span className=\"status-tog-btn\">\r\n <span className={`${isDownload ? 'isRetailLoading' : ''}`}>{<Ticon icon=\"xiazaishuju\"/>}</span>\r\n <span className=\"fast-upload-btn\"> 下载数据</span>\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\nlet releaseDate, releaseVersion;\r\ntry {\r\n releaseDate = __RELEASESDATE__;\r\n releaseVersion = __BUILDVERSION__;\r\n} catch (error) {\r\n releaseDate = '';\r\n releaseVersion = '';\r\n}\r\nexport default function HeadContent(props, context) {\r\n const isElectron = (env || {}).platform === 'electron';\r\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\r\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\r\n const [themeVisible, setThemeVisible] = useState(false);\r\n const [isShowUploadBtnsByRouter, setIsShowUploadBtnsByRouter] = useState(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0);\r\n props.history.listen(route => {\r\n setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);\r\n });\r\n const menuProps = {onClick};\r\n const menus = (\r\n <Menu {...menuProps}>\r\n {menu.map((item, i) =>\r\n <Item key={item.key || i}>\r\n {item.icon && <Ticon icon={item.icon}/>}\r\n <span>{item.title}</span>\r\n </Item>)\r\n }\r\n </Menu>\r\n );\r\n\r\n const controlConfig = [\r\n {type: 'suoxiao', event: 'min'},\r\n {\r\n type: 'guanbixiao',\r\n event: 'close',\r\n beforeEvent: (item) => {\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭提示',\r\n content: '您确定要关闭应用吗?',\r\n async onOk() {\r\n Loading.show({\r\n className: 'close-app-loading',\r\n node: <div className='close-app-spin'>\r\n <Spin scale={1.2} type='shape' visible/>\r\n <h1>应用关闭中...</h1>\r\n </div>,\r\n delay: false\r\n });\r\n context.actionHook.actionChange('close-app');\r\n try {\r\n await User.logout(() => {\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500); // 需要为500ms 时间短可能会不能正常注销清理\r\n });\r\n } catch (err) {\r\n User.clear();\r\n localStore.remove('user');\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500);\r\n }\r\n }\r\n });\r\n }\r\n },\r\n ];\r\n\r\n const splitUser = (value) => {\r\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\r\n const isEmail = regEmail.test(value);\r\n\r\n if (isEmail) {\r\n return value.split('@')[0];\r\n }\r\n return value;\r\n }\r\n\r\n const setInventoryFocus = () => {\r\n const { isHorizontalPad } = platform || {};\r\n if (!!isHorizontalPad) return;\r\n let doms = document.getElementsByClassName('app hot-key-focus-container');\r\n let input = document.getElementById('productPoint');\r\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\r\n }\r\n\r\n const clickTheme = (isShow) => {\r\n setThemeVisible(isShow)\r\n }\r\n\r\n const userName = PosInitData('UserName');\r\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\r\n const moreInfoNode = <div className='pos-more-info-container'>\r\n <h1 className='business-name'>{businessName}</h1>\r\n <h1 className='store-code'>{posCode}</h1>\r\n </div>\r\n\r\n const headControlNode = <div className=\"head-content-control\">\r\n {controlConfig.map(v => <Ticon\r\n type={v.type}\r\n key={v.type}\r\n onClick={() => {\r\n if (nativeMs) {\r\n const {beforeEvent} = v;\r\n if (beforeEvent) {\r\n return beforeEvent(v);\r\n }\r\n nativeMs.doWindow(v.event)\r\n if (typeof setInventoryFocus == 'function') {\r\n setInventoryFocus()\r\n }\r\n }\r\n }}\r\n />)}\r\n </div>\r\n\r\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\r\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\r\n\r\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\r\n <div className=\"head-content-left\">\r\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\r\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\r\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\r\n </Tooltip>}\r\n {/* <OnLineStatus networkStatus={networkStatus}/> */}\r\n <OnLineStatusToggle isShowUploadBtnsByRouter={isShowUploadBtnsByRouter}/>\r\n {isShowUploadBtnsByRouter && <RetailUpload/>}\r\n {isShowUploadBtnsByRouter && <RetailDownload/>}\r\n </div>\r\n {isElectron && headControlNode}\r\n <div className=\"head-content-right\">\r\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\r\n {!isLogin && !!userName && <Dropdown\r\n overlayClassName={overlayClassName}\r\n trigger={['click']}\r\n overlay={menus}\r\n placement=\"bottomRight\"\r\n arrow\r\n >\r\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\r\n <div className='store-info-item'>\r\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\r\n </div>\r\n <i className='header-triangle-down'/>\r\n </div>\r\n </Dropdown>}\r\n {!isLogin && <div className='store-info-item'>{solt}</div>}\r\n <HeadTime time={time} dateFormat={dateFormat}/>\r\n </div>\r\n <ThemeModal\r\n visible={themeVisible}\r\n isVertical={platform.isVerticalTouch}\r\n isPortal={isPortal}\r\n closeFn={(isShow) => clickTheme(isShow)}\r\n />\r\n </div>);\r\n}\r\n\r\nHeadContent.contextTypes = {\r\n actionHook: PropTypes.object,\r\n}\r\n"]}
@@ -118,13 +118,37 @@
118
118
  padding-right: 24px;
119
119
  cursor: pointer;
120
120
  }
121
- .on-off-wrap, .upload-retail{
121
+ .on-off-wrap, .upload-retail, .download-retail{
122
122
  margin-left: 10px;
123
+ position: relative;
124
+ display: flex;
125
+ align-items: center;
126
+ height: 60px;
123
127
  &.c-pointer, .c-pointer{
124
128
  cursor: pointer;
125
129
  }
130
+ .up-count-btn {
131
+ line-height: normal;
132
+ background-color: #F83A41;
133
+ color: #fff;
134
+ transform: scale(.7);
135
+ padding: 1px 6px;
136
+ border-radius: 10px;
137
+ position: absolute;
138
+ top: 6px;
139
+ right: -10px;
140
+ }
141
+ .isRetailLoading{
142
+ position: relative;
143
+ animation: retailMove 1.2s ease 0.5s infinite;
144
+ }
145
+ @keyframes retailMove {
146
+ from {top: -18px;}
147
+ to {top: 18px;}
148
+ }
126
149
  }
127
150
  .status-square{
151
+ overflow: hidden;
128
152
  display: inline-block;
129
153
  line-height: 20px;
130
154
  border-radius: 2px;
@@ -149,16 +173,6 @@
149
173
  .status-space {
150
174
  margin-right: 4px;
151
175
  }
152
- .up-count-btn {
153
- background-color: #F83A41;
154
- color: #fff;
155
- transform: scale(.7);
156
- padding: 1px 6px;
157
- border-radius: 10px;
158
- position: absolute;
159
- top: -16px;
160
- right: -15px;
161
- }
162
176
  }
163
177
  }
164
178
  }
@@ -435,17 +435,20 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
435
435
  _tplusApi.User.logout();
436
436
  break;
437
437
  case 'modifypass':
438
- _mutantsMicrofx.stores.modalRouter.show({
439
- url: '/modifypass',
440
- title: '修改密码',
441
- className: 'modify-password',
442
- width: 402,
443
- footer: footer, modalType: 'mid',
444
- onHide: function onHide() {
445
- return _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
446
- },
447
- destroyOnClose: true
448
- });
438
+ {
439
+ if (!_mutantsMicrofx.stores.offlineSys.shouldInOffline()) return;
440
+ _mutantsMicrofx.stores.modalRouter.show({
441
+ url: '/modifypass',
442
+ title: '修改密码',
443
+ className: 'modify-password',
444
+ width: 402,
445
+ footer: footer, modalType: 'mid',
446
+ onHide: function onHide() {
447
+ return _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
448
+ },
449
+ destroyOnClose: true
450
+ });
451
+ }
449
452
  break;
450
453
  default:
451
454
  _mutantsMicrofx.history.push('/' + key);
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/containers/Main/index.js"],"names":["Main","hasElectron","env","platform","constant","electron","window","rx$","MainContainer","observer","props","currentFocus","initWebFrameZoom","webFrame","value","localStore","get","setZoomFactor","parseFloat","doDeeplinkingUrl","ipcRenderer","on","event","ret","params","console","log","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","isNewRetailBCPos","bcParams","theme","stores","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","visibleModal","modals","querySelectorAll","modal","display","style","visibleDrawer","drawers","drawer","$","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","length","map","btn","loading","modalRouter","hide","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","user","options","isRetailOrder","headProps","businessName","storeName","dateFormat","menu","icon","onClick","orgName","posCode","posIsLogin","hideAll","classNames","layoutClassName","join","height","match","isExact","routes","Component","childContextTypes","PropTypes","func","object","React","cloneElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2awBA,I;;AA3axB;;;;AACA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AAEA,IAAMC,cAAeC,oBAAIC,QAAJ,KAAiBD,oBAAIE,QAAJ,CAAaD,QAAb,CAAsBE,QAA5D;AACAC,OAAOC,GAAP,GAAa,EAAb;;IAGMC,a,OADLC,mB;;;AAGC,yBAAYC,KAAZ,EAAmB;AAAA;;AAAA,oJACXA,KADW;;AAAA,UADnBC,YACmB,GADJ,IACI;;AAAA,UA2BnBC,gBA3BmB,GA2BA,YAAM;AACvB,UAAIC,WAAW,MAAKR,QAAL,GAAgB,MAAKA,QAAL,CAAcQ,QAA9B,GAAyC,IAAxD;AACA,UAAIC,QAAQC,2BAAWC,GAAX,CAAe,mBAAf,KAAuC,KAAnD;AACA,UAAIH,QAAJ,EAAcA,SAASI,aAAT,CAAuBC,WAAWJ,KAAX,CAAvB;AACf,KA/BkB;;AAAA,UA4DnBK,gBA5DmB,GA4DA,YAAM;AACvB,UAAI,MAAKlB,WAAL,KAAqB,KAAzB,EAAgC;;AADT,iBAED,MAAKI,QAAL,IAAiB,EAACe,aAAY,IAAb,EAFhB;AAAA,UAEjBA,WAFiB,QAEjBA,WAFiB;;AAGvBA,qBAAeA,YAAYC,EAAZ,CAAe,6BAAf,EAA8C,UAACC,KAAD,EAAQC,GAAR,EAAaC,MAAb,EAAwB;AACnF,YAAID,GAAJ,EAAS;AACPE,kBAAQC,GAAR,CAAY,oBAAoBH,GAAhC;;AADO,sBAEiBR,2BAAWC,GAAX,CAAe,MAAf,KAA0B,EAF3C;AAAA,cAEAW,KAFA,SAEAA,KAFA;AAAA,cAEOC,MAFP,SAEOA,MAFP;;AAGP,cAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACvB,cAAMC,QAAQN,IAAIO,KAAJ,CAAU,GAAV,EAAeC,MAAf,CAAsB,UAACC,WAAD,EAAcC,OAAd,EAA0B;AAC5D,gBAAI,CAACA,OAAL,EAAc,OAAOD,WAAP;;AAD8C,wBAEvCC,QAAQH,KAAR,CAAc,GAAd,KAAsB,EAFiB;AAAA;AAAA,gBAErDI,GAFqD;AAAA,gBAEhDpB,KAFgD;;AAG5DkB,wBAAYE,GAAZ,IAAmBpB,KAAnB;AACA,mBAAOkB,WAAP;AACD,WALa,EAKX,EALW,CAAd;AAMAP,kBAAQC,GAAR,CAAYC,KAAZ,EAAmBC,MAAnB,EAA2BC,KAA3B;AACA,cAAIA,MAAMF,KAAN,KAAgBA,KAAhB,IAAyBE,MAAMM,WAAN,KAAsBP,MAAnD,EAA2D;AACzDQ,2BAAKC,MAAL;AACD;AACF;AACF,OAhBc,CAAf;AAiBD,KAhFkB;;AAAA,UA2FnBC,iBA3FmB,GA2FC,YAAM;AACxB,UAAMC,UAAU,IAAIC,aAAJ,EAAhB;AACAjC,UAAIkC,UAAJ,GAAiBF,OAAjB;;AAEAA,cACGG,SADH,CACa;AACTC,cAAM,cAACC,CAAD;AAAA,iBAAO,MAAKC,OAAL,CAAaD,CAAb,CAAP;AAAA;AADG,OADb;AAID,KAnGkB;;AAAA,UAqGnBE,gBArGmB,GAqGA,YAAM;AACvB,UAAMP,UAAU,IAAIC,aAAJ,EAAhB;AACAjC,UAAIwC,SAAJ,GAAgBR,OAAhB;;AAEAA,cACGG,SADH,CACa;AACTC,cAAM,cAACC,CAAD;AAAA,iBAAO,MAAKI,MAAL,CAAYJ,CAAZ,CAAP;AAAA;AADG,OADb;AAID,KA7GkB;;AAAA,UAwInBK,qBAxImB,GAwIK,YAAM;AAC5BC,eAASC,gBAAT,CAA0B,kBAA1B,EAA6C,MAAKC,cAAlD;AACD,KA1IkB;;AAAA,UA2InBC,wBA3ImB,GA2IQ,YAAM;AAC/BH,eAASI,mBAAT,CAA6B,kBAA7B,EAAgD,MAAKF,cAArD;AACD,KA7IkB;;AAAA,UAsJnBJ,MAtJmB,GAsJV,UAACJ,CAAD,EAAO;AAAA,kBACOA,KAAK,EADZ;AAAA,UACNW,IADM,SACNA,IADM;AAAA,UACAC,EADA,SACAA,EADA;;AAEd,UAAID,SAAS,IAAb,EAAmB;AACjB,cAAKE,QAAL,CAAc,EAAEC,OAAO,IAAT,EAAeC,OAAOH,EAAtB,EAAd;AACD,OAFD,MAEO;AACL,cAAKC,QAAL,CAAc,EAAEC,OAAO,KAAT,EAAgBC,OAAO,IAAvB,EAAd;AACD;AACF,KA7JkB;;AAAA,UA+JnBd,OA/JmB,GA+JT,UAACD,CAAD,EAAO;AACf,UAAMgB,QAAQ7C,2BAAWC,GAAX,CAAe,UAAf,KAA8B,EAA5C;AADe,UAED6C,OAFC,GAEWD,KAFX,CAEPE,IAFO;;AAGfD,iBAAW,MAAKJ,QAAL,CAAc,EAAEI,gBAAF,EAAd,CAAX;AACD,KAnKkB;;AAAA,UAqKnBE,QArKmB,GAqKR,UAACC,GAAD,EAAMC,QAAN,EAAgBC,OAAhB,EAA4B;AAAA,wBACZ,MAAKC,KADO;AAAA,UAC7BT,KAD6B,eAC7BA,KAD6B;AAAA,UACtBC,KADsB,eACtBA,KADsB;;AAAA,kBAESxD,yBAAY,EAFrB;AAAA,UAE7BiE,eAF6B,SAE7BA,eAF6B;AAAA,UAEZC,gBAFY,SAEZA,gBAFY;;AAGrC,UAAMC,WAAWD,mBAAmB,KAAnB,GAA2B,EAA5C;AACA,UAAME,QAAQC,uBAAOC,WAAP,CAAmBC,UAAjC;AACA,UAAMC,eAAgBP,oBAAoB,IAArB,0DAAkFE,QAAlF,uDAA6I,CAACZ,KAAD,IAAUO,QAAX,IAAyBM,UAAU,MAAV,IAAoB,CAACL,OAA/C,GAA2D,gBAA3D,GAA8E,SAAzN,cAA0OI,QAA1O,SAArB;AACA,UAAIZ,UAAU,IAAd,EAAoB;AAClB,eAAQ;AAAA;AAAA,YAAK,WAAU,yBAAf;AACN,wCAAC,2BAAD,IAAO,MAAK,sBAAZ,EAAmC,WAAU,QAA7C,EAAsD,SAAS,mBAAM;AAAEC,uBAASA,OAAT;AAAkB,aAAzF,GADM;AAEN,iDAAK,KAAKK,OAAOW,YAAjB,EAA+B,WAAU,cAAzC;AAFM,SAAR;AAID;AACD,aAAO,uCAAK,KAAKX,OAAOW,YAAjB,EAA+B,WAAU,cAAzC,GAAP;AACD,KAlLkB;;AAAA,UAqLnBC,mBArLmB,GAqLG,UAACC,IAAD,EAAOC,YAAP,EAAwB;AAC5C,UAAMC,eAAe,CAAC,KAAD,EAAQ,OAAR,CAArB;AACA,UAAMC,oBAAcD,YAAd,mCAA+B,oBAAYE,6BAAOC,YAAnB,CAA/B,EAAN;AACAF,cAAQG,OAAR,CAAgB,UAACC,QAAD,EAAWC,KAAX,EAAqB;AACnCC,iCAASC,2BAAT,CAAqC,EAAEV,UAAF,EAAQO,kBAAR,EAArC,EAAyDI,kBAAzD;AACD,OAFD;AAGD,KA3LkB;;AAAA,UA6LnBC,UA7LmB,GA6LN,iBAAgB;AAAA,UAAbC,MAAa,SAAbA,MAAa;AAAE;AAC7B,UAAIA,UAAUA,OAAOC,QAAP,KAAoB,QAAlC,EAA4C;AAC1CD,eAAOE,IAAP;AACD;AACF,KAjMkB;;AAAA,UAmMnBxC,cAnMmB,GAmMF,YAAM;AACrB,YAAKyC,WAAL,GAAmB,IAAnB;;AAEA,YAAKC,YAAL,GAAoB,kCAAO;AACzBC,0BAAkB,MAAKC,WADE;AAEzBtE,aAAK,IAFoB;AAGzBuE,iBAAS,MAAKnB,YAHW;AAIzBoB,qBAAa,uBAAM;AAAA,0BACShD,QADT;AAAA,cACTiD,aADS,aACTA,aADS;;AAEjBA,2BAAiBA,cAAcP,IAAd,EAAjB;AACD,SAPwB;AAQzBQ,gBAAQ,uBAAS;AAAA,sBACgB9E,MAAMoE,MAAN,IAAgBpE,MAAM+E,UAAtB,IAAoC,EADpD;AAAA,cACPC,OADO,SACPA,OADO;AAAA,cACEC,SADF,SACEA,SADF;;AAGf,iBAAO,EAAEjF,MAAMY,GAAN,KAAc,OAAd,IAAyBoE,YAAY,OAArC,IAAgD,CAAC,CAACC,UAAUC,OAAV,CAAkB,oBAAlB,CAApD,CAAP;AACD;AAZwB,OAAP,CAApB;;AAeA,YAAKV,YAAL,CAAkBrF,QAAlB,CAA2BgG,SAA3B,EAAsC,EAAEC,YAAY,IAAd,EAAoBC,WAAW,IAA/B,EAAqCC,SAAS,IAA9C,EAAoDC,iBAAiB,CAAC,OAAD,EAAU,OAAV,CAArE,EAAtC;AACA,YAAKf,YAAL,CAAkBgB,QAAlB,CAA2B,KAA3B,EAAkC,0BAAlC,EAA8DC,qBAAcC,GAA5E;AACA,YAAKlB,YAAL,CAAkBgB,QAAlB,CAA2B,OAA3B,EAAoC,0BAApC,EAAgEC,qBAAcE,KAA9E;AACD,KAxNkB;;AAAA,UA0NnBjB,WA1NmB,GA0NL,YAAM;AAChB,UAAIkB,qBAAJ;AACA,UAAMC,SAASjE,SAASkE,gBAAT,CAA0B,iBAA1B,CAAf,CAFgB,CAE6C;AAF7C;AAAA;AAAA;;AAAA;AAGhB,wDAAiBD,MAAjB,4GAAyB;AAAA,cAAjBE,KAAiB;;AACvB,cAAMC,UAAUD,MAAME,KAAN,CAAYD,OAA5B;AACA,cAAGA,WAAW,MAAd,EAAqB;AACnBJ,2BAAeG,KAAf;AACD;AACF;AARe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAUhB,UAAIG,sBAAJ;AACA,UAAMC,UAAUvE,SAASkE,gBAAT,CAA0B,kBAA1B,CAAhB,CAXgB,CAW+C;AAX/C;AAAA;AAAA;;AAAA;AAYhB,yDAAkBK,OAAlB,iHAA2B;AAAA,cAAnBC,MAAmB;;AACvBF,0BAAgBE,MAAhB;AACA;AACH;AAfe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAiBhB,UAAIR,YAAJ,EAAkB;AAChB,YAAG,MAAKvG,YAAL,KAAsBuG,YAAzB,EAAsC;AACpCS,YAAEC,UAAF;AACA,gBAAKjH,YAAL,GAAoBuG,YAApB;AACA,iBAAOS,EAAEE,QAAF,CAAWX,YAAX,CAAP;AACD;AACD;AACD;;AAED,UAAIM,aAAJ,EAAmB;AACjB,YAAG,MAAK7G,YAAL,KAAsB6G,aAAzB,EAAuC;AACrCG,YAAEC,UAAF;AACA,gBAAKjH,YAAL,GAAoB6G,aAApB;AACA,iBAAOG,EAAEE,QAAF,CAAWL,aAAX,CAAP;AACD;AACD;AACD;;AAGD,UAAIG,EAAEG,UAAF,OAAmB,GAAvB,EAA4B;AAC1B,YAAG,MAAKnH,YAAL,KAAsB,KAAtB,IAA+B,CAACuC,SAAS6E,aAAT,CAAuB,0BAAvB,CAAnC,EAAsF;AACpFJ,YAAEC,UAAF;AACA,gBAAKjH,YAAL,GAAoB,KAApB;AACAgH,YAAEK,IAAF,CAAO,MAAP,EAAe,IAAf,EAAqBH,QAArB;AACD;AACD;AACD;AACJ,KAtQkB;;AAAA,UAwQnB/C,YAxQmB,GAwQJ,UAACxD,KAAD,EAAQ2G,MAAR,EAAmB;AAAA,kBAChBA,UAAU,EADM;AAAA,UACxB/F,GADwB,SACxBA,GADwB;;AAEhC,UAAMgG,gBAAgB,SAAtB;AACA,UAAIhG,QAAQgG,aAAZ,EAA2B;AACzB,YAAMrC,cAAc,MAAKA,WAAL,GAAmB,CAAC,MAAKA,WAA7C;AACA,YAAMsC,UAAUtC,cAAc,IAAd,GAAqB,IAArC;AACA,YAAIA,WAAJ,EAAiB;AACf8B,YAAES,IAAF,CAAO,MAAKC,IAAL,CAAUjC,MAAV,CAAiB;AAAA,mBAAKkC,MAAMJ,aAAX;AAAA,WAAjB,CAAP,EAAmD,MAAKpD,YAAxD;AACD,SAFD,MAEO;AACL6C,YAAEY,MAAF,CAAS,MAAKF,IAAL,CAAUjC,MAAV,CAAiB;AAAA,mBAAKkC,MAAMJ,aAAX;AAAA,WAAjB,CAAT;AACD;AACD,eAAOM,8BAAQC,IAAR,YAAiBN,OAAjB,wBAAP;AACD;;AAEDR,QAAEe,MAAF,CAASxG,GAAT;AACD,KAvRkB;;AAAA,UAyRnByG,gBAzRmB,GAyRA,UAACC,IAAD,EAAU;AAC3B,YAAKnF,QAAL,CAAc,EAACmF,UAAD,EAAd;AACD,KA3RkB;;AAAA,UA4RnBC,UA5RmB,GA4RN,YAAM;AAAA,UACVC,SADU,GACG,MAAK3E,KADR,CACV2E,SADU;;AAEjB,YAAKrF,QAAL,CAAc,EAACqF,WAAW,CAACA,SAAb,EAAd;AACD,KA/RkB;;AAAA,UAgSnBC,WAhSmB,GAgSL,kBAAW;AAAA,UAAT7G,GAAS,UAATA,GAAS;;AACvBT,cAAQC,GAAR,CAAYQ,GAAZ;AACA,YAAKuB,QAAL,CAAc,EAACuF,cAAc9G,GAAf,EAAd;AACD,KAnSkB;;AAAA,UAqSnB+G,WArSmB,GAqSL,YAAM;AAClBC,qCAASC,KAAT;AACD,KAvSkB;;AAAA,UAySnBC,QAzSmB,GAySR,UAACvE,IAAD,EAAOwE,KAAP,EAAiB;AAC1B7E,6BAAO8E,eAAP,CAAuBC,cAAvB;AACD,KA3SkB;;AAAA,UA6SnBC,cA7SmB,GA6SF,kBAAW;AAAA,UAATtH,GAAS,UAATA,GAAS;;AAC1B,UAAIuH,SAAS,CACX,EAACC,MAAM,IAAP,EAAanD,WAAW,0BAAxB,EAAoDoD,UAAU,IAA9D,EAAoEjB,QAAQ,MAAKO,WAAjF,EADW,EAEX,EAACS,MAAM,IAAP,EAAanD,WAAW,sBAAxB,EAAgDmC,QAAQ,MAAKU,QAA7D,EAAuEvE,MAAM,SAA7E,EAFW,CAAb;AAIA4E,eAAS,CAAC,CAACA,OAAOG,MAAT,IAAmB;AAAA;AAAA;AACzBH,eAAOI,GAAP,CAAW,UAACC,GAAD,EAAMxB,CAAN;AAAA,iBACV;AAAC,wBAAD;AAAA;AACE,yBAAWwB,IAAIvD,SAAJ,IAAiB,EAD9B;AAEE,mBAAK+B,CAFP;AAGE,oBAAMwB,IAAIjF,IAHZ;AAIE,uBAASiF,IAAIC,OAJf;AAKE,uBAAS,mBAAM;AAAA,6BACID,OAAO,EADX;AAAA,oBACNpB,MADM,UACNA,MADM;;AAEb,oBAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkCA;AAClC,oBAAIoB,IAAIH,QAAR,EAAkB;AAChBnF,yCAAOwF,WAAP,CAAmBC,IAAnB,CAAwB,aAAxB;AACD;AACF;AAXH;AAaGH,gBAAIJ;AAbP,WADU;AAAA,SAAX;AADyB,OAA5B;AAkBA,cAAQxH,GAAR;AACE,aAAK,QAAL;AACEE,yBAAKC,MAAL;AACA;AACF,aAAK,YAAL;AACEmC,iCAAOwF,WAAP,CAAmBE,IAAnB,CAAwB;AACtBlG,iBAAK,aADiB;AAEtBmG,mBAAO,MAFe;AAGtB5D,uBAAW,iBAHW;AAItB6D,mBAAO,GAJe;AAKtBX,0BALsB,EAKfY,WAAU,KALK;AAMtBC,oBAAQ;AAAA,qBAAM9F,uBAAOwF,WAAP,CAAmBC,IAAnB,CAAwB,aAAxB,CAAN;AAAA,aANc;AAOtBM,4BAAgB;AAPM,WAAxB;AASA;AACF;AACEC,kCAAQC,IAAR,OAAiBvI,GAAjB;AACA;AAjBJ;AAmBD,KAvVkB;;AAEjB,UAAKjC,WAAL,GAAmBA,WAAnB;AACA,UAAKkE,KAAL,GAAa;AACXT,aAAO,KADI;AAEXC,aAAO;AAFI,KAAb;AAIA+G,qBAAaC,aAAb,CAA2BC,WAA3B;AACA,UAAKvK,QAAL,GAAgBiF,4BAAYA,yBAAStE,GAAT,CAAa,UAAb,CAA5B;AACA,UAAK6J,UAAL,GAAkB,2BAAeC,SAASC,MAAxB,EAAgC,IAAhC,CAAlB;AACA,UAAKC,aAAL,GAAqB,MAAK/K,WAAL,IAAoBK,OAAO2K,MAAP,CAAcb,KAAd,GAAsB,IAA1C,GAAiD,IAAjD,GAAwD,KAA7E;AACA;AACA,QAAI,MAAKY,aAAL,IAAsB,IAA1B,EAAgC,MAAKpK,gBAAL;;AAEhC,QAAMsK,kBAAmBC,wBAAUnK,GAAV,CAAc,iBAAd,CAAzB,CAdiB,CAcwC;AACzD,QAAMoK,oBAAoBD,wBAAUnK,GAAV,CAAc,mBAAd,CAA1B,CAfiB,CAe6C;AAC9D,QAAMqK,2BAA2BF,wBAAUnK,GAAV,CAAc,0BAAd,CAAjC,CAhBiB,CAgB2D;;AAE5E,UAAKqK,wBAAL,GAAgC,CAAC,CAACA,wBAAlC;AACA,UAAKC,mBAAL,GAA2B,CAAC,CAACJ,eAAF,IAAqB,CAAC,CAACE,iBAAvB,IAA4C,CAAC,CAACC,wBAAzE;AAnBiB;AAoBlB;;;;sCAYiB;AAAA;;AAChB,aAAO;AACLE,oBAAY,KAAK5C,gBADZ;AAEL6C,kBAAU;AACRC,oBAAU,kBAACC,EAAD,EAAKxJ,GAAL,EAAa;AACrB,mBAAKuB,QAAL,CAAc;AAAA,uDACXvB,GADW,6CACAiC,MAAMjC,GAAN,KAAc,EADd,IACmBwJ,EADnB;AAAA,aAAd;AAGD,WALO;AAMRC,uBAAa,qBAACD,EAAD,EAAKxJ,GAAL,EAAa;AACxB,mBAAKuB,QAAL,CAAc;AAAA,uDACXvB,GADW,EACLiC,MAAMjC,GAAN,EAAWkE,MAAX,CAAkB;AAAA,uBAAawF,cAAcF,EAA3B;AAAA,eAAlB,CADK;AAAA,aAAd;AAGD;AAVO,SAFL;AAcLG,oBAAY;AACVC,sBAAY,KAAKA,UADP;AAEVC,wBAAc,sBAACjL,KAAD,EAAW;AACvB,mBAAKgL,UAAL,GAAkBhL,KAAlB;AACD;AAJS;AAdP,OAAP;AAqBD;;AAED;AACA;;AAEA;;;;yCAuBqB;AACnB,WAAKwB,iBAAL;AACA,WAAKQ,gBAAL;;AAFmB,mBAGS3C,yBAAY,EAHrB;AAAA,UAGXiE,eAHW,UAGXA,eAHW;;AAInB,UAAIA,oBAAoB,IAAxB,EAA8B;AAC5BlB,iBAAS8I,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,yBAA5B;AACD;AACF;;;wCAsBmB;AAClB,WAAK9I,cAAL;AACA,WAAKH,qBAAL;AACA1C,UAAIkC,UAAJ,CAAeE,IAAf;AACAO,eAAS8I,IAAT,CAAc7I,gBAAd,CAA+B,OAA/B,EAAwC,KAAKsC,UAA7C,EAAyD,IAAzD;AACA,WAAKtE,gBAAL;;AAEA,UAAI,KAAKlB,WAAL,KAAqB,IAAzB,EAA+B;AAC7BiD,iBAAS8I,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,cAA5B;AACD,OAFD,MAEO;AACL,YAAI,KAAKrB,UAAL,IAAmB,KAAKS,mBAA5B,EAAiD,OAD5C,CACoD;AACzDa,0CAAYC,OAAZ,CAAoB;AAClB7F,qBAAW,qBADO;AAElB4D,iBAAO,MAFW;AAGlBkC,mBAAS,yCAHS;AAIlBC,sBAAW,KAJO;AAKlBC,cALkB,kBAKX;AACL;AACD,WAPiB;AAQlBC,kBARkB,sBAQR;AACR;AACD;AAViB,SAApB;AAYD;AACF;;;2CAQsB;AACrBjM,UAAIkC,UAAJ,CAAegK,WAAf;AACAlM,UAAIwC,SAAJ,CAAc0J,WAAd;AACAvJ,eAAS8I,IAAT,CAAc1I,mBAAd,CAAkC,OAAlC,EAA2C,KAAKmC,UAAhD,EAA4D,IAA5D;AACA;AACD;;AAgCD;;;;6BAoKS;AAAA,mBACsG,KAAKtB,KAD3G;AAAA,UACC2E,SADD,UACCA,SADD;AAAA,UACYE,YADZ,UACYA,YADZ;AAAA,UAC0BJ,IAD1B,UAC0BA,IAD1B;AAAA,qCACgC8D,UADhC;AAAA,UACgCA,UADhC,qCAC6C,EAD7C;AAAA,oCACiDC,SADjD;AAAA,UACiDA,SADjD,oCAC6D,EAD7D;AAAA,sCACiEC,WADjE;AAAA,UACiEA,WADjE,sCAC+E,EAD/E;AAAA,UACmF/I,OADnF,UACmFA,OADnF;AAAA,UAC4FH,KAD5F,UAC4FA,KAD5F;;AAEP,UAAMmJ,WAAWrC,wBAAQM,QAAR,CAAiB+B,QAAlC;AACA,UAAMC,YAAYtI,uBAAOuI,IAAP,CAAYC,OAAZ,CAAoBhM,GAApB,CAAwB,OAAxB,CAAlB;AACA,UAAMiD,WAAW,CAAC,CAACyI,WAAW9C,MAA9B;AACA,UAAM1F,UAAU,CAAC,CAACyI,UAAU/C,MAA5B;AACA,UAAMqD,gBAAgB,CAAC,CAACL,YAAYhD,MAApC;;AANO,mBAOsBzJ,yBAAY,EAPlC;AAAA,UAOCkE,gBAPD,UAOCA,gBAPD;;AASP,UAAM6I,YAAY;AAChBpJ,cAAM,KAAKC,QAAL,CAAcF,OAAd,EAAuBI,QAAvB,EAAiCC,OAAjC,CADU;AAEhBiJ,sBAAc,EAFE;AAGhBC,mBAAW,EAHK;AAIhBC,oBAAY,sBAJI;AAKhBC,cAAM,CACJ,EAAEnD,OAAO,IAAT,EAAejI,KAAK,QAApB,EAA8BqL,MAAM,SAApC,EADI,EAEJ,EAAEpD,OAAO,MAAT,EAAiBjI,KAAK,YAAtB,EAAoCqL,MAAM,SAA1C,EAFI,CALU;AAShBC,iBAAS,KAAKhE;AATE,OAAlB;AAWA,UAAIsD,SAAJ,EAAe;AACbI,kBAAUC,YAAV,GAAyBL,UAAUW,OAAnC;AACAP,kBAAUE,SAAV,GAAsBN,UAAUM,SAAhC;AACAF,kBAAUQ,OAAV,GAAoBZ,UAAUY,OAA9B;AACD;;AAED;AACA,UAAI,KAAKrC,wBAAT,EAAmC;AACjC,eAAO,8BAAC,qBAAD,IAAU,IAAI,aAAd,GAAP;AACD;AACD5J,cAAQC,GAAR,CAAY,+CAAZ,EAA6D,CAAC8C,uBAAOmG,aAAP,CAAqBgD,UAAnF;AACA,UAAI,CAACnJ,uBAAOmG,aAAP,CAAqBgD,UAAtB,IAAoC,CAAC,CAACd,SAASrG,OAAT,CAAiB,OAAjB,CAA1C,EAAqE;AACnEhC,+BAAOwF,WAAP,CAAmB4D,OAAnB,IAA8BpJ,uBAAOwF,WAAP,CAAmB4D,OAAnB,EAA9B;AACA,eAAO,8BAAC,qBAAD,IAAU,IAAI,QAAd,GAAP;AACD;AACD,UAAMC,aAAa,CAAC,iBAAD,EAAoB,sBAApB,CAAnB;AACA,UAAMC,kBAAkB,CAAC7J,QAAD,EAAWgJ,aAAX,EAA0BpD,GAA1B,CAA8B,UAACjH,CAAD,EAAI0F,CAAJ;AAAA,eAAW1F,IAAIiL,WAAWvF,CAAX,CAAJ,GAAoB,EAA/B;AAAA,OAA9B,EAAkEyF,IAAlE,CAAuE,GAAvE,CAAxB;AACA,aACE;AAAC,oCAAD;AAAA;AACE,iBAAO,EAAEC,QAAQ,MAAV,EADT;AAEE,qBAAWF;AAFb;AAIE;AAAC,sCAAD;AAAA;AACE,wCAAC,gBAAD,6BACMZ,SADN;AAEE,kBAAMtE,IAFR;AAGE,sBAAU3E,QAHZ;AAIE,wBAAe,CAACP,KAAD,IAAUO,QAAX,GAAuB,eAAvB,GAAyC,EAAvD,WAA6DC,UAAU,cAAV,GAA2B,EAAxF,CAJF;AAKE,qBAASA,OALX;AAME,sBAAU,KAAKxD,KAAL,CAAWoK,QANvB;AAOE,qBAAS,KAAKpK,KAAL,CAAW8J;AAPtB,aADF;AAUE;AAAC,wCAAD,CAAQ,OAAR;AAAA;AACG,iBAAK9J,KAAL,CAAWuN,KAAX,CAAiBC,OAAjB,GAA4B7J,mBAAmB,8BAAC,kBAAD,OAAnB,GAAsC,8BAAC,gBAAD,OAAlE,GAAoF;AAAC,oCAAD;AAAA;AAAS,mBAAK3D,KAAL,CAAWyN;AAApB;AADvF;AAVF;AAJF,OADF;AAqBD;;;EApZyBC,gB,WAuBnBC,iB,GAAoB;AACzB9C,cAAY+C,oBAAUC,IADG;AAEzB/C,YAAU8C,oBAAUE,MAFK;AAGzB3C,cAAYyC,oBAAUE;AAHG,C;;AAgYd,SAASxO,IAAT,CAAcU,KAAd,EAAqB;AAAA,MAC1ByN,MAD0B,GACFzN,KADE,CAC1ByN,MAD0B;AAAA,MAClBnE,WADkB,GACFtJ,KADE,CAClBsJ,WADkB;;;AAGlC,MAAIA,WAAJ,EAAiB;AACf,WAAO;AAAC,4BAAD;AAAA;AAASmE;AAAT,KAAP;AACD;;AAED,SAAOM,gBAAMC,YAAN,CAAmB,8BAAC,aAAD,OAAnB,EAAsChO,KAAtC,CAAP;AACD","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { observer } from 'mobx-react';\r\nimport { Button } from 'antd';\r\nimport { history, Switch, stores, env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, Keyboard, ModalWraper, Message, hotKey } from 'tplus-components-touch';\r\nimport { platform, localStore as storeUtil } from 'mutants-util';\r\nimport { User } from 'tplus-api';\r\nimport { Subject } from 'rxjs';\r\nimport { Redirect } from 'react-router';\r\nimport Header from '../../components/header';\r\nimport PortalPage from '../../pages/Portal';\r\nimport PortalPageBC from '../../pages/Portalbc';\r\nimport portalStores from '../../stores';\r\nimport { closeWebPage, getQueryString, operationKeys } from '../../utils/index';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nwindow.rx$ = {};\r\n\r\n@observer\r\nclass MainContainer extends Component {\r\n currentFocus = null;\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n this.state = {\r\n hsy_s: false,\r\n hsy_f: null\r\n };\r\n portalStores.posLoginStore.savePosCode();\r\n this.electron = nativeMs && nativeMs.get('electron');\r\n this.isAutoTest = getQueryString(location.search, 'at');\r\n this.isShowFourTab = this.hasElectron && window.screen.width < 1024 ? true : false;\r\n //针对800*600分辨率下,页面显示不全的做一下处理。\r\n if (this.isShowFourTab == true) this.initWebFrameZoom();\r\n\r\n const isHorizontalPad = storeUtil.get('isHorizontalPad')// 是否在PAD\r\n const isHorizontalSunMi = storeUtil.get('isHorizontalSunMi'); //是否在商米(SunMi)\r\n const isHorizontalSunMi_FuPing = storeUtil.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)\r\n\r\n this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;\r\n }\r\n static childContextTypes = {\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object,\r\n actionHook: PropTypes.object,\r\n }\r\n\r\n initWebFrameZoom = () => {\r\n let webFrame = this.electron ? this.electron.webFrame : null;\r\n let value = localStore.get('webFrameZoomValue') || '0.7';\r\n if (webFrame) webFrame.setZoomFactor(parseFloat(value));\r\n }\r\n getChildContext() {\r\n return {\r\n infoRender: this.handleInfoRender,\r\n headHook: {\r\n addClass: (id, key) => {\r\n this.setState(state => ({\r\n [key]: [...(state[key] || []), id],\r\n }));\r\n },\r\n removeClass: (id, key) => {\r\n this.setState(state => ({\r\n [key]: state[key].filter(currentId => currentId !== id),\r\n }));\r\n }\r\n },\r\n actionHook: {\r\n actionFrom: this.actionFrom,\r\n actionChange: (value) => {\r\n this.actionFrom = value;\r\n }\r\n },\r\n };\r\n }\r\n\r\n // 内置默认\r\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];\r\n\r\n // 解决从url地址唤醒exe,不同账号的处理问题。\r\n doDeeplinkingUrl = () => {\r\n if (this.hasElectron === false) return;\r\n let { ipcRenderer } = this.electron || {ipcRenderer:null};\r\n ipcRenderer && ipcRenderer.on(\"asynchronous-deeplinkingUrl\", (event, ret, params) => {\r\n if (ret) {\r\n console.log('deeplinkingUrl:' + ret)\r\n const {orgId, userId} = localStore.get('user') || {};\r\n if (!orgId || !userId) return;\r\n const param = ret.split('&').reduce((accumulator, current) => {\r\n if (!current) return accumulator;\r\n const [key, value] = current.split('=') || [];\r\n accumulator[key] = value;\r\n return accumulator;\r\n }, {});\r\n console.log(orgId, userId, param)\r\n if (param.orgId !== orgId || param.cloudUserId !== userId) {\r\n User.logout();\r\n }\r\n }\r\n })\r\n }\r\n\r\n componentWillMount() {\r\n this.changeLogoSubject();\r\n this.changeHsySubject();\r\n const { isVerticalTouch } = platform || {};\r\n if (isVerticalTouch === true) {\r\n document.body.classList.add('vertical-touch-platform');\r\n }\r\n }\r\n\r\n changeLogoSubject = () => {\r\n const subject = new Subject();\r\n rx$.changeLogo = subject;\r\n\r\n subject\r\n .subscribe({\r\n next: (v) => this.setLogo(v)\r\n });\r\n }\r\n\r\n changeHsySubject = () => {\r\n const subject = new Subject();\r\n rx$.changeHsy = subject;\r\n\r\n subject\r\n .subscribe({\r\n next: (v) => this.setHsy(v)\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.registerHotKey();\r\n this.addHotKeyChangeLister();\r\n rx$.changeLogo.next();\r\n document.body.addEventListener('focus', this.blurButton, true)\r\n this.doDeeplinkingUrl();\r\n\r\n if (this.hasElectron === true) {\r\n document.body.classList.add('electron-env');\r\n } else {\r\n if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: \"温馨提示\",\r\n content: 'T+新零售POS端不允许浏览器直接访问,请从T+产品中下载安装客户端程序使用!',\r\n cancelable:false,\r\n onOk() {\r\n closeWebPage();\r\n },\r\n onCancel(){\r\n closeWebPage();\r\n }\r\n });\r\n }\r\n }\r\n addHotKeyChangeLister = () => {\r\n document.addEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n }\r\n removeHotKeyChangeLister = () => {\r\n document.removeEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n }\r\n\r\n componentWillUnmount() {\r\n rx$.changeLogo.unsubscribe();\r\n rx$.changeHsy.unsubscribe();\r\n document.body.removeEventListener('focus', this.blurButton, true)\r\n // clearInterval(this.addObserverDomTimer);\r\n }\r\n\r\n setHsy = (v) => {\r\n const { back, fn } = v || {};\r\n if (back === true) {\r\n this.setState({ hsy_s: true, hsy_f: fn })\r\n } else {\r\n this.setState({ hsy_s: false, hsy_f: null })\r\n }\r\n }\r\n\r\n setLogo = (v) => {\r\n const store = localStore.get('StoreKey') || {};\r\n const { logo: logoUrl } = store;\r\n logoUrl && this.setState({ logoUrl });\r\n }\r\n\r\n logoNode = (url, isPortal, isLogin) => {\r\n const { hsy_s, hsy_f } = this.state;\r\n const { isVerticalTouch, isNewRetailBCPos } = platform || {};\r\n const bcParams = isNewRetailBCPos ? '-bc' : '';\r\n const theme = stores.portalStore.themeStore;\r\n const defualtImage = (isVerticalTouch === true) ? `https://newretail.static.chanjet.com/tinified/logo${bcParams}.png` : `https://newretail.static.chanjet.com/${((!hsy_s && isPortal) || (theme === 'dark' && !isLogin)) ? 'protal-chanjet' : 'chanjet'}-logo${bcParams}.png`;\r\n if (hsy_s === true) {\r\n return (<div className='business-logo-container'>\r\n <Ticon type='zhiPOS-fanhuishouye2' className='back_i' onClick={() => { hsy_f && hsy_f() }} />\r\n <img src={url || defualtImage} className=\"example-logo\" />\r\n </div>);\r\n }\r\n return <img src={url || defualtImage} className=\"example-logo\" />\r\n }\r\n\r\n //未使用?\r\n hotKeyInjectOrEject = (type, hotKeyAction) => {\r\n const registerKeys = ['esc', 'enter'];\r\n const allKeys = [...registerKeys, ...Object.keys(hotKey.hotKeyConfig)];\r\n allKeys.forEach((keyboard, index) => {\r\n nativeMs.onIpcRendererGlobalShortcut({ type, keyboard }, hotKeyActionHandle);\r\n });\r\n }\r\n\r\n blurButton = ({ target }) => { // 焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键\r\n if (target && target.nodeName === 'BUTTON') {\r\n target.blur();\r\n }\r\n }\r\n\r\n registerHotKey = () => {\r\n this.isSetHotKey = true;\r\n\r\n this.hotKeyCreate = hotKey({\r\n observerCallback: this.observerDom,\r\n log: true,\r\n pressed: this.hotKeyAction,\r\n clickBefore: () => {\r\n const { activeElement } = document;\r\n activeElement && activeElement.blur();\r\n },\r\n filter: event => {\r\n const { tagName, className } = event.target || event.srcElement || {};\r\n\r\n return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));\r\n }\r\n });\r\n\r\n this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true ,attributeFilter: ['class', 'style'], });\r\n this.hotKeyCreate.register('esc')('.hot-key-focus-container')(operationKeys.esc);\r\n this.hotKeyCreate.register('enter')('.hot-key-focus-container')(operationKeys.enter);\r\n }\r\n\r\n observerDom = () => {\r\n let visibleModal;\r\n const modals = document.querySelectorAll('.ant-modal-wrap'); //ant-module\r\n for(let modal of modals) {\r\n const display = modal.style.display;\r\n if(display != \"none\"){\r\n visibleModal = modal\r\n }\r\n }\r\n\r\n let visibleDrawer;\r\n const drawers = document.querySelectorAll('.ant-drawer-open'); //ant-drawer\r\n for(let drawer of drawers) {\r\n visibleDrawer = drawer;\r\n break;\r\n }\r\n\r\n if (visibleModal) {\r\n if(this.currentFocus !== visibleModal){\r\n $.clearFocus();\r\n this.currentFocus = visibleModal\r\n return $.setFocus(visibleModal);\r\n }\r\n return;\r\n }\r\n\r\n if (visibleDrawer) {\r\n if(this.currentFocus !== visibleDrawer){\r\n $.clearFocus();\r\n this.currentFocus = visibleDrawer;\r\n return $.setFocus(visibleDrawer);\r\n }\r\n return;\r\n }\r\n\r\n\r\n if ($.getFocusId() !== '1') {\r\n if(this.currentFocus !== 'App' || !document.querySelector(\".hot-key-focus-container\")){\r\n $.clearFocus();\r\n this.currentFocus = 'App';\r\n $.find('.app', true).setFocus();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n hotKeyAction = (event, handle) => {\r\n const { key } = handle || {};\r\n const toggleKeyCode = 'ctrl+f1';\r\n if (key === toggleKeyCode) {\r\n const isSetHotKey = this.isSetHotKey = !this.isSetHotKey;\r\n const message = isSetHotKey ? '设置' : '取消';\r\n if (isSetHotKey) {\r\n $.bind(this.keys.filter(i => i !== toggleKeyCode), this.hotKeyAction);\r\n } else {\r\n $.unbind(this.keys.filter(i => i !== toggleKeyCode));\r\n }\r\n return Message.info(`已${message}快捷键`);\r\n }\r\n\r\n $.action(key);\r\n }\r\n\r\n handleInfoRender = (solt) => {\r\n this.setState({solt})\r\n }\r\n onCollapse = () => {\r\n const {collapsed} = this.state;\r\n this.setState({collapsed: !collapsed});\r\n }\r\n menuOnClick = ({key}) => {\r\n console.log(key)\r\n this.setState({selectedKeys: key});\r\n }\r\n\r\n handleClose = () => {\r\n Keyboard.close();\r\n }\r\n\r\n handleOk = (type, count) => {\r\n stores.modifyPassStore.modifyPassWord();\r\n }\r\n\r\n headMenuSelect = ({key}) => {\r\n var footer = [\r\n {text: '取消', className: 'modifypass-cancal-button', closable: true, action: this.handleClose},\r\n {text: '确定', className: 'modifypass-ok-button', action: this.handleOk, type: 'primary'}\r\n ];\r\n footer = !!footer.length && <div>\r\n {footer.map((btn, i) =>\r\n <Button\r\n className={btn.className || ''}\r\n key={i}\r\n type={btn.type}\r\n loading={btn.loading}\r\n onClick={() => {\r\n const {action} = btn || {};\r\n if (typeof action === 'function') action();\r\n if (btn.closable) {\r\n stores.modalRouter.hide('/modifypass');\r\n }\r\n }}\r\n >\r\n {btn.text}\r\n </Button>)}\r\n </div>\r\n switch (key) {\r\n case 'logout':\r\n User.logout();\r\n break;\r\n case 'modifypass':\r\n stores.modalRouter.show({\r\n url: '/modifypass',\r\n title: '修改密码',\r\n className: 'modify-password',\r\n width: 402,\r\n footer,modalType:'mid',\r\n onHide: () => stores.modalRouter.hide('/modifypass'),\r\n destroyOnClose: true,\r\n });\r\n break;\r\n default:\r\n history.push(`/${key}`);\r\n break;\r\n }\r\n }\r\n render() {\r\n const { collapsed, selectedKeys, solt, portalHead = [], loginHead = [], retailOrder = [], logoUrl, hsy_s } = this.state;\r\n const pathname = history.location.pathname;\r\n const storeInfo = stores.user.options.get('store');\r\n const isPortal = !!portalHead.length;\r\n const isLogin = !!loginHead.length;\r\n const isRetailOrder = !!retailOrder.length;\r\n const { isNewRetailBCPos } = platform || {};\r\n\r\n const headProps = {\r\n logo: this.logoNode(logoUrl, isPortal, isLogin),\r\n businessName: '',\r\n storeName: '',\r\n dateFormat: 'yyyy年MM月dd日 hh:mm:ss',\r\n menu: [\r\n { title: '注销', key: 'logout', icon: 'zhuxiao' },\r\n { title: '修改密码', key: 'modifypass', icon: 'suoping' }\r\n ],\r\n onClick: this.headMenuSelect\r\n };\r\n if (storeInfo) {\r\n headProps.businessName = storeInfo.orgName;\r\n headProps.storeName = storeInfo.storeName;\r\n headProps.posCode = storeInfo.posCode;\r\n }\r\n\r\n // 如果存在商米副屏则优先加载商米副屏\r\n if (this.isHorizontalSunMi_FuPing) {\r\n return <Redirect to={'/vicescreen'} />\r\n }\r\n console.log('!stores.posLoginStore.posIsLogin=============', !stores.posLoginStore.posIsLogin);\r\n if (!stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {\r\n stores.modalRouter.hideAll && stores.modalRouter.hideAll();\r\n return <Redirect to={'/login'} />\r\n }\r\n const classNames = ['isPortal-layout', 'isRetailOrder-layout'];\r\n const layoutClassName = [isPortal, isRetailOrder].map((v, i) => (v ? classNames[i] : '')).join(' ');\r\n return (\r\n <Layout\r\n style={{ height: '100%' }}\r\n className={layoutClassName}\r\n >\r\n <Layout>\r\n <Header\r\n {...headProps}\r\n solt={solt}\r\n isPortal={isPortal}\r\n className={`${(!hsy_s && isPortal) ? 'isPortal-head' : ''} ${isLogin ? 'isLogin-head' : ''}`}\r\n isLogin={isLogin}\r\n location={this.props.location}\r\n history={this.props.history}\r\n />\r\n <Layout.Content>\r\n {this.props.match.isExact ? (isNewRetailBCPos ? <PortalPageBC /> : <PortalPage />) : <Switch>{this.props.routes}</Switch>}\r\n </Layout.Content>\r\n </Layout>\r\n </Layout>\r\n )\r\n }\r\n}\r\n\r\nexport default function Main(props) {\r\n const { routes, modalRouter } = props;\r\n\r\n if (modalRouter) {\r\n return <Switch>{routes}</Switch>;\r\n }\r\n\r\n return React.cloneElement(<MainContainer />, props);\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-portaltouch/containers/Main/index.js"],"names":["Main","hasElectron","env","platform","constant","electron","window","rx$","MainContainer","observer","props","currentFocus","initWebFrameZoom","webFrame","value","localStore","get","setZoomFactor","parseFloat","doDeeplinkingUrl","ipcRenderer","on","event","ret","params","console","log","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","isNewRetailBCPos","bcParams","theme","stores","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","visibleModal","modals","querySelectorAll","modal","display","style","visibleDrawer","drawers","drawer","$","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","length","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","user","options","isRetailOrder","headProps","businessName","storeName","dateFormat","menu","icon","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';\r\nimport PropTypes from 'prop-types';\r\nimport { observer } from 'mobx-react';\r\nimport { Button } from 'antd';\r\nimport { history, Switch, stores, env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, Keyboard, ModalWraper, Message, hotKey } from 'tplus-components-touch';\r\nimport { platform, localStore as storeUtil } from 'mutants-util';\r\nimport { User } from 'tplus-api';\r\nimport { Subject } from 'rxjs';\r\nimport { Redirect } from 'react-router';\r\nimport Header from '../../components/header';\r\nimport PortalPage from '../../pages/Portal';\r\nimport PortalPageBC from '../../pages/Portalbc';\r\nimport portalStores from '../../stores';\r\nimport { closeWebPage, getQueryString, operationKeys } from '../../utils/index';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nwindow.rx$ = {};\r\n\r\n@observer\r\nclass MainContainer extends Component {\r\n currentFocus = null;\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n this.state = {\r\n hsy_s: false,\r\n hsy_f: null\r\n };\r\n portalStores.posLoginStore.savePosCode();\r\n this.electron = nativeMs && nativeMs.get('electron');\r\n this.isAutoTest = getQueryString(location.search, 'at');\r\n this.isShowFourTab = this.hasElectron && window.screen.width < 1024 ? true : false;\r\n //针对800*600分辨率下,页面显示不全的做一下处理。\r\n if (this.isShowFourTab == true) this.initWebFrameZoom();\r\n\r\n const isHorizontalPad = storeUtil.get('isHorizontalPad')// 是否在PAD\r\n const isHorizontalSunMi = storeUtil.get('isHorizontalSunMi'); //是否在商米(SunMi)\r\n const isHorizontalSunMi_FuPing = storeUtil.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)\r\n\r\n this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;\r\n }\r\n static childContextTypes = {\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object,\r\n actionHook: PropTypes.object,\r\n }\r\n\r\n initWebFrameZoom = () => {\r\n let webFrame = this.electron ? this.electron.webFrame : null;\r\n let value = localStore.get('webFrameZoomValue') || '0.7';\r\n if (webFrame) webFrame.setZoomFactor(parseFloat(value));\r\n }\r\n getChildContext() {\r\n return {\r\n infoRender: this.handleInfoRender,\r\n headHook: {\r\n addClass: (id, key) => {\r\n this.setState(state => ({\r\n [key]: [...(state[key] || []), id],\r\n }));\r\n },\r\n removeClass: (id, key) => {\r\n this.setState(state => ({\r\n [key]: state[key].filter(currentId => currentId !== id),\r\n }));\r\n }\r\n },\r\n actionHook: {\r\n actionFrom: this.actionFrom,\r\n actionChange: (value) => {\r\n this.actionFrom = value;\r\n }\r\n },\r\n };\r\n }\r\n\r\n // 内置默认\r\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];\r\n\r\n // 解决从url地址唤醒exe,不同账号的处理问题。\r\n doDeeplinkingUrl = () => {\r\n if (this.hasElectron === false) return;\r\n let { ipcRenderer } = this.electron || {ipcRenderer:null};\r\n ipcRenderer && ipcRenderer.on(\"asynchronous-deeplinkingUrl\", (event, ret, params) => {\r\n if (ret) {\r\n console.log('deeplinkingUrl:' + ret)\r\n const {orgId, userId} = localStore.get('user') || {};\r\n if (!orgId || !userId) return;\r\n const param = ret.split('&').reduce((accumulator, current) => {\r\n if (!current) return accumulator;\r\n const [key, value] = current.split('=') || [];\r\n accumulator[key] = value;\r\n return accumulator;\r\n }, {});\r\n console.log(orgId, userId, param)\r\n if (param.orgId !== orgId || param.cloudUserId !== userId) {\r\n User.logout();\r\n }\r\n }\r\n })\r\n }\r\n\r\n componentWillMount() {\r\n this.changeLogoSubject();\r\n this.changeHsySubject();\r\n const { isVerticalTouch } = platform || {};\r\n if (isVerticalTouch === true) {\r\n document.body.classList.add('vertical-touch-platform');\r\n }\r\n }\r\n\r\n changeLogoSubject = () => {\r\n const subject = new Subject();\r\n rx$.changeLogo = subject;\r\n\r\n subject\r\n .subscribe({\r\n next: (v) => this.setLogo(v)\r\n });\r\n }\r\n\r\n changeHsySubject = () => {\r\n const subject = new Subject();\r\n rx$.changeHsy = subject;\r\n\r\n subject\r\n .subscribe({\r\n next: (v) => this.setHsy(v)\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.registerHotKey();\r\n this.addHotKeyChangeLister();\r\n rx$.changeLogo.next();\r\n document.body.addEventListener('focus', this.blurButton, true)\r\n this.doDeeplinkingUrl();\r\n\r\n if (this.hasElectron === true) {\r\n document.body.classList.add('electron-env');\r\n } else {\r\n if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: \"温馨提示\",\r\n content: 'T+新零售POS端不允许浏览器直接访问,请从T+产品中下载安装客户端程序使用!',\r\n cancelable:false,\r\n onOk() {\r\n closeWebPage();\r\n },\r\n onCancel(){\r\n closeWebPage();\r\n }\r\n });\r\n }\r\n }\r\n addHotKeyChangeLister = () => {\r\n document.addEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n }\r\n removeHotKeyChangeLister = () => {\r\n document.removeEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n }\r\n\r\n componentWillUnmount() {\r\n rx$.changeLogo.unsubscribe();\r\n rx$.changeHsy.unsubscribe();\r\n document.body.removeEventListener('focus', this.blurButton, true)\r\n // clearInterval(this.addObserverDomTimer);\r\n }\r\n\r\n setHsy = (v) => {\r\n const { back, fn } = v || {};\r\n if (back === true) {\r\n this.setState({ hsy_s: true, hsy_f: fn })\r\n } else {\r\n this.setState({ hsy_s: false, hsy_f: null })\r\n }\r\n }\r\n\r\n setLogo = (v) => {\r\n const store = localStore.get('StoreKey') || {};\r\n const { logo: logoUrl } = store;\r\n logoUrl && this.setState({ logoUrl });\r\n }\r\n\r\n logoNode = (url, isPortal, isLogin) => {\r\n const { hsy_s, hsy_f } = this.state;\r\n const { isVerticalTouch, isNewRetailBCPos } = platform || {};\r\n const bcParams = isNewRetailBCPos ? '-bc' : '';\r\n const theme = stores.portalStore.themeStore;\r\n const defualtImage = (isVerticalTouch === true) ? `https://newretail.static.chanjet.com/tinified/logo${bcParams}.png` : `https://newretail.static.chanjet.com/${((!hsy_s && isPortal) || (theme === 'dark' && !isLogin)) ? 'protal-chanjet' : 'chanjet'}-logo${bcParams}.png`;\r\n if (hsy_s === true) {\r\n return (<div className='business-logo-container'>\r\n <Ticon type='zhiPOS-fanhuishouye2' className='back_i' onClick={() => { hsy_f && hsy_f() }} />\r\n <img src={url || defualtImage} className=\"example-logo\" />\r\n </div>);\r\n }\r\n return <img src={url || defualtImage} className=\"example-logo\" />\r\n }\r\n\r\n //未使用?\r\n hotKeyInjectOrEject = (type, hotKeyAction) => {\r\n const registerKeys = ['esc', 'enter'];\r\n const allKeys = [...registerKeys, ...Object.keys(hotKey.hotKeyConfig)];\r\n allKeys.forEach((keyboard, index) => {\r\n nativeMs.onIpcRendererGlobalShortcut({ type, keyboard }, hotKeyActionHandle);\r\n });\r\n }\r\n\r\n blurButton = ({ target }) => { // 焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键\r\n if (target && target.nodeName === 'BUTTON') {\r\n target.blur();\r\n }\r\n }\r\n\r\n registerHotKey = () => {\r\n this.isSetHotKey = true;\r\n\r\n this.hotKeyCreate = hotKey({\r\n observerCallback: this.observerDom,\r\n log: true,\r\n pressed: this.hotKeyAction,\r\n clickBefore: () => {\r\n const { activeElement } = document;\r\n activeElement && activeElement.blur();\r\n },\r\n filter: event => {\r\n const { tagName, className } = event.target || event.srcElement || {};\r\n\r\n return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));\r\n }\r\n });\r\n\r\n this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true ,attributeFilter: ['class', 'style'], });\r\n this.hotKeyCreate.register('esc')('.hot-key-focus-container')(operationKeys.esc);\r\n this.hotKeyCreate.register('enter')('.hot-key-focus-container')(operationKeys.enter);\r\n }\r\n\r\n observerDom = () => {\r\n let visibleModal;\r\n const modals = document.querySelectorAll('.ant-modal-wrap'); //ant-module\r\n for(let modal of modals) {\r\n const display = modal.style.display;\r\n if(display != \"none\"){\r\n visibleModal = modal\r\n }\r\n }\r\n\r\n let visibleDrawer;\r\n const drawers = document.querySelectorAll('.ant-drawer-open'); //ant-drawer\r\n for(let drawer of drawers) {\r\n visibleDrawer = drawer;\r\n break;\r\n }\r\n\r\n if (visibleModal) {\r\n if(this.currentFocus !== visibleModal){\r\n $.clearFocus();\r\n this.currentFocus = visibleModal\r\n return $.setFocus(visibleModal);\r\n }\r\n return;\r\n }\r\n\r\n if (visibleDrawer) {\r\n if(this.currentFocus !== visibleDrawer){\r\n $.clearFocus();\r\n this.currentFocus = visibleDrawer;\r\n return $.setFocus(visibleDrawer);\r\n }\r\n return;\r\n }\r\n\r\n\r\n if ($.getFocusId() !== '1') {\r\n if(this.currentFocus !== 'App' || !document.querySelector(\".hot-key-focus-container\")){\r\n $.clearFocus();\r\n this.currentFocus = 'App';\r\n $.find('.app', true).setFocus();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n hotKeyAction = (event, handle) => {\r\n const { key } = handle || {};\r\n const toggleKeyCode = 'ctrl+f1';\r\n if (key === toggleKeyCode) {\r\n const isSetHotKey = this.isSetHotKey = !this.isSetHotKey;\r\n const message = isSetHotKey ? '设置' : '取消';\r\n if (isSetHotKey) {\r\n $.bind(this.keys.filter(i => i !== toggleKeyCode), this.hotKeyAction);\r\n } else {\r\n $.unbind(this.keys.filter(i => i !== toggleKeyCode));\r\n }\r\n return Message.info(`已${message}快捷键`);\r\n }\r\n\r\n $.action(key);\r\n }\r\n\r\n handleInfoRender = (solt) => {\r\n this.setState({solt})\r\n }\r\n onCollapse = () => {\r\n const {collapsed} = this.state;\r\n this.setState({collapsed: !collapsed});\r\n }\r\n menuOnClick = ({key}) => {\r\n console.log(key)\r\n this.setState({selectedKeys: key});\r\n }\r\n\r\n handleClose = () => {\r\n Keyboard.close();\r\n }\r\n\r\n handleOk = (type, count) => {\r\n stores.modifyPassStore.modifyPassWord();\r\n }\r\n\r\n headMenuSelect = ({key}) => {\r\n var footer = [\r\n {text: '取消', className: 'modifypass-cancal-button', closable: true, action: this.handleClose},\r\n {text: '确定', className: 'modifypass-ok-button', action: this.handleOk, type: 'primary'}\r\n ];\r\n footer = !!footer.length && <div>\r\n {footer.map((btn, i) =>\r\n <Button\r\n className={btn.className || ''}\r\n key={i}\r\n type={btn.type}\r\n loading={btn.loading}\r\n onClick={() => {\r\n const {action} = btn || {};\r\n if (typeof action === 'function') action();\r\n if (btn.closable) {\r\n stores.modalRouter.hide('/modifypass');\r\n }\r\n }}\r\n >\r\n {btn.text}\r\n </Button>)}\r\n </div>\r\n switch (key) {\r\n case 'logout':\r\n User.logout();\r\n break;\r\n case 'modifypass':\r\n {\r\n if(!stores.offlineSys.shouldInOffline()) return;\r\n stores.modalRouter.show({\r\n url: '/modifypass',\r\n title: '修改密码',\r\n className: 'modify-password',\r\n width: 402,\r\n footer,modalType:'mid',\r\n onHide: () => stores.modalRouter.hide('/modifypass'),\r\n destroyOnClose: true,\r\n });\r\n }\r\n break;\r\n default:\r\n history.push(`/${key}`);\r\n break;\r\n }\r\n }\r\n render() {\r\n const { collapsed, selectedKeys, solt, portalHead = [], loginHead = [], retailOrder = [], logoUrl, hsy_s } = this.state;\r\n const pathname = history.location.pathname;\r\n const storeInfo = stores.user.options.get('store');\r\n const isPortal = !!portalHead.length;\r\n const isLogin = !!loginHead.length;\r\n const isRetailOrder = !!retailOrder.length;\r\n const { isNewRetailBCPos } = platform || {};\r\n\r\n const headProps = {\r\n logo: this.logoNode(logoUrl, isPortal, isLogin),\r\n businessName: '',\r\n storeName: '',\r\n dateFormat: 'yyyy年MM月dd日 hh:mm:ss',\r\n menu: [\r\n { title: '注销', key: 'logout', icon: 'zhuxiao' },\r\n { title: '修改密码', key: 'modifypass', icon: 'suoping' }\r\n ],\r\n onClick: this.headMenuSelect\r\n };\r\n if (storeInfo) {\r\n headProps.businessName = storeInfo.orgName;\r\n headProps.storeName = storeInfo.storeName;\r\n headProps.posCode = storeInfo.posCode;\r\n }\r\n\r\n // 如果存在商米副屏则优先加载商米副屏\r\n if (this.isHorizontalSunMi_FuPing) {\r\n return <Redirect to={'/vicescreen'} />\r\n }\r\n console.log('!stores.posLoginStore.posIsLogin=============', !stores.posLoginStore.posIsLogin);\r\n if (!stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {\r\n stores.modalRouter.hideAll && stores.modalRouter.hideAll();\r\n return <Redirect to={'/login'} />\r\n }\r\n const classNames = ['isPortal-layout', 'isRetailOrder-layout'];\r\n const layoutClassName = [isPortal, isRetailOrder].map((v, i) => (v ? classNames[i] : '')).join(' ');\r\n return (\r\n <Layout\r\n style={{ height: '100%' }}\r\n className={layoutClassName}\r\n >\r\n <Layout>\r\n <Header\r\n {...headProps}\r\n solt={solt}\r\n isPortal={isPortal}\r\n className={`${(!hsy_s && isPortal) ? 'isPortal-head' : ''} ${isLogin ? 'isLogin-head' : ''}`}\r\n isLogin={isLogin}\r\n location={this.props.location}\r\n history={this.props.history}\r\n />\r\n <Layout.Content>\r\n {this.props.match.isExact ? (isNewRetailBCPos ? <PortalPageBC /> : <PortalPage />) : <Switch>{this.props.routes}</Switch>}\r\n </Layout.Content>\r\n </Layout>\r\n </Layout>\r\n )\r\n }\r\n}\r\n\r\nexport default function Main(props) {\r\n const { routes, modalRouter } = props;\r\n\r\n if (modalRouter) {\r\n return <Switch>{routes}</Switch>;\r\n }\r\n\r\n return React.cloneElement(<MainContainer />, props);\r\n}\r\n"]}
@@ -52,7 +52,7 @@ var _inherits3 = _interopRequireDefault(_inherits2);
52
52
  var _class, _class2, _temp; /*
53
53
  * @Description:
54
54
  * @Date: 2019-08-13 08:42:18
55
- * @LastEditTime: 2021-09-02 14:46:50
55
+ * @LastEditTime: 2021-09-27 19:05:04
56
56
  * @LastEditors: chenlongad
57
57
  * @modify:修改跳转到T+的查询方案方式
58
58
  */
@@ -122,16 +122,23 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C
122
122
  var _this = (0, _possibleConstructorReturn3.default)(this, (_default.__proto__ || (0, _getPrototypeOf2.default)(_default)).call(this, props));
123
123
 
124
124
  _this.catchOfflineData = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
125
- var offlineSys, isLoginAfter, downProgress;
125
+ var offlineSys, isLoginAfter, downloadCatcherDay, currentDay, downProgress, result;
126
126
  return _regenerator2.default.wrap(function _callee$(_context) {
127
127
  while (1) {
128
128
  switch (_context.prev = _context.next) {
129
129
  case 0:
130
130
  offlineSys = _this.context.stores.offlineSys;
131
131
  isLoginAfter = _mutantsMicrofx.localStore.get("isLoginAfter");
132
+ downloadCatcherDay = _mutantsMicrofx.localStore.get("downloadCatcherDay");
133
+ currentDay = Math.ceil(new Date() / 1000 / 60 / 60 / 24);
132
134
 
133
135
  if (!(isLoginAfter == 1)) {
134
- _context.next = 9;
136
+ _context.next = 14;
137
+ break;
138
+ }
139
+
140
+ if (!(!downloadCatcherDay || currentDay > downloadCatcherDay)) {
141
+ _context.next = 13;
135
142
  break;
136
143
  }
137
144
 
@@ -141,17 +148,24 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C
141
148
 
142
149
  _tplusComponentsTouch.Loading.show({
143
150
  text: '离线数据下载中...',
144
- delay: 2500,
151
+ delay: 0,
145
152
  showProgress: true
146
153
  });
147
- _context.next = 7;
154
+ _context.next = 10;
148
155
  return offlineSys.downloadCatcherData(downProgress);
149
156
 
150
- case 7:
157
+ case 10:
158
+ result = _context.sent;
159
+
151
160
  _tplusComponentsTouch.Loading.hide();
161
+ if (result) {
162
+ _mutantsMicrofx.localStore.set("downloadCatcherDay", currentDay);
163
+ }
164
+
165
+ case 13:
152
166
  _mutantsMicrofx.localStore.set("isLoginAfter", 0);
153
167
 
154
- case 9:
168
+ case 14:
155
169
  case 'end':
156
170
  return _context.stop();
157
171
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","HTTP_PROXY_URL","observer","props","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","hide","set","getOperation","resolve","reject","portalStore","headHook","addClass","homeOperation","Request","functionData","then","operations","setState","catch","err","console","log","data","state","id","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","window","open","Date","getTime","hsyBasicInfoInit","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","isHsyLoadFinish","HsyLoadFinish","clearTimeout","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","sunMi_PresentationManager","secondScreenLoadUrl","FuPingIsLoaded","setItem","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","onOk","logout","shouldOpenHomeOperation","Message","warn","modalRouter","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","indexOf","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","Math","round","random","closeFrameModal","showModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","isMobileEnvironment","Menus","leftMenuTC","rightMenuTC","getWebEntry","theme","themeStore","color","removeClass","setIpcRendererMethod","e","screenHeight","screen","availHeight","htmlContent","height","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-09-02 14:46:50\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n static propTypes = {\r\n routes: PropTypes.array,\r\n };\r\n static contextTypes = {\r\n stores: PropTypes.object,\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n this.state = {\r\n id: Date.now(),\r\n operations: [],\r\n showModal: false,\r\n loadHsyPage: false,\r\n loadHsyURL: '',\r\n isHsyLoadFinish: false,\r\n loadTcPage: false,\r\n loadTcURL: '',\r\n modalURL: '',\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n this.isVerticalTouch = !!isVerticalTouch;\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.FuPingIsLoaded = false;\r\n this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n\r\n //首页布局\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n this.centerLeftMenu = centerLeftMenu;\r\n this.centerRightMenu = centerRightMenu;\r\n this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n this.hsy_domain = User && User.getWebEntry();\r\n this.randomWord = this.randomWord.bind(this);\r\n autorun(() => {\r\n this.hsyBasicInfoInit();\r\n });\r\n }\r\n\r\n async componentWillMount() {\r\n await this.catchOfflineData();\r\n await this.getOperation();\r\n }\r\n\r\n\r\n catchOfflineData = async () => {\r\n const { offlineSys } = this.context.stores;\r\n const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n if (isLoginAfter == 1) {\r\n Loading.show({\r\n text: '离线数据下载中...',\r\n delay: 2500,\r\n showProgress: true\r\n });\r\n function downProgress(params) {\r\n Loading.transfer(params)\r\n }\r\n await offlineSys.downloadCatcherData(downProgress);\r\n Loading.hide();\r\n localStore.set(\"isLoginAfter\", 0)\r\n }\r\n }\r\n\r\n\r\n getOperation = () => {\r\n return new Promise((resolve, reject) => {\r\n const { stores: { portalStore } = {}, headHook: { addClass } = {} } = this.context;\r\n const { homeOperation, functionData } = Request;\r\n Loading.show({\r\n text: '首页权限加载中...',\r\n delay: 2500\r\n });\r\n homeOperation().then(operations => {\r\n localStore.set('operationsAuth', JSON.stringify(operations));\r\n this.setState({ operations: operations || [] });\r\n Loading.hide();\r\n resolve()\r\n }).catch((err) => {\r\n console.log('homeOperation.error======', err);\r\n Loading.hide();\r\n resolve()\r\n });\r\n functionData().then(data => {\r\n // 加载权限数据 DR-29735 by majian\r\n PosSetData(data);\r\n });\r\n // portalStore && portalStore.getPortalMenu();\r\n addClass && addClass(this.state.id, 'portalHead');\r\n // 初始化参数设置。\r\n stores.setStore.initSetParams().then(ret => {\r\n // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n if (this.getScreenType() === true) {\r\n if(this.isHorizontalSunMi){\r\n this.sunMiPresentationInit(ret);\r\n return;\r\n }\r\n window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n }\r\n })\r\n this.hsyBasicInfoInit();\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isHorizontalPad) {\r\n this.initHsyPage();\r\n }\r\n }\r\n\r\n // 初始化好生意页面\r\n initHsyPage = () => {\r\n let external_frame = document.getElementById('external-frame-cc');\r\n let win = external_frame && external_frame.contentWindow;\r\n let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n if (!win) return;\r\n win.HsyLoadFinish = () => {\r\n clearTimeout(timer);\r\n this.setState({ isHsyLoadFinish: true });\r\n }\r\n }\r\n\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) => {\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n const SunMi_fuping_url = sessionStorage.getItem(\"SunMi_fuping_url\");\r\n // 如果存在缓存地址 使用缓存地址 否则使用新hash地址\r\n if (!SunMi_fuping_url) {\r\n let url = location.origin + location.pathname + '?ts=' + new Date().getTime() + '&vt=3&fuping=3';\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.secondScreenLoadUrl(url).then(() => {\r\n this.FuPingIsLoaded = true;\r\n // 加载副屏页面成功 缓存地址\r\n sessionStorage.setItem(\"SunMi_fuping_url\", url);\r\n setTimeout(() => {\r\n // 进行主副屏数据交互 初始化\r\n const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n console.log(result);\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n const filterResult = result && result.filter ? result.filter((settingItem) => { return settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING) }) : [];\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\", filterResult).then(() => {\r\n console.log(\"缓存数据成功\")\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n });\r\n }, 2000);\r\n });\r\n } else {\r\n // 表示已经加载过页面只需要重置状态即可\r\n const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n }\r\n }\r\n\r\n // 初始化智+模块信息\r\n hsyBasicInfoInit() {\r\n const theme = stores.portalStore.themeStore;\r\n let color = '#FF8C25';\r\n switch (theme) {\r\n case 'orange':\r\n color = \"#FF8C25\";\r\n break;\r\n case 'blue':\r\n color = \"#3491FF\";\r\n break;\r\n case 'dark':\r\n color = \"#26A0DE\";\r\n break;\r\n case 'pink':\r\n color = \"#FF6B8C\";\r\n break;\r\n }\r\n const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n this.setState({ loadHsyURL: cc_url });\r\n }\r\n\r\n //初始化tc、tcyzj、tczsy信息\r\n getTcBasicInfoInit = () => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n if (!tplusUrl) {\r\n let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n ModalWraper.warning(\r\n {\r\n title: '温馨提示',\r\n content: msg,\r\n okText: '确定',\r\n okType: 'primary',\r\n }\r\n )\r\n return false;\r\n }\r\n if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n tplusUrl += '/';\r\n }\r\n let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n if (sid) {\r\n ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n }\r\n let postMsgUrl = ossjumpUrl;\r\n let { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n const uid = this.tplusEncode(UserCode);\r\n const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n const accNum = this.tplusEncode(AccountNum)\r\n const code = this.tplusEncode(posCode);\r\n const store = this.tplusEncode(TplusStoreId + '');\r\n ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n }\r\n\r\n componentWillUnmount() {\r\n const { headHook: { removeClass } = {} } = this.context\r\n removeClass && removeClass(this.state.id, 'portalHead');\r\n }\r\n\r\n componentWillReceiveProps() {\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n } else {\r\n nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n }\r\n }\r\n }\r\n\r\n // 获取副屏的状态\r\n getScreenType = () => {\r\n let flag = false;\r\n if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n data = data && data.length > 0 ? data.shift() : null;\r\n if (data && data.Value === '1') {\r\n flag = true;\r\n }\r\n }\r\n return flag;\r\n }\r\n\r\n menuClick(item, e) {\r\n history.push(item.path);\r\n }\r\n saveLog = (name) => {\r\n const { saveLogo } = Request;\r\n name = \"进入模块:\" + name;\r\n saveLogo('进入模块', undefined, name);\r\n }\r\n\r\n handelClick = (values = {}) => {\r\n const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n const { operations, isHsyLoadFinish } = this.state;\r\n const controllable = operations.find(vv => vv.Name === Name);\r\n const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n let errorTip;\r\n if (!Title) {\r\n return ModalWraper.warning({\r\n title: '提示',\r\n content: '您的权限配置请求失败,请重新登录',\r\n onOk() {\r\n User.logout();\r\n },\r\n okType: 'primary',\r\n })\r\n }\r\n\r\n if(!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n Message.warn(\"离线模式下此操作不可用\")\r\n return;\r\n }\r\n\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n const { portalStore } = this.context.stores;\r\n if (errorTip) {\r\n return Message.warn(errorTip);\r\n }\r\n if (isModal) {\r\n return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n }\r\n // 支持页面内打开,减少再次加载页面的时间。\r\n if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n switch (type) {\r\n case 'cashier':\r\n portalStore.checkDuty().then((onDutyMessage) => {\r\n if (!!onDutyMessage) {\r\n const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n console.log('onDutyMessage======', onDutyMessage);\r\n this.saveLog(title);\r\n history.push('/RE/RE01');\r\n }\r\n }).catch((data) => {\r\n console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n });\r\n break;\r\n case 'onDuty':\r\n portalStore.onDuty().then((onDutyMessage) => {\r\n if (onDutyMessage && onDutyMessage.shift) {\r\n MiddleWare.execute('onDuty')\r\n }\r\n });\r\n break;\r\n case 'offDuty':\r\n history.push('/offDuty?type=offDuty');\r\n break;\r\n case 'settleDialy':\r\n if (portalStore.bPosDaily()) {\r\n history.push('/offDuty?type=settleDaily');\r\n } else {\r\n portalStore.onMakerDaily();\r\n }\r\n break;\r\n default:\r\n history.push(`/${type}`);\r\n break;\r\n }\r\n };\r\n\r\n //跳转其他页面,以内嵌形式打开\r\n toFramePage = (params) => {\r\n const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n switch (app) {\r\n case 'cc':\r\n let sh = '';\r\n if (!isHsyLoadFinish) {\r\n return Message.warn('正在加载资源中,请稍后。');\r\n }\r\n if (!search) {\r\n return Message.warn('正在紧急研发中...');\r\n } else if (search && search.length > 0) {\r\n sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n sh = sh || search[0];\r\n }\r\n if (!sh) {\r\n return Message.warn('传递参数有误,请查证。');\r\n }\r\n this.toHsyPage({ ...style, ...sh });\r\n break;\r\n case 'tc':\r\n if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(MenuCode, search);\r\n } else {\r\n this.toTplusPage(tmenuCode, search);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n console.log(url);\r\n let fetchHeader = {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n fetch(url, fetchHeader)\r\n .then(function (response) {\r\n return response.json();\r\n }).then(json => {\r\n console.log(json);\r\n resolve(json);\r\n }).catch(ex => {\r\n console.log(ex);\r\n reject(err);\r\n })\r\n })\r\n }\r\n\r\n //跳转到T+\r\n toTplusPage = async (tmenuCode, search) => {\r\n let ret = this.getTcBasicInfoInit();\r\n if (ret === false) return;\r\n let { ossjumpUrl, postMessageUrl } = ret || {};\r\n let dsearchPlanID = '';\r\n if (search && search.id) {\r\n const { portalStore } = this.context.stores;\r\n dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n }\r\n let menu = this.tplusEncode(tmenuCode);\r\n ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n if (this.hasElectron === true && (postMessageUrl + '').indexOf('https') == -1 && (this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj')) {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n return;\r\n }\r\n let external_frame_tc = document.getElementById('external-frame-tc');\r\n let win = external_frame_tc.contentWindow;\r\n const { loadTcURL } = this.state;\r\n if (loadTcURL) {\r\n win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n this.setState({ loadTcPage: true });\r\n } else {\r\n this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n }\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n this.setState({ loadTcPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n }\r\n })\r\n }\r\n\r\n //跳转CC\r\n toHsyPage = (params) => {\r\n let {\r\n content_only, //只加载内容区域\r\n bar_bg, //页签栏颜色\r\n bar_active_bg, //激活态的标签背景颜色\r\n menu,\r\n secondRouter,\r\n activePrompt,\r\n closePrompt,\r\n closeable,\r\n leavePrompt,\r\n lock,\r\n pageId,\r\n pageParams,\r\n path,\r\n tabId,\r\n tabLabel,\r\n pageType,\r\n _k\r\n } = params;\r\n\r\n let filter = {};\r\n //对仓库参数的处理\r\n const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n const WarehouseName = PosInitData('WarehouseName') || '';\r\n const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n switch (pageType) {\r\n case 'voucher':\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n warehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n //要货单特殊处理\r\n if (menu == 'require-goods-new') {\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n requireWarehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case 'report':\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n bar_bg = encodeURIComponent(bar_bg);\r\n bar_active_bg = encodeURIComponent(bar_active_bg);\r\n menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n pageId = menu;\r\n pageParams = Object.assign(pageParams, filter);\r\n path = encodeURIComponent(path);\r\n _k = this.randomWord(false, 6);\r\n\r\n const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n console.log('web_hsy_url:', cc_url);\r\n let external_frame = document.getElementById('external-frame-cc');\r\n let win = external_frame.contentWindow;\r\n win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n this.setState({ loadHsyPage: true });\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n this.setState({ loadHsyPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n // 在打开页签之前,关闭之前的。\r\n let external_frame_a = document.getElementById('external-frame-cc');\r\n let wins = external_frame_a.contentWindow;\r\n wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n }\r\n })\r\n }\r\n\r\n randomWord = (only, digits) => {\r\n let str = \"\";\r\n const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n let arr = only ? [...number] : [...number, ...letter];\r\n for (let i = 0; i < digits; i++) {\r\n let pos = Math.round(Math.random() * (arr.length - 1));\r\n str += arr[pos];\r\n }\r\n return str;\r\n }\r\n\r\n closeFrameModal = () => {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n tplusEncode = (code) => {\r\n let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n for (let i = 1; i < code.length; i++) {\r\n c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n }\r\n let ret = this.TplusBase64Encode(c);\r\n return ret;\r\n }\r\n\r\n TplusBase64Encode = (input) => {\r\n const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n input = this._utf8_encode(input);\r\n while (i < input.length) {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output = output +\r\n _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n }\r\n return output;\r\n }\r\n _utf8_encode = (string) => {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n let utftext = \"\";\r\n for (let n = 0; n < string.length; n++) {\r\n let c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n\r\n operationControl = (menu = []) => {\r\n const { operations } = this.state;\r\n menu.forEach(v => {\r\n if (v.sub) {\r\n return this.operationControl(v.sub);\r\n }\r\n const controllable = operations.find(vv => vv.Name === v.Name);\r\n const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n let errorTip;\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n v.errorTip = errorTip;\r\n });\r\n return menu;\r\n }\r\n\r\n createLeftNode = () => {\r\n const menu = this.leftMenu;\r\n const menuNode = menu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n let item = vv;\r\n if (vv.maybe === true) {\r\n let status = !!PosInitData('ShowStorePrice');\r\n item = status ? vv : vv.second;\r\n }\r\n return (<div\r\n className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n key={item.className}\r\n onClick={this.handelClick.bind(this, item)}\r\n >\r\n {!!item.title && <h1>{item.title}</h1>}\r\n {!!item.label && <p>{item.label}</p>}\r\n {!!item.icon && <Ticon icon={item.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n })\r\n return menuNode;\r\n }\r\n createCenterNode = () => {\r\n const menuLeftNode = this.centerLeftMenu.map(v => {\r\n return (<div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n {v.disabled && <div className='item-disabled-placeholder' />}\r\n </div>)\r\n });\r\n const menuRightNode = this.centerRightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n }\r\n createRightNode = () => {\r\n const node = this.rightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.title && <h1>{v.title}</h1>}\r\n {!!v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return node;\r\n }\r\n\r\n render() {\r\n const { showModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n const screenHeight = window.screen.availHeight - 100;\r\n let htmlContent = null;\r\n if (this.isVerticalTouch) {\r\n htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n } else if (this.isHorizontalPad) {\r\n htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n }\r\n else {\r\n htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n <Row>\r\n <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n </Col>\r\n <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n <div className='portal-center-content'>\r\n {this.createCenterNode()}\r\n </div>\r\n </Col>\r\n <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n <div className='portal-right-content'>{this.createRightNode()}</div>\r\n </Col>\r\n </Row>\r\n </Content>\r\n {\r\n <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n </div>\r\n }\r\n {\r\n <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n </div>\r\n }\r\n {\r\n this.isMobileEnvironment &&\r\n <Modal visible={showModal}\r\n onCancel={this.closeFrameModal}\r\n width={'99%'}\r\n height={'99%'}\r\n footer={null}\r\n >\r\n <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n </Modal>\r\n }\r\n </Layout>)\r\n }\r\n return htmlContent;\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","HTTP_PROXY_URL","observer","props","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downloadCatcherDay","currentDay","Math","ceil","Date","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","result","hide","set","getOperation","resolve","reject","portalStore","headHook","addClass","homeOperation","Request","functionData","then","operations","setState","catch","err","console","log","data","state","id","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","window","open","getTime","hsyBasicInfoInit","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","isHsyLoadFinish","HsyLoadFinish","clearTimeout","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","sunMi_PresentationManager","secondScreenLoadUrl","FuPingIsLoaded","setItem","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","onOk","logout","shouldOpenHomeOperation","Message","warn","modalRouter","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","indexOf","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","round","random","closeFrameModal","showModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","isMobileEnvironment","Menus","leftMenuTC","rightMenuTC","getWebEntry","theme","themeStore","color","removeClass","setIpcRendererMethod","e","screenHeight","screen","availHeight","htmlContent","height","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-09-27 19:05:04\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n static propTypes = {\r\n routes: PropTypes.array,\r\n };\r\n static contextTypes = {\r\n stores: PropTypes.object,\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n this.state = {\r\n id: Date.now(),\r\n operations: [],\r\n showModal: false,\r\n loadHsyPage: false,\r\n loadHsyURL: '',\r\n isHsyLoadFinish: false,\r\n loadTcPage: false,\r\n loadTcURL: '',\r\n modalURL: '',\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n this.isVerticalTouch = !!isVerticalTouch;\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.FuPingIsLoaded = false;\r\n this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n\r\n //首页布局\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n this.centerLeftMenu = centerLeftMenu;\r\n this.centerRightMenu = centerRightMenu;\r\n this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n this.hsy_domain = User && User.getWebEntry();\r\n this.randomWord = this.randomWord.bind(this);\r\n autorun(() => {\r\n this.hsyBasicInfoInit();\r\n });\r\n }\r\n\r\n async componentWillMount() {\r\n await this.catchOfflineData();\r\n await this.getOperation();\r\n }\r\n\r\n\r\n catchOfflineData = async () => {\r\n const { offlineSys } = this.context.stores;\r\n const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n const downloadCatcherDay = localStore.get(\"downloadCatcherDay\");\r\n const currentDay = Math.ceil(new Date()/1000/60/60/24)\r\n if (isLoginAfter == 1) {\r\n // 增加每天第一次登陆下载数据\r\n if (!downloadCatcherDay || currentDay > downloadCatcherDay) {\r\n Loading.show({\r\n text: '离线数据下载中...',\r\n delay: 0,\r\n showProgress: true\r\n });\r\n function downProgress(params) {\r\n Loading.transfer(params)\r\n }\r\n let result = await offlineSys.downloadCatcherData(downProgress);\r\n Loading.hide();\r\n if(result){\r\n localStore.set(\"downloadCatcherDay\",currentDay);\r\n }\r\n }\r\n localStore.set(\"isLoginAfter\", 0)\r\n }\r\n }\r\n\r\n\r\n getOperation = () => {\r\n return new Promise((resolve, reject) => {\r\n const { stores: { portalStore } = {}, headHook: { addClass } = {} } = this.context;\r\n const { homeOperation, functionData } = Request;\r\n Loading.show({\r\n text: '首页权限加载中...',\r\n delay: 2500\r\n });\r\n homeOperation().then(operations => {\r\n localStore.set('operationsAuth', JSON.stringify(operations));\r\n this.setState({ operations: operations || [] });\r\n Loading.hide();\r\n resolve()\r\n }).catch((err) => {\r\n console.log('homeOperation.error======', err);\r\n Loading.hide();\r\n resolve()\r\n });\r\n functionData().then(data => {\r\n // 加载权限数据 DR-29735 by majian\r\n PosSetData(data);\r\n });\r\n // portalStore && portalStore.getPortalMenu();\r\n addClass && addClass(this.state.id, 'portalHead');\r\n // 初始化参数设置。\r\n stores.setStore.initSetParams().then(ret => {\r\n // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n if (this.getScreenType() === true) {\r\n if(this.isHorizontalSunMi){\r\n this.sunMiPresentationInit(ret);\r\n return;\r\n }\r\n window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n }\r\n })\r\n this.hsyBasicInfoInit();\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isHorizontalPad) {\r\n this.initHsyPage();\r\n }\r\n }\r\n\r\n // 初始化好生意页面\r\n initHsyPage = () => {\r\n let external_frame = document.getElementById('external-frame-cc');\r\n let win = external_frame && external_frame.contentWindow;\r\n let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n if (!win) return;\r\n win.HsyLoadFinish = () => {\r\n clearTimeout(timer);\r\n this.setState({ isHsyLoadFinish: true });\r\n }\r\n }\r\n\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) => {\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n const SunMi_fuping_url = sessionStorage.getItem(\"SunMi_fuping_url\");\r\n // 如果存在缓存地址 使用缓存地址 否则使用新hash地址\r\n if (!SunMi_fuping_url) {\r\n let url = location.origin + location.pathname + '?ts=' + new Date().getTime() + '&vt=3&fuping=3';\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.secondScreenLoadUrl(url).then(() => {\r\n this.FuPingIsLoaded = true;\r\n // 加载副屏页面成功 缓存地址\r\n sessionStorage.setItem(\"SunMi_fuping_url\", url);\r\n setTimeout(() => {\r\n // 进行主副屏数据交互 初始化\r\n const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n console.log(result);\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n const filterResult = result && result.filter ? result.filter((settingItem) => { return settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING) }) : [];\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\", filterResult).then(() => {\r\n console.log(\"缓存数据成功\")\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n });\r\n }, 2000);\r\n });\r\n } else {\r\n // 表示已经加载过页面只需要重置状态即可\r\n const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n }\r\n }\r\n\r\n // 初始化智+模块信息\r\n hsyBasicInfoInit() {\r\n const theme = stores.portalStore.themeStore;\r\n let color = '#FF8C25';\r\n switch (theme) {\r\n case 'orange':\r\n color = \"#FF8C25\";\r\n break;\r\n case 'blue':\r\n color = \"#3491FF\";\r\n break;\r\n case 'dark':\r\n color = \"#26A0DE\";\r\n break;\r\n case 'pink':\r\n color = \"#FF6B8C\";\r\n break;\r\n }\r\n const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n this.setState({ loadHsyURL: cc_url });\r\n }\r\n\r\n //初始化tc、tcyzj、tczsy信息\r\n getTcBasicInfoInit = () => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n if (!tplusUrl) {\r\n let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n ModalWraper.warning(\r\n {\r\n title: '温馨提示',\r\n content: msg,\r\n okText: '确定',\r\n okType: 'primary',\r\n }\r\n )\r\n return false;\r\n }\r\n if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n tplusUrl += '/';\r\n }\r\n let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n if (sid) {\r\n ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n }\r\n let postMsgUrl = ossjumpUrl;\r\n let { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n const uid = this.tplusEncode(UserCode);\r\n const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n const accNum = this.tplusEncode(AccountNum)\r\n const code = this.tplusEncode(posCode);\r\n const store = this.tplusEncode(TplusStoreId + '');\r\n ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n }\r\n\r\n componentWillUnmount() {\r\n const { headHook: { removeClass } = {} } = this.context\r\n removeClass && removeClass(this.state.id, 'portalHead');\r\n }\r\n\r\n componentWillReceiveProps() {\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n } else {\r\n nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n }\r\n }\r\n }\r\n\r\n // 获取副屏的状态\r\n getScreenType = () => {\r\n let flag = false;\r\n if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n data = data && data.length > 0 ? data.shift() : null;\r\n if (data && data.Value === '1') {\r\n flag = true;\r\n }\r\n }\r\n return flag;\r\n }\r\n\r\n menuClick(item, e) {\r\n history.push(item.path);\r\n }\r\n saveLog = (name) => {\r\n const { saveLogo } = Request;\r\n name = \"进入模块:\" + name;\r\n saveLogo('进入模块', undefined, name);\r\n }\r\n\r\n handelClick = (values = {}) => {\r\n const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n const { operations, isHsyLoadFinish } = this.state;\r\n const controllable = operations.find(vv => vv.Name === Name);\r\n const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n let errorTip;\r\n if (!Title) {\r\n return ModalWraper.warning({\r\n title: '提示',\r\n content: '您的权限配置请求失败,请重新登录',\r\n onOk() {\r\n User.logout();\r\n },\r\n okType: 'primary',\r\n })\r\n }\r\n\r\n if(!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n Message.warn(\"离线模式下此操作不可用\")\r\n return;\r\n }\r\n\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n const { portalStore } = this.context.stores;\r\n if (errorTip) {\r\n return Message.warn(errorTip);\r\n }\r\n if (isModal) {\r\n return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n }\r\n // 支持页面内打开,减少再次加载页面的时间。\r\n if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n switch (type) {\r\n case 'cashier':\r\n portalStore.checkDuty().then((onDutyMessage) => {\r\n if (!!onDutyMessage) {\r\n const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n console.log('onDutyMessage======', onDutyMessage);\r\n this.saveLog(title);\r\n history.push('/RE/RE01');\r\n }\r\n }).catch((data) => {\r\n console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n });\r\n break;\r\n case 'onDuty':\r\n portalStore.onDuty().then((onDutyMessage) => {\r\n if (onDutyMessage && onDutyMessage.shift) {\r\n MiddleWare.execute('onDuty')\r\n }\r\n });\r\n break;\r\n case 'offDuty':\r\n history.push('/offDuty?type=offDuty');\r\n break;\r\n case 'settleDialy':\r\n if (portalStore.bPosDaily()) {\r\n history.push('/offDuty?type=settleDaily');\r\n } else {\r\n portalStore.onMakerDaily();\r\n }\r\n break;\r\n default:\r\n history.push(`/${type}`);\r\n break;\r\n }\r\n };\r\n\r\n //跳转其他页面,以内嵌形式打开\r\n toFramePage = (params) => {\r\n const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n switch (app) {\r\n case 'cc':\r\n let sh = '';\r\n if (!isHsyLoadFinish) {\r\n return Message.warn('正在加载资源中,请稍后。');\r\n }\r\n if (!search) {\r\n return Message.warn('正在紧急研发中...');\r\n } else if (search && search.length > 0) {\r\n sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n sh = sh || search[0];\r\n }\r\n if (!sh) {\r\n return Message.warn('传递参数有误,请查证。');\r\n }\r\n this.toHsyPage({ ...style, ...sh });\r\n break;\r\n case 'tc':\r\n if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(MenuCode, search);\r\n } else {\r\n this.toTplusPage(tmenuCode, search);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n console.log(url);\r\n let fetchHeader = {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n fetch(url, fetchHeader)\r\n .then(function (response) {\r\n return response.json();\r\n }).then(json => {\r\n console.log(json);\r\n resolve(json);\r\n }).catch(ex => {\r\n console.log(ex);\r\n reject(err);\r\n })\r\n })\r\n }\r\n\r\n //跳转到T+\r\n toTplusPage = async (tmenuCode, search) => {\r\n let ret = this.getTcBasicInfoInit();\r\n if (ret === false) return;\r\n let { ossjumpUrl, postMessageUrl } = ret || {};\r\n let dsearchPlanID = '';\r\n if (search && search.id) {\r\n const { portalStore } = this.context.stores;\r\n dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n }\r\n let menu = this.tplusEncode(tmenuCode);\r\n ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n if (this.hasElectron === true && (postMessageUrl + '').indexOf('https') == -1 && (this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj')) {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n return;\r\n }\r\n let external_frame_tc = document.getElementById('external-frame-tc');\r\n let win = external_frame_tc.contentWindow;\r\n const { loadTcURL } = this.state;\r\n if (loadTcURL) {\r\n win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n this.setState({ loadTcPage: true });\r\n } else {\r\n this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n }\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n this.setState({ loadTcPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n }\r\n })\r\n }\r\n\r\n //跳转CC\r\n toHsyPage = (params) => {\r\n let {\r\n content_only, //只加载内容区域\r\n bar_bg, //页签栏颜色\r\n bar_active_bg, //激活态的标签背景颜色\r\n menu,\r\n secondRouter,\r\n activePrompt,\r\n closePrompt,\r\n closeable,\r\n leavePrompt,\r\n lock,\r\n pageId,\r\n pageParams,\r\n path,\r\n tabId,\r\n tabLabel,\r\n pageType,\r\n _k\r\n } = params;\r\n\r\n let filter = {};\r\n //对仓库参数的处理\r\n const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n const WarehouseName = PosInitData('WarehouseName') || '';\r\n const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n switch (pageType) {\r\n case 'voucher':\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n warehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n //要货单特殊处理\r\n if (menu == 'require-goods-new') {\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n requireWarehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case 'report':\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n bar_bg = encodeURIComponent(bar_bg);\r\n bar_active_bg = encodeURIComponent(bar_active_bg);\r\n menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n pageId = menu;\r\n pageParams = Object.assign(pageParams, filter);\r\n path = encodeURIComponent(path);\r\n _k = this.randomWord(false, 6);\r\n\r\n const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n console.log('web_hsy_url:', cc_url);\r\n let external_frame = document.getElementById('external-frame-cc');\r\n let win = external_frame.contentWindow;\r\n win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n this.setState({ loadHsyPage: true });\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n this.setState({ loadHsyPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n // 在打开页签之前,关闭之前的。\r\n let external_frame_a = document.getElementById('external-frame-cc');\r\n let wins = external_frame_a.contentWindow;\r\n wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n }\r\n })\r\n }\r\n\r\n randomWord = (only, digits) => {\r\n let str = \"\";\r\n const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n let arr = only ? [...number] : [...number, ...letter];\r\n for (let i = 0; i < digits; i++) {\r\n let pos = Math.round(Math.random() * (arr.length - 1));\r\n str += arr[pos];\r\n }\r\n return str;\r\n }\r\n\r\n closeFrameModal = () => {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n tplusEncode = (code) => {\r\n let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n for (let i = 1; i < code.length; i++) {\r\n c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n }\r\n let ret = this.TplusBase64Encode(c);\r\n return ret;\r\n }\r\n\r\n TplusBase64Encode = (input) => {\r\n const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n input = this._utf8_encode(input);\r\n while (i < input.length) {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output = output +\r\n _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n }\r\n return output;\r\n }\r\n _utf8_encode = (string) => {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n let utftext = \"\";\r\n for (let n = 0; n < string.length; n++) {\r\n let c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n\r\n operationControl = (menu = []) => {\r\n const { operations } = this.state;\r\n menu.forEach(v => {\r\n if (v.sub) {\r\n return this.operationControl(v.sub);\r\n }\r\n const controllable = operations.find(vv => vv.Name === v.Name);\r\n const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n let errorTip;\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n v.errorTip = errorTip;\r\n });\r\n return menu;\r\n }\r\n\r\n createLeftNode = () => {\r\n const menu = this.leftMenu;\r\n const menuNode = menu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n let item = vv;\r\n if (vv.maybe === true) {\r\n let status = !!PosInitData('ShowStorePrice');\r\n item = status ? vv : vv.second;\r\n }\r\n return (<div\r\n className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n key={item.className}\r\n onClick={this.handelClick.bind(this, item)}\r\n >\r\n {!!item.title && <h1>{item.title}</h1>}\r\n {!!item.label && <p>{item.label}</p>}\r\n {!!item.icon && <Ticon icon={item.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n })\r\n return menuNode;\r\n }\r\n createCenterNode = () => {\r\n const menuLeftNode = this.centerLeftMenu.map(v => {\r\n return (<div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n {v.disabled && <div className='item-disabled-placeholder' />}\r\n </div>)\r\n });\r\n const menuRightNode = this.centerRightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n }\r\n createRightNode = () => {\r\n const node = this.rightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.title && <h1>{v.title}</h1>}\r\n {!!v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return node;\r\n }\r\n\r\n render() {\r\n const { showModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n const screenHeight = window.screen.availHeight - 100;\r\n let htmlContent = null;\r\n if (this.isVerticalTouch) {\r\n htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n } else if (this.isHorizontalPad) {\r\n htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n }\r\n else {\r\n htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n <Row>\r\n <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n </Col>\r\n <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n <div className='portal-center-content'>\r\n {this.createCenterNode()}\r\n </div>\r\n </Col>\r\n <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n <div className='portal-right-content'>{this.createRightNode()}</div>\r\n </Col>\r\n </Row>\r\n </Content>\r\n {\r\n <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n </div>\r\n }\r\n {\r\n <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n </div>\r\n }\r\n {\r\n this.isMobileEnvironment &&\r\n <Modal visible={showModal}\r\n onCancel={this.closeFrameModal}\r\n width={'99%'}\r\n height={'99%'}\r\n footer={null}\r\n >\r\n <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n </Modal>\r\n }\r\n </Layout>)\r\n }\r\n return htmlContent;\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-portaltouch",
3
- "version": "3.17.5",
3
+ "version": "3.17.9",
4
4
  "description": "touch protal",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {