tplus-portaltouch 3.17.21 → 3.17.25
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.
- package/dist/api/ModifyPassApi.js +1 -1
- package/dist/api/ModifyPassApi.js.map +1 -1
- package/dist/components/header/headContent.js +38 -27
- package/dist/components/header/headContent.js.map +1 -1
- package/dist/components/header/style.less +1 -1
- package/dist/components/header/uploadList.js +10 -2
- package/dist/components/header/uploadList.js.map +1 -1
- package/dist/pages/Portal/index.js +2 -2
- package/dist/pages/Portal/index.js.map +1 -1
- package/dist/pages/Portalbc/index.js +1 -1
- package/dist/pages/Portalbc/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -82,7 +82,7 @@ var Request = exports.Request = function () {
|
|
|
82
82
|
switch (_context2.prev = _context2.next) {
|
|
83
83
|
case 0:
|
|
84
84
|
_context2.next = 2;
|
|
85
|
-
return (0, _tplusApi.
|
|
85
|
+
return (0, _tplusApi.addOperatorLog)({ title: title, code: code, description: description });
|
|
86
86
|
|
|
87
87
|
case 2:
|
|
88
88
|
return _context2.abrupt('return', _context2.sent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tplus-portaltouch/api/ModifyPassApi.js"],"names":["ModifyPassApi","oldPass","newPass","param","Request","title","code","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;IAEqBA,a;;;;;;;;2GAEKC,O,EAASC,O;;;;;;AACzBC,qB,GAAQ,EAACF,gBAAD,EAAUC,gBAAV,E;;uBACD,oBAAKC,KAAL,EAAY,sCAAZ,EAAoD,KAApD,EAA2D,KAA3D,C;;;;;;;;;;;;;;;;;;;;;;;kBAJIH,a;;IASRI,O,WAAAA,O;;;;;;;;6GAEWC,K;YAAOC,I,uEAAO,E;YAAIC,W;;;;;;uBACzB,
|
|
1
|
+
{"version":3,"sources":["tplus-portaltouch/api/ModifyPassApi.js"],"names":["ModifyPassApi","oldPass","newPass","param","Request","title","code","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;IAEqBA,a;;;;;;;;2GAEKC,O,EAASC,O;;;;;;AACzBC,qB,GAAQ,EAACF,gBAAD,EAAUC,gBAAV,E;;uBACD,oBAAKC,KAAL,EAAY,sCAAZ,EAAoD,KAApD,EAA2D,KAA3D,C;;;;;;;;;;;;;;;;;;;;;;;kBAJIH,a;;IASRI,O,WAAAA,O;;;;;;;;6GAEWC,K;YAAOC,I,uEAAO,E;YAAIC,W;;;;;;uBACzB,8BAAe,EAACF,YAAD,EAAQC,UAAR,EAAcC,wBAAd,EAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAIA,oBAAK,EAAL,EAAS,qCAAT,EAAgD,KAAhD,EAAuD,KAAvD,C;;;;;;;;;;;;;;;;;;;AAEf;;;;;;;;;;;uBAEe,oBAAK,EAAL,EAAS,mCAAT,EAA8C,KAA9C,EAAqD,KAArD,C","file":"ModifyPassApi.js","sourcesContent":["import {tApi,addOperatorLog} from 'tplus-api';\r\n\r\nexport default class ModifyPassApi {\r\n\r\n static async modifyPass(oldPass, newPass) {\r\n const param = {oldPass, newPass};\r\n return await tApi(param, 'chanjet.RE.NewPos.RegisterOrLoginPOS', false, false);\r\n }\r\n\r\n}\r\n\r\nexport class Request {\r\n\r\n static async saveLogo(title, code = '', description) {\r\n return await addOperatorLog({title, code, description});\r\n }\r\n\r\n static async homeOperation() {\r\n return await tApi({}, 'chanjet.RE.NewPos.GetHomeOperations', false, false);\r\n }\r\n /**获取功能权限 */\r\n static async functionData() {\r\n return await tApi({}, 'chanjet.RE.NewPos.GetFunctionData', false, false);\r\n }\r\n}\r\n"]}
|
|
@@ -68,6 +68,7 @@ var UPLOAD_BASE_PATH = '/login';
|
|
|
68
68
|
var NETWORK_THEME_PATH = "/";
|
|
69
69
|
var weakRemindNum = 0; // 弱网提示初始值
|
|
70
70
|
var WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限
|
|
71
|
+
var isRetailDownloading = false; // 零售单是否正在下载
|
|
71
72
|
//头部时间
|
|
72
73
|
function HeadTime(props) {
|
|
73
74
|
var time = props.time,
|
|
@@ -234,7 +235,7 @@ var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) {
|
|
|
234
235
|
});
|
|
235
236
|
}
|
|
236
237
|
function setOffLine() {
|
|
237
|
-
if (offlineSys.getDataIsOffline()) {
|
|
238
|
+
if (offlineSys.getDataIsOffline() && !isRetailDownloading) {
|
|
238
239
|
offlineSys.setIsOffline(true);
|
|
239
240
|
} else {
|
|
240
241
|
_tplusComponentsTouch.Message.tip('数据还未下载完,无法切换为离线');
|
|
@@ -465,20 +466,21 @@ function RetailDownload() {
|
|
|
465
466
|
break;
|
|
466
467
|
}
|
|
467
468
|
|
|
468
|
-
_tplusComponentsTouch.Message.tip('
|
|
469
|
+
_tplusComponentsTouch.Message.tip('下载中');
|
|
469
470
|
return _context3.abrupt('return');
|
|
470
471
|
|
|
471
472
|
case 6:
|
|
472
473
|
setDownStr('0 %');
|
|
473
474
|
setIsDownload(true);
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
_context3.
|
|
475
|
+
isRetailDownloading = true;
|
|
476
|
+
_tplusComponentsTouch.Message.tip('下载中');
|
|
477
|
+
_context3.prev = 10;
|
|
478
|
+
_context3.next = 13;
|
|
477
479
|
return offlineSys.downloadCatcherData(function (e) {
|
|
478
480
|
setDownStr(e.percent + ' %');
|
|
479
481
|
});
|
|
480
482
|
|
|
481
|
-
case
|
|
483
|
+
case 13:
|
|
482
484
|
result = _context3.sent;
|
|
483
485
|
|
|
484
486
|
if (result) {
|
|
@@ -486,25 +488,26 @@ function RetailDownload() {
|
|
|
486
488
|
} else {
|
|
487
489
|
_tplusComponentsTouch.Message.error('\u6570\u636E\u4E0B\u8F7D\u5931\u8D25');
|
|
488
490
|
}
|
|
489
|
-
_context3.next =
|
|
491
|
+
_context3.next = 20;
|
|
490
492
|
break;
|
|
491
493
|
|
|
492
|
-
case
|
|
493
|
-
_context3.prev =
|
|
494
|
-
_context3.t0 = _context3['catch'](
|
|
494
|
+
case 17:
|
|
495
|
+
_context3.prev = 17;
|
|
496
|
+
_context3.t0 = _context3['catch'](10);
|
|
495
497
|
|
|
496
498
|
_tplusComponentsTouch.Message.error('数据下载失败');
|
|
497
499
|
|
|
498
|
-
case
|
|
500
|
+
case 20:
|
|
499
501
|
setDownStr('下载数据');
|
|
500
502
|
setIsDownload(false);
|
|
503
|
+
isRetailDownloading = false;
|
|
501
504
|
|
|
502
|
-
case
|
|
505
|
+
case 23:
|
|
503
506
|
case 'end':
|
|
504
507
|
return _context3.stop();
|
|
505
508
|
}
|
|
506
509
|
}
|
|
507
|
-
}, _callee3, _this2, [[
|
|
510
|
+
}, _callee3, _this2, [[10, 17]]);
|
|
508
511
|
}));
|
|
509
512
|
|
|
510
513
|
return function handleDownLoad() {
|
|
@@ -514,26 +517,34 @@ function RetailDownload() {
|
|
|
514
517
|
return _react2.default.createElement(
|
|
515
518
|
'div',
|
|
516
519
|
{ className: 'download-retail' },
|
|
520
|
+
_react2.default.createElement(DownloadBtn, { handleDownLoad: handleDownLoad, isDownload: isDownload, downStr: downStr })
|
|
521
|
+
);
|
|
522
|
+
};
|
|
523
|
+
// 下载按钮
|
|
524
|
+
var DownloadBtn = (0, _mobxReact.observer)(function (props) {
|
|
525
|
+
var downStr = props.downStr,
|
|
526
|
+
isDownload = props.isDownload,
|
|
527
|
+
handleDownLoad = props.handleDownLoad;
|
|
528
|
+
|
|
529
|
+
return _react2.default.createElement(
|
|
530
|
+
'div',
|
|
531
|
+
{ className: 'status-square online-status-bg c-pointer ' + (getIsOffNetWork() ? 'is-grey' : ''), onClick: handleDownLoad },
|
|
517
532
|
_react2.default.createElement(
|
|
518
|
-
'
|
|
519
|
-
{ className: 'status-
|
|
533
|
+
'span',
|
|
534
|
+
{ className: 'status-tog-btn' },
|
|
520
535
|
_react2.default.createElement(
|
|
521
536
|
'span',
|
|
522
|
-
{ className: '
|
|
523
|
-
_react2.default.createElement(
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
'span',
|
|
530
|
-
{ className: 'fast-upload-btn' },
|
|
531
|
-
downStr
|
|
532
|
-
)
|
|
537
|
+
{ className: '' + (isDownload ? 'isRetailDownLoading' : '') },
|
|
538
|
+
_react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: 'xiazaishuju' })
|
|
539
|
+
),
|
|
540
|
+
_react2.default.createElement(
|
|
541
|
+
'span',
|
|
542
|
+
{ className: 'fast-upload-btn' },
|
|
543
|
+
downStr
|
|
533
544
|
)
|
|
534
545
|
)
|
|
535
546
|
);
|
|
536
|
-
}
|
|
547
|
+
});
|
|
537
548
|
var releaseDate = void 0,
|
|
538
549
|
releaseVersion = void 0;
|
|
539
550
|
try {
|
|
@@ -1 +1 @@
|
|
|
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","WEAK_STANDARD_NUM","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","getIsOffNetWork","OnLineStatusToggle","isShowUploadBtnsByRouter","isResetNetWorkTheme","isOfflineCash","offlineSys","isOnLine","ModalWraper","confirm","title","content","onOk","setIsOffline","getDataIsOffline","setOffLine","switchStatus","Message","tip","color","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","isUpLoading","setIsUpLoading","refModal","showModal","current","fetch","handleOk","isUpLoad","uploadRetail","error","handleCancel","UnLoadNum","retailNotUploadNumber","display","RetailDownload","isDownload","setIsDownload","downStr","setDownStr","handleDownLoad","downloadCatcherData","e","percent","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","preventDefault","contextTypes","PropTypes","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;kBA2RwBA,W;;AA3RxB;;;;AACA;;AACA;;AACA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AAEA;;AACA;;;;IACQC,I,GAASC,U,CAATD,I;;AACR,IAAME,gBAAgB,qBAAtB;AACA,IAAMC,IAAIC,qBAAKC,SAAL,CAAe,IAAf,EAAqB,WAArB,CAAV;AACA,IAAMC,mBAAmB,QAAzB;AACA,IAAMC,qBAAqB,GAA3B;AACA,IAAIC,gBAAgB,CAApB,C,CAAsB;AACtB,IAAMC,oBAAoB,CAA1B,C,CAA6B;AAC7B;AACA,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AAAA,MACfC,IADe,GACMD,KADN,CACfC,IADe;AAAA,MACTC,UADS,GACMF,KADN,CACTE,UADS;;AAEvB,MAAIC,UAAU,KAAd;AACA,MAAMC,UAAU,OAAOH,IAAP,KAAgB,QAAhB,GAA2B,uBAAWA,IAAX,EAAiBC,UAAjB,CAA3B,GAA0DD,IAA1E;;AAHuB,kBAIe,qBAAS,uBAAWI,KAAKC,GAAL,EAAX,EAAuBJ,UAAvB,CAAT,CAJf;AAAA;AAAA,MAIhBK,WAJgB;AAAA,MAIHC,cAJG;;AAKvB,MAAIC,gBAAJ;AACA,WAASC,WAAT,GAAuB;AACrB,QAAIT,IAAJ,EAAU;AACV,KAACE,OAAD,IAAYK,eAAe,uBAAWH,KAAKC,GAAL,EAAX,EAAuBJ,UAAvB,CAAf,CAAZ;AACAO,cAAUE,WAAWD,WAAX,EAAwB,IAAxB,CAAV;AACD;AACD,wBAAU,YAAM;AACdA;AACA,WAAO,YAAM;AACXP,gBAAU,IAAV;AACAS,mBAAaH,OAAb;AACD,KAHD;AAID,GAND,EAMG,CAACF,WAAD,CANH;;AAXuB,aAkBMA,YAAYM,KAAZ,CAAkB,GAAlB,KAA0B,EAlBhC;AAAA;AAAA,MAkBhBC,QAlBgB;AAAA,MAkBNC,QAlBM;;AAoBvB,MAAIC,sBAASC,eAAb,EAA8B,OAAO,qCAAiB,EAAEF,kBAAF,EAAjB,CAAP;AAC9B,SACE;AAAA;AAAA,MAAK,WAAU,MAAf;AACGX,cACC;AAAA;AAAA;AAAMA;AAAN,KADD,GAEC;AAAA;AAAA;AACGU,cADH;AAEE;AAAA;AAAA;AAAOC;AAAP;AAFF;AAHJ,GADF;AAWD;;AAED;AACA,IAAMG,eAAe,yBAAS,UAAClB,KAAD,EAAS;AAAA,MAC7BmB,aAD6B,GACXnB,KADW,CAC7BmB,aAD6B;AAAA,MAE7BC,iBAF6B,GAEPC,sBAFO,CAE7BD,iBAF6B;;AAGrC,MAAME,eAAeF,kBAAkBE,YAAvC;AACA,MAAIC,YAAY,IAAhB;AACA,MAAIC,WAAW,MAAf;AACA,UAAQF,YAAR;AACE,SAAK,IAAL;AACEE,iBAAW,MAAX;AACA;AACF,SAAK,IAAL;AACEA,iBAAW,SAAX;AACA;AACF,SAAK,IAAL;AACED,kBAAY,KAAZ;AACAC,iBAAW,WAAX;AACA;AACF;AACE;AAZJ;AAcA,MAAMC,gBAAgB,SAAhBA,aAAgB,CAACC,OAAD,EAAUC,KAAV,EAAkB;AACtCP,sBAAkBQ,YAAlB,CAA+BF,OAA/B;AACD,GAFD;AAGA,MAAMG,WAAW,8BAAC,2BAAD;AACf,UAAML,QADS;AAEf,eAAU;AAFK,IAAjB;AAIA,SACE;AAAA;AAAA;AAAK;AAAA;AAAA,QAAM,WAAU,gBAAhB,EAAiC,OAAO,EAACM,aAAY,MAAb,EAAxC;AAA+DX,uBAAiBU;AAAhF,KAAL;AAAqG;AAAA;AAAA;AAAM,oCAAC,YAAD,IAAQ,iBAAgB,cAAxB,EAA6B,mBAAkB,cAA/C,EAAoD,oBAApD,EAAmE,SAASN,SAA5E,EAAuF,UAAUE,aAAjG;AAAN;AAArG,GADF;AAGD,CA9BoB,CAArB;AA+BA,SAASM,eAAT,GAA2B;AAAA,MACjBX,iBADiB,GACKC,sBADL,CACjBD,iBADiB;;AAEzB,SAAOA,kBAAkBE,YAAlB,KAAmC,IAA1C;AACD;AACD;AACA,IAAMU,qBAAqB,yBAAS,iBAAS;AAAA,MACnCC,wBADmC,GAC8BjC,KAD9B,CACnCiC,wBADmC;AAAA,MACTC,mBADS,GAC8BlC,KAD9B,CACTkC,mBADS;AAAA,MACYC,aADZ,GAC8BnC,KAD9B,CACYmC,aADZ;AAAA,MAEnCf,iBAFmC,GAEAC,sBAFA,CAEnCD,iBAFmC;AAAA,MAEfgB,UAFe,GAEAf,sBAFA,CAEfe,UAFe;;AAG3C,MAAMd,eAAeF,kBAAkBE,YAAvC;AACA,MAAIe,WAAWjB,kBAAkBiB,QAAjC;AACA,MAAIb,WAAW,MAAf;AACA,MAAIW,aAAJ,EAAmB;AACjB,YAAQb,YAAR;AACE,WAAK,IAAL;AACEE,mBAAW,MAAX;AACA;AACF,WAAK,IAAL;AACEA,mBAAW,SAAX;AACA;AACF,WAAK,IAAL;AACEA,mBAAW,WAAX;AACA;AACF;AACE;AAXJ;AAaA,QAAIF,iBAAiB,IAAjB,IAAyBe,QAA7B,EAAuC;AACrCC,wCAAYC,OAAZ,CAAoB;AAClBC,eAAOhD,EAAE,IAAF,CADW;AAElBiD,iBAASjD,EAAE,mBAAF,CAFS;AAGlBkD,cAAM,gBAAM;AACVN,qBAAWO,YAAX,CAAwB,IAAxB;AACD;AALiB,OAApB;AAOD;AACD,QAAIN,YAAYf,iBAAiB,IAA7B,IAAqCzB,iBAAiBC,iBAAtD,IAA2EsC,WAAWQ,gBAAX,EAA/E,EAA8G;AAC5G/C;AACAyC,wCAAYC,OAAZ,CAAoB;AAClBC,eAAOhD,EAAE,IAAF,CADW;AAElBiD,iBAASjD,EAAE,iBAAF,CAFS;AAGlBkD,cAAM,gBAAM;AACVG;AACD;AALiB,OAApB;AAOD;AACF;;AAED,WAASC,YAAT,GAAwB;AACtB,QAAIxB,iBAAiB,IAAjB,IAAyB,CAACe,QAA9B,EAAwC;AACtCU,oCAAQC,GAAR,CAAY,iBAAZ;AACA;AACD;AACDV,sCAAYC,OAAZ,CAAoB;AAChBC,aAAOhD,EAAE,IAAF,CADS;AAEhBiD,eAASjD,4CAAW6C,WAAW,GAAX,GAAiB,GAA5B,qCAFO;AAGhBK,YAAM,gBAAM;AACV,YAAIL,QAAJ,EAAc;AACZQ;AACA;AACD;AACDT,mBAAWO,YAAX,CAAwBN,QAAxB;AACD;AATe,KAApB;AAWD;AACD,WAASQ,UAAT,GAAsB;AACpB,QAAIT,WAAWQ,gBAAX,EAAJ,EAAmC;AACjCR,iBAAWO,YAAX,CAAwB,IAAxB;AACD,KAFD,MAEO;AACLI,oCAAQC,GAAR,CAAY,iBAAZ;AACD;AACF;AACD,SACE;AAAA;AAAA,MAAK,WAAU,aAAf;AACE;AAAA;AAAA,QAAK,WAAU,eAAf;AACE;AAAA;AAAA,UAAM,WAAU,gBAAhB,EAAiC,OAAO,EAACC,aAAUf,sBAAsB,MAAtB,GAA+B,EAAzC,CAAD,EAAxC;AAA0F,sCAAC,2BAAD,IAAO,MAAMV,QAAb;AAA1F;AADF,KADF;AAIIW,qBAAiBF,wBAAjB,IAA6C;AAAA;AAAA,QAAK,0DAAuDI,YAAYH,mBAAZ,GAAkC,EAAlC,GAAuC,UAA9F,CAAL;AAC7C;AAAA;AAAA,UAAM,WAAU,gBAAhB,EAAiC,SAASY,YAA1C;AACE;AAAA;AAAA;AAAOT,qBAAW,IAAX,GAAkB;AAAzB,SADF;AAEE;AAAA;AAAA;AAAO,wCAAC,2BAAD,IAAO,MAAK,eAAZ,EAA4B,WAAU,OAAtC;AAAP;AAFF,OAD6C;AAK7C;AAAC,qBAAD;AAAA,UAAS,WAAU,QAAnB,EAA4B,kBAAkB,gBAA9C,EAAgE,SAAS;AAAA;AAAA;AAAMa;AAAN,WAAzE,EAA0G,SAAQ,OAAlH;AACE;AAAA;AAAA,YAAM,WAAU,gBAAhB;AAAkC,wCAAC,2BAAD,IAAO,MAAK,SAAZ;AAAlC;AADF;AAL6C;AAJjD,GADF;AAgBD,CAjF0B,CAA3B;;AAmFA;AACA,SAASC,YAAT,GAAwB;AAAA;;AAAA,mBACsB,qBAAS,KAAT,CADtB;AAAA;AAAA,MACfC,cADe;AAAA,MACCC,iBADD;;AAAA,mBAEgB,qBAAS,KAAT,CAFhB;AAAA;AAAA,MAEfC,WAFe;AAAA,MAEFC,cAFE;;AAGtB,MAAMC,WAAW,mBAAO,IAAP,CAAjB;AACA,MAAMC;AAAA,yFAAY;AAAA;AAAA;AAAA;AAAA;AAChBD,0BAAYA,SAASE,OAAT,CAAiBC,KAAjB,EAAZ;AACAN,gCAAkB,IAAlB;;AAFgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAAA;AAAA;AAAA;AAAA,KAAN;;AAKA,MAAMO;AAAA,yFAAW;AAAA,UAAOC,QAAP,uEAAkB,KAAlB;AAAA;AAAA;AAAA;AAAA;AACfR,gCAAkB,KAAlB;;AADe,mBAEXtB,iBAFW;AAAA;AAAA;AAAA;;AAGbgB,4CAAQC,GAAR,CAAY,aAAZ;AAHa;;AAAA;AAAA,kBAMVa,QANU;AAAA;AAAA;AAAA;;AAObd,4CAAQC,GAAR,CAAY,WAAZ;AAPa;;AAAA;AAAA,mBAUXM,WAVW;AAAA;AAAA;AAAA;;AAWbP,4CAAQC,GAAR,CAAY,WAAZ;AAXa;;AAAA;AAcfO,6BAAe,IAAf;AAde;AAAA;AAAA,qBAgBPlC,uBAAOe,UAAP,CAAkB0B,YAAlB,EAhBO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAmBbf,4CAAQgB,KAAR,CAAc,MAAd;;AAnBa;AAqBfR,6BAAe,KAAf;;AArBe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAX;;AAAA;AAAA;AAAA;AAAA,KAAN;;AAwBA,MAAMS,eAAe,SAAfA,YAAe,GAAM;AACzBX,sBAAkB,KAAlB;AACD,GAFD;AAGA,SACE;AAAA;AAAA,MAAK,WAAU,eAAf;AACE;AAAA;AAAA,QAAK,WAAU,0CAAf,EAA0D,SAASI,SAAnE;AACE;AAAA;AAAA,UAAM,WAAU,gBAAhB;AACE;AAAA;AAAA,YAAM,iBAAcH,cAAc,mBAAd,GAAoC,EAAlD,CAAN;AAA+D,wCAAC,2BAAD,IAAO,MAAK,YAAZ;AAA/D,SADF;AAEE;AAAA;AAAA,YAAM,WAAU,iBAAhB;AAAA;AAAA;AAFF;AADF,KADF;AAOE,kCAAC,SAAD,OAPF;AAQE,kCAAC,oBAAD,IAAa,KAAKE,QAAlB,EAA4B,SAASJ,cAArC,EAAqD,UAAUQ,QAA/D,EAAyE,cAAcI,YAAvF;AARF,GADF;AAYD;AACD;AACA,IAAMC,YAAY,yBAAS,YAAM;AAAA,MACXC,qBADW,GACgB7C,sBADhB,CACxBe,UADwB,CACX8B,qBADW;;AAE/B,SAAO;AAAA;AAAA,MAAM,OAAO,EAACC,SAASD,wBAAwB,CAAxB,GAA4B,SAA5B,GAAwC,MAAlD,EAAb,EAAwE,WAAU,cAAlF;AAAkGA,4BAAwB,EAAxB,GAA6B,KAA7B,GAAqCA;AAAvI,GAAP;AACD,CAHiB,CAAlB;AAIA;AACA,SAASE,cAAT,GAA0B;AAAA;;AAAA,MACjBhC,UADiB,GACHf,sBADG,CACjBe,UADiB;;AAAA,mBAEY,qBAAS,KAAT,CAFZ;AAAA;AAAA,MAEjBiC,UAFiB;AAAA,MAELC,aAFK;;AAAA,mBAGM,qBAAS,MAAT,CAHN;AAAA;AAAA,MAGjBC,OAHiB;AAAA,MAGRC,UAHQ;;AAIxB,MAAMC;AAAA,yFAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACjB1C,iBADiB;AAAA;AAAA;AAAA;;AAEnBgB,4CAAQC,GAAR,CAAY,aAAZ;AAFmB;;AAAA;AAAA,mBAKjBqB,UALiB;AAAA;AAAA;AAAA;;AAMnBtB,4CAAQC,GAAR,CAAY,OAAZ;AANmB;;AAAA;AASrBwB,yBAAW,KAAX;AACAF,4BAAc,IAAd;AACAvB,4CAAQC,GAAR,CAAY,OAAZ;AAXqB;AAAA;AAAA,qBAaAZ,WAAWsC,mBAAX,CAA+B,aAAK;AACrDF,2BAAWG,EAAEC,OAAF,GAAY,IAAvB;AACD,eAFkB,CAbA;;AAAA;AAafC,oBAbe;;AAgBnB,kBAAIA,MAAJ,EAAY;AACV9B,8CAAQ+B,OAAR;AACD,eAFD,MAEO;AACL/B,8CAAQgB,KAAR;AACD;AApBkB;AAAA;;AAAA;AAAA;AAAA;;AAsBnBhB,4CAAQgB,KAAR,CAAc,QAAd;;AAtBmB;AAwBrBS,yBAAW,MAAX;AACAF,4BAAc,KAAd;;AAzBqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAjB;;AAAA;AAAA;AAAA;AAAA,KAAN;AA2BA,SACE;AAAA;AAAA,MAAK,WAAU,iBAAf;AACE;AAAA;AAAA,QAAK,WAAU,0CAAf,EAA0D,SAASG,cAAnE;AACE;AAAA;AAAA,UAAM,WAAU,gBAAhB;AACE;AAAA;AAAA,YAAM,iBAAcJ,aAAa,qBAAb,GAAqC,EAAnD,CAAN;AAAgE,wCAAC,2BAAD,IAAO,MAAK,aAAZ;AAAhE,SADF;AAEE;AAAA;AAAA,YAAM,WAAU,iBAAhB;AAAmCE;AAAnC;AAFF;AADF;AADF,GADF;AAUD;AACD,IAAIQ,oBAAJ;AAAA,IAAiBC,uBAAjB;AACA,IAAI;AACFD,gBAAcE,gBAAd;AACAD,mBAAiBE,gBAAjB;AACD,CAHD,CAGE,OAAOnB,KAAP,EAAc;AACdgB,gBAAc,EAAd;AACAC,mBAAiB,EAAjB;AACD;AACc,SAAS5F,WAAT,CAAqBY,KAArB,EAA4BmF,OAA5B,EAAqC;AAClD,MAAMC,aAAa,CAACC,uBAAO,EAAR,EAAYrE,QAAZ,KAAyB,UAA5C;AADkD,4BAG2ChB,KAH3C,CAE3CsF,YAF2C;AAAA,MAE3CA,YAF2C,uCAE5B,EAF4B;AAAA,yBAG2CtF,KAH3C,CAExBuF,SAFwB;AAAA,MAExBA,SAFwB,oCAEZ,EAFY;AAAA,MAERC,OAFQ,GAG2CxF,KAH3C,CAERwF,OAFQ;AAAA,MAECC,IAFD,GAG2CzF,KAH3C,CAECyF,IAFD;AAAA,MAEOtE,aAFP,GAG2CnB,KAH3C,CAEOmB,aAFP;AAAA,qBAG2CnB,KAH3C,CAEsB0F,KAFtB;AAAA,MAEsBA,KAFtB,gCAE8B,EAF9B;AAAA,MAEkCC,OAFlC,GAG2C3F,KAH3C,CAEkC2F,OAFlC;AAAA,0BAG2C3F,KAH3C,CAGhDE,UAHgD;AAAA,MAGhDA,UAHgD,qCAGnCX,aAHmC;AAAA,MAGpBqG,IAHoB,GAG2C5F,KAH3C,CAGpB4F,IAHoB;AAAA,MAGd3F,IAHc,GAG2CD,KAH3C,CAGdC,IAHc;AAAA,MAGR4F,QAHQ,GAG2C7F,KAH3C,CAGR6F,QAHQ;AAAA,MAGEC,OAHF,GAG2C9F,KAH3C,CAGE8F,OAHF;AAAA,oBAG2C9F,KAH3C,CAGW+F,IAHX;AAAA,MAGWA,IAHX,+BAGkB,EAHlB;AAAA,MAGsBC,OAHtB,GAG2ChG,KAH3C,CAGsBgG,OAHtB;AAAA,MAG+BC,QAH/B,GAG2CjG,KAH3C,CAG+BiG,QAH/B;;AAAA,oBAIV,qBAAS,KAAT,CAJU;AAAA;AAAA,MAI3CC,YAJ2C;AAAA,MAI7BC,eAJ6B;;AAAA,oBAKc,qBAASC,OAAOH,QAAP,CAAgBI,IAAhB,CAAqBC,OAArB,CAA6B3G,gBAA7B,IAAiD,CAA1D,CALd;AAAA;AAAA,MAK3CsC,wBAL2C;AAAA,MAKjBsE,2BALiB;;AAAA,oBAMI,qBAASH,OAAOH,QAAP,CAAgBO,QAAhB,KAA6B5G,kBAAtC,CANJ;AAAA;AAAA,MAM3CsC,mBAN2C;AAAA,MAMtBuE,sBANsB;;AAOlDzG,QAAM2F,OAAN,CAAce,MAAd,CAAqB,iBAAS;AAC5BD,2BAAuBE,MAAMH,QAAN,KAAmB5G,kBAA1C;AACA2G,gCAA4BI,MAAMH,QAAN,CAAeF,OAAf,CAAuB3G,gBAAvB,IAA2C,CAAvE;AACD,GAHD;AAIA,MAAMwC,gBAAgB,gCAAY,eAAZ,MAAiC,GAAvD;AACA,MAAMyE,YAAY,EAACZ,gBAAD,EAAlB;AACA,MAAMa,QACJ;AAAC,cAAD;AAAUD,aAAV;AACGb,SAAKe,GAAL,CAAS,UAACC,IAAD,EAAOC,CAAP;AAAA,aACR;AAAC,YAAD;AAAA,UAAM,KAAKD,KAAKE,GAAL,IAAYD,CAAvB;AACGD,aAAKG,IAAL,IAAa,8BAAC,2BAAD,IAAO,MAAMH,KAAKG,IAAlB,GADhB;AAEE;AAAA;AAAA;AAAOH,eAAKvE;AAAZ;AAFF,OADQ;AAAA,KAAT;AADH,GADF;;AAWA,MAAM2E,gBAAgB,CACpB,EAACC,MAAM,SAAP,EAAkBzF,OAAO,KAAzB,EADoB,EAEpB;AACEyF,UAAM,YADR;AAEEzF,WAAO,OAFT;AAGE0F,iBAAa,qBAACN,IAAD,EAAU;AACrB,aAAOzE,kCAAYC,OAAZ,CAAoB;AACzB+E,mBAAW,qBADc;AAEzB9E,eAAO,MAFkB;AAGzBC,iBAAS,YAHgB;AAInBC,YAJmB,kBAIZ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AACX6E,kDAAQC,IAAR,CAAa;AACXF,iCAAW,mBADA;AAEXG,4BAAM;AAAA;AAAA,0BAAK,WAAU,gBAAf;AACJ,sDAAC,0BAAD,IAAM,OAAO,GAAb,EAAkB,MAAK,OAAvB,EAA+B,aAA/B,GADI;AAEJ;AAAA;AAAA;AAAA;AAAA;AAFI,uBAFK;AAMXC,6BAAO;AANI,qBAAb;AAQAvC,4BAAQwC,UAAR,CAAmBC,YAAnB,CAAgC,WAAhC;AATW;AAAA;AAAA,2BAWHC,eAAKC,MAAL,CAAY,YAAM;AACtBnH,iCAAW,YAAM;AACfoH,iDAASC,QAAT,CAAkBjB,KAAKpF,KAAvB;AACD,uBAFD,EAEG,GAFH,EADsB,CAGb;AACV,qBAJK,CAXG;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAiBTkG,mCAAKI,KAAL;AACAC,+CAAWC,MAAX,CAAkB,MAAlB;AACAxH,+BAAW,YAAM;AACfoH,+CAASC,QAAT,CAAkBjB,KAAKpF,KAAvB;AACD,qBAFD,EAEG,GAFH;;AAnBS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBZ;AA3BwB,OAApB,CAAP;AA6BD;AAjCH,GAFoB,CAAtB;;AAuCA,MAAMyG,YAAY,SAAZA,SAAY,CAACC,KAAD,EAAW;AAC3B,QAAMC,WAAW,IAAIC,MAAJ,CAAW,yEAAX,CAAjB;AACA,QAAMC,UAAUF,SAASG,IAAT,CAAcJ,KAAd,CAAhB;;AAEA,QAAIG,OAAJ,EAAa;AACX,aAAOH,MAAMxH,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAP;AACD;AACD,WAAOwH,KAAP;AACD,GARD;;AAUA,MAAMK,oBAAoB,SAApBA,iBAAoB,GAAM;AAAA,gBACF1H,yBAAY,EADV;AAAA,QACtB2H,eADsB,SACtBA,eADsB;;AAE9B,QAAI,CAAC,CAACA,eAAN,EAAuB;AACvB,QAAIC,OAAOC,SAASC,sBAAT,CAAgC,6BAAhC,CAAX;AACA,QAAIC,QAAQF,SAASG,cAAT,CAAwB,cAAxB,CAAZ;AACA,QAAID,KAAJ,EAAWpI,WAAW,YAAM;AAAE,UAAIiI,QAAQA,KAAKK,MAAL,GAAc,CAA1B,EAA6B;AAAEC,gBAAQC,GAAR,CAAY,4BAAZ,EAA0CJ,MAAMK,KAAN;AAAe;AAAE,KAA7G,EAA+G,GAA/G;AACZ,GAND;;AAQA,MAAMC,aAAa,SAAbA,UAAa,CAACC,MAAD,EAAY;AAC7BnD,oBAAgBmD,MAAhB;AACD,GAFD;;AAIA,MAAMC,WAAW,gCAAY,UAAZ,CAAjB;AACA,MAAMC,iDAA8C,CAAC3D,QAAD,GAAY,eAAZ,GAA8B,EAA5E,CAAN;AACA,MAAM4D,eAAe;AAAA;AAAA,MAAK,WAAU,yBAAf;AACnB;AAAA;AAAA,QAAI,WAAU,eAAd;AAA+BnE;AAA/B,KADmB;AAEnB;AAAA;AAAA,QAAI,WAAU,YAAd;AAA4BE;AAA5B;AAFmB,GAArB;;AAKA,MAAMkE,kBAAkB;AAAA;AAAA,MAAK,WAAU,sBAAf;AACrBvC,kBAAcL,GAAd,CAAkB;AAAA,aAAK,8BAAC,2BAAD;AACtB,cAAM6C,EAAEvC,IADc;AAEtB,aAAKuC,EAAEvC,IAFe;AAGtB,iBAAS,mBAAM;AACb,cAAIW,wBAAJ,EAAc;AAAA,gBACLV,WADK,GACUsC,CADV,CACLtC,WADK;;AAEZ,gBAAIA,WAAJ,EAAiB;AACf,qBAAOA,YAAYsC,CAAZ,CAAP;AACD;AACD5B,qCAASC,QAAT,CAAkB2B,EAAEhI,KAApB;AACA,gBAAI,OAAO+G,iBAAP,IAA4B,UAAhC,EAA4C;AAC1CA;AACD;AACF;AACF;AAdqB,QAAL;AAAA,KAAlB;AADqB,GAAxB;;AAmBA,MAAI1H,sBAASC,eAAb,EAA8B,OAAO,wCAAoB,EAAEyE,YAAF,EAASV,8BAAT,EAAyBD,wBAAzB;AACvD9E,cADuD,EACjDC,sBADiD,EACrCuF,UADqC,EAC/B1F,kBAD+B,EACrB2J,gCADqB,EACJzD,kBADI,EACMN,gBADN,EACe0D,sBADf,EAC2BnD,0BAD3B,EACyCL,kBADzC,EACmDC,gBADnD,EAApB,CAAP;;AAG9B,SAAQ;AAAA;AAAA,MAAK,gCAAQ3B,SAAS,cAAjB,EAAiCyF,OAAO,MAAxC,EAAgDC,QAAQ,MAAxD,IAAmEnE,KAAnE,CAAL,EAAgF,WAAU,cAA1F,EAAyG,gBAAiBV,cAAjB,SAAmCD,WAA5I;AACN;AAAA;AAAA,QAAK,WAAU,mBAAf;AACG,OAAC,CAACU,IAAF,IAAU;AAAA;AAAA,UAAK,WAAU,eAAf,EAA+B,SAAS,mBAAI;AAACE,oBAAQmE,OAAR,CAAgB,GAAhB;AAAqB,WAAlE;AAAqErE;AAArE,OADb;AAEG,OAAC,CAACF,SAAF,IAAe;AAAC,qBAAD;AAAA,UAAS,SAAQ,OAAjB,EAAyB,WAAU,aAAnC,EAAiD,OAAOkE,YAAxD,EAAsE,OAAO,MAA7E,EAAqF,kBAAiB,mBAAtG;AACd;AAAA;AAAA,YAAK,WAAU,YAAf;AAA6BlE,mBAA7B;AAAuC,+CAAG,WAAU,sBAAb;AAAvC;AADc,OAFlB;AAME,oCAAC,kBAAD,IAAoB,0BAA0BtD,wBAA9C,EAAwE,qBAAqBC,mBAA7F,EAAkH,eAAeC,aAAjI,GANF;AAOGA,uBAAiBF,wBAAjB,IAA6C,8BAAC,YAAD,OAPhD;AAQGE,uBAAiBF,wBAAjB,IAA6C,8BAAC,cAAD;AARhD,KADM;AAWLmD,kBAAcsE,eAXT;AAYN;AAAA;AAAA,QAAK,WAAU,oBAAf;AACG,OAAC5D,OAAD,IAAY,8BAAC,2BAAD,IAAO,MAAK,QAAZ,EAAqB,4BAAyB,CAACD,QAAD,GAAY,UAAZ,GAAyB,EAAlD,CAArB,EAA8E,SAAS,mBAAM;AAACwD,qBAAW,IAAX;AAAiB,SAA/G,GADf;AAEG,OAACvD,OAAD,IAAY,CAAC,CAACyD,QAAd,IAA0B;AAAC,sBAAD;AAAA;AACzB,4BAAkBC,gBADO;AAEzB,mBAAS,CAAC,OAAD,CAFgB;AAGzB,mBAAS3C,KAHgB;AAIzB,qBAAU,aAJe;AAKzB;AALyB;AAOzB;AAAA;AAAA,YAAK,WAAU,4BAAf,EAA4C,SAAS;AAAA,qBAAKlC,EAAEoF,cAAF,EAAL;AAAA,aAArD;AACE;AAAA;AAAA,cAAK,WAAU,iBAAf;AACE;AAAA;AAAA,gBAAG,WAAU,QAAb;AAAA;AAA0B;AAAA;AAAA;AAAO3B,0BAAUmB,QAAV;AAAP;AAA1B;AADF,WADF;AAIE,+CAAG,WAAU,sBAAb;AAJF;AAPyB,OAF7B;AAgBG,OAACzD,OAAD,IAAY;AAAA;AAAA,UAAK,WAAU,iBAAf;AAAkCF;AAAlC,OAhBf;AAiBE,oCAAC,QAAD,IAAU,MAAM3F,IAAhB,EAAsB,YAAYC,UAAlC;AAjBF,KAZM;AA+BN,kCAAC,oBAAD;AACI,eAASgG,YADb;AAEI,kBAAYlF,sBAASC,eAFzB;AAGI,gBAAU4E,QAHd;AAII,eAAS,iBAACyD,MAAD;AAAA,eAAYD,WAAWC,MAAX,CAAZ;AAAA;AAJb;AA/BM,GAAR;AAsCD;;AAEDlK,YAAY4K,YAAZ,GAA2B;AACzBrC,cAAYsC,oBAAUC;AADG,CAA3B","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\nconst WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限\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\nfunction getIsOffNetWork() {\r\n const { networkCheckStore } = stores;\r\n return networkCheckStore.networkState === '离线';\r\n}\r\n//头部联网状态\r\nconst OnLineStatusToggle = observer(props => {\r\n const { isShowUploadBtnsByRouter, isResetNetWorkTheme, isOfflineCash } = props;\r\n const { networkCheckStore , offlineSys } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let isOnLine = networkCheckStore.isOnLine;\r\n let iconName = 'WiFi';\r\n if (isOfflineCash) {\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 iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (networkState === '离线' && isOnLine) {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('网络已断,是否切换到离线收银模式?'),\r\n onOk: () => {\r\n offlineSys.setIsOffline(true);\r\n }\r\n });\r\n }\r\n if (isOnLine && networkState === '弱网' && weakRemindNum <= WEAK_STANDARD_NUM && offlineSys.getDataIsOffline()) {\r\n weakRemindNum ++;\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('当前网络不好,是否切换到离线?'),\r\n onOk: () => {\r\n setOffLine();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function switchStatus() {\r\n if (networkState === '离线' && !isOnLine) {\r\n Message.tip('当前无网络,无法切换为在线状态');\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\r\n onOk: () => {\r\n if (isOnLine) {\r\n setOffLine();\r\n return;\r\n }\r\n offlineSys.setIsOffline(isOnLine);\r\n }\r\n });\r\n }\r\n function setOffLine() {\r\n if (offlineSys.getDataIsOffline()) {\r\n offlineSys.setIsOffline(true);\r\n } else {\r\n Message.tip('数据还未下载完,无法切换为离线');\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 { isOfflineCash && isShowUploadBtnsByRouter && <div className={`status-square c-pointer online-status-bg ${isOnLine || isResetNetWorkTheme ? '' : 'off-line'}`}>\r\n <span className=\"status-tog-btn\" onClick={switchStatus}>\r\n <span>{isOnLine ? '在线' : '离线'}</span>\r\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\"/>}</span>\r\n </span>\r\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<pre>{OFFLINE_POINT_DESC}</pre>} 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 (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以上传单据');\r\n return;\r\n }\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 // Message.success('零售单上传成功');\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 [downStr, setDownStr] = useState('下载数据');\r\n const handleDownLoad = async () => {\r\n if (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以下载单据');\r\n return;\r\n }\r\n if (isDownload) {\r\n Message.tip('下载中……');\r\n return;\r\n }\r\n setDownStr('0 %');\r\n setIsDownload(true);\r\n Message.tip('下载中……');\r\n try {\r\n let result = await offlineSys.downloadCatcherData(e => {\r\n setDownStr(e.percent + ' %');\r\n });\r\n if (result) {\r\n Message.success(`数据下载成功`);\r\n } else {\r\n Message.error(`数据下载失败`);\r\n }\r\n } catch(err){\r\n Message.error('数据下载失败');\r\n }\r\n setDownStr('下载数据');\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\">{downStr}</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 isOfflineCash = PosInitData('IsOfflineCash') === \"1\";\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} isOfflineCash={isOfflineCash}/>\r\n {isOfflineCash && isShowUploadBtnsByRouter && <RetailUpload/>}\r\n {isOfflineCash && 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","WEAK_STANDARD_NUM","isRetailDownloading","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","getIsOffNetWork","OnLineStatusToggle","isShowUploadBtnsByRouter","isResetNetWorkTheme","isOfflineCash","offlineSys","isOnLine","ModalWraper","confirm","title","content","onOk","setIsOffline","getDataIsOffline","setOffLine","switchStatus","Message","tip","color","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","isUpLoading","setIsUpLoading","refModal","showModal","current","fetch","handleOk","isUpLoad","uploadRetail","error","handleCancel","UnLoadNum","retailNotUploadNumber","display","RetailDownload","isDownload","setIsDownload","downStr","setDownStr","handleDownLoad","downloadCatcherData","e","percent","result","success","DownloadBtn","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","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\nconst WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限\r\nlet isRetailDownloading = false; // 零售单是否正在下载\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\nfunction getIsOffNetWork() {\r\n const { networkCheckStore } = stores;\r\n return networkCheckStore.networkState === '离线';\r\n}\r\n//头部联网状态\r\nconst OnLineStatusToggle = observer(props => {\r\n const { isShowUploadBtnsByRouter, isResetNetWorkTheme, isOfflineCash } = props;\r\n const { networkCheckStore , offlineSys } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let isOnLine = networkCheckStore.isOnLine;\r\n let iconName = 'WiFi';\r\n if (isOfflineCash) {\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 iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (networkState === '离线' && isOnLine) {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('网络已断,是否切换到离线收银模式?'),\r\n onOk: () => {\r\n offlineSys.setIsOffline(true);\r\n }\r\n });\r\n }\r\n if (isOnLine && networkState === '弱网' && weakRemindNum <= WEAK_STANDARD_NUM && offlineSys.getDataIsOffline()) {\r\n weakRemindNum ++;\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('当前网络不好,是否切换到离线?'),\r\n onOk: () => {\r\n setOffLine();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function switchStatus() {\r\n if (networkState === '离线' && !isOnLine) {\r\n Message.tip('当前无网络,无法切换为在线状态');\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\r\n onOk: () => {\r\n if (isOnLine) {\r\n setOffLine();\r\n return;\r\n }\r\n offlineSys.setIsOffline(isOnLine);\r\n }\r\n });\r\n }\r\n function setOffLine() {\r\n if (offlineSys.getDataIsOffline() && !isRetailDownloading) {\r\n offlineSys.setIsOffline(true);\r\n } else {\r\n Message.tip('数据还未下载完,无法切换为离线');\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 { isOfflineCash && isShowUploadBtnsByRouter && <div className={`status-square c-pointer online-status-bg ${isOnLine || isResetNetWorkTheme ? '' : 'off-line'}`}>\r\n <span className=\"status-tog-btn\" onClick={switchStatus}>\r\n <span>{isOnLine ? '在线' : '离线'}</span>\r\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\"/>}</span>\r\n </span>\r\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<pre>{OFFLINE_POINT_DESC}</pre>} 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 (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以上传单据');\r\n return;\r\n }\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 // Message.success('零售单上传成功');\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 [downStr, setDownStr] = useState('下载数据');\r\n const handleDownLoad = async () => {\r\n if (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以下载单据');\r\n return;\r\n }\r\n if (isDownload) {\r\n Message.tip('下载中');\r\n return;\r\n }\r\n setDownStr('0 %');\r\n setIsDownload(true);\r\n isRetailDownloading = true;\r\n Message.tip('下载中');\r\n try {\r\n let result = await offlineSys.downloadCatcherData(e => {\r\n setDownStr(e.percent + ' %');\r\n });\r\n if (result) {\r\n Message.success(`数据下载成功`);\r\n } else {\r\n Message.error(`数据下载失败`);\r\n }\r\n } catch(err){\r\n Message.error('数据下载失败');\r\n }\r\n setDownStr('下载数据');\r\n setIsDownload(false);\r\n isRetailDownloading = false;\r\n };\r\n return (\r\n <div className='download-retail'>\r\n <DownloadBtn handleDownLoad={handleDownLoad} isDownload={isDownload} downStr={downStr}/>\r\n </div>\r\n );\r\n};\r\n// 下载按钮\r\nconst DownloadBtn = observer((props) => {\r\n const { downStr, isDownload, handleDownLoad} = props;\r\n return (\r\n <div className={`status-square online-status-bg c-pointer ${getIsOffNetWork() ? 'is-grey' : ''}`} 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\">{downStr}</span>\r\n </span>\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 isOfflineCash = PosInitData('IsOfflineCash') === \"1\";\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} isOfflineCash={isOfflineCash}/>\r\n {isOfflineCash && isShowUploadBtnsByRouter && <RetailUpload/>}\r\n {isOfflineCash && 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"]}
|
|
@@ -209,6 +209,14 @@ var Aset = function (_React$Component) {
|
|
|
209
209
|
var pageSize = this.pageSize;
|
|
210
210
|
var dataSource = data.slice((currentIndex - 1) * pageSize, currentIndex * pageSize);
|
|
211
211
|
var totalPage = Math.ceil(data.length / pageSize);
|
|
212
|
+
var tabLeftText = '待上传',
|
|
213
|
+
tabRightText = '上传失败';
|
|
214
|
+
if (notUpload && notUpload.length) {
|
|
215
|
+
tabLeftText += '\uFF08' + notUpload.length + '\uFF09';
|
|
216
|
+
}
|
|
217
|
+
if (errUpload && errUpload.length) {
|
|
218
|
+
tabRightText += '\uFF08' + errUpload.length + '\uFF09';
|
|
219
|
+
}
|
|
212
220
|
return _react2.default.createElement(
|
|
213
221
|
_antd.Modal,
|
|
214
222
|
{ title: '\u5355\u636E\u4E0A\u4F20',
|
|
@@ -243,8 +251,8 @@ var Aset = function (_React$Component) {
|
|
|
243
251
|
_react2.default.createElement(
|
|
244
252
|
_antd.Tabs,
|
|
245
253
|
{ onChange: this.change },
|
|
246
|
-
_react2.default.createElement(TabPane, { tab:
|
|
247
|
-
_react2.default.createElement(TabPane, { tab:
|
|
254
|
+
_react2.default.createElement(TabPane, { tab: tabLeftText, key: TAB_KEYS.NOT }),
|
|
255
|
+
_react2.default.createElement(TabPane, { tab: tabRightText, key: TAB_KEYS.ERR })
|
|
248
256
|
),
|
|
249
257
|
_react2.default.createElement(_antd.Table, {
|
|
250
258
|
locale: { emptyText: this.getEmptyText() },
|
|
@@ -1 +1 @@
|
|
|
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","getEmptyText","buttonVisible","stores","offlineSys","getRetailNotUpload","console","warn","visible","handleCancel","notUpload","errUpload","dataSource","slice","totalPage","Math","ceil","emptyText","React","Component"],"mappings":"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
|
|
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","getEmptyText","buttonVisible","stores","offlineSys","getRetailNotUpload","console","warn","visible","handleCancel","notUpload","errUpload","dataSource","slice","totalPage","Math","ceil","tabLeftText","tabRightText","emptyText","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, ProgressState } 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 getEmptyText = () => {\r\n\t\treturn <ProgressState\r\n\t\t\tstate={\"empty\"}\r\n stateCommonStyle={{ 'marginTop': \"36px\" }}\r\n\t\t\tempty={{ buttonVisible: false }} />;\r\n\t}\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 let tabLeftText = '待上传', tabRightText = '上传失败';\r\n if (notUpload && notUpload.length) {\r\n tabLeftText += `(${notUpload.length})`;\r\n }\r\n if (errUpload && errUpload.length) {\r\n tabRightText += `(${errUpload.length})`;\r\n }\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 ? 'hasPage' : ''} ${data.length === 0 ? 'isReNull' : ''}`}\r\n visible={visible} width={800} height={468}\r\n footer={[\r\n <Page\r\n key=\"retail-list-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 key=\"footBtns\">\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 onChange={this.change}>\r\n <TabPane tab={tabLeftText} key={TAB_KEYS.NOT}>\r\n </TabPane>\r\n <TabPane tab={tabRightText} key={TAB_KEYS.ERR}>\r\n </TabPane>\r\n </Tabs>\r\n <Table \r\n\t\t\t locale={{emptyText: this.getEmptyText()}}\r\n pagination={false}\r\n rowKey=\"Code\"\r\n columns={this.columns} dataSource={dataSource} />\r\n </Modal>\r\n }\r\n}"]}
|
|
@@ -299,7 +299,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C
|
|
|
299
299
|
functionData = _ModifyPassApi.Request.functionData;
|
|
300
300
|
|
|
301
301
|
_tplusComponentsTouch.Loading.show({
|
|
302
|
-
text: '
|
|
302
|
+
text: '首页权限加载中',
|
|
303
303
|
delay: 2500
|
|
304
304
|
});
|
|
305
305
|
homeOperation().then(function (operations) {
|
|
@@ -347,7 +347,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
_tplusComponentsTouch.Loading.show({
|
|
350
|
-
text: '
|
|
350
|
+
text: '离线数据下载中',
|
|
351
351
|
delay: 2500
|
|
352
352
|
});
|
|
353
353
|
_context3.next = 6;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tplus-portaltouch/pages/Portal/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","observer","props","state","id","Date","now","operations","showModal","frameUrl","isVerticalTouch","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","FuPingIsLoaded","leftMenu","Menus","centerLeftMenu","centerRightMenu","rightMenu","catchOfflineData","getOperation","context","headHook","removeClass","getScreenType","window","sunMi_PresentationManager","sendMessageToSecondScreen","step","nativeMs","setIpcRendererMethod","item","e","history","push","path","screenHeight","screen","availHeight","htmlContent","handelClick","height","paddingLeft","paddingRight","createLeftNode","createCenterNode","createRightNode","closeFrameModal","Component","propTypes","routes","PropTypes","array","contextTypes","stores","object","infoRender","func","resolve","reject","portalStore","addClass","homeOperation","Request","functionData","Loading","show","text","delay","then","localStore","set","setState","hide","catch","err","console","log","data","setStore","initSetParams","sunMiPresentationInit","ret","open","getTime","offlineSys","isLoginAfter","get","downloadCatcherData","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","secondScreenLoadUrl","setItem","setTimeout","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","flag","Name","length","shift","Value","saveLog","name","saveLogo","undefined","values","type","key","isModal","title","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","ModalWraper","warning","content","onOk","User","logout","okType","shouldOpenHomeOperation","Message","warn","modalRouter","width","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","toTplusPage","getTplusUrlFromCloudServer","userStore","restore","cloudUrl","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","sid","tplusUrl","tplusinnersite","msg","okText","dsearchPlanID","getSearchPlanId","substring","baseUrl","ossjumpUrl","user","loginInfo","options","pwd","userName","tplusEncode","UserCode","accNum","AccountNum","menu","posCode","storeID","fromUrl","android_CommonFun","openWebUrlByOutBrowser","useDefaultBrowser","closed","postMessage","searchPlanID","code","c","String","fromCharCode","charCodeAt","i","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","replace","utftext","n","operationControl","forEach","v","sub","menuNode","map","container","style","className","disabled","bind","label","icon","menuLeftNode","menuRightNode","node"],"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:35:59\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\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\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 frameUrl: ''\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi } = 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\r\n //首页布局\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu } = Menus;\r\n this.leftMenu = leftMenu;\r\n this.centerLeftMenu = centerLeftMenu;\r\n this.centerRightMenu = centerRightMenu;\r\n this.rightMenu = rightMenu;\r\n }\r\n\r\n async componentWillMount () {\r\n await this.catchOfflineData();\r\n await this.getOperation();\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 });\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 })\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 });\r\n await offlineSys.downloadCatcherData();\r\n Loading.hide();\r\n localStore.set(\"isLoginAfter\",0)\r\n }\r\n }\r\n\r\n\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) =>{\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n\r\n\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\t\t\t\t\twindow.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n }\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 //副屏幕交互。硬件改动20200428\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, title, Name, search } = values;\r\n let { tmenuCode } = values;\r\n const { operations } = 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 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(\"进入前台收银检查是否当班返回错误\");\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 if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(type, MenuCode, search);\r\n } else {\r\n this.toTplusPage(type, tmenuCode, search);\r\n }\r\n } else {\r\n history.push(`/${type}`);\r\n }\r\n break;\r\n }\r\n };\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let cloudUrl = 'http://tfproxy.chanjet.com/?url=';\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${cloudUrl}` + 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 //跳转到T+\r\n toTplusPage = async (type, tmenuCode, search) => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = PosInitData(\"TplusSite\");\r\n let tplusinnersite = PosInitData(\"tplusinnersite\");\r\n tplusUrl = tplusUrl ? tplusUrl : tplusinnersite;\r\n if (!tplusUrl && !sid && this.hasElectron === true) {//软件包,并且electron读取electron配置的地址\r\n tplusUrl = location.origin + \"/tplus\";\r\n }\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;\r\n }\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 if (tplusUrl.substring(tplusUrl.length - 1) !== '/')\r\n tplusUrl += '/';\r\n let baseUrl = tplusUrl;\r\n // if(!isProxy){\r\n // tplusUrl = targetUrl;\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 { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n let pwd = user.options.get(\"password\");\r\n let userName = this.tplusEncode(loginInfo.UserCode);\r\n let accNum = this.tplusEncode(loginInfo.AccountNum);\r\n let menu = this.tplusEncode(tmenuCode)\r\n let posCode = this.tplusEncode(loginInfo.posCode);\r\n let storeID = this.tplusEncode(loginInfo.storeID + \"\");\r\n pwd = this.tplusEncode(pwd);\r\n let fromUrl = this.tplusEncode(location.origin);\r\n ossjumpUrl += `&fromApp=nretail&user=${userName}&pwd=${pwd}&accNum=${accNum}&menu=${menu}&posCode=${posCode}&storeID=${storeID}&fromUrl=${fromUrl}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n if(this.isHorizontalSunMi){\r\n window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n }else if (this.hasElectron === true) {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n }\r\n else if (this.isMobileEnvironment) {\r\n this.setState({ showModal: true, frameUrl: ossjumpUrl })\r\n }\r\n else {\r\n if (!tplusWindow || tplusWindow.closed) {\r\n tplusWindow = window.open(ossjumpUrl, \"tplus\", \"location=no\");\r\n } else {\r\n tplusWindow.postMessage({ tmenuCode, searchPlanID: dsearchPlanID, ossjumpUrl }, baseUrl);\r\n window.open(\"\", \"tplus\", \"location=no\");\r\n }\r\n }\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 console.log(operations, 11111)\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 return (<div\r\n className={`member-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={`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 leftMenu = this.centerLeftMenu;\r\n const rightMenu = this.centerRightMenu;\r\n const menuLeftNode = leftMenu.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 = 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={`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 menu = this.rightMenu;\r\n const node = menu.map((v, i) => {\r\n return (<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, frameUrl } = 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 if (this.isHorizontalSunMi) {\r\n // htmlContent = <HorizontalSunMiPortal 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 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={frameUrl} 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/Portal/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","observer","props","state","id","Date","now","operations","showModal","frameUrl","isVerticalTouch","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","FuPingIsLoaded","leftMenu","Menus","centerLeftMenu","centerRightMenu","rightMenu","catchOfflineData","getOperation","context","headHook","removeClass","getScreenType","window","sunMi_PresentationManager","sendMessageToSecondScreen","step","nativeMs","setIpcRendererMethod","item","e","history","push","path","screenHeight","screen","availHeight","htmlContent","handelClick","height","paddingLeft","paddingRight","createLeftNode","createCenterNode","createRightNode","closeFrameModal","Component","propTypes","routes","PropTypes","array","contextTypes","stores","object","infoRender","func","resolve","reject","portalStore","addClass","homeOperation","Request","functionData","Loading","show","text","delay","then","localStore","set","setState","hide","catch","err","console","log","data","setStore","initSetParams","sunMiPresentationInit","ret","open","getTime","offlineSys","isLoginAfter","get","downloadCatcherData","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","secondScreenLoadUrl","setItem","setTimeout","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","flag","Name","length","shift","Value","saveLog","name","saveLogo","undefined","values","type","key","isModal","title","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","ModalWraper","warning","content","onOk","User","logout","okType","shouldOpenHomeOperation","Message","warn","modalRouter","width","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","toTplusPage","getTplusUrlFromCloudServer","userStore","restore","cloudUrl","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","sid","tplusUrl","tplusinnersite","msg","okText","dsearchPlanID","getSearchPlanId","substring","baseUrl","ossjumpUrl","user","loginInfo","options","pwd","userName","tplusEncode","UserCode","accNum","AccountNum","menu","posCode","storeID","fromUrl","android_CommonFun","openWebUrlByOutBrowser","useDefaultBrowser","closed","postMessage","searchPlanID","code","c","String","fromCharCode","charCodeAt","i","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","replace","utftext","n","operationControl","forEach","v","sub","menuNode","map","container","style","className","disabled","bind","label","icon","menuLeftNode","menuRightNode","node"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAAA;;;;;;;;;AAOA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AAEA,IAAMA,cAAeC,oBAAIC,QAAJ,KAAiBD,oBAAIE,QAAJ,CAAaD,QAAb,CAAsBE,QAA5D;IACQC,O,GAAoBC,4B,CAApBD,O;IAASE,M,GAAWD,4B,CAAXC,M;;AACjB,IAAIC,cAAc,IAAlB;;mBAECC,mB;;;AAWC,oBAAYC,KAAZ,EAAmB;AAAA;;AAAA,0IACXA,KADW;;AAAA;;AAEjB,UAAKV,WAAL,GAAmBA,WAAnB;AACA,UAAKW,KAAL,GAAa;AACXC,UAAIC,KAAKC,GAAL,EADO;AAEXC,kBAAY,EAFD;AAGXC,iBAAW,KAHA;AAIXC,gBAAU;AAJC,KAAb;;AAHiB,eAS+Cf,yBAAY,EAT3D;AAAA,QASTgB,eATS,QASTA,eATS;AAAA,QASQC,eATR,QASQA,eATR;AAAA,QASyBC,iBATzB,QASyBA,iBATzB;;AAUjB,UAAKF,eAAL,GAAuB,CAAC,CAACA,eAAzB;AACA,UAAKC,eAAL,GAAuB,CAAC,CAACA,eAAzB;AACA,UAAKC,iBAAL,GAAyB,CAAC,CAACA,iBAA3B;AACA,UAAKC,mBAAL,GAA2B,CAAC,CAACF,eAAF,IAAqB,CAAC,CAACC,iBAAlD;AACA,UAAKE,cAAL,GAAsB,KAAtB;;AAEA;AAhBiB,QAiBTC,QAjBS,GAiBgDC,cAjBhD,CAiBTD,QAjBS;AAAA,QAiBCE,cAjBD,GAiBgDD,cAjBhD,CAiBCC,cAjBD;AAAA,QAiBiBC,eAjBjB,GAiBgDF,cAjBhD,CAiBiBE,eAjBjB;AAAA,QAiBkCC,SAjBlC,GAiBgDH,cAjBhD,CAiBkCG,SAjBlC;;AAkBjB,UAAKJ,QAAL,GAAgBA,QAAhB;AACA,UAAKE,cAAL,GAAsBA,cAAtB;AACA,UAAKC,eAAL,GAAuBA,eAAvB;AACA,UAAKC,SAAL,GAAiBA,SAAjB;AArBiB;AAsBlB;;;;;;;;;;;uBAGO,KAAKC,gBAAL,E;;;;uBACA,KAAKC,YAAL,E;;;;;;;;;;;;;;;;;AAyDR;;;;2CAmCuB;AAAA,8BACsB,KAAKC,OAD3B,CACbC,QADa;AAAA,4DACe,EADf;AAAA,UACDC,WADC,qBACDA,WADC;;AAErBA,qBAAeA,YAAY,KAAKrB,KAAL,CAAWC,EAAvB,EAA2B,YAA3B,CAAf;AACD;;;gDAE2B;AAC1B,UAAI,KAAKqB,aAAL,OAAyB,IAA7B,EAAmC;AACjC;AACA,YAAI,KAAKb,iBAAL,IAA0B,KAAKE,cAAnC,EAAmD;AACjDY,iBAAOC,yBAAP,IAAoCD,OAAOC,yBAAP,CAAiCC,yBAAjC,CAA2D,EAAEC,MAAM,CAAR,EAA3D,CAApC;AACD,SAFD,MAEO;AACLC,sCAAYA,yBAASC,oBAAT,CAA8B,aAA9B,EAA6C,EAAEF,MAAM,CAAR,EAA7C,CAAZ;AACD;AACF;AACF;;AAED;;;;8BAcUG,I,EAAMC,C,EAAG;AACjBC,8BAAQC,IAAR,CAAaH,KAAKI,IAAlB;AACD;AAgHD;;;;6BAgPS;AAAA,mBACyB,KAAKjC,KAD9B;AAAA,UACCK,SADD,UACCA,SADD;AAAA,UACYC,QADZ,UACYA,QADZ;;AAEP,UAAM4B,eAAeX,OAAOY,MAAP,CAAcC,WAAd,GAA4B,GAAjD;AACA,UAAIC,cAAc,IAAlB;AACA,UAAI,KAAK9B,eAAT,EAA0B;AACxB8B,sBAAc,8BAAC,wBAAD,IAAgB,aAAa,KAAKC,WAAlC,GAAd;AACD,OAFD,MAEO,IAAI,KAAK9B,eAAT,EAA0B;AAC/B6B,sBAAc,8BAAC,6BAAD,IAAqB,aAAa,KAAKC,WAAvC,GAAd;AACD;AACD;AACA;AACA;AALO,WAMF;AACHD,wBAAe;AAAC,wCAAD;AAAA,cAAQ,OAAO,EAAEE,QAAQ,MAAV,EAAf,EAAmC,WAAU,gBAA7C;AACb;AAAC,qBAAD;AAAA,gBAAS,OAAO,EAAEC,aAAa,MAAf,EAAuBC,cAAc,MAArC,EAAhB,EAA+D,WAAU,kBAAzE;AACE;AAAC,yBAAD;AAAA;AACE;AAAC,2BAAD;AAAA,oBAAK,IAAI,CAAT,EAAY,IAAI,CAAhB,EAAmB,WAAU,iBAA7B,EAA+C,KAAI,MAAnD;AACE;AAAA;AAAA,sBAAK,WAAU,qBAAf;AAAsC,yBAAKC,cAAL;AAAtC;AADF,iBADF;AAIE;AAAC,2BAAD;AAAA,oBAAK,IAAI,EAAT,EAAa,IAAI,EAAjB,EAAqB,WAAU,mBAA/B,EAAmD,KAAI,QAAvD;AACE;AAAA;AAAA,sBAAK,WAAU,uBAAf;AACG,yBAAKC,gBAAL;AADH;AADF,iBAJF;AASE;AAAC,2BAAD;AAAA,oBAAK,IAAI,CAAT,EAAY,IAAI,CAAhB,EAAmB,WAAU,kBAA7B,EAAgD,KAAI,OAApD;AACE;AAAA;AAAA,sBAAK,WAAU,sBAAf;AAAuC,yBAAKC,eAAL;AAAvC;AADF;AATF;AADF,aADa;AAiBX,iBAAKlC,mBAAL,IACA;AAAC,yBAAD;AAAA,gBAAO,SAASL,SAAhB;AACE,0BAAU,KAAKwC,eADjB;AAEE,uBAAO,KAFT;AAGE,wBAAQ,KAHV;AAIE,wBAAQ;AAJV;AAMI,wDAAQ,KAAKvC,QAAb,EAAuB,OAAM,MAA7B,EAAoC,QAAQ4B,YAA5C,EAA0D,aAAY,IAAtE,EAA2E,QAAO,GAAlF,EAAsF,aAAY,GAAlG,EAAsG,cAAa,GAAnH,EAAuH,WAAU,KAAjI,EAAuI,mBAAkB,MAAzJ;AANJ;AAlBW,WAAf;AA4BD;AACD,aAAOG,WAAP;AACD;;;EA3iB0BS,gB,WACpBC,S,GAAY;AACjBC,UAAQC,oBAAUC;AADD,C,UAGZC,Y,GAAe;AACpBC,UAAQH,oBAAUI,MADE;AAEpBC,cAAYL,oBAAUM,IAFF;AAGpBnC,YAAU6B,oBAAUI;AAHA,C;;;OAmCtBnC,Y,GAAe,YAAM;AACnB,WAAO,sBAAY,UAACsC,OAAD,EAAUC,MAAV,EAAqB;AAAA,sBACgC,OAAKtC,OADrC;AAAA,uCAC9BiC,MAD8B;AAAA,0DACJ,EADI;AAAA,UACpBM,WADoB,oBACpBA,WADoB;AAAA,yCACAtC,QADA;AAAA,8DACyB,EADzB;AAAA,UACYuC,QADZ,sBACYA,QADZ;AAAA,UAE9BC,aAF8B,GAEEC,sBAFF,CAE9BD,aAF8B;AAAA,UAEfE,YAFe,GAEED,sBAFF,CAEfC,YAFe;;AAGtCC,oCAAQC,IAAR,CAAa;AACXC,cAAM,SADK;AAEXC,eAAO;AAFI,OAAb;AAIAN,sBAAgBO,IAAhB,CAAqB,sBAAc;AACjCC,mCAAWC,GAAX,CAAe,gBAAf,EAAiC,yBAAejE,UAAf,CAAjC;AACA,eAAKkE,QAAL,CAAc,EAAElE,sBAAF,EAAd;AACA2D,sCAAQQ,IAAR;AACAf;AACD,OALD,EAKGgB,KALH,CAKS,UAACC,GAAD,EAAS;AAChBC,gBAAQC,GAAR,CAAY,2BAAZ,EAAyCF,GAAzC;AACAV,sCAAQQ,IAAR;AACAf;AACD,OATD;AAUAM,qBAAeK,IAAf,CAAoB,gBAAQ;AAC1B;AACA,uCAAWS,IAAX;AACD,OAHD;AAIA;AACAjB,kBAAYA,SAAS,OAAK3D,KAAL,CAAWC,EAApB,EAAwB,YAAxB,CAAZ;AACA;AACAmD,6BAAOyB,QAAP,CAAgBC,aAAhB,GAAgCX,IAAhC,CAAqC,eAAO;AAC1C;AACA,YAAI,OAAK7C,aAAL,OAAyB,IAA7B,EAAmC;AACjC,cAAG,OAAKb,iBAAR,EAA0B;AACxB,mBAAKsE,qBAAL,CAA2BC,GAA3B;AACA;AACD;AACDzD,iBAAO0D,IAAP,CAAY,mBAAmB,IAAI/E,IAAJ,GAAWgF,OAAX,EAA/B,EAAqD,QAArD;AACD;AACF,OATD;AAUD,KAlCM,CAAP;AAmCD,G;;OAGDjE,gB,4EAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AACTkE,sBADS,GACM,OAAKhE,OAAL,CAAaiC,MADnB,CACT+B,UADS;AAEXC,wBAFW,GAEIhB,2BAAWiB,GAAX,CAAe,cAAf,CAFJ;;AAAA,kBAGdD,gBAAgB,CAHF;AAAA;AAAA;AAAA;;AAIfrB,0CAAQC,IAAR,CAAa;AACXC,oBAAM,SADK;AAEXC,qBAAO;AAFI,aAAb;AAJe;AAAA,mBAQTiB,WAAWG,mBAAX,EARS;;AAAA;AASfvB,0CAAQQ,IAAR;AACAH,uCAAWC,GAAX,CAAe,cAAf,EAA8B,CAA9B;;AAVe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;OAgBnBU,qB,GAAwB,UAACQ,MAAD,EAAW;AAC/B;AACA;AACA;;;AAGA,QAAMC,mBAAmBC,eAAeC,OAAf,CAAuB,kBAAvB,CAAzB;AACA;AACA,QAAG,CAACF,gBAAJ,EAAqB;AACnB,UAAIG,MAAMC,SAASC,MAAT,GAAiBD,SAASE,QAA1B,GAAoC,MAApC,GAA2C,IAAI5F,IAAJ,GAAWgF,OAAX,EAA3C,GAAgE,gBAA1E;AACA3D,aAAOC,yBAAP,IAAoCD,OAAOC,yBAAP,CAAiCuE,mBAAjC,CAAqDJ,GAArD,EAA0DxB,IAA1D,CAA+D,YAAI;AACrG,eAAKxD,cAAL,GAAsB,IAAtB;AACA;AACA8E,uBAAeO,OAAf,CAAuB,kBAAvB,EAA0CL,GAA1C;AACAM,mBAAW,YAAM;AACb;AADa,sBAE4B7B,2BAAWiB,GAAX,CAAe,MAAf,KAA0B,EAFtD;AAAA,kCAEPa,KAFO;;AAAA,oDAEqB,EAFrB;AAAA,kDAEEC,SAFF;AAAA,cAEEA,SAFF,yCAEc,EAFd;;AAGfzB,kBAAQC,GAAR,CAAYY,MAAZ;;AAHe,sCAIaa,4BAAeC,SAAf,EAJb;AAAA,cAIPC,eAJO,yBAIPA,eAJO;;AAAA,cAKPC,mBALO,GAKiBD,eALjB,CAKPC,mBALO;;AAMf,cAAMC,eAAejB,UAAUA,OAAOkB,MAAjB,GAAwBlB,OAAOkB,MAAP,CAAc,UAACC,WAAD,EAAe;AAAE,mBAAQA,YAAYC,SAAZ,KAA0BD,YAAYC,SAAZ,CAAsBC,EAAtB,KAA6BL,mBAA7B,IAAoDG,YAAYC,SAAZ,KAA0BJ,mBAAxG,CAAR;AAAqI,WAApK,CAAxB,GAA8L,EAAnN;AACAhF,iBAAOC,yBAAP,IAAoCD,OAAOC,yBAAP,CAAiCqF,oBAAjC,CAAsD,iBAAtD,EAAwEL,YAAxE,EAAsFrC,IAAtF,CAA2F,YAAI;AACjIO,oBAAQC,GAAR,CAAY,QAAZ;AACApD,mBAAOC,yBAAP,IAAoCD,OAAOC,yBAAP,CAAiCC,yBAAjC,CAA2D,EAAEC,MAAM,CAAR,EAAUyE,oBAAV,EAA3D,CAApC;AACD,WAHmC,CAApC;AAID,SAXD,EAWG,IAXH;AAYD,OAhBmC,CAApC;AAiBD,KAnBD,MAmBK;AACD;AADC,kBAE0C/B,2BAAWiB,GAAX,CAAe,MAAf,KAA0B,EAFpE;AAAA,8BAEOa,KAFP;;AAAA,gDAEmC,EAFnC;AAAA,8CAEgBC,SAFhB;AAAA,UAEgBA,SAFhB,yCAE4B,EAF5B;;AAGN5E,aAAOC,yBAAP,IAAoCD,OAAOC,yBAAP,CAAiCC,yBAAjC,CAA2D,EAAEC,MAAM,CAAR,EAAUyE,oBAAV,EAA3D,CAApC;AACE;AACJ,G;;OAmBD7E,a,GAAgB,YAAM;AACpB,QAAIwF,OAAO,KAAX;AACA,QAAI,OAAKzH,WAAL,KAAqB,IAArB,IAA6B,OAAKoB,iBAAtC,EAAyD;AACvD,UAAImE,OAAOR,2BAAWiB,GAAX,CAAe,iBAAf,KAAqC,EAAhD;AACAT,aAAOA,KAAK6B,MAAL,CAAY;AAAA,eAAQ5E,KAAKkF,IAAL,KAAc,oBAAtB;AAAA,OAAZ,CAAP;AACAnC,aAAOA,QAAQA,KAAKoC,MAAL,GAAc,CAAtB,GAA0BpC,KAAKqC,KAAL,EAA1B,GAAyC,IAAhD;AACA,UAAIrC,QAAQA,KAAKsC,KAAL,KAAe,GAA3B,EAAgC;AAC9BJ,eAAO,IAAP;AACD;AACF;AACD,WAAOA,IAAP;AACD,G;;OAKDK,O,GAAU,UAACC,IAAD,EAAU;AAAA,QACVC,QADU,GACGxD,sBADH,CACVwD,QADU;;AAElBD,WAAO,UAAUA,IAAjB;AACAC,aAAS,MAAT,EAAiBC,SAAjB,EAA4BF,IAA5B;AACD,G;;OAED9E,W,GAAc,YAAiB;AAAA,QAAhBiF,MAAgB,uEAAP,EAAO;AAAA,QAChBC,IADgB,GACuBD,MADvB,CACrBE,GADqB;AAAA,QACVC,OADU,GACuBH,MADvB,CACVG,OADU;AAAA,QACDC,KADC,GACuBJ,MADvB,CACDI,KADC;AAAA,QACMZ,IADN,GACuBQ,MADvB,CACMR,IADN;AAAA,QACYa,MADZ,GACuBL,MADvB,CACYK,MADZ;AAAA,QAEvBC,SAFuB,GAETN,MAFS,CAEvBM,SAFuB;AAAA,QAGrBzH,UAHqB,GAGN,OAAKJ,KAHC,CAGrBI,UAHqB;;AAI7B,QAAM0H,eAAe1H,WAAW2H,IAAX,CAAgB;AAAA,aAAMC,GAAGjB,IAAH,KAAYA,IAAlB;AAAA,KAAhB,CAArB;;AAJ6B,gBAK6Be,gBAAgB,EAL7C;AAAA,QAKrBG,UALqB,SAKrBA,UALqB;AAAA,QAKTC,gBALS,SAKTA,gBALS;AAAA,QAKSC,KALT,SAKSA,KALT;AAAA,QAKgBC,QALhB,SAKgBA,QALhB;;AAM7B,QAAIC,iBAAJ;AACA,QAAI,CAACF,KAAL,EAAY;AACV,aAAOG,kCAAYC,OAAZ,CAAoB;AACzBZ,eAAO,IADkB;AAEzBa,iBAAS,kBAFgB;AAGzBC,YAHyB,kBAGlB;AACLC,yBAAKC,MAAL;AACD,SALwB;;AAMzBC,gBAAQ;AANiB,OAApB,CAAP;AAQD;;AAED,QAAGxF,uBAAO+B,UAAP,CAAkB0D,uBAAlB,CAA0C9B,IAA1C,CAAH,EAAoD;AAClD+B,oCAAQC,IAAR,CAAa,aAAb;AACA;AACD;;AAED,QAAI,CAACd,UAAL,EAAiB;AACfI,mCAAiBF,KAAjB;AACD,KAFD,MAEO,IAAI,CAACD,gBAAL,EAAuB;AAC5BG,qDAAoBF,KAApB;AACD;AA3B4B,QA4BrBzE,WA5BqB,GA4BL,OAAKvC,OAAL,CAAaiC,MA5BR,CA4BrBM,WA5BqB;;AA6B7B,QAAI2E,QAAJ,EAAc;AACZ,aAAOS,8BAAQC,IAAR,CAAaV,QAAb,CAAP;AACD;AACD,QAAIX,OAAJ,EAAa;AACX,aAAOtE,uBAAO4F,WAAP,CAAmBhF,IAAnB,CAAwB,EAAE2B,WAAS6B,IAAX,EAAmByB,OAAO,GAA1B,EAA+BtB,YAA/B,EAAxB,CAAP;AACD;AACD,YAAQH,IAAR;AACE,WAAK,SAAL;AACE9D,oBAAYwF,SAAZ,GAAwB/E,IAAxB,CAA6B,UAACgF,aAAD,EAAmB;AAC9C,cAAI,CAAC,CAACA,aAAN,EAAqB;AAAA,gBACXC,IADW,GACgDD,aADhD,CACXC,IADW;AAAA,gBACLC,cADK,GACgDF,aADhD,CACLE,cADK;AAAA,gBACWC,KADX,GACgDH,aADhD,CACWG,KADX;AAAA,gBACkBC,cADlB,GACgDJ,aADhD,CACkBI,cADlB;AAAA,gBACkCC,SADlC,GACgDL,aADhD,CACkCK,SADlC;;AAEnB,2CAAW,EAAEC,WAAWL,IAAb,EAAmBC,8BAAnB,EAAmCC,YAAnC,EAA0CC,8BAA1C,EAA0DC,oBAA1D,EAAX;AACA9E,oBAAQC,GAAR,CAAY,qBAAZ,EAAmCwE,aAAnC;AACA,mBAAKhC,OAAL,CAAaQ,KAAb;AACA5F,oCAAQC,IAAR,CAAa,UAAb;AACD;AACF,SARD,EAQGwC,KARH,CAQS,UAACI,IAAD,EAAQ;AACfF,kBAAQC,GAAR,CAAY,kBAAZ;AACAD,kBAAQC,GAAR,CAAYC,IAAZ;AACD,SAXD;AAYA;AACF,WAAK,QAAL;AACElB,oBAAYgG,MAAZ,GAAqBvF,IAArB,CAA0B,UAACgF,aAAD,EAAmB;AAC3C,cAAIA,iBAAiBA,cAAclC,KAAnC,EAA0C;AACxC0C,iCAAWC,OAAX,CAAmB,QAAnB;AACD;AACF,SAJD;AAKA;AACF,WAAK,SAAL;AACE7H,gCAAQC,IAAR,CAAa,uBAAb;AACA;AACF,WAAK,aAAL;AACE,YAAI0B,YAAYmG,SAAZ,EAAJ,EAA6B;AAC3B9H,kCAAQC,IAAR,CAAa,2BAAb;AACD,SAFD,MAEO;AACL0B,sBAAYoG,YAAZ;AACD;AACD;AACF;AACE,YAAIjC,aAAaO,QAAjB,EAA2B;AACzB,iBAAKjB,OAAL,CAAaQ,KAAb;AACA,cAAIS,QAAJ,EAAc;AACZ,mBAAK2B,WAAL,CAAiBvC,IAAjB,EAAuBY,QAAvB,EAAiCR,MAAjC;AACD,WAFD,MAEO;AACL,mBAAKmC,WAAL,CAAiBvC,IAAjB,EAAuBK,SAAvB,EAAkCD,MAAlC;AACD;AACF,SAPD,MAOO;AACL7F,kCAAQC,IAAR,OAAiBwF,IAAjB;AACD;AACD;AA3CJ;AA6CD,G;;OACDwC,0B,GAA6B,YAAM;AAAC;AAClC,QAAIC,YAAYvB,eAAKwB,OAAL,EAAhB;AACA,QAAIC,WAAW,kCAAf;AACA,QAAIvF,OAAO,uBAAoBqF,UAAUG,WAA9B,IAA8C,cAA9C,SAAkEH,UAAUI,KAA5E,CAAX;AACA,QAAI1E,MAAM,KAAGwE,QAAH,GAAgBG,mBAAmB,4DAAyD1F,IAAzD,CAAnB,CAA1B;AACAF,YAAQC,GAAR,CAAYgB,GAAZ;AACA,QAAI4E,cAAc;AAChBC,eAAS;AACP,wBAAgB;AADT;AADO,KAAlB;AAKA,WAAO,sBAAY,UAAChH,OAAD,EAAUC,MAAV,EAAqB;AACtCgH,YAAM9E,GAAN,EAAW4E,WAAX,EACGpG,IADH,CACQ,UAAUuG,QAAV,EAAoB;AACxB,eAAOA,SAASC,IAAT,EAAP;AACD,OAHH,EAGKxG,IAHL,CAGU,gBAAQ;AACdO,gBAAQC,GAAR,CAAYgG,IAAZ;AACAnH,gBAAQmH,IAAR;AACD,OANH,EAMKnG,KANL,CAMW,cAAM;AACbE,gBAAQC,GAAR,CAAYiG,EAAZ;AACAnH,eAAOgB,GAAP;AACD,OATH;AAUD,KAXM,CAAP;AAYD,G;;OAEDsF,W;yFAAc,kBAAOvC,IAAP,EAAaK,SAAb,EAAwBD,MAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AACRqC,uBADQ,GACIvB,eAAKwB,OAAL,EADJ;AAERW,iBAFQ,GAEFZ,UAAUY,GAFR;AAGRC,sBAHQ,GAGG,gCAAY,WAAZ,CAHH;AAIRC,4BAJQ,GAIS,gCAAY,gBAAZ,CAJT;;AAKZD,yBAAWA,WAAWA,QAAX,GAAsBC,cAAjC;AACA,kBAAI,CAACD,QAAD,IAAa,CAACD,GAAd,IAAqB,OAAKxL,WAAL,KAAqB,IAA9C,EAAoD;AAAC;AACnDyL,2BAAWlF,SAASC,MAAT,GAAkB,QAA7B;AACD;;AARW,kBASPiF,QATO;AAAA;AAAA;AAAA;;AAUNE,iBAVM,GAUA,+CAVA;;AAWV1C,gDAAYC,OAAZ,CACE;AACEZ,uBAAO,MADT;AAEEa,yBAASwC,GAFX;AAGEC,wBAAQ,IAHV;AAIErC,wBAAQ;AAJV,eADF;AAXU;;AAAA;AAqBRsC,2BArBQ;;AAAA,oBAsBRtD,UAAUA,OAAO3H,EAtBT;AAAA;AAAA;AAAA;;AAuBFyD,yBAvBE,GAuBc,OAAKvC,OAAL,CAAaiC,MAvB3B,CAuBFM,WAvBE;AAAA;AAAA,qBAwBYA,YAAYyH,eAAZ,CAA4BvD,MAA5B,CAxBZ;;AAAA;AAwBVsD,2BAxBU;;AAAA;AA0BZ,kBAAIJ,SAASM,SAAT,CAAmBN,SAAS9D,MAAT,GAAkB,CAArC,MAA4C,GAAhD,EACE8D,YAAY,GAAZ;AACEO,qBA5BQ,GA4BEP,QA5BF;AA6BZ;AACA;AACA;;AACIQ,wBAhCQ,GAgCQR,QAhCR,kCAgC6C,IAAI5K,IAAJ,GAAWgF,OAAX,EAhC7C;;AAiCZ,kBAAI2F,GAAJ,EAAS;AACPS,6BAAgBR,QAAhB,4BAA+C,IAAI5K,IAAJ,GAAWgF,OAAX,EAA/C,aAA2E2F,GAA3E;AACD;AACKU,kBApCM,GAoCG,OAAKpK,OAAL,CAAaiC,MApChB,CAoCNmI,IApCM;AAqCRC,uBArCQ,GAqCID,KAAKE,OAAL,CAAapG,GAAb,CAAiB,WAAjB,CArCJ;AAsCRqG,iBAtCQ,GAsCFH,KAAKE,OAAL,CAAapG,GAAb,CAAiB,UAAjB,CAtCE;AAuCRsG,sBAvCQ,GAuCG,OAAKC,WAAL,CAAiBJ,UAAUK,QAA3B,CAvCH;AAwCRC,oBAxCQ,GAwCC,OAAKF,WAAL,CAAiBJ,UAAUO,UAA3B,CAxCD;AAyCRC,kBAzCQ,GAyCD,OAAKJ,WAAL,CAAiB/D,SAAjB,CAzCC;AA0CRoE,qBA1CQ,GA0CE,OAAKL,WAAL,CAAiBJ,UAAUS,OAA3B,CA1CF;AA2CRC,qBA3CQ,GA2CE,OAAKN,WAAL,CAAiBJ,UAAUU,OAAV,GAAoB,EAArC,CA3CF;;AA4CZR,oBAAM,OAAKE,WAAL,CAAiBF,GAAjB,CAAN;AACIS,qBA7CQ,GA6CE,OAAKP,WAAL,CAAiBhG,SAASC,MAA1B,CA7CF;;AA8CZyF,uDAAuCK,QAAvC,aAAuDD,GAAvD,gBAAqEI,MAArE,cAAoFE,IAApF,iBAAoGC,OAApG,iBAAuHC,OAAvH,iBAA0IC,OAA1I;AACA,kBAAIjB,aAAJ,EAAmB;AACjBI,iDAA+B,OAAKM,WAAL,CAAiBV,aAAjB,CAA/B;AACD;AACD,kBAAG,OAAKzK,iBAAR,EAA0B;AACxBc,uBAAO6K,iBAAP,CAAyBC,sBAAzB,CAAgDf,UAAhD;AACD,eAFD,MAEM,IAAI,OAAKjM,WAAL,KAAqB,IAAzB,EAA+B;AACnCsC,yCAAS2K,iBAAT,CAA2BhB,UAA3B;AACD,eAFK,MAGD,IAAI,OAAK5K,mBAAT,EAA8B;AACjC,uBAAK4D,QAAL,CAAc,EAAEjE,WAAW,IAAb,EAAmBC,UAAUgL,UAA7B,EAAd;AACD,eAFI,MAGA;AACH,oBAAI,CAACzL,WAAD,IAAgBA,YAAY0M,MAAhC,EAAwC;AACtC1M,gCAAc0B,OAAO0D,IAAP,CAAYqG,UAAZ,EAAwB,OAAxB,EAAiC,aAAjC,CAAd;AACD,iBAFD,MAEO;AACLzL,8BAAY2M,WAAZ,CAAwB,EAAE3E,oBAAF,EAAa4E,cAAcvB,aAA3B,EAA0CI,sBAA1C,EAAxB,EAAgFD,OAAhF;AACA9J,yBAAO0D,IAAP,CAAY,EAAZ,EAAgB,OAAhB,EAAyB,aAAzB;AACD;AACF;;AAjEW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;;;;;;OAoEdpC,e,GAAkB,YAAM;AACtB,WAAKyB,QAAL,CAAc,EAAEjE,WAAW,KAAb,EAAd;AACD,G;;OAEDuL,W,GAAc,UAACc,IAAD,EAAU;AACtB,QAAIC,IAAIC,OAAOC,YAAP,CAAoBH,KAAKI,UAAL,CAAgB,CAAhB,IAAqBJ,KAAK1F,MAA9C,CAAR;AACA,SAAK,IAAI+F,IAAI,CAAb,EAAgBA,IAAIL,KAAK1F,MAAzB,EAAiC+F,GAAjC,EAAsC;AACpCJ,WAAKC,OAAOC,YAAP,CAAoBH,KAAKI,UAAL,CAAgBC,CAAhB,IAAqBL,KAAKI,UAAL,CAAgBC,IAAI,CAApB,CAAzC,CAAL;AACD;AACD,QAAI/H,MAAM,OAAKgI,iBAAL,CAAuBL,CAAvB,CAAV;AACA,WAAO3H,GAAP;AACD,G;;OAEDgI,iB,GAAoB,UAACC,KAAD,EAAW;AAC7B,QAAMC,UAAU,mEAAhB;AACA,QAAIC,SAAS,EAAb;AACA,QAAIC,aAAJ;AAAA,QAAUC,aAAV;AAAA,QAAgBC,aAAhB;AAAA,QAAsBC,aAAtB;AAAA,QAA4BC,aAA5B;AAAA,QAAkCC,aAAlC;AAAA,QAAwCC,aAAxC;AACA,QAAIX,IAAI,CAAR;AACAE,YAAQ,OAAKU,YAAL,CAAkBV,KAAlB,CAAR;AACA,WAAOF,IAAIE,MAAMjG,MAAjB,EAAyB;AACvBoG,aAAOH,MAAMH,UAAN,CAAiBC,GAAjB,CAAP;AACAM,aAAOJ,MAAMH,UAAN,CAAiBC,GAAjB,CAAP;AACAO,aAAOL,MAAMH,UAAN,CAAiBC,GAAjB,CAAP;AACAQ,aAAOH,QAAQ,CAAf;AACAI,aAAQ,CAACJ,OAAO,CAAR,KAAc,CAAf,GAAqBC,QAAQ,CAApC;AACAI,aAAQ,CAACJ,OAAO,EAAR,KAAe,CAAhB,GAAsBC,QAAQ,CAArC;AACAI,aAAOJ,OAAO,EAAd;AACA,UAAIM,MAAMP,IAAN,CAAJ,EAAiB;AACfI,eAAOC,OAAO,EAAd;AACD,OAFD,MAEO,IAAIE,MAAMN,IAAN,CAAJ,EAAiB;AACtBI,eAAO,EAAP;AACD;AACDP,eAASA,SACPD,QAAQW,MAAR,CAAeN,IAAf,CADO,GACgBL,QAAQW,MAAR,CAAeL,IAAf,CADhB,GAEPN,QAAQW,MAAR,CAAeJ,IAAf,CAFO,GAEgBP,QAAQW,MAAR,CAAeH,IAAf,CAFzB;AAGD;AACD,WAAOP,MAAP;AACD,G;;OACDQ,Y,GAAe,UAACG,MAAD,EAAY;AACzBA,aAASA,OAAOC,OAAP,CAAe,OAAf,EAAwB,IAAxB,CAAT;AACA,QAAIC,UAAU,EAAd;AACA,SAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIH,OAAO9G,MAA3B,EAAmCiH,GAAnC,EAAwC;AACtC,UAAItB,IAAImB,OAAOhB,UAAP,CAAkBmB,CAAlB,CAAR;AACA,UAAItB,IAAI,GAAR,EAAa;AACXqB,mBAAWpB,OAAOC,YAAP,CAAoBF,CAApB,CAAX;AACD,OAFD,MAEO,IAAKA,IAAI,GAAL,IAAcA,IAAI,IAAtB,EAA6B;AAClCqB,mBAAWpB,OAAOC,YAAP,CAAqBF,KAAK,CAAN,GAAW,GAA/B,CAAX;AACAqB,mBAAWpB,OAAOC,YAAP,CAAqBF,IAAI,EAAL,GAAW,GAA/B,CAAX;AACD,OAHM,MAGA;AACLqB,mBAAWpB,OAAOC,YAAP,CAAqBF,KAAK,EAAN,GAAY,GAAhC,CAAX;AACAqB,mBAAWpB,OAAOC,YAAP,CAAsBF,KAAK,CAAN,GAAW,EAAZ,GAAkB,GAAtC,CAAX;AACAqB,mBAAWpB,OAAOC,YAAP,CAAqBF,IAAI,EAAL,GAAW,GAA/B,CAAX;AACD;AACF;AACD,WAAOqB,OAAP;AACD,G;;OAEDE,gB,GAAmB,YAAe;AAAA,QAAdlC,IAAc,uEAAP,EAAO;AAAA,QACxB5L,UADwB,GACT,OAAKJ,KADI,CACxBI,UADwB;;AAEhCsE,YAAQC,GAAR,CAAYvE,UAAZ,EAAwB,KAAxB;AACA4L,SAAKmC,OAAL,CAAa,aAAK;AAChB,UAAIC,EAAEC,GAAN,EAAW;AACT,eAAO,OAAKH,gBAAL,CAAsBE,EAAEC,GAAxB,CAAP;AACD;AACD,UAAMvG,eAAe1H,WAAW2H,IAAX,CAAgB;AAAA,eAAMC,GAAGjB,IAAH,KAAYqH,EAAErH,IAApB;AAAA,OAAhB,CAArB;;AAJgB,kBAKgCe,gBAAgB,EALhD;AAAA,UAKRG,UALQ,SAKRA,UALQ;AAAA,UAKIC,gBALJ,SAKIA,gBALJ;AAAA,UAKsBC,KALtB,SAKsBA,KALtB;;AAMhB,UAAIE,iBAAJ;AACA,UAAI,CAACJ,UAAL,EAAiB;AACfI,qCAAiBF,KAAjB;AACD,OAFD,MAEO,IAAI,CAACD,gBAAL,EAAuB;AAC5BG,uDAAoBF,KAApB;AACD;AACDiG,QAAE/F,QAAF,GAAaA,QAAb;AACD,KAbD;AAcA,WAAO2D,IAAP;AACD,G;;OAEDtJ,c,GAAiB,YAAM;AACrB,QAAMsJ,OAAO,OAAKpL,QAAlB;AACA,QAAM0N,WAAWtC,KAAKuC,GAAL,CAAS,aAAK;AAC7B,aAAQH,EAAEI,SAAF,GACN;AAAA;AAAA,UAAK,OAAOJ,EAAEI,SAAF,CAAYC,KAAxB,EAA+B,WAAWL,EAAEI,SAAF,CAAYE,SAAtD,EAAiE,KAAKN,EAAEI,SAAF,CAAYE,SAAlF;AAEIN,UAAEC,GAAF,CAAME,GAAN,CAAU,cAAM;AACd,iBAAQ;AAAA;AAAA;AACN,0CAA0BvG,GAAG0G,SAA7B,UAA0C1G,GAAG2G,QAAH,GAAc,oBAAd,GAAqC,EAA/E,CADM;AAEN,mBAAK3G,GAAG0G,SAFF;AAGN,uBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4B5G,EAA5B;AAHH;AAKL,aAAC,CAACA,GAAGL,KAAL,IAAc;AAAA;AAAA;AAAKK,iBAAGL;AAAR,aALT;AAML,aAAC,CAACK,GAAG6G,KAAL,IAAc;AAAA;AAAA;AAAI7G,iBAAG6G;AAAP,aANT;AAOL,aAAC,CAAC7G,GAAG8G,IAAL,IAAa,8BAAC,2BAAD,IAAO,MAAM9G,GAAG8G,IAAhB;AAPR,WAAR;AASD,SAVD;AAFJ,OADM,GAiBN;AAAA;AAAA;AACE,sCAA0BV,EAAEM,SAA5B,UAAyCN,EAAEO,QAAF,GAAa,oBAAb,GAAoC,EAA7E,CADF;AAEE,eAAKP,EAAEM,SAFT;AAGE,mBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4BR,CAA5B;AAHX;AAKGA,UAAEzG,KAAF,IAAW;AAAA;AAAA;AAAKyG,YAAEzG;AAAP,SALd;AAMGyG,UAAES,KAAF,IAAW;AAAA;AAAA;AAAIT,YAAES;AAAN,SANd;AAOGT,UAAEU,IAAF,IAAU,8BAAC,2BAAD,IAAO,MAAMV,EAAEU,IAAf;AAPb,OAjBF;AA0BD,KA3BgB,CAAjB;AA4BA,WAAOR,QAAP;AACD,G;;OACD3L,gB,GAAmB,YAAM;AACvB,QAAM/B,WAAW,OAAKE,cAAtB;AACA,QAAME,YAAY,OAAKD,eAAvB;AACA,QAAMgO,eAAenO,SAAS2N,GAAT,CAAa,aAAK;AACrC,aAAQ;AAAA;AAAA;AACN,uCAA2BH,EAAEM,SAA7B,UAA0CN,EAAEO,QAAF,GAAa,oBAAb,GAAoC,EAA9E,CADM;AAEN,iBAAOP,EAAEK,KAFH;AAGN,eAAKL,EAAEM,SAHD;AAIN,mBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4BR,CAA5B;AAJH;AAMLA,UAAEzG,KAAF,IAAW;AAAA;AAAA;AAAKyG,YAAEzG;AAAP,SANN;AAOLyG,UAAES,KAAF,IAAW;AAAA;AAAA;AAAIT,YAAES;AAAN,SAPN;AAQLT,UAAEU,IAAF,IAAU,8BAAC,2BAAD,IAAO,MAAMV,EAAEU,IAAf,GARL;AASLV,UAAEO,QAAF,IAAc,uCAAK,WAAU,2BAAf;AATT,OAAR;AAWD,KAZoB,CAArB;AAaA,QAAMK,gBAAgBhO,UAAUuN,GAAV,CAAc,aAAK;AACvC,aAAQH,EAAEI,SAAF,GACN;AAAA;AAAA,UAAK,OAAOJ,EAAEI,SAAF,CAAYC,KAAxB,EAA+B,WAAWL,EAAEI,SAAF,CAAYE,SAAtD,EAAiE,KAAKN,EAAEI,SAAF,CAAYE,SAAlF;AAEIN,UAAEC,GAAF,CAAME,GAAN,CAAU,cAAM;AACd,iBAAQ;AAAA;AAAA;AACN,2CAA2BvG,GAAG0G,SAA9B,UAA2C1G,GAAG2G,QAAH,GAAc,oBAAd,GAAqC,EAAhF,CADM;AAEN,mBAAK3G,GAAG0G,SAFF;AAGN,uBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4B5G,EAA5B;AAHH;AAKLA,eAAGL,KAAH,IAAY;AAAA;AAAA;AAAKK,iBAAGL;AAAR,aALP;AAMLK,eAAG6G,KAAH,IAAY;AAAA;AAAA;AAAI7G,iBAAG6G;AAAP,aANP;AAOL7G,eAAG8G,IAAH,IAAW,8BAAC,2BAAD,IAAO,MAAM9G,GAAG8G,IAAhB;AAPN,WAAR;AASD,SAVD;AAFJ,OADM,GAiBN;AAAA;AAAA;AACE,uCAA2BV,EAAEM,SAA7B,UAA0CN,EAAEO,QAAF,GAAa,oBAAb,GAAoC,EAA9E,CADF;AAEE,eAAKP,EAAEM,SAFT;AAGE,mBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4BR,CAA5B;AAHX;AAKGA,UAAEzG,KAAF,IAAW;AAAA;AAAA;AAAKyG,YAAEzG;AAAP,SALd;AAMGyG,UAAES,KAAF,IAAW;AAAA;AAAA;AAAIT,YAAES;AAAN,SANd;AAOGT,UAAEU,IAAF,IAAU,8BAAC,2BAAD,IAAO,MAAMV,EAAEU,IAAf;AAPb,OAjBF;AA0BD,KA3BqB,CAAtB;AA4BA,WAAO;AAAA;AAAA;AAAK;AAAA;AAAA,UAAK,WAAU,wBAAf;AAAyCC;AAAzC,OAAL;AAAiE;AAAA;AAAA,UAAK,WAAU,yBAAf;AAA0CC;AAA1C;AAAjE,KAAP;AACD,G;;OACDpM,e,GAAkB,YAAM;AACtB,QAAMoJ,OAAO,OAAKhL,SAAlB;AACA,QAAMiO,OAAOjD,KAAKuC,GAAL,CAAS,UAACH,CAAD,EAAIrB,CAAJ,EAAU;AAC9B,aAAQ;AAAA;AAAA;AACN,qCAAyBqB,EAAEM,SAA3B,UAAwCN,EAAEO,QAAF,GAAa,oBAAb,GAAoC,EAA5E,CADM;AAEN,iBAAOP,EAAEK,KAFH;AAGN,eAAKL,EAAEM,SAHD;AAIN,mBAAS,OAAKpM,WAAL,CAAiBsM,IAAjB,CAAsB,MAAtB,EAA4BR,CAA5B;AAJH;AAML,SAAC,CAACA,EAAEzG,KAAJ,IAAa;AAAA;AAAA;AAAKyG,YAAEzG;AAAP,SANR;AAOL,SAAC,CAACyG,EAAEU,IAAJ,IAAY,8BAAC,2BAAD,IAAO,MAAMV,EAAEU,IAAf;AAPP,OAAR;AASD,KAVY,CAAb;AAWA,WAAOG,IAAP;AACD,G","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-09-02 14:35:59\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\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\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 frameUrl: ''\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi } = 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\r\n //首页布局\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu } = Menus;\r\n this.leftMenu = leftMenu;\r\n this.centerLeftMenu = centerLeftMenu;\r\n this.centerRightMenu = centerRightMenu;\r\n this.rightMenu = rightMenu;\r\n }\r\n\r\n async componentWillMount () {\r\n await this.catchOfflineData();\r\n await this.getOperation();\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 });\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 })\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 });\r\n await offlineSys.downloadCatcherData();\r\n Loading.hide();\r\n localStore.set(\"isLoginAfter\",0)\r\n }\r\n }\r\n\r\n\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) =>{\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n\r\n\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\t\t\t\t\twindow.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n }\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 //副屏幕交互。硬件改动20200428\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, title, Name, search } = values;\r\n let { tmenuCode } = values;\r\n const { operations } = 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 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(\"进入前台收银检查是否当班返回错误\");\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 if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(type, MenuCode, search);\r\n } else {\r\n this.toTplusPage(type, tmenuCode, search);\r\n }\r\n } else {\r\n history.push(`/${type}`);\r\n }\r\n break;\r\n }\r\n };\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let cloudUrl = 'http://tfproxy.chanjet.com/?url=';\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${cloudUrl}` + 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 //跳转到T+\r\n toTplusPage = async (type, tmenuCode, search) => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = PosInitData(\"TplusSite\");\r\n let tplusinnersite = PosInitData(\"tplusinnersite\");\r\n tplusUrl = tplusUrl ? tplusUrl : tplusinnersite;\r\n if (!tplusUrl && !sid && this.hasElectron === true) {//软件包,并且electron读取electron配置的地址\r\n tplusUrl = location.origin + \"/tplus\";\r\n }\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;\r\n }\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 if (tplusUrl.substring(tplusUrl.length - 1) !== '/')\r\n tplusUrl += '/';\r\n let baseUrl = tplusUrl;\r\n // if(!isProxy){\r\n // tplusUrl = targetUrl;\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 { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n let pwd = user.options.get(\"password\");\r\n let userName = this.tplusEncode(loginInfo.UserCode);\r\n let accNum = this.tplusEncode(loginInfo.AccountNum);\r\n let menu = this.tplusEncode(tmenuCode)\r\n let posCode = this.tplusEncode(loginInfo.posCode);\r\n let storeID = this.tplusEncode(loginInfo.storeID + \"\");\r\n pwd = this.tplusEncode(pwd);\r\n let fromUrl = this.tplusEncode(location.origin);\r\n ossjumpUrl += `&fromApp=nretail&user=${userName}&pwd=${pwd}&accNum=${accNum}&menu=${menu}&posCode=${posCode}&storeID=${storeID}&fromUrl=${fromUrl}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n if(this.isHorizontalSunMi){\r\n window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n }else if (this.hasElectron === true) {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n }\r\n else if (this.isMobileEnvironment) {\r\n this.setState({ showModal: true, frameUrl: ossjumpUrl })\r\n }\r\n else {\r\n if (!tplusWindow || tplusWindow.closed) {\r\n tplusWindow = window.open(ossjumpUrl, \"tplus\", \"location=no\");\r\n } else {\r\n tplusWindow.postMessage({ tmenuCode, searchPlanID: dsearchPlanID, ossjumpUrl }, baseUrl);\r\n window.open(\"\", \"tplus\", \"location=no\");\r\n }\r\n }\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 console.log(operations, 11111)\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 return (<div\r\n className={`member-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={`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 leftMenu = this.centerLeftMenu;\r\n const rightMenu = this.centerRightMenu;\r\n const menuLeftNode = leftMenu.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 = 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={`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 menu = this.rightMenu;\r\n const node = menu.map((v, i) => {\r\n return (<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, frameUrl } = 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 if (this.isHorizontalSunMi) {\r\n // htmlContent = <HorizontalSunMiPortal 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 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={frameUrl} 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 +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","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","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","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 ((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 IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\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 // 收银统计表\r\n if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n filter = {\r\n filterValue: {\r\n deliveryStoreId: {\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 }\r\n // 售后、配送\r\n if (menu == 'return-order' || menu == 'order-manage') {\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 deliveryWarehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\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","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","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 ((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 IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\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 // 收银统计表\r\n if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n filter = {\r\n filterValue: {\r\n deliveryStoreId: {\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 }\r\n // 售后、配送\r\n if (menu == 'return-order' || menu == 'order-manage') {\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 deliveryWarehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\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}"]}
|