tplus-portaltouch 3.17.9 → 3.17.10

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.
@@ -65,6 +65,7 @@ var Item = _antd.Menu.Item;
65
65
  var defaultFromat = 'yyyy-MM-dd hh:mm:ss';
66
66
  var t = _mutantsMicrofx.i18n.getFixedT(null, 'newretail');
67
67
  var UPLOAD_BASE_PATH = '/login';
68
+ var NETWORK_THEME_PATH = "/";
68
69
  var weakRemindNum = 0; // 弱网提示初始值
69
70
  //头部时间
70
71
  function HeadTime(props) {
@@ -166,12 +167,14 @@ var OnLineStatus = (0, _mobxReact.observer)(function (props) {
166
167
 
167
168
  //头部联网状态
168
169
  var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) {
169
- var isShowUploadBtnsByRouter = props.isShowUploadBtnsByRouter;
170
+ var isShowUploadBtnsByRouter = props.isShowUploadBtnsByRouter,
171
+ isResetNetWorkTheme = props.isResetNetWorkTheme;
170
172
  var networkCheckStore = _mutantsMicrofx.stores.networkCheckStore,
171
173
  offlineSys = _mutantsMicrofx.stores.offlineSys;
172
174
 
173
175
  var networkState = networkCheckStore.networkState;
174
- var isOnLine = !offlineSys.isOffline;
176
+ // let isOnLine = !offlineSys.isOffline
177
+ var isOnLine = networkState !== '离线';
175
178
  var iconName = 'WiFi';
176
179
  switch (networkState) {
177
180
  case '联网':
@@ -219,7 +222,7 @@ var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) {
219
222
  { className: 'status-square' },
220
223
  _react2.default.createElement(
221
224
  'span',
222
- { className: 'status-tog-btn' },
225
+ { className: 'status-tog-btn', style: { color: '' + (isResetNetWorkTheme ? '#fff' : '') } },
223
226
  _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: iconName })
224
227
  )
225
228
  ),
@@ -266,6 +269,11 @@ function RetailUpload() {
266
269
  isModalVisible = _useState4[0],
267
270
  setIsModalVisible = _useState4[1];
268
271
 
272
+ var _useState5 = (0, _react.useState)(false),
273
+ _useState6 = (0, _slicedToArray3.default)(_useState5, 2),
274
+ isUpLoading = _useState6[0],
275
+ setIsUpLoading = _useState6[1];
276
+
269
277
  var refModal = (0, _react.useRef)(null);
270
278
  var showModal = function () {
271
279
  var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
@@ -289,12 +297,63 @@ function RetailUpload() {
289
297
  };
290
298
  }();
291
299
 
292
- var handleOk = function handleOk() {
293
- var isUpLoad = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
300
+ var handleOk = function () {
301
+ var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
302
+ var isUpLoad = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
303
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
304
+ while (1) {
305
+ switch (_context2.prev = _context2.next) {
306
+ case 0:
307
+ setIsModalVisible(false);
308
+
309
+ if (isUpLoad) {
310
+ _context2.next = 4;
311
+ break;
312
+ }
294
313
 
295
- setIsModalVisible(false);
296
- _tplusComponentsTouch.Message.warn(isUpLoad ? '上传中……' : '暂无可以上传的单据');
297
- };
314
+ _tplusComponentsTouch.Message.tip('暂无可以上传的单据');
315
+ return _context2.abrupt('return');
316
+
317
+ case 4:
318
+ if (!isUpLoading) {
319
+ _context2.next = 7;
320
+ break;
321
+ }
322
+
323
+ _tplusComponentsTouch.Message.tip('上传中……');
324
+ return _context2.abrupt('return');
325
+
326
+ case 7:
327
+ setIsUpLoading(true);
328
+ _context2.prev = 8;
329
+ _context2.next = 11;
330
+ return _mutantsMicrofx.stores.offlineSys.uploadRetail();
331
+
332
+ case 11:
333
+ _context2.next = 16;
334
+ break;
335
+
336
+ case 13:
337
+ _context2.prev = 13;
338
+ _context2.t0 = _context2['catch'](8);
339
+
340
+ _tplusComponentsTouch.Message.error('上传失败');
341
+
342
+ case 16:
343
+ setIsUpLoading(false);
344
+
345
+ case 17:
346
+ case 'end':
347
+ return _context2.stop();
348
+ }
349
+ }
350
+ }, _callee2, _this, [[8, 13]]);
351
+ }));
352
+
353
+ return function handleOk() {
354
+ return _ref4.apply(this, arguments);
355
+ };
356
+ }();
298
357
 
299
358
  var handleCancel = function handleCancel() {
300
359
  setIsModalVisible(false);
@@ -310,7 +369,7 @@ function RetailUpload() {
310
369
  { className: 'status-tog-btn' },
311
370
  _react2.default.createElement(
312
371
  'span',
313
- null,
372
+ { className: '' + (isUpLoading ? 'isRetailUpLoading' : '') },
314
373
  _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: 'shangchuan' })
315
374
  ),
316
375
  _react2.default.createElement(
@@ -340,43 +399,43 @@ function RetailDownload() {
340
399
 
341
400
  var offlineSys = _mutantsMicrofx.stores.offlineSys;
342
401
 
343
- var _useState5 = (0, _react.useState)(false),
344
- _useState6 = (0, _slicedToArray3.default)(_useState5, 2),
345
- isDownload = _useState6[0],
346
- setIsDownload = _useState6[1];
402
+ var _useState7 = (0, _react.useState)(false),
403
+ _useState8 = (0, _slicedToArray3.default)(_useState7, 2),
404
+ isDownload = _useState8[0],
405
+ setIsDownload = _useState8[1];
347
406
 
348
407
  var handleDownLoad = function () {
349
- var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
408
+ var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
350
409
  var result;
351
- return _regenerator2.default.wrap(function _callee2$(_context2) {
410
+ return _regenerator2.default.wrap(function _callee3$(_context3) {
352
411
  while (1) {
353
- switch (_context2.prev = _context2.next) {
412
+ switch (_context3.prev = _context3.next) {
354
413
  case 0:
355
414
  if (!isDownload) {
356
- _context2.next = 3;
415
+ _context3.next = 3;
357
416
  break;
358
417
  }
359
418
 
360
- _tplusComponentsTouch.Message.warn('下载中……');
361
- return _context2.abrupt('return');
419
+ _tplusComponentsTouch.Message.tip('下载中……');
420
+ return _context3.abrupt('return');
362
421
 
363
422
  case 3:
364
423
  setIsDownload(true);
365
- _tplusComponentsTouch.Message.warn('下载中……');
366
- _context2.prev = 5;
367
- _context2.next = 8;
424
+ _tplusComponentsTouch.Message.tip('下载中……');
425
+ _context3.prev = 5;
426
+ _context3.next = 8;
368
427
  return offlineSys.downloadCatcherData();
369
428
 
370
429
  case 8:
371
- result = _context2.sent;
430
+ result = _context3.sent;
372
431
 
373
432
  _tplusComponentsTouch.Message.success('\u6570\u636E\u4E0B\u8F7D' + (result ? "成功" : "失败"));
374
- _context2.next = 15;
433
+ _context3.next = 15;
375
434
  break;
376
435
 
377
436
  case 12:
378
- _context2.prev = 12;
379
- _context2.t0 = _context2['catch'](5);
437
+ _context3.prev = 12;
438
+ _context3.t0 = _context3['catch'](5);
380
439
 
381
440
  _tplusComponentsTouch.Message.error('数据下载失败');
382
441
 
@@ -385,14 +444,14 @@ function RetailDownload() {
385
444
 
386
445
  case 16:
387
446
  case 'end':
388
- return _context2.stop();
447
+ return _context3.stop();
389
448
  }
390
449
  }
391
- }, _callee2, _this2, [[5, 12]]);
450
+ }, _callee3, _this2, [[5, 12]]);
392
451
  }));
393
452
 
394
453
  return function handleDownLoad() {
395
- return _ref4.apply(this, arguments);
454
+ return _ref5.apply(this, arguments);
396
455
  };
397
456
  }();
398
457
  return _react2.default.createElement(
@@ -406,7 +465,7 @@ function RetailDownload() {
406
465
  { className: 'status-tog-btn' },
407
466
  _react2.default.createElement(
408
467
  'span',
409
- { className: '' + (isDownload ? 'isRetailLoading' : '') },
468
+ { className: '' + (isDownload ? 'isRetailDownLoading' : '') },
410
469
  _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: 'xiazaishuju' })
411
470
  ),
412
471
  _react2.default.createElement(
@@ -450,17 +509,23 @@ function HeadContent(props, context) {
450
509
  onClick = props.onClick,
451
510
  location = props.location;
452
511
 
453
- var _useState7 = (0, _react.useState)(false),
454
- _useState8 = (0, _slicedToArray3.default)(_useState7, 2),
455
- themeVisible = _useState8[0],
456
- setThemeVisible = _useState8[1];
457
-
458
- var _useState9 = (0, _react.useState)(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0),
512
+ var _useState9 = (0, _react.useState)(false),
459
513
  _useState10 = (0, _slicedToArray3.default)(_useState9, 2),
460
- isShowUploadBtnsByRouter = _useState10[0],
461
- setIsShowUploadBtnsByRouter = _useState10[1];
514
+ themeVisible = _useState10[0],
515
+ setThemeVisible = _useState10[1];
516
+
517
+ var _useState11 = (0, _react.useState)(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0),
518
+ _useState12 = (0, _slicedToArray3.default)(_useState11, 2),
519
+ isShowUploadBtnsByRouter = _useState12[0],
520
+ setIsShowUploadBtnsByRouter = _useState12[1];
521
+
522
+ var _useState13 = (0, _react.useState)(window.location.pathname === NETWORK_THEME_PATH),
523
+ _useState14 = (0, _slicedToArray3.default)(_useState13, 2),
524
+ isResetNetWorkTheme = _useState14[0],
525
+ setIsResetNetWorkTheme = _useState14[1];
462
526
 
463
527
  props.history.listen(function (route) {
528
+ setIsResetNetWorkTheme(route.pathname === NETWORK_THEME_PATH);
464
529
  setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);
465
530
  });
466
531
  var menuProps = { onClick: onClick };
@@ -492,10 +557,10 @@ function HeadContent(props, context) {
492
557
  onOk: function onOk() {
493
558
  var _this3 = this;
494
559
 
495
- return (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
496
- return _regenerator2.default.wrap(function _callee3$(_context3) {
560
+ return (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {
561
+ return _regenerator2.default.wrap(function _callee4$(_context4) {
497
562
  while (1) {
498
- switch (_context3.prev = _context3.next) {
563
+ switch (_context4.prev = _context4.next) {
499
564
  case 0:
500
565
  _tplusComponentsTouch.Loading.show({
501
566
  className: 'close-app-loading',
@@ -512,8 +577,8 @@ function HeadContent(props, context) {
512
577
  delay: false
513
578
  });
514
579
  context.actionHook.actionChange('close-app');
515
- _context3.prev = 2;
516
- _context3.next = 5;
580
+ _context4.prev = 2;
581
+ _context4.next = 5;
517
582
  return _tplusApi.User.logout(function () {
518
583
  setTimeout(function () {
519
584
  _mutantsMicrofx.nativeMs.doWindow(item.event);
@@ -521,12 +586,12 @@ function HeadContent(props, context) {
521
586
  });
522
587
 
523
588
  case 5:
524
- _context3.next = 12;
589
+ _context4.next = 12;
525
590
  break;
526
591
 
527
592
  case 7:
528
- _context3.prev = 7;
529
- _context3.t0 = _context3['catch'](2);
593
+ _context4.prev = 7;
594
+ _context4.t0 = _context4['catch'](2);
530
595
 
531
596
  _tplusApi.User.clear();
532
597
  _mutantsMicrofx.localStore.remove('user');
@@ -536,10 +601,10 @@ function HeadContent(props, context) {
536
601
 
537
602
  case 12:
538
603
  case 'end':
539
- return _context3.stop();
604
+ return _context4.stop();
540
605
  }
541
606
  }
542
- }, _callee3, _this3, [[2, 7]]);
607
+ }, _callee4, _this3, [[2, 7]]);
543
608
  }))();
544
609
  }
545
610
  });
@@ -557,8 +622,8 @@ function HeadContent(props, context) {
557
622
  };
558
623
 
559
624
  var setInventoryFocus = function setInventoryFocus() {
560
- var _ref5 = _mutantsUtil.platform || {},
561
- isHorizontalPad = _ref5.isHorizontalPad;
625
+ var _ref6 = _mutantsUtil.platform || {},
626
+ isHorizontalPad = _ref6.isHorizontalPad;
562
627
 
563
628
  if (!!isHorizontalPad) return;
564
629
  var doms = document.getElementsByClassName('app hot-key-focus-container');
@@ -641,7 +706,7 @@ function HeadContent(props, context) {
641
706
  _react2.default.createElement('i', { className: 'header-triangle-down' })
642
707
  )
643
708
  ),
644
- _react2.default.createElement(OnLineStatusToggle, { isShowUploadBtnsByRouter: isShowUploadBtnsByRouter }),
709
+ _react2.default.createElement(OnLineStatusToggle, { isShowUploadBtnsByRouter: isShowUploadBtnsByRouter, isResetNetWorkTheme: isResetNetWorkTheme }),
645
710
  isShowUploadBtnsByRouter && _react2.default.createElement(RetailUpload, null),
646
711
  isShowUploadBtnsByRouter && _react2.default.createElement(RetailDownload, null)
647
712
  ),
@@ -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","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"]}
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","Item","Menu","defaultFromat","t","i18n","getFixedT","UPLOAD_BASE_PATH","NETWORK_THEME_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","isResetNetWorkTheme","offlineSys","isOnLine","setIsOffline","ModalWraper","confirm","title","content","onOk","_setIsOnLine","color","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","isUpLoading","setIsUpLoading","refModal","showModal","current","fetch","handleOk","isUpLoad","Message","tip","uploadRetail","error","handleCancel","UnLoadNum","retailNotUploadNumber","display","RetailDownload","isDownload","setIsDownload","handleDownLoad","downloadCatcherData","result","success","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","pathname","setIsResetNetWorkTheme","listen","route","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\nconst NETWORK_THEME_PATH = \"/\";\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, isResetNetWorkTheme } = props;\r\n const { networkCheckStore , offlineSys } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n // let isOnLine = !offlineSys.isOffline\r\n let isOnLine = networkState !== '离线';\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\" style={{color: `${isResetNetWorkTheme ? '#fff' : ''}`}}>{<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 [isUpLoading, setIsUpLoading] = 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 = async (isUpLoad = false) => {\r\n setIsModalVisible(false);\r\n if (!isUpLoad) {\r\n Message.tip('暂无可以上传的单据');\r\n return;\r\n }\r\n if (isUpLoading) {\r\n Message.tip('上传中……');\r\n return;\r\n }\r\n setIsUpLoading(true);\r\n try {\r\n await stores.offlineSys.uploadRetail();\r\n } catch (err) {\r\n Message.error('上传失败');\r\n }\r\n setIsUpLoading(false);\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 className={`${isUpLoading ? 'isRetailUpLoading' : ''}`}>{<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.tip('下载中……');\r\n return;\r\n }\r\n setIsDownload(true);\r\n Message.tip('下载中……');\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 ? 'isRetailDownLoading' : ''}`}>{<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 const [isResetNetWorkTheme, setIsResetNetWorkTheme] = useState(window.location.pathname === NETWORK_THEME_PATH);\r\n props.history.listen(route => {\r\n setIsResetNetWorkTheme(route.pathname === NETWORK_THEME_PATH);\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} isResetNetWorkTheme={isResetNetWorkTheme}/>\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"]}
@@ -138,14 +138,22 @@
138
138
  top: 6px;
139
139
  right: -10px;
140
140
  }
141
- .isRetailLoading{
141
+ .isRetailDownLoading{
142
142
  position: relative;
143
- animation: retailMove 1.2s ease 0.5s infinite;
143
+ animation: retailDown 1.2s ease 0.5s infinite;
144
144
  }
145
- @keyframes retailMove {
145
+ @keyframes retailDown {
146
146
  from {top: -18px;}
147
147
  to {top: 18px;}
148
- }
148
+ }
149
+ .isRetailUpLoading{
150
+ position: relative;
151
+ animation: retailUp 1.2s ease 0.5s infinite;
152
+ }
153
+ @keyframes retailUp {
154
+ from {top: 18px;}
155
+ to {top: -18px;}
156
+ }
149
157
  }
150
158
  .status-square{
151
159
  overflow: hidden;
@@ -410,4 +418,24 @@
410
418
  // 鼠标悬浮离线感叹号popver的样式
411
419
  .offline-popver {
412
420
  width: 30%;
421
+ }
422
+ .retail-upload-mask-wrap {
423
+ .ant-modal-header, th, td, .ant-modal-footer {
424
+ padding-left: 20px !important;
425
+ padding-right: 20px;
426
+ }
427
+ .ant-modal-body {
428
+ height: 356px;
429
+ }
430
+ .ant-modal-body {
431
+ padding: 0;
432
+ }
433
+ &.isReNoNull .ant-modal-footer {
434
+ display: flex;
435
+ align-items: center;
436
+ justify-content: space-between;
437
+ }
438
+ .ant-table-pagination.ant-pagination {
439
+ display: none;
440
+ }
413
441
  }
@@ -41,8 +41,8 @@ var _COLUMNS; /*
41
41
  * @Descripttion: 零售单未上传和上传失败操作
42
42
  * @version:
43
43
  * @Author: zhanghuix
44
- * @LastEditors: chenlongad
45
- * @LastEditTime: 2021-09-02 20:10:32
44
+ * @LastEditors: zhanghuix
45
+ * @LastEditTime: 2021-09-28 16:10:32
46
46
  */
47
47
 
48
48
  var _react = require('react');
@@ -53,6 +53,8 @@ var _antd = require('antd');
53
53
 
54
54
  var _mutantsMicrofx = require('mutants-microfx');
55
55
 
56
+ var _tplusComponentsTouch = require('tplus-components-touch');
57
+
56
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
59
 
58
60
  var TabPane = _antd.Tabs.TabPane;
@@ -64,10 +66,7 @@ var TAB_KEYS = {
64
66
  };
65
67
  var DEFAULT_COLUMNS = [{
66
68
  title: '单据日期',
67
- dataIndex: 'VoucherDate',
68
- render: function render(time) {
69
- return (time.split('+')[0] || '').replace(/T/, " ");
70
- }
69
+ dataIndex: 'VoucherDate'
71
70
  }, {
72
71
  title: '单据号',
73
72
  dataIndex: 'Code'
@@ -77,16 +76,13 @@ var DEFAULT_COLUMNS = [{
77
76
  render: function render(val) {
78
77
  var str = (val || 0).toFixed(2) + '';
79
78
  var intSum = str.substring(0, str.indexOf(".")).replace(/\B(?=(?:\d{3})+$)/g, ','); //整数部分
80
- var dot = str.substring(str.length, str.indexOf(".")); //小数部分搜索
79
+ var dot = str.substring(str.length, str.indexOf(".")); //小数部分
81
80
  return intSum + dot;
82
81
  }
83
82
  }];
84
83
  var ERR_COLUMN = [{
85
84
  title: '原因',
86
- dataIndex: 'errMsg',
87
- render: function render(desc) {
88
- return desc || '未知';
89
- }
85
+ dataIndex: 'errMsg'
90
86
  }];
91
87
  // 上传失败要显示失败原因所以多一列
92
88
  var COLUMNS = (_COLUMNS = {}, (0, _defineProperty3.default)(_COLUMNS, TAB_KEYS.NOT, DEFAULT_COLUMNS), (0, _defineProperty3.default)(_COLUMNS, TAB_KEYS.ERR, DEFAULT_COLUMNS.concat(ERR_COLUMN)), _COLUMNS);
@@ -95,6 +91,8 @@ var Aset = function (_React$Component) {
95
91
  (0, _inherits3.default)(Aset, _React$Component);
96
92
 
97
93
  function Aset(props, context) {
94
+ var _this2 = this;
95
+
98
96
  (0, _classCallCheck3.default)(this, Aset);
99
97
 
100
98
  var _this = (0, _possibleConstructorReturn3.default)(this, (Aset.__proto__ || (0, _getPrototypeOf2.default)(Aset)).call(this, props, context));
@@ -102,20 +100,44 @@ var Aset = function (_React$Component) {
102
100
  _this.columns = COLUMNS[TAB_KEYS.NOT];
103
101
  _this.currentKey = TAB_KEYS.NOT;
104
102
  _this.response = {};
103
+ _this.pageSize = 5;
105
104
  _this.state = {
106
- data: []
105
+ data: [],
106
+ currentIndex: 1
107
107
  };
108
+ _this.upLoad = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
109
+ return _regenerator2.default.wrap(function _callee$(_context) {
110
+ while (1) {
111
+ switch (_context.prev = _context.next) {
112
+ case 0:
113
+ _this.props.handleOk(_this.state.data.length > 0);
114
+
115
+ case 1:
116
+ case 'end':
117
+ return _context.stop();
118
+ }
119
+ }
120
+ }, _callee, _this2);
121
+ }));
108
122
 
109
- _this.upLoad = function () {
110
- _mutantsMicrofx.stores.offlineSys.uploadRetail();
111
- _this.props.handleOk(_this.state.data.length > 0);
123
+ _this.previous = function () {
124
+ _this.setState({
125
+ currentIndex: _this.state.currentIndex - 1
126
+ });
127
+ };
128
+
129
+ _this.next = function () {
130
+ _this.setState({
131
+ currentIndex: _this.state.currentIndex + 1
132
+ });
112
133
  };
113
134
 
114
135
  _this.change = function (key) {
115
136
  _this.currentKey = key;
116
137
  _this.columns = COLUMNS[key];
117
138
  _this.setState({
118
- data: _this.response[key + 'Upload'] || []
139
+ data: _this.response[key + 'Upload'] || [],
140
+ currentIndex: 1
119
141
  });
120
142
  };
121
143
 
@@ -125,25 +147,25 @@ var Aset = function (_React$Component) {
125
147
  (0, _createClass3.default)(Aset, [{
126
148
  key: 'fetch',
127
149
  value: function () {
128
- var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
129
- return _regenerator2.default.wrap(function _callee$(_context) {
150
+ var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
151
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
130
152
  while (1) {
131
- switch (_context.prev = _context.next) {
153
+ switch (_context2.prev = _context2.next) {
132
154
  case 0:
133
- _context.prev = 0;
134
- _context.next = 3;
155
+ _context2.prev = 0;
156
+ _context2.next = 3;
135
157
  return _mutantsMicrofx.stores.offlineSys.getRetailNotUpload();
136
158
 
137
159
  case 3:
138
- this.response = _context.sent;
139
- _context.next = 9;
160
+ this.response = _context2.sent;
161
+ _context2.next = 9;
140
162
  break;
141
163
 
142
164
  case 6:
143
- _context.prev = 6;
144
- _context.t0 = _context['catch'](0);
165
+ _context2.prev = 6;
166
+ _context2.t0 = _context2['catch'](0);
145
167
 
146
- console.warn(_context.t0);
168
+ console.warn(_context2.t0);
147
169
 
148
170
  case 9:
149
171
  this.setState({
@@ -152,14 +174,14 @@ var Aset = function (_React$Component) {
152
174
 
153
175
  case 10:
154
176
  case 'end':
155
- return _context.stop();
177
+ return _context2.stop();
156
178
  }
157
179
  }
158
- }, _callee, this, [[0, 6]]);
180
+ }, _callee2, this, [[0, 6]]);
159
181
  }));
160
182
 
161
183
  function fetch() {
162
- return _ref.apply(this, arguments);
184
+ return _ref2.apply(this, arguments);
163
185
  }
164
186
 
165
187
  return fetch;
@@ -173,28 +195,50 @@ var Aset = function (_React$Component) {
173
195
  var _response = this.response,
174
196
  notUpload = _response.notUpload,
175
197
  errUpload = _response.errUpload;
176
- var data = this.state.data;
198
+ var _state = this.state,
199
+ data = _state.data,
200
+ currentIndex = _state.currentIndex;
177
201
 
178
- var maskClosable = false;
202
+ var pageSize = this.pageSize;
203
+ var dataSource = data.slice((currentIndex - 1) * pageSize, currentIndex * pageSize);
204
+ var totalPage = Math.ceil(data.length / pageSize);
179
205
  return _react2.default.createElement(
180
206
  _antd.Modal,
181
207
  { title: '\u5355\u636E\u4E0A\u4F20',
182
- okText: '\u4E0A\u4F20',
183
- cancelText: '\u5173\u95ED',
184
- maskClosable: maskClosable,
185
- visible: visible, width: 800, height: 700, onOk: this.upLoad, onCancel: handleCancel },
208
+ centered: true,
209
+ maskClosable: false,
210
+ closable: false,
211
+ wrapClassName: 'retail-upload-mask-wrap ' + (totalPage > 1 ? 'isReNoNull' : ''),
212
+ visible: visible, width: 800, height: 468,
213
+ footer: [_react2.default.createElement(_tplusComponentsTouch.Page, {
214
+ total: totalPage,
215
+ currentIndex: currentIndex,
216
+ previous: this.previous,
217
+ next: this.next,
218
+ className: 'retail-upload-page'
219
+ }), _react2.default.createElement(
220
+ 'div',
221
+ null,
222
+ _react2.default.createElement(
223
+ _antd.Button,
224
+ {
225
+ onClick: handleCancel
226
+ },
227
+ '\u5173\u95ED'
228
+ ),
229
+ _react2.default.createElement(
230
+ _antd.Button,
231
+ { type: 'primary', onClick: this.upLoad },
232
+ '\u4E0A\u4F20'
233
+ )
234
+ )] },
186
235
  _react2.default.createElement(
187
236
  _antd.Tabs,
188
237
  { defaultActiveKey: '1', onChange: this.change },
189
238
  _react2.default.createElement(TabPane, { tab: '\u5F85\u4E0A\u4F20\uFF08' + (notUpload && notUpload.length) + '\uFF09', key: TAB_KEYS.NOT }),
190
239
  _react2.default.createElement(TabPane, { tab: '\u4E0A\u4F20\u5931\u8D25\uFF08' + (errUpload && errUpload.length) + '\uFF09', key: TAB_KEYS.ERR })
191
240
  ),
192
- _react2.default.createElement(_antd.Table, { pagination: {
193
- position: ['bottomLeft'],
194
- pageSize: 6,
195
- hideOnSinglePage: true,
196
- showSizeChanger: false
197
- }, rowKey: 'Code', columns: this.columns, dataSource: data })
241
+ _react2.default.createElement(_antd.Table, { rowKey: 'Code', columns: this.columns, dataSource: dataSource })
198
242
  );
199
243
  }
200
244
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/components/header/uploadList.js"],"names":["TabPane","Tabs","TAB_KEYS","NOT","ERR","DEFAULT_COLUMNS","title","dataIndex","render","time","split","replace","val","str","toFixed","intSum","substring","indexOf","dot","length","ERR_COLUMN","desc","COLUMNS","concat","Aset","props","context","columns","currentKey","response","state","data","upLoad","stores","offlineSys","uploadRetail","handleOk","change","key","setState","getRetailNotUpload","console","warn","visible","handleCancel","notUpload","errUpload","maskClosable","position","pageSize","hideOnSinglePage","showSizeChanger","React","Component"],"mappings":"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","file":"uploadList.js","sourcesContent":["/*\r\n * @Descripttion: 零售单未上传和上传失败操作\r\n * @version: \r\n * @Author: zhanghuix\r\n * @LastEditors: chenlongad\r\n * @LastEditTime: 2021-09-02 20:10:32\r\n */\r\n\r\nimport React from 'react';\r\nimport { Table, Tabs, Modal } from 'antd';\r\nimport { stores } from 'mutants-microfx';\r\n\r\nconst { TabPane } = Tabs;\r\n// 待上传和上传失败tab\r\nconst TAB_KEYS = {\r\n NOT: 'not',\r\n ERR: 'err'\r\n};\r\nconst DEFAULT_COLUMNS = [\r\n {\r\n title: '单据日期',\r\n dataIndex: 'VoucherDate',\r\n render: function (time) {\r\n return (time.split('+')[0] || '').replace(/T/, \" \");\r\n }\r\n },\r\n {\r\n title: '单据号',\r\n dataIndex: 'Code',\r\n },\r\n {\r\n title: '金额',\r\n dataIndex: 'TotalRetailAmount',\r\n render: function (val) {\r\n let str = (val || 0).toFixed(2) + '';\r\n let intSum = str.substring(0, str.indexOf(\".\")).replace(/\\B(?=(?:\\d{3})+$)/g, ',');//整数部分\r\n let dot = str.substring(str.length, str.indexOf(\".\"))//小数部分搜索\r\n return intSum + dot;\r\n }\r\n }\r\n];\r\nconst ERR_COLUMN = [{\r\n title: '原因',\r\n dataIndex: 'errMsg',\r\n render: function (desc) {\r\n return desc || '未知'\r\n }\r\n}];\r\n// 上传失败要显示失败原因所以多一列\r\nconst COLUMNS = {\r\n [TAB_KEYS.NOT]: DEFAULT_COLUMNS,\r\n [TAB_KEYS.ERR]: DEFAULT_COLUMNS.concat(ERR_COLUMN)\r\n};\r\nexport default class Aset extends React.Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n }\r\n columns = COLUMNS[TAB_KEYS.NOT]\r\n currentKey = TAB_KEYS.NOT\r\n response = {}\r\n state = {\r\n data: []\r\n }\r\n async fetch() {\r\n try {\r\n this.response = await stores.offlineSys.getRetailNotUpload();\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n this.setState({\r\n data: this.response[`${this.currentKey}Upload`] || []\r\n });\r\n }\r\n upLoad = () => {\r\n stores.offlineSys.uploadRetail();\r\n this.props.handleOk(this.state.data.length > 0);\r\n }\r\n change = (key) => {\r\n this.currentKey = key;\r\n this.columns = COLUMNS[key];\r\n this.setState({\r\n data: this.response[`${key}Upload`] || []\r\n });\r\n };\r\n render() {\r\n const { visible, handleCancel } = this.props;\r\n const { notUpload, errUpload } = this.response;\r\n const { data } = this.state;\r\n const maskClosable = false\r\n return <Modal title=\"单据上传\"\r\n okText=\"上传\"\r\n cancelText=\"关闭\"\r\n maskClosable={maskClosable}\r\n visible={visible} width={800} height={700} onOk={this.upLoad} onCancel={handleCancel}>\r\n <Tabs defaultActiveKey=\"1\" onChange={this.change}>\r\n <TabPane tab={`待上传(${notUpload && notUpload.length})`} key={TAB_KEYS.NOT}>\r\n </TabPane>\r\n <TabPane tab={`上传失败(${errUpload && errUpload.length})`} key={TAB_KEYS.ERR}>\r\n </TabPane>\r\n </Tabs>\r\n <Table pagination={{\r\n position: ['bottomLeft'],\r\n pageSize: 6,\r\n hideOnSinglePage: true,\r\n showSizeChanger: false\r\n }} rowKey=\"Code\" columns={this.columns} dataSource={data} />\r\n </Modal>\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/uploadList.js"],"names":["TabPane","Tabs","TAB_KEYS","NOT","ERR","DEFAULT_COLUMNS","title","dataIndex","render","val","str","toFixed","intSum","substring","indexOf","replace","dot","length","ERR_COLUMN","COLUMNS","concat","Aset","props","context","columns","currentKey","response","pageSize","state","data","currentIndex","upLoad","handleOk","previous","setState","next","change","key","stores","offlineSys","getRetailNotUpload","console","warn","visible","handleCancel","notUpload","errUpload","dataSource","slice","totalPage","Math","ceil","React","Component"],"mappings":"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","file":"uploadList.js","sourcesContent":["/*\r\n * @Descripttion: 零售单未上传和上传失败操作\r\n * @version: \r\n * @Author: zhanghuix\r\n * @LastEditors: zhanghuix\r\n * @LastEditTime: 2021-09-28 16:10:32\r\n */\r\n\r\nimport React from 'react';\r\nimport { Table, Tabs, Modal, Button } from 'antd';\r\nimport { stores } from 'mutants-microfx';\r\nimport { Page } from 'tplus-components-touch';\r\nconst { TabPane } = Tabs;\r\n// 待上传和上传失败tab\r\nconst TAB_KEYS = {\r\n NOT: 'not',\r\n ERR: 'err'\r\n};\r\nconst DEFAULT_COLUMNS = [\r\n {\r\n title: '单据日期',\r\n dataIndex: 'VoucherDate'\r\n },\r\n {\r\n title: '单据号',\r\n dataIndex: 'Code',\r\n },\r\n {\r\n title: '金额',\r\n dataIndex: 'TotalRetailAmount',\r\n render: function (val) {\r\n let str = (val || 0).toFixed(2) + '';\r\n let intSum = str.substring(0, str.indexOf(\".\")).replace(/\\B(?=(?:\\d{3})+$)/g, ',');//整数部分\r\n let dot = str.substring(str.length, str.indexOf(\".\"))//小数部分\r\n return intSum + dot;\r\n }\r\n }\r\n];\r\nconst ERR_COLUMN = [{\r\n title: '原因',\r\n dataIndex: 'errMsg'\r\n}];\r\n// 上传失败要显示失败原因所以多一列\r\nconst COLUMNS = {\r\n [TAB_KEYS.NOT]: DEFAULT_COLUMNS,\r\n [TAB_KEYS.ERR]: DEFAULT_COLUMNS.concat(ERR_COLUMN)\r\n};\r\nexport default class Aset extends React.Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n }\r\n columns = COLUMNS[TAB_KEYS.NOT]\r\n currentKey = TAB_KEYS.NOT\r\n response = {}\r\n pageSize = 5\r\n state = {\r\n data: [],\r\n currentIndex: 1\r\n }\r\n async fetch() {\r\n try {\r\n this.response = await stores.offlineSys.getRetailNotUpload();\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n this.setState({\r\n data: this.response[`${this.currentKey}Upload`] || []\r\n });\r\n }\r\n upLoad = async () => {\r\n this.props.handleOk(this.state.data.length > 0);\r\n }\r\n previous = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex - 1\r\n })\r\n }\r\n next = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex + 1\r\n })\r\n }\r\n change = (key) => {\r\n this.currentKey = key;\r\n this.columns = COLUMNS[key];\r\n this.setState({\r\n data: this.response[`${key}Upload`] || [],\r\n currentIndex: 1\r\n });\r\n };\r\n render() {\r\n const { visible, handleCancel } = this.props;\r\n const { notUpload, errUpload } = this.response;\r\n const { data, currentIndex } = this.state;\r\n const pageSize = this.pageSize;\r\n const dataSource = data.slice((currentIndex - 1) * pageSize, currentIndex * pageSize);\r\n const totalPage = Math.ceil(data.length / pageSize);\r\n return <Modal title=\"单据上传\"\r\n centered={true}\r\n maskClosable={false}\r\n closable={false}\r\n wrapClassName={`retail-upload-mask-wrap ${totalPage > 1 ? 'isReNoNull' : ''}`}\r\n visible={visible} width={800} height={468}\r\n footer={[\r\n <Page\r\n total={totalPage}\r\n currentIndex={currentIndex}\r\n previous={this.previous}\r\n next={this.next}\r\n className='retail-upload-page'\r\n />,\r\n <div>\r\n <Button\r\n onClick={handleCancel}\r\n >\r\n 关闭\r\n </Button>\r\n <Button type=\"primary\" onClick={this.upLoad}>\r\n 上传\r\n </Button>\r\n </div>\r\n ]}>\r\n <Tabs defaultActiveKey=\"1\" onChange={this.change}>\r\n <TabPane tab={`待上传(${notUpload && notUpload.length})`} key={TAB_KEYS.NOT}>\r\n </TabPane>\r\n <TabPane tab={`上传失败(${errUpload && errUpload.length})`} key={TAB_KEYS.ERR}>\r\n </TabPane>\r\n </Tabs>\r\n <Table rowKey=\"Code\" columns={this.columns} dataSource={dataSource} />\r\n </Modal>\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-portaltouch",
3
- "version": "3.17.9",
3
+ "version": "3.17.10",
4
4
  "description": "touch protal",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {