tplus-portaltouch 3.47.5 → 3.47.6

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.
@@ -722,26 +722,24 @@ function HeadContent(props, context) {
722
722
  _context4.prev = 2;
723
723
  _context4.next = 5;
724
724
  return _tplusApi.User.logout(function () {
725
+ // logout 内部一个方法缺少await,所以采用传入回调函数的方法,而不是写在 finally
725
726
  // 需要为500ms 时间短可能会不能正常注销清理
726
- setTimeout(function () {
727
- _mutantsMicrofx.nativeMs.doWindow(item.event);
728
- }, 500);
727
+ clearEndExe(item.event);
729
728
  });
730
729
 
731
730
  case 5:
732
- _context4.next = 12;
731
+ _context4.next = 13;
733
732
  break;
734
733
 
735
734
  case 7:
736
735
  _context4.prev = 7;
737
736
  _context4.t0 = _context4['catch'](2);
738
737
 
738
+ console.log(_context4.t0, 'User.logout()');
739
739
  _tplusApi.User.clear();_mutantsMicrofx.localStore.remove('user');
740
- setTimeout(function () {
741
- _mutantsMicrofx.nativeMs.doWindow(item.event);
742
- }, 500);
740
+ clearEndExe(item.event);
743
741
 
744
- case 12:
742
+ case 13:
745
743
  case 'end':
746
744
  return _context4.stop();
747
745
  }
@@ -752,7 +750,30 @@ function HeadContent(props, context) {
752
750
  });
753
751
  }
754
752
  }];
755
-
753
+ var clearEndExe = function clearEndExe(_eType) {
754
+ setTimeout(function () {
755
+ closeNativeWindow(_eType, function () {
756
+ _tplusComponentsTouch.Loading.hide(); // 关闭loading
757
+ });
758
+ }, 500);
759
+ };
760
+ var closeNativeWindow = function closeNativeWindow(_event, fn) {
761
+ try {
762
+ _mutantsMicrofx.nativeMs.doWindow(_event);
763
+ } catch (e) {
764
+ console.log(e, 'nativeMs.doWindow');
765
+ closeWindow();
766
+ } finally {
767
+ fn && fn();
768
+ }
769
+ };
770
+ var closeWindow = function closeWindow() {
771
+ try {
772
+ window.close(); // 原生壳子中,被重写了
773
+ } catch (e) {
774
+ console.log(e, 'window.close()');
775
+ }
776
+ };
756
777
  var splitUser = function splitUser(value) {
757
778
  var regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');
758
779
  var isEmail = regEmail.test(value);
@@ -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","PLACE_ORDER_PATH","WEAK_STANDARD_NUM","weakRemindNum","hasRouterListenInit","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","isPlaceOrderPage","offlineSys","voucherStore","isOnLine","hasUseOffline","otherOfflineStatus","isHorizontalSunMi","weakConfirm","document","querySelector","getDataIsOffline","ModalWraper","confirm","className","title","content","onOk","setOffLine","switchStatus","Message","tip","getVoucherDataStatus","data","getVoucherData","Idmember","RetailDetails","length","status","playStatus","setIsOffline","clearVoucherData","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","setIsPlaceOrderPage","listen","route","menuProps","menus","map","item","i","key","icon","controlConfig","type","beforeEvent","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","localStore","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","getElementsByClassName","input","getElementById","console","log","focus","clickTheme","isShow","userName","overlayClassName","moreInfoNode","headControlNode","v","width","height","replace","preventDefault","contextTypes","PropTypes","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;kBA4UwBA,W;;AA5UxB;;;;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,IAAMC,mBAAmB,UAAzB;AACA,IAAMC,oBAAoB,CAA1B,C,CAA6B;AAC7B,IAAIC,gBAAgB,CAApB,C,CAAsB;AACtB,IAAIC,sBAAsB,KAA1B,C,CAAgC;AAChC;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,GACgDjC,KADhD,CACnCiC,wBADmC;AAAA,MACTC,mBADS,GACgDlC,KADhD,CACTkC,mBADS;AAAA,MACYC,aADZ,GACgDnC,KADhD,CACYmC,aADZ;AAAA,MAC2BC,gBAD3B,GACgDpC,KADhD,CAC2BoC,gBAD3B;AAAA,MAEnChB,iBAFmC,GAEaC,sBAFb,CAEnCD,iBAFmC;AAAA,MAEhBiB,UAFgB,GAEahB,sBAFb,CAEhBgB,UAFgB;AAAA,MAEJC,YAFI,GAEajB,sBAFb,CAEJiB,YAFI;;AAG3C,MAAMhB,eAAeF,kBAAkBE,YAAvC;AACA,MAAIiB,WAAWnB,kBAAkBmB,QAAjC;AACA,MAAMC,gBAAgBL,iBAAiB,CAACnB,sBAASyB,kBAAjD,CAL2C,CAK0B;;AAL1B,cAMbzB,yBAAY,EANC;AAAA,MAMnC0B,iBANmC,SAMnCA,iBANmC;;AAO3C,MAAIlB,WAAW,MAAf;AACA,MAAIgB,aAAJ,EAAmB;AAAA,QAwBRG,WAxBQ,GAwBjB,SAASA,WAAT,GAAuB;AACrB,UAAI,CAACJ,QAAL,EAAe;AAAE;AAAS,OADL,CACK;AAC1B,UAAIK,SAASC,aAAT,CAAuB,2BAAvB,CAAJ,EAAyD;AAAE;AAAS,OAF/C,CAE+C;AACpE,UAAIvB,iBAAiB,IAArB,EAA2B;AAAE;AAAS,OAHjB,CAGkB;AACvC,UAAIzB,iBAAiBD,iBAArB,EAAwC;AAAE;AAAS,OAJ9B,CAI+B;AACpD,UAAI,CAACyC,WAAWS,gBAAhB,EAAkC;AAAE;AAAS,OALxB,CAKwB;AAC7C,UAAIF,SAASC,aAAT,CAAuB,oBAAvB,CAAJ,EAAkD;AAAE;AAAS,OANxC,CAMwC;AAC7D,UAAID,SAASC,aAAT,CAAuB,sBAAvB,CAAJ,EAAoD;AAAE;AAAS,OAP1C,CAO0C;AAC/D,UAAID,SAASC,aAAT,CAAuB,gBAAvB,CAAJ,EAA8C;AAAE;AAAS,OARpC,CAQoC;AACzDhD;AACAkD,wCAAYC,OAAZ,CAAoB;AAClBC,mBAAW,0BADO;AAElBC,eAAO5D,EAAE,IAAF,CAFW;AAGlB6D,iBAAS7D,EAAE,iBAAF,CAHS;AAIlB8D,cAAM,gBAAM;AACVC,qBAAW,IAAX;AACD;AANiB,OAApB;AAQD,KA1CgB;;AACjB,YAAQ/B,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,IAAyBiB,QAAzB,IAAqC,CAACK,SAASC,aAAT,CAAuB,uBAAvB,CAA1C,EAA2F;AACzFE,wCAAYC,OAAZ,CAAoB;AAClBC,mBAAW,sBADO;AAElBC,eAAO5D,EAAE,IAAF,CAFW;AAGlB6D,iBAAS7D,EAAE,mBAAF,CAHS;AAIlB8D,cAAM,gBAAM;AACVC,qBAAW,IAAX;AACD;AANiB,OAApB;AAQD;;AAoBDV;AACD;AACD,WAASW,YAAT,GAAwB;AACtB,QAAIhC,iBAAiB,IAAjB,IAAyB,CAACiB,QAA9B,EAAwC;AACtCgB,oCAAQC,GAAR,CAAY,iBAAZ;AACA;AACD;AACDT,sCAAYC,OAAZ,CAAoB;AAChBE,aAAO5D,EAAE,IAAF,CADS;AAEhB6D,eAAS7D,4CAAWiD,WAAW,GAAX,GAAiB,GAA5B,qCAFO;AAGhBa,YAAM,gBAAM;AACVC,mBAAWd,QAAX;AACD;AALe,KAApB;AAOD;;AAED,WAASkB,oBAAT,GAAgC;AAC9B,QAAIC,OAAOpB,aAAaqB,cAAb,EAAX;;AAD8B,gBAEMD,QAAQ,EAFd;AAAA,QAEtBE,QAFsB,SAEtBA,QAFsB;AAAA,QAEZC,aAFY,SAEZA,aAFY;;AAG9B,QAAI,CAAC,CAACD,QAAF,IAAeC,iBAAiBA,cAAcC,MAAd,GAAuB,CAA3D,EAA+D;AAC7D,aAAO,IAAP;AACD;AACD,WAAO,KAAP;AACD;;AAED,WAAST,UAAT,CAAoBU,MAApB,EAA4B;AAC1B,QAAI3B,oBAAoBqB,sBAAxB,EAAgD;AAC9CV,wCAAYC,OAAZ,CAAoB;AAClBE,eAAO5D,EAAE,IAAF,CADW;AAElB6D,iBAAS7D,0EAAgByE,SAAS,GAAT,GAAe,GAA/B,uGAFS;AAGlBX,cAAM,gBAAM;AACVY,qBAAWD,MAAX;AACD;AALiB,OAApB;AAOD,KARD,MAQO;AACLC,iBAAWD,MAAX;AACD;AACF;;AAED,WAASC,UAAT,CAAoBD,MAApB,EAA4B;AAC1B;AACA,QAAIA,MAAJ,EAAY;AACV,UAAI,CAAC1B,WAAWS,gBAAX,EAAD,IAAkCF,SAASC,aAAT,CAAuB,sBAAvB,CAAtC,EAAsF;AACpFU,sCAAQC,GAAR,CAAY,iBAAZ;AACA;AACD;AACF;AACDnB,eAAW4B,YAAX,CAAwBF,MAAxB;AACA,QAAI3B,gBAAJ,EAAsB;AACpBE,mBAAa4B,gBAAb;AACD;AACF;AACD,SACE;AAAA;AAAA,MAAK,WAAU,aAAf;AACE;AAAA;AAAA,QAAK,WAAU,eAAf;AACE;AAAA;AAAA,UAAM,WAAU,gBAAhB,EAAiC,OAAO,EAACC,aAAUjC,sBAAsB,MAAtB,GAA+B,EAAzC,CAAD,EAAxC;AAA0F,sCAAC,2BAAD,IAAO,MAAMV,QAAb;AAA1F;AADF,KADF;AAKKgB,qBAAiBP,wBAAjB,IAA6C;AAAA;AAAA,QAAK,0DAAuDM,YAAYL,mBAAZ,GAAkC,EAAlC,GAAuC,UAA9F,CAAL;AAC5C;AAAA;AAAA,UAAM,WAAU,gBAAhB,EAAiC,SAASoB,YAA1C;AACE;AAAA;AAAA;AAAOf,qBAAW,IAAX,GAAkB;AAAzB,SADF;AAEE;AAAA;AAAA;AAAO,wCAAC,2BAAD,IAAO,MAAK,eAAZ,EAA4B,WAAU,OAAtC;AAAP;AAFF,OAD4C;AAK5C;AAAC,qBAAD;AAAA,UAAS,WAAU,QAAnB,EAA4B,kBAAkB,gBAA9C,EAAgE,SAAS;AAAA;AAAA;AAAM6B;AAAN,WAAzE,EAA0G,SAAS1B,oBAAkB,OAAlB,GAA0B,OAA7I;AACE;AAAA;AAAA,YAAM,WAAU,gBAAhB;AAAkC,wCAAC,2BAAD,IAAO,MAAK,SAAZ;AAAlC;AADF;AAL4C;AALlD,GADF;AAkBD,CAzH0B,CAA3B;;AA2HA;AACA,SAAS2B,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,mBAEXxC,iBAFW;AAAA;AAAA;AAAA;;AAGbwB,4CAAQC,GAAR,CAAY,aAAZ;AAHa;;AAAA;AAAA,kBAMVuB,QANU;AAAA;AAAA;AAAA;;AAObxB,4CAAQC,GAAR,CAAY,WAAZ;AAPa;;AAAA;AAAA,mBAUXgB,WAVW;AAAA;AAAA;AAAA;;AAWbjB,4CAAQC,GAAR,CAAY,WAAZ;AAXa;;AAAA;AAcfiB,6BAAe,IAAf;AAde;AAAA;AAAA,qBAgBPpD,uBAAOgB,UAAP,CAAkB2C,YAAlB,EAhBO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAmBbzB,4CAAQ0B,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,GACgB/D,sBADhB,CACxBgB,UADwB,CACX+C,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,MACjBjD,UADiB,GACHhB,sBADG,CACjBgB,UADiB;;AAAA,mBAEY,qBAAS,KAAT,CAFZ;AAAA;AAAA,MAEjBkD,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,mBACjB5D,iBADiB;AAAA;AAAA;AAAA;;AAEnBwB,4CAAQC,GAAR,CAAY,aAAZ;AAFmB;;AAAA;AAAA,mBAKjB+B,UALiB;AAAA;AAAA;AAAA;;AAMnBhC,4CAAQC,GAAR,CAAY,KAAZ;AANmB;;AAAA;AASrBkC,yBAAW,KAAX;AACAF,4BAAc,IAAd;AACAjC,4CAAQC,GAAR,CAAY,KAAZ;AAXqB;AAAA;AAAA,qBAaAnB,WAAWuD,mBAAX,CAA+B,aAAK;AACrDF,2BAAWG,EAAEC,OAAF,GAAY,IAAvB;AACD,eAFkB,CAbA;;AAAA;AAafC,oBAbe;;AAgBnB,kBAAIA,MAAJ,EAAY;AACVxC,8CAAQyC,OAAR;AACD,eAFD,MAEO;AACLzC,8CAAQ0B,KAAR;AACD;AApBkB;AAAA;;AAAA;AAAA;AAAA;;AAsBnB1B,4CAAQ0B,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,kCAAC,WAAD,IAAa,gBAAgBG,cAA7B,EAA6C,YAAYJ,UAAzD,EAAqE,SAASE,OAA9E;AADF,GADF;AAKD;AACD;AACA,IAAMQ,cAAc,yBAAS,UAACjG,KAAD,EAAW;AAAA,MAC9ByF,OAD8B,GACSzF,KADT,CAC9ByF,OAD8B;AAAA,MACrBF,UADqB,GACSvF,KADT,CACrBuF,UADqB;AAAA,MACTI,cADS,GACS3F,KADT,CACT2F,cADS;;AAEtC,SACE;AAAA;AAAA,MAAK,0DAAuD5D,oBAAoB,SAApB,GAAgC,EAAvF,CAAL,EAAkG,SAAS4D,cAA3G;AACI;AAAA;AAAA,QAAM,WAAU,gBAAhB;AACE;AAAA;AAAA,UAAM,iBAAcJ,aAAa,qBAAb,GAAqC,EAAnD,CAAN;AAAgE,sCAAC,2BAAD,IAAO,MAAK,aAAZ;AAAhE,OADF;AAEE;AAAA;AAAA,UAAM,WAAU,iBAAhB;AAAmCE;AAAnC;AAFF;AADJ,GADF;AAQD,CAVmB,CAApB;AAWA,IAAIS,oBAAJ;AAAA,IAAiBC,uBAAjB;AACA,IAAI;AACFD,gBAAcE,gBAAd;AACAD,mBAAiBE,gBAAjB;AACD,CAHD,CAGE,OAAOpB,KAAP,EAAc;AACdiB,gBAAc,EAAd;AACAC,mBAAiB,EAAjB;AACD;AACc,SAASjH,WAAT,CAAqBc,KAArB,EAA4BsG,OAA5B,EAAqC;AAClD,MAAMC,aAAa,CAACC,uBAAO,EAAR,EAAYxF,QAAZ,KAAyB,UAA5C;AADkD,4BAG2ChB,KAH3C,CAE3CyG,YAF2C;AAAA,MAE3CA,YAF2C,uCAE5B,EAF4B;AAAA,yBAG2CzG,KAH3C,CAExB0G,SAFwB;AAAA,MAExBA,SAFwB,oCAEZ,EAFY;AAAA,MAERC,OAFQ,GAG2C3G,KAH3C,CAER2G,OAFQ;AAAA,MAECC,IAFD,GAG2C5G,KAH3C,CAEC4G,IAFD;AAAA,MAEOzF,aAFP,GAG2CnB,KAH3C,CAEOmB,aAFP;AAAA,qBAG2CnB,KAH3C,CAEsB6G,KAFtB;AAAA,MAEsBA,KAFtB,gCAE8B,EAF9B;AAAA,MAEkCC,OAFlC,GAG2C9G,KAH3C,CAEkC8G,OAFlC;AAAA,0BAG2C9G,KAH3C,CAGhDE,UAHgD;AAAA,MAGhDA,UAHgD,qCAGnCb,aAHmC;AAAA,MAGpB0H,IAHoB,GAG2C/G,KAH3C,CAGpB+G,IAHoB;AAAA,MAGd9G,IAHc,GAG2CD,KAH3C,CAGdC,IAHc;AAAA,MAGR+G,QAHQ,GAG2ChH,KAH3C,CAGRgH,QAHQ;AAAA,MAGEC,OAHF,GAG2CjH,KAH3C,CAGEiH,OAHF;AAAA,oBAG2CjH,KAH3C,CAGWkH,IAHX;AAAA,MAGWA,IAHX,+BAGkB,EAHlB;AAAA,MAGsBC,OAHtB,GAG2CnH,KAH3C,CAGsBmH,OAHtB;AAAA,MAG+BC,QAH/B,GAG2CpH,KAH3C,CAG+BoH,QAH/B;;AAAA,oBAIV,qBAAS,KAAT,CAJU;AAAA;AAAA,MAI3CC,YAJ2C;AAAA,MAI7BC,eAJ6B;;AAAA,oBAKc,qBAASC,OAAOH,QAAP,CAAgBI,IAAhB,CAAqBC,OAArB,CAA6BhI,gBAA7B,IAAiD,CAA1D,CALd;AAAA;AAAA,MAK3CwC,wBAL2C;AAAA,MAKjByF,2BALiB;;AAAA,oBAMI,qBAASH,OAAOH,QAAP,CAAgBO,QAAhB,KAA6BjI,kBAAtC,CANJ;AAAA;AAAA,MAM3CwC,mBAN2C;AAAA,MAMtB0F,sBANsB;;AAAA,oBAOF,qBAASL,OAAOH,QAAP,CAAgBI,IAAhB,CAAqBC,OAArB,CAA6B9H,gBAA7B,IAAiD,CAA1D,CAPE;AAAA;AAAA,MAO3CyC,gBAP2C;AAAA,MAOzByF,mBAPyB;;AAQlD,MAAI,CAAC/H,mBAAL,EAA0B;AACxBE,UAAM8G,OAAN,CAAcgB,MAAd,CAAqB,iBAAS;AAC5BF,6BAAuBG,MAAMJ,QAAN,KAAmBjI,kBAA1C;AACAgI,kCAA4BK,MAAMJ,QAAN,CAAeF,OAAf,CAAuBhI,gBAAvB,IAA2C,CAAvE;AACAoI,0BAAoBE,MAAMJ,QAAN,CAAeF,OAAf,CAAuB9H,gBAAvB,IAA2C,CAAC,CAAhE;AACD,KAJD;AAKD;AACDG,wBAAsB,IAAtB;AACA,MAAM0C,gBAAiB,gCAAY,eAAZ,MAAiC,GAAlC,IAA0C,CAACxB,sBAASyB,kBAA1E,CAhBkD,CAgB4C;AAC9F,MAAMuF,YAAY,EAACb,gBAAD,EAAlB;AACA,MAAMc,QACJ;AAAC,cAAD;AAAUD,aAAV;AACGd,SAAKgB,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,eAAKjF;AAAZ;AAFF,OADQ;AAAA,KAAT;AADH,GADF;;AAWA,MAAMqF,gBAAgB,CACpB,EAACC,MAAM,SAAP,EAAkB7G,OAAO,KAAzB,EADoB,EAEpB;AACE6G,UAAM,YADR;AAEE7G,WAAO,OAFT;AAGE8G,iBAAa,qBAACN,IAAD,EAAU;AACrB,aAAOpF,kCAAYC,OAAZ,CAAoB;AACzBC,mBAAW,qBADc;AAEzBC,eAAO,MAFkB;AAGzBC,iBAAS,YAHgB;AAInBC,YAJmB,kBAIZ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AACXsF,kDAAQC,IAAR,CAAa;AACX1F,iCAAW,mBADA;AAEX2F,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;AACtB;AACAtI,iCAAW,YAAM;AAAEuI,iDAASC,QAAT,CAAkBhB,KAAKxG,KAAvB;AAA+B,uBAAlD,EAAoD,GAApD;AACD,qBAHK,CAXG;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAgBTqH,mCAAKI,KAAL,GAAcC,2BAAWC,MAAX,CAAkB,MAAlB;AACd3I,+BAAW,YAAM;AAAEuI,+CAASC,QAAT,CAAkBhB,KAAKxG,KAAvB;AAA+B,qBAAlD,EAAoD,GAApD;;AAjBS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBZ;AAvBwB,OAApB,CAAP;AAyBD;AA7BH,GAFoB,CAAtB;;AAmCA,MAAM4H,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,MAAM3I,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAP;AACD;AACD,WAAO2I,KAAP;AACD,GARD;;AAUA,MAAMK,oBAAoB,SAApBA,iBAAoB,GAAM;AAAA,gBACF7I,yBAAY,EADV;AAAA,QACtB8I,eADsB,SACtBA,eADsB;;AAE9B,QAAI,CAAC,CAACA,eAAN,EAAuB;AACvB,QAAIC,OAAOnH,SAASoH,sBAAT,CAAgC,6BAAhC,CAAX;AACA,QAAIC,QAAQrH,SAASsH,cAAT,CAAwB,cAAxB,CAAZ;AACA,QAAID,KAAJ,EAAWtJ,WAAW,YAAM;AAAE,UAAIoJ,QAAQA,KAAKjG,MAAL,GAAc,CAA1B,EAA6B;AAAEqG,gBAAQC,GAAR,CAAY,4BAAZ,EAA0CH,MAAMI,KAAN;AAAe;AAAE,KAA7G,EAA+G,GAA/G;AACZ,GAND;;AAQA,MAAMC,aAAa,SAAbA,UAAa,CAACC,MAAD,EAAY;AAC7BjD,oBAAgBiD,MAAhB;AACD,GAFD;;AAIA,MAAMC,WAAW,gCAAY,UAAZ,CAAjB;AACA,MAAMC,iDAA8C,CAACzD,QAAD,GAAY,eAAZ,GAA8B,EAA5E,CAAN;AACA,MAAM0D,eAAe;AAAA;AAAA,MAAK,WAAU,yBAAf;AACnB;AAAA;AAAA,QAAI,WAAU,eAAd;AAA+BjE;AAA/B,KADmB;AAEnB;AAAA;AAAA,QAAI,WAAU,YAAd;AAA4BE;AAA5B;AAFmB,GAArB;;AAKA,MAAMgE,kBAAkB;AAAA;AAAA,MAAK,WAAU,sBAAf;AACrBpC,kBAAcL,GAAd,CAAkB;AAAA,aAAK,8BAAC,2BAAD;AACtB,cAAM0C,EAAEpC,IADc;AAEtB,aAAKoC,EAAEpC,IAFe;AAGtB,iBAAS,mBAAM;AACb,cAAIU,wBAAJ,EAAc;AAAA,gBACLT,WADK,GACUmC,CADV,CACLnC,WADK;;AAEZ,gBAAIA,WAAJ,EAAiB;AACf,qBAAOA,YAAYmC,CAAZ,CAAP;AACD;AACD1B,qCAASC,QAAT,CAAkByB,EAAEjJ,KAApB;AACA,gBAAI,OAAOkI,iBAAP,IAA4B,UAAhC,EAA4C;AAC1CA;AACD;AACF;AACF;AAdqB,QAAL;AAAA,KAAlB;AADqB,GAAxB;;AAmBA,MAAI7I,sBAASC,eAAb,EAA8B,OAAO,wCAAoB,EAAE4F,YAAF,EAASV,8BAAT,EAAyBD,wBAAzB;AACvDjG,cADuD,EACjDC,sBADiD,EACrC0G,UADqC,EAC/B7G,kBAD+B,EACrB4K,gCADqB,EACJvD,kBADI,EACMN,gBADN,EACewD,sBADf,EAC2BjD,0BAD3B,EACyCL,kBADzC,EACmDC,gBADnD,EAApB,CAAP;;AAG9B,SAAQ;AAAA;AAAA,MAAK,gCAAQ5B,SAAS,cAAjB,EAAiCwF,OAAO,MAAxC,EAAgDC,QAAQ,MAAxD,IAAmEjE,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,oBAAQiE,OAAR,CAAgB,GAAhB;AAAqB,WAAlE;AAAqEnE;AAArE,OADb;AAEG,OAAC,CAACF,SAAF,IAAe;AAAC,qBAAD;AAAA,UAAS,SAAQ,OAAjB,EAAyB,WAAU,aAAnC,EAAiD,OAAOgE,YAAxD,EAAsE,OAAO,MAA7E,EAAqF,kBAAiB,mBAAtG;AACd;AAAA;AAAA,YAAK,WAAU,YAAf;AAA6BhE,mBAA7B;AAAuC,+CAAG,WAAU,sBAAb;AAAvC;AADc,OAFlB;AAME,oCAAC,kBAAD,IAAoB,0BAA0BzE,wBAA9C,EAAwE,qBAAqBC,mBAA7F,EAAkH,eAAeM,aAAjI,EAAgJ,kBAAkBJ,gBAAlK,GANF;AAOGI,uBAAiBP,wBAAjB,IAA6C,8BAAC,YAAD,OAPhD;AAQGO,uBAAiBP,wBAAjB,IAA6C,8BAAC,cAAD;AARhD,KADM;AAWLsE,kBAAcoE,eAXT;AAYN;AAAA;AAAA,QAAK,WAAU,oBAAf;AACG,OAAC1D,OAAD,IAAY,8BAAC,2BAAD,IAAO,MAAK,QAAZ,EAAqB,4BAAyB,CAACD,QAAD,GAAY,UAAZ,GAAyB,EAAlD,CAArB,EAA8E,SAAS,mBAAM;AAACsD,qBAAW,IAAX;AAAiB,SAA/G,GADf;AAEG,OAACrD,OAAD,IAAY,CAAC,CAACuD,QAAd,IAA0B;AAAC,sBAAD;AAAA;AACzB,4BAAkBC,gBADO;AAEzB,mBAAS,CAAC,OAAD,CAFgB;AAGzB,mBAASxC,KAHgB;AAIzB,qBAAU,aAJe;AAKzB;AALyB;AAOzB;AAAA;AAAA,YAAK,WAAU,4BAAf,EAA4C,SAAS;AAAA,qBAAKpC,EAAEmF,cAAF,EAAL;AAAA,aAArD;AACE;AAAA;AAAA,cAAK,WAAU,iBAAf;AACE;AAAA;AAAA,gBAAG,WAAU,QAAb;AAAA;AAA0B;AAAA;AAAA;AAAOzB,0BAAUiB,QAAV;AAAP;AAA1B;AADF,WADF;AAIE,+CAAG,WAAU,sBAAb;AAJF;AAPyB,OAF7B;AAgBG,OAACvD,OAAD,IAAY;AAAA;AAAA,UAAK,WAAU,iBAAf;AAAkCF;AAAlC,OAhBf;AAiBE,oCAAC,QAAD,IAAU,MAAM9G,IAAhB,EAAsB,YAAYC,UAAlC;AAjBF,KAZM;AA+BN,kCAAC,oBAAD;AACI,eAASmH,YADb;AAEI,kBAAYrG,sBAASC,eAFzB;AAGI,gBAAU+F,QAHd;AAII,eAAS,iBAACuD,MAAD;AAAA,eAAYD,WAAWC,MAAX,CAAZ;AAAA;AAJb;AA/BM,GAAR;AAsCD;;AAEDrL,YAAY+L,YAAZ,GAA2B;AACzBnC,cAAYoC,oBAAUC;AADG,CAA3B","file":"headContent.js","sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Ticon, ModalWraper, Loading, Spin, Message } from 'tplus-components-touch';\nimport { Tooltip, Menu, Dropdown, Switch, Popover } from 'antd';\nimport PropTypes from 'prop-types';\nimport { formatDate } from '../../utils';\nimport { env, nativeMs, localStore, i18n } from 'mutants-microfx';\nimport { PosInitData } from 'tplus-poslogin';\nimport { User } from 'tplus-api';\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\nimport { platform } from 'mutants-util';\nimport ThemeModal from \"./themeModal\";\nimport UploadOrder from \"./uploadList\";\nimport {stores} from 'mutants-microfx';\nimport {observer} from 'mobx-react';\nimport {OFFLINE_POINT_DESC} from './offlinePointDesc';\nconst { Item } = Menu;\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\nconst t = i18n.getFixedT(null, 'newretail');\nconst UPLOAD_BASE_PATH = '/login';\nconst NETWORK_THEME_PATH = \"/\";\nconst PLACE_ORDER_PATH = \"/RE/RE01\";\nconst WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限\nlet weakRemindNum = 0;// 弱网提示初始值\nlet hasRouterListenInit = false;// 路由监听判断flag\n//头部时间\nfunction HeadTime(props) {\n const { time, dateFormat } = props;\n let unMount = false;\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\n let timeout;\n function refreshDate() {\n if (time) return;\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\n timeout = setTimeout(refreshDate, 1000);\n }\n useEffect(() => {\n refreshDate();\n return () => {\n unMount = true;\n clearTimeout(timeout);\n };\n }, [currentTime]);\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\n\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\n return (\n <div className='time'>\n {timeStr ?\n <div>{timeStr}</div> :\n <div>\n {date_YMD}\n <span>{date_HMS}</span>\n </div>\n }\n </div>\n );\n}\n\n//头部联网状态\nconst OnLineStatus = observer((props)=>{\n const { networkStatus } = props;\n const { networkCheckStore } = stores;\n const networkState = networkCheckStore.networkState;\n let networkOn = true;\n let iconName = 'WiFi';\n switch (networkState) {\n case '联网':\n iconName = 'WiFi';\n break;\n case '弱网':\n iconName = 'ruowifi';\n break;\n case '离线':\n networkOn = false;\n iconName = 'wuwangluo';\n break;\n default:\n break;\n }\n const switchNetwork = (checked ,event)=>{\n networkCheckStore.switchOnLine(checked);\n }\n const lineIcon = <Ticon\n icon={iconName}\n className=\"network-state-icon\"\n />\n return (\n <div><span className='network-status' style={{marginRight:'10px'}}>{networkStatus || lineIcon}</span><span><Switch checkedChildren=\"开启\" unCheckedChildren=\"关闭\" defaultChecked checked={networkOn} onChange={switchNetwork}/></span></div>\n );\n});\nfunction getIsOffNetWork() {\n const { networkCheckStore } = stores;\n return networkCheckStore.networkState === '离线';\n}\n//头部联网状态\nconst OnLineStatusToggle = observer(props => {\n const { isShowUploadBtnsByRouter, isResetNetWorkTheme, isOfflineCash, isPlaceOrderPage } = props;\n const { networkCheckStore, offlineSys, voucherStore } = stores;\n const networkState = networkCheckStore.networkState;\n let isOnLine = networkCheckStore.isOnLine;\n const hasUseOffline = isOfflineCash && !platform.otherOfflineStatus; //是否允许离线\n const { isHorizontalSunMi } = platform || {};\n let iconName = 'WiFi';\n if (hasUseOffline) {\n switch (networkState) {\n case '联网':\n iconName = 'WiFi';\n break;\n case '弱网':\n iconName = 'ruowifi';\n break;\n case '离线':\n iconName = 'wuwangluo';\n break;\n default:\n break;\n }\n if (networkState === '离线' && isOnLine && !document.querySelector('.tplus-off-line-modal')) {\n ModalWraper.confirm({\n className: 'tplus-off-line-modal',\n title: t('提示'),\n content: t('网络已断,是否切换到离线收银模式?'),\n onOk: () => {\n setOffLine(true);\n }\n });\n }\n function weakConfirm() {\n if (!isOnLine) { return; }// 离线不提示\n if (document.querySelector('.tplus-weak-network-modal')) { return; }// 不重复弹窗\n if (networkState !== '弱网') { return; } // 非弱网状态不提示\n if (weakRemindNum >= WEAK_STANDARD_NUM) { return; } // 提示大于三次不再提示\n if (!offlineSys.getDataIsOffline) { return; }// 数据未下载完不提示\n if (document.querySelector('.isRetailUpLoading')) { return; }// 上传中不提示\n if (document.querySelector('.isRetailDownLoading')) { return; }// 下载中不提示\n if (document.querySelector('.tplus-loading')) { return; }// 全屏loading不提示\n weakRemindNum ++;\n ModalWraper.confirm({\n className: 'tplus-weak-network-modal',\n title: t('提示'),\n content: t('当前网络不好,是否切换到离线?'),\n onOk: () => {\n setOffLine(true);\n }\n });\n }\n weakConfirm();\n }\n function switchStatus() {\n if (networkState === '离线' && !isOnLine) {\n Message.tip('当前无网络,无法切换为在线状态');\n return;\n }\n ModalWraper.confirm({\n title: t('提示'),\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\n onOk: () => {\n setOffLine(isOnLine);\n }\n });\n }\n\n function getVoucherDataStatus() {\n let data = voucherStore.getVoucherData();\n const { Idmember, RetailDetails } = data || {};\n if (!!Idmember || (RetailDetails && RetailDetails.length > 0)) {\n return true;\n }\n return false;\n }\n\n function setOffLine(status) {\n if (isPlaceOrderPage && getVoucherDataStatus()) {\n ModalWraper.confirm({\n title: t('提示'),\n content: t(`当前为开单界面,切换到${status ? '离' : '在'}线会清除当前数据,确定要切换吗?`),\n onOk: () => {\n playStatus(status);\n }\n });\n } else {\n playStatus(status);\n }\n }\n\n function playStatus(status) {\n // status 为 true 是在线切离线\n if (status) {\n if (!offlineSys.getDataIsOffline() || document.querySelector('.isRetailDownLoading')) {\n Message.tip('数据还未下载完,无法切换为离线');\n return;\n }\n }\n offlineSys.setIsOffline(status);\n if (isPlaceOrderPage) {\n voucherStore.clearVoucherData();\n }\n }\n return (\n <div className='on-off-wrap'>\n <div className='status-square'>\n <span className=\"status-tog-btn\" style={{color: `${isResetNetWorkTheme ? '#fff' : ''}`}}>{<Ticon icon={iconName}/>}</span>\n </div>\n {\n hasUseOffline && isShowUploadBtnsByRouter && <div className={`status-square c-pointer online-status-bg ${isOnLine || isResetNetWorkTheme ? '' : 'off-line'}`}>\n <span className=\"status-tog-btn\" onClick={switchStatus}>\n <span>{isOnLine ? '在线' : '离线'}</span>\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\" />}</span>\n </span>\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<pre>{OFFLINE_POINT_DESC}</pre>} trigger={isHorizontalSunMi?'click':'hover'}>\n <span className=\"status-tog-btn\">{<Ticon icon=\"tanhao1\" />}</span>\n </Popover>\n </div>\n }\n </div>\n );\n});\n\n//零售单上传\nfunction RetailUpload() {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [isUpLoading, setIsUpLoading] = useState(false);\n const refModal = useRef(null);\n const showModal = async () => {\n refModal && refModal.current.fetch();\n setIsModalVisible(true);\n };\n\n const handleOk = async (isUpLoad = false) => {\n setIsModalVisible(false);\n if (getIsOffNetWork()) {\n Message.tip('已断网,不可以上传单据');\n return;\n }\n if (!isUpLoad) {\n Message.tip('暂无可以上传的单据');\n return;\n }\n if (isUpLoading) {\n Message.tip('零售单正在上传……');\n return;\n }\n setIsUpLoading(true);\n try {\n await stores.offlineSys.uploadRetail();\n // Message.success('零售单上传成功');\n } catch (err) {\n Message.error('上传失败');\n }\n setIsUpLoading(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n return (\n <div className='upload-retail'>\n <div className=\"status-square online-status-bg c-pointer\" onClick={showModal}>\n <span className=\"status-tog-btn\">\n <span className={`${isUpLoading ? 'isRetailUpLoading' : ''}`}>{<Ticon icon=\"shangchuan\"/>}</span>\n <span className=\"fast-upload-btn\">上传零售单</span>\n </span>\n </div>\n <UnLoadNum/>\n <UploadOrder ref={refModal} visible={isModalVisible} handleOk={handleOk} handleCancel={handleCancel}/>\n </div>\n );\n}\n// 零售单未上传的数量\nconst UnLoadNum = observer(() => {\n const {offlineSys: {retailNotUploadNumber} } = stores;\n return <span style={{display: retailNotUploadNumber > 0 ? 'inherit' : 'none'}} className=\"up-count-btn\">{retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber}</span>\n});\n//零售单下载\nfunction RetailDownload() {\n const {offlineSys} = stores;\n const [isDownload, setIsDownload] = useState(false);\n const [downStr, setDownStr] = useState('下载数据');\n const handleDownLoad = async () => {\n if (getIsOffNetWork()) {\n Message.tip('已断网,不可以下载单据');\n return;\n }\n if (isDownload) {\n Message.tip('下载中');\n return;\n }\n setDownStr('0 %');\n setIsDownload(true);\n Message.tip('下载中');\n try {\n let result = await offlineSys.downloadCatcherData(e => {\n setDownStr(e.percent + ' %');\n });\n if (result) {\n Message.success(`数据下载成功`);\n } else {\n Message.error(`数据下载失败`);\n }\n } catch(err){\n Message.error('数据下载失败');\n }\n setDownStr('下载数据');\n setIsDownload(false);\n };\n return (\n <div className='download-retail'>\n <DownloadBtn handleDownLoad={handleDownLoad} isDownload={isDownload} downStr={downStr}/>\n </div>\n );\n};\n// 下载按钮\nconst DownloadBtn = observer((props) => {\n const { downStr, isDownload, handleDownLoad} = props;\n return (\n <div className={`status-square online-status-bg c-pointer ${getIsOffNetWork() ? 'is-grey' : ''}`} onClick={handleDownLoad}>\n <span className=\"status-tog-btn\">\n <span className={`${isDownload ? 'isRetailDownLoading' : ''}`}>{<Ticon icon=\"xiazaishuju\"/>}</span>\n <span className=\"fast-upload-btn\">{downStr}</span>\n </span>\n </div>\n )\n});\nlet releaseDate, releaseVersion;\ntry {\n releaseDate = __RELEASESDATE__;\n releaseVersion = __BUILDVERSION__;\n} catch (error) {\n releaseDate = '';\n releaseVersion = '';\n}\nexport default function HeadContent(props, context) {\n const isElectron = (env || {}).platform === 'electron';\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\n const [themeVisible, setThemeVisible] = useState(false);\n const [isShowUploadBtnsByRouter, setIsShowUploadBtnsByRouter] = useState(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0);\n const [isResetNetWorkTheme, setIsResetNetWorkTheme] = useState(window.location.pathname === NETWORK_THEME_PATH);\n const [isPlaceOrderPage, setIsPlaceOrderPage] = useState(window.location.href.indexOf(PLACE_ORDER_PATH) > 0);\n if (!hasRouterListenInit) {\n props.history.listen(route => {\n setIsResetNetWorkTheme(route.pathname === NETWORK_THEME_PATH);\n setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);\n setIsPlaceOrderPage(route.pathname.indexOf(PLACE_ORDER_PATH) > -1)\n });\n }\n hasRouterListenInit = true;\n const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !platform.otherOfflineStatus; //是否允许离线\n const menuProps = {onClick};\n const menus = (\n <Menu {...menuProps}>\n {menu.map((item, i) =>\n <Item key={item.key || i}>\n {item.icon && <Ticon icon={item.icon}/>}\n <span>{item.title}</span>\n </Item>)\n }\n </Menu>\n );\n\n const controlConfig = [\n {type: 'suoxiao', event: 'min'},\n {\n type: 'guanbixiao',\n event: 'close',\n beforeEvent: (item) => {\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭提示',\n content: '您确定要关闭应用吗?',\n async onOk() {\n Loading.show({\n className: 'close-app-loading',\n node: <div className='close-app-spin'>\n <Spin scale={1.2} type='shape' visible />\n <h1>应用关闭中...</h1>\n </div>,\n delay: false\n });\n context.actionHook.actionChange('close-app');\n try {\n await User.logout(() => {\n // 需要为500ms 时间短可能会不能正常注销清理\n setTimeout(() => { nativeMs.doWindow(item.event) }, 500); \n });\n } catch (err) {\n User.clear(); localStore.remove('user');\n setTimeout(() => { nativeMs.doWindow(item.event) }, 500);\n }\n }\n })\n }\n },\n ];\n\n const splitUser = (value) => {\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\n const isEmail = regEmail.test(value);\n\n if (isEmail) {\n return value.split('@')[0];\n }\n return value;\n }\n\n const setInventoryFocus = () => {\n const { isHorizontalPad } = platform || {};\n if (!!isHorizontalPad) return;\n let doms = document.getElementsByClassName('app hot-key-focus-container');\n let input = document.getElementById('productPoint');\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\n }\n\n const clickTheme = (isShow) => {\n setThemeVisible(isShow)\n }\n\n const userName = PosInitData('UserName');\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\n const moreInfoNode = <div className='pos-more-info-container'>\n <h1 className='business-name'>{businessName}</h1>\n <h1 className='store-code'>{posCode}</h1>\n </div>\n\n const headControlNode = <div className=\"head-content-control\">\n {controlConfig.map(v => <Ticon\n type={v.type}\n key={v.type}\n onClick={() => {\n if (nativeMs) {\n const {beforeEvent} = v;\n if (beforeEvent) {\n return beforeEvent(v);\n }\n nativeMs.doWindow(v.event)\n if (typeof setInventoryFocus == 'function') {\n setInventoryFocus()\n }\n }\n }}\n />)}\n </div>\n\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\n\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\n <div className=\"head-content-left\">\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\n </Tooltip>}\n {/* <OnLineStatus networkStatus={networkStatus}/> */}\n <OnLineStatusToggle isShowUploadBtnsByRouter={isShowUploadBtnsByRouter} isResetNetWorkTheme={isResetNetWorkTheme} isOfflineCash={hasUseOffline} isPlaceOrderPage={isPlaceOrderPage}/>\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailUpload />}\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailDownload />}\n </div>\n {isElectron && headControlNode}\n <div className=\"head-content-right\">\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\n {!isLogin && !!userName && <Dropdown\n overlayClassName={overlayClassName}\n trigger={['click']}\n overlay={menus}\n placement=\"bottomRight\"\n arrow\n >\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\n <div className='store-info-item'>\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\n </div>\n <i className='header-triangle-down'/>\n </div>\n </Dropdown>}\n {!isLogin && <div className='store-info-item'>{solt}</div>}\n <HeadTime time={time} dateFormat={dateFormat}/>\n </div>\n <ThemeModal\n visible={themeVisible}\n isVertical={platform.isVerticalTouch}\n isPortal={isPortal}\n closeFn={(isShow) => clickTheme(isShow)}\n />\n </div>);\n}\n\nHeadContent.contextTypes = {\n actionHook: PropTypes.object,\n}\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","PLACE_ORDER_PATH","WEAK_STANDARD_NUM","weakRemindNum","hasRouterListenInit","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","isPlaceOrderPage","offlineSys","voucherStore","isOnLine","hasUseOffline","otherOfflineStatus","isHorizontalSunMi","weakConfirm","document","querySelector","getDataIsOffline","ModalWraper","confirm","className","title","content","onOk","setOffLine","switchStatus","Message","tip","getVoucherDataStatus","data","getVoucherData","Idmember","RetailDetails","length","status","playStatus","setIsOffline","clearVoucherData","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","setIsPlaceOrderPage","listen","route","menuProps","menus","map","item","i","key","icon","controlConfig","type","beforeEvent","Loading","show","node","delay","actionHook","actionChange","User","logout","clearEndExe","console","log","clear","localStore","remove","_eType","closeNativeWindow","hide","_event","fn","nativeMs","doWindow","closeWindow","close","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","getElementsByClassName","input","getElementById","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';\nimport { Ticon, ModalWraper, Loading, Spin, Message } from 'tplus-components-touch';\nimport { Tooltip, Menu, Dropdown, Switch, Popover } from 'antd';\nimport PropTypes from 'prop-types';\nimport { formatDate } from '../../utils';\nimport { env, nativeMs, localStore, i18n } from 'mutants-microfx';\nimport { PosInitData } from 'tplus-poslogin';\nimport { User } from 'tplus-api';\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\nimport { platform } from 'mutants-util';\nimport ThemeModal from \"./themeModal\";\nimport UploadOrder from \"./uploadList\";\nimport {stores} from 'mutants-microfx';\nimport {observer} from 'mobx-react';\nimport {OFFLINE_POINT_DESC} from './offlinePointDesc';\nconst { Item } = Menu;\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\nconst t = i18n.getFixedT(null, 'newretail');\nconst UPLOAD_BASE_PATH = '/login';\nconst NETWORK_THEME_PATH = \"/\";\nconst PLACE_ORDER_PATH = \"/RE/RE01\";\nconst WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限\nlet weakRemindNum = 0;// 弱网提示初始值\nlet hasRouterListenInit = false;// 路由监听判断flag\n//头部时间\nfunction HeadTime(props) {\n const { time, dateFormat } = props;\n let unMount = false;\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\n let timeout;\n function refreshDate() {\n if (time) return;\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\n timeout = setTimeout(refreshDate, 1000);\n }\n useEffect(() => {\n refreshDate();\n return () => {\n unMount = true;\n clearTimeout(timeout);\n };\n }, [currentTime]);\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\n\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\n return (\n <div className='time'>\n {timeStr ?\n <div>{timeStr}</div> :\n <div>\n {date_YMD}\n <span>{date_HMS}</span>\n </div>\n }\n </div>\n );\n}\n\n//头部联网状态\nconst OnLineStatus = observer((props)=>{\n const { networkStatus } = props;\n const { networkCheckStore } = stores;\n const networkState = networkCheckStore.networkState;\n let networkOn = true;\n let iconName = 'WiFi';\n switch (networkState) {\n case '联网':\n iconName = 'WiFi';\n break;\n case '弱网':\n iconName = 'ruowifi';\n break;\n case '离线':\n networkOn = false;\n iconName = 'wuwangluo';\n break;\n default:\n break;\n }\n const switchNetwork = (checked ,event)=>{\n networkCheckStore.switchOnLine(checked);\n }\n const lineIcon = <Ticon\n icon={iconName}\n className=\"network-state-icon\"\n />\n return (\n <div><span className='network-status' style={{marginRight:'10px'}}>{networkStatus || lineIcon}</span><span><Switch checkedChildren=\"开启\" unCheckedChildren=\"关闭\" defaultChecked checked={networkOn} onChange={switchNetwork}/></span></div>\n );\n});\nfunction getIsOffNetWork() {\n const { networkCheckStore } = stores;\n return networkCheckStore.networkState === '离线';\n}\n//头部联网状态\nconst OnLineStatusToggle = observer(props => {\n const { isShowUploadBtnsByRouter, isResetNetWorkTheme, isOfflineCash, isPlaceOrderPage } = props;\n const { networkCheckStore, offlineSys, voucherStore } = stores;\n const networkState = networkCheckStore.networkState;\n let isOnLine = networkCheckStore.isOnLine;\n const hasUseOffline = isOfflineCash && !platform.otherOfflineStatus; //是否允许离线\n const { isHorizontalSunMi } = platform || {};\n let iconName = 'WiFi';\n if (hasUseOffline) {\n switch (networkState) {\n case '联网':\n iconName = 'WiFi';\n break;\n case '弱网':\n iconName = 'ruowifi';\n break;\n case '离线':\n iconName = 'wuwangluo';\n break;\n default:\n break;\n }\n if (networkState === '离线' && isOnLine && !document.querySelector('.tplus-off-line-modal')) {\n ModalWraper.confirm({\n className: 'tplus-off-line-modal',\n title: t('提示'),\n content: t('网络已断,是否切换到离线收银模式?'),\n onOk: () => {\n setOffLine(true);\n }\n });\n }\n function weakConfirm() {\n if (!isOnLine) { return; }// 离线不提示\n if (document.querySelector('.tplus-weak-network-modal')) { return; }// 不重复弹窗\n if (networkState !== '弱网') { return; } // 非弱网状态不提示\n if (weakRemindNum >= WEAK_STANDARD_NUM) { return; } // 提示大于三次不再提示\n if (!offlineSys.getDataIsOffline) { return; }// 数据未下载完不提示\n if (document.querySelector('.isRetailUpLoading')) { return; }// 上传中不提示\n if (document.querySelector('.isRetailDownLoading')) { return; }// 下载中不提示\n if (document.querySelector('.tplus-loading')) { return; }// 全屏loading不提示\n weakRemindNum ++;\n ModalWraper.confirm({\n className: 'tplus-weak-network-modal',\n title: t('提示'),\n content: t('当前网络不好,是否切换到离线?'),\n onOk: () => {\n setOffLine(true);\n }\n });\n }\n weakConfirm();\n }\n function switchStatus() {\n if (networkState === '离线' && !isOnLine) {\n Message.tip('当前无网络,无法切换为在线状态');\n return;\n }\n ModalWraper.confirm({\n title: t('提示'),\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\n onOk: () => {\n setOffLine(isOnLine);\n }\n });\n }\n\n function getVoucherDataStatus() {\n let data = voucherStore.getVoucherData();\n const { Idmember, RetailDetails } = data || {};\n if (!!Idmember || (RetailDetails && RetailDetails.length > 0)) {\n return true;\n }\n return false;\n }\n\n function setOffLine(status) {\n if (isPlaceOrderPage && getVoucherDataStatus()) {\n ModalWraper.confirm({\n title: t('提示'),\n content: t(`当前为开单界面,切换到${status ? '离' : '在'}线会清除当前数据,确定要切换吗?`),\n onOk: () => {\n playStatus(status);\n }\n });\n } else {\n playStatus(status);\n }\n }\n\n function playStatus(status) {\n // status 为 true 是在线切离线\n if (status) {\n if (!offlineSys.getDataIsOffline() || document.querySelector('.isRetailDownLoading')) {\n Message.tip('数据还未下载完,无法切换为离线');\n return;\n }\n }\n offlineSys.setIsOffline(status);\n if (isPlaceOrderPage) {\n voucherStore.clearVoucherData();\n }\n }\n return (\n <div className='on-off-wrap'>\n <div className='status-square'>\n <span className=\"status-tog-btn\" style={{color: `${isResetNetWorkTheme ? '#fff' : ''}`}}>{<Ticon icon={iconName}/>}</span>\n </div>\n {\n hasUseOffline && isShowUploadBtnsByRouter && <div className={`status-square c-pointer online-status-bg ${isOnLine || isResetNetWorkTheme ? '' : 'off-line'}`}>\n <span className=\"status-tog-btn\" onClick={switchStatus}>\n <span>{isOnLine ? '在线' : '离线'}</span>\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\" />}</span>\n </span>\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<pre>{OFFLINE_POINT_DESC}</pre>} trigger={isHorizontalSunMi?'click':'hover'}>\n <span className=\"status-tog-btn\">{<Ticon icon=\"tanhao1\" />}</span>\n </Popover>\n </div>\n }\n </div>\n );\n});\n\n//零售单上传\nfunction RetailUpload() {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [isUpLoading, setIsUpLoading] = useState(false);\n const refModal = useRef(null);\n const showModal = async () => {\n refModal && refModal.current.fetch();\n setIsModalVisible(true);\n };\n\n const handleOk = async (isUpLoad = false) => {\n setIsModalVisible(false);\n if (getIsOffNetWork()) {\n Message.tip('已断网,不可以上传单据');\n return;\n }\n if (!isUpLoad) {\n Message.tip('暂无可以上传的单据');\n return;\n }\n if (isUpLoading) {\n Message.tip('零售单正在上传……');\n return;\n }\n setIsUpLoading(true);\n try {\n await stores.offlineSys.uploadRetail();\n // Message.success('零售单上传成功');\n } catch (err) {\n Message.error('上传失败');\n }\n setIsUpLoading(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n return (\n <div className='upload-retail'>\n <div className=\"status-square online-status-bg c-pointer\" onClick={showModal}>\n <span className=\"status-tog-btn\">\n <span className={`${isUpLoading ? 'isRetailUpLoading' : ''}`}>{<Ticon icon=\"shangchuan\"/>}</span>\n <span className=\"fast-upload-btn\">上传零售单</span>\n </span>\n </div>\n <UnLoadNum/>\n <UploadOrder ref={refModal} visible={isModalVisible} handleOk={handleOk} handleCancel={handleCancel}/>\n </div>\n );\n}\n// 零售单未上传的数量\nconst UnLoadNum = observer(() => {\n const {offlineSys: {retailNotUploadNumber} } = stores;\n return <span style={{display: retailNotUploadNumber > 0 ? 'inherit' : 'none'}} className=\"up-count-btn\">{retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber}</span>\n});\n//零售单下载\nfunction RetailDownload() {\n const {offlineSys} = stores;\n const [isDownload, setIsDownload] = useState(false);\n const [downStr, setDownStr] = useState('下载数据');\n const handleDownLoad = async () => {\n if (getIsOffNetWork()) {\n Message.tip('已断网,不可以下载单据');\n return;\n }\n if (isDownload) {\n Message.tip('下载中');\n return;\n }\n setDownStr('0 %');\n setIsDownload(true);\n Message.tip('下载中');\n try {\n let result = await offlineSys.downloadCatcherData(e => {\n setDownStr(e.percent + ' %');\n });\n if (result) {\n Message.success(`数据下载成功`);\n } else {\n Message.error(`数据下载失败`);\n }\n } catch(err){\n Message.error('数据下载失败');\n }\n setDownStr('下载数据');\n setIsDownload(false);\n };\n return (\n <div className='download-retail'>\n <DownloadBtn handleDownLoad={handleDownLoad} isDownload={isDownload} downStr={downStr}/>\n </div>\n );\n};\n// 下载按钮\nconst DownloadBtn = observer((props) => {\n const { downStr, isDownload, handleDownLoad} = props;\n return (\n <div className={`status-square online-status-bg c-pointer ${getIsOffNetWork() ? 'is-grey' : ''}`} onClick={handleDownLoad}>\n <span className=\"status-tog-btn\">\n <span className={`${isDownload ? 'isRetailDownLoading' : ''}`}>{<Ticon icon=\"xiazaishuju\"/>}</span>\n <span className=\"fast-upload-btn\">{downStr}</span>\n </span>\n </div>\n )\n});\nlet releaseDate, releaseVersion;\ntry {\n releaseDate = __RELEASESDATE__;\n releaseVersion = __BUILDVERSION__;\n} catch (error) {\n releaseDate = '';\n releaseVersion = '';\n}\nexport default function HeadContent(props, context) {\n const isElectron = (env || {}).platform === 'electron';\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\n const [themeVisible, setThemeVisible] = useState(false);\n const [isShowUploadBtnsByRouter, setIsShowUploadBtnsByRouter] = useState(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0);\n const [isResetNetWorkTheme, setIsResetNetWorkTheme] = useState(window.location.pathname === NETWORK_THEME_PATH);\n const [isPlaceOrderPage, setIsPlaceOrderPage] = useState(window.location.href.indexOf(PLACE_ORDER_PATH) > 0);\n if (!hasRouterListenInit) {\n props.history.listen(route => {\n setIsResetNetWorkTheme(route.pathname === NETWORK_THEME_PATH);\n setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);\n setIsPlaceOrderPage(route.pathname.indexOf(PLACE_ORDER_PATH) > -1)\n });\n }\n hasRouterListenInit = true;\n const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !platform.otherOfflineStatus; //是否允许离线\n const menuProps = {onClick};\n const menus = (\n <Menu {...menuProps}>\n {menu.map((item, i) =>\n <Item key={item.key || i}>\n {item.icon && <Ticon icon={item.icon}/>}\n <span>{item.title}</span>\n </Item>)\n }\n </Menu>\n );\n\n const controlConfig = [\n {type: 'suoxiao', event: 'min'},\n {\n type: 'guanbixiao',\n event: 'close',\n beforeEvent: (item) => {\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭提示',\n content: '您确定要关闭应用吗?',\n async onOk() {\n Loading.show({\n className: 'close-app-loading',\n node: <div className='close-app-spin'>\n <Spin scale={1.2} type='shape' visible />\n <h1>应用关闭中...</h1>\n </div>,\n delay: false\n });\n context.actionHook.actionChange('close-app');\n try {\n await User.logout(() => {// logout 内部一个方法缺少await,所以采用传入回调函数的方法,而不是写在 finally\n // 需要为500ms 时间短可能会不能正常注销清理\n clearEndExe(item.event);\n });\n } catch (err) {\n console.log(err, 'User.logout()');\n User.clear(); localStore.remove('user');\n clearEndExe(item.event);\n }\n }\n })\n }\n },\n ];\n const clearEndExe = (_eType) => {\n setTimeout(() => {\n closeNativeWindow(_eType, function() {\n Loading.hide();// 关闭loading \n });\n }, 500);\n }\n const closeNativeWindow = (_event, fn) => {\n try {\n nativeMs.doWindow(_event);\n } catch (e) {\n console.log(e, 'nativeMs.doWindow');\n closeWindow();\n } finally {\n fn && fn();\n }\n }\n const closeWindow = () => {\n try {\n window.close();// 原生壳子中,被重写了\n } catch (e) {\n console.log(e, 'window.close()');\n }\n }\n const splitUser = (value) => {\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\n const isEmail = regEmail.test(value);\n\n if (isEmail) {\n return value.split('@')[0];\n }\n return value;\n }\n\n const setInventoryFocus = () => {\n const { isHorizontalPad } = platform || {};\n if (!!isHorizontalPad) return;\n let doms = document.getElementsByClassName('app hot-key-focus-container');\n let input = document.getElementById('productPoint');\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\n }\n\n const clickTheme = (isShow) => {\n setThemeVisible(isShow)\n }\n\n const userName = PosInitData('UserName');\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\n const moreInfoNode = <div className='pos-more-info-container'>\n <h1 className='business-name'>{businessName}</h1>\n <h1 className='store-code'>{posCode}</h1>\n </div>\n\n const headControlNode = <div className=\"head-content-control\">\n {controlConfig.map(v => <Ticon\n type={v.type}\n key={v.type}\n onClick={() => {\n if (nativeMs) {\n const {beforeEvent} = v;\n if (beforeEvent) {\n return beforeEvent(v);\n }\n nativeMs.doWindow(v.event)\n if (typeof setInventoryFocus == 'function') {\n setInventoryFocus()\n }\n }\n }}\n />)}\n </div>\n\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\n\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\n <div className=\"head-content-left\">\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\n </Tooltip>}\n {/* <OnLineStatus networkStatus={networkStatus}/> */}\n <OnLineStatusToggle isShowUploadBtnsByRouter={isShowUploadBtnsByRouter} isResetNetWorkTheme={isResetNetWorkTheme} isOfflineCash={hasUseOffline} isPlaceOrderPage={isPlaceOrderPage}/>\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailUpload />}\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailDownload />}\n </div>\n {isElectron && headControlNode}\n <div className=\"head-content-right\">\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\n {!isLogin && !!userName && <Dropdown\n overlayClassName={overlayClassName}\n trigger={['click']}\n overlay={menus}\n placement=\"bottomRight\"\n arrow\n >\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\n <div className='store-info-item'>\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\n </div>\n <i className='header-triangle-down'/>\n </div>\n </Dropdown>}\n {!isLogin && <div className='store-info-item'>{solt}</div>}\n <HeadTime time={time} dateFormat={dateFormat}/>\n </div>\n <ThemeModal\n visible={themeVisible}\n isVertical={platform.isVerticalTouch}\n isPortal={isPortal}\n closeFn={(isShow) => clickTheme(isShow)}\n />\n </div>);\n}\n\nHeadContent.contextTypes = {\n actionHook: PropTypes.object,\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-portaltouch",
3
- "version": "3.47.5",
3
+ "version": "3.47.6",
4
4
  "description": "touch protal",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {