tplus-portaltouch 3.17.28 → 3.17.29
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.
| 
         @@ -237,7 +237,7 @@ var OnLineStatusToggle = (0, _mobxReact.observer)(function (props) { 
     | 
|
| 
       237 
237 
     | 
    
         
             
                if (isPlaceOrderPage) {
         
     | 
| 
       238 
238 
     | 
    
         
             
                  _tplusComponentsTouch.ModalWraper.confirm({
         
     | 
| 
       239 
239 
     | 
    
         
             
                    title: t('提示'),
         
     | 
| 
       240 
     | 
    
         
            -
                    content: t('\u5F53\u524D\u4E3A\u5F00\u5355\ 
     | 
| 
      
 240 
     | 
    
         
            +
                    content: t('\u5F53\u524D\u4E3A\u5F00\u5355\u754C\u9762\uFF0C\u5207\u6362\u5230' + (status ? '离' : '在') + '\u7EBF\u4F1A\u6E05\u9664\u5F53\u524D\u6570\u636E\uFF0C\u786E\u5B9A\u8981\u5207\u6362\u5417\uFF1F'),
         
     | 
| 
       241 
241 
     | 
    
         
             
                    onOk: function onOk() {
         
     | 
| 
       242 
242 
     | 
    
         
             
                      playStatus(status);
         
     | 
| 
       243 
243 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -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","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","isPlaceOrderPage","offlineSys","voucherStore","isOnLine","ModalWraper","confirm","title","content","onOk","setOffLine","getDataIsOffline","switchStatus","Message","tip","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","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":";;;;;;;;;;;;;;;;;;;;;;kBAqTwBA,W;;AArTxB;;;;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,IAAIC,gBAAgB,CAApB,C,CAAsB;AACtB,IAAMC,oBAAoB,CAA1B,C,CAA6B;AAC7B,IAAIC,sBAAsB,KAA1B,C,CAAiC;AACjC;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,GAEcC,sBAFd,CAEnCD,iBAFmC;AAAA,MAEfiB,UAFe,GAEchB,sBAFd,CAEfgB,UAFe;AAAA,MAEHC,YAFG,GAEcjB,sBAFd,CAEHiB,YAFG;;AAG3C,MAAMhB,eAAeF,kBAAkBE,YAAvC;AACA,MAAIiB,WAAWnB,kBAAkBmB,QAAjC;AACA,MAAIf,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,IAAyBiB,QAA7B,EAAuC;AACrCC,wCAAYC,OAAZ,CAAoB;AAClBC,eAAOpD,EAAE,IAAF,CADW;AAElBqD,iBAASrD,EAAE,mBAAF,CAFS;AAGlBsD,cAAM,gBAAM;AACVC,qBAAW,IAAX;AACD;AALiB,OAApB;AAOD;AACD,QAAIN,YAAYjB,iBAAiB,IAA7B,IAAqC1B,iBAAiBC,iBAAtD,IAA2EwC,WAAWS,gBAAX,EAA/E,EAA8G;AAC5GlD;AACA4C,wCAAYC,OAAZ,CAAoB;AAClBC,eAAOpD,EAAE,IAAF,CADW;AAElBqD,iBAASrD,EAAE,iBAAF,CAFS;AAGlBsD,cAAM,gBAAM;AACVC,qBAAW,IAAX;AACD;AALiB,OAApB;AAOD;AACF;;AAED,WAASE,YAAT,GAAwB;AACtB,QAAIzB,iBAAiB,IAAjB,IAAyB,CAACiB,QAA9B,EAAwC;AACtCS,oCAAQC,GAAR,CAAY,iBAAZ;AACA;AACD;AACDT,sCAAYC,OAAZ,CAAoB;AAChBC,aAAOpD,EAAE,IAAF,CADS;AAEhBqD,eAASrD,4CAAWiD,WAAW,GAAX,GAAiB,GAA5B,qCAFO;AAGhBK,YAAM,gBAAM;AACVC,mBAAWN,QAAX;AACD;AALe,KAApB;AAOD;AACD,WAASM,UAAT,CAAoBK,MAApB,EAA4B;AAC1B,QAAId,gBAAJ,EAAsB;AACpBI,wCAAYC,OAAZ,CAAoB;AAClBC,eAAOpD,EAAE,IAAF,CADW;AAElBqD,iBAASrD,4FAAmB4D,SAAS,GAAT,GAAe,GAAlC,qCAFS;AAGlBN,cAAM,gBAAM;AACVO,qBAAWD,MAAX;AACD;AALiB,OAApB;AAOD,KARD,MAQO;AACLC,iBAAWD,MAAX;AACD;AACF;AACD,WAASC,UAAT,CAAoBD,MAApB,EAA4B;AAC1B;AACA,QAAIA,MAAJ,EAAY;AACV,UAAI,CAACb,WAAWS,gBAAX,EAAD,IAAkChD,mBAAtC,EAA2D;AACzDkD,sCAAQC,GAAR,CAAY,iBAAZ;AACA;AACD;AACF;AACDZ,eAAWe,YAAX,CAAwBF,MAAxB;AACA,QAAId,gBAAJ,EAAsB;AACpBE,mBAAae,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,aAAUpB,sBAAsB,MAAtB,GAA+B,EAAzC,CAAD,EAAxC;AAA0F,sCAAC,2BAAD,IAAO,MAAMV,QAAb;AAA1F;AADF,KADF;AAIIW,qBAAiBF,wBAAjB,IAA6C;AAAA;AAAA,QAAK,0DAAuDM,YAAYL,mBAAZ,GAAkC,EAAlC,GAAuC,UAA9F,CAAL;AAC7C;AAAA;AAAA,UAAM,WAAU,gBAAhB,EAAiC,SAASa,YAA1C;AACE;AAAA;AAAA;AAAOR,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;AAAMgB;AAAN,WAAzE,EAA0G,SAAQ,OAAlH;AACE;AAAA;AAAA,YAAM,WAAU,gBAAhB;AAAkC,wCAAC,2BAAD,IAAO,MAAK,SAAZ;AAAlC;AADF;AAL6C;AAJjD,GADF;AAgBD,CAhG0B,CAA3B;;AAkGA;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,mBAEX3B,iBAFW;AAAA;AAAA;AAAA;;AAGbiB,4CAAQC,GAAR,CAAY,aAAZ;AAHa;;AAAA;AAAA,kBAMViB,QANU;AAAA;AAAA;AAAA;;AAOblB,4CAAQC,GAAR,CAAY,WAAZ;AAPa;;AAAA;AAAA,mBAUXU,WAVW;AAAA;AAAA;AAAA;;AAWbX,4CAAQC,GAAR,CAAY,WAAZ;AAXa;;AAAA;AAcfW,6BAAe,IAAf;AAde;AAAA;AAAA,qBAgBPvC,uBAAOgB,UAAP,CAAkB8B,YAAlB,EAhBO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAmBbnB,4CAAQoB,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,GACgBlD,sBADhB,CACxBgB,UADwB,CACXkC,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,MACjBpC,UADiB,GACHhB,sBADG,CACjBgB,UADiB;;AAAA,mBAEY,qBAAS,KAAT,CAFZ;AAAA;AAAA,MAEjBqC,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,mBACjB/C,iBADiB;AAAA;AAAA;AAAA;;AAEnBiB,4CAAQC,GAAR,CAAY,aAAZ;AAFmB;;AAAA;AAAA,mBAKjByB,UALiB;AAAA;AAAA;AAAA;;AAMnB1B,4CAAQC,GAAR,CAAY,KAAZ;AANmB;;AAAA;AASrB4B,yBAAW,KAAX;AACAF,4BAAc,IAAd;AACA7E,oCAAsB,IAAtB;AACAkD,4CAAQC,GAAR,CAAY,KAAZ;AAZqB;AAAA;AAAA,qBAcAZ,WAAW0C,mBAAX,CAA+B,aAAK;AACrDF,2BAAWG,EAAEC,OAAF,GAAY,IAAvB;AACD,eAFkB,CAdA;;AAAA;AAcfC,oBAde;;AAiBnB,kBAAIA,MAAJ,EAAY;AACVlC,8CAAQmC,OAAR;AACD,eAFD,MAEO;AACLnC,8CAAQoB,KAAR;AACD;AArBkB;AAAA;;AAAA;AAAA;AAAA;;AAuBnBpB,4CAAQoB,KAAR,CAAc,QAAd;;AAvBmB;AAyBrBS,yBAAW,MAAX;AACAF,4BAAc,KAAd;AACA7E,oCAAsB,KAAtB;;AA3BqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAjB;;AAAA;AAAA;AAAA;AAAA,KAAN;AA6BA,SACE;AAAA;AAAA,MAAK,WAAU,iBAAf;AACE,kCAAC,WAAD,IAAa,gBAAgBgF,cAA7B,EAA6C,YAAYJ,UAAzD,EAAqE,SAASE,OAA9E;AADF,GADF;AAKD;AACD;AACA,IAAMQ,cAAc,yBAAS,UAACpF,KAAD,EAAW;AAAA,MAC9B4E,OAD8B,GACS5E,KADT,CAC9B4E,OAD8B;AAAA,MACrBF,UADqB,GACS1E,KADT,CACrB0E,UADqB;AAAA,MACTI,cADS,GACS9E,KADT,CACT8E,cADS;;AAEtC,SACE;AAAA;AAAA,MAAK,0DAAuD/C,oBAAoB,SAApB,GAAgC,EAAvF,CAAL,EAAkG,SAAS+C,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,SAASpG,WAAT,CAAqBc,KAArB,EAA4ByF,OAA5B,EAAqC;AAClD,MAAMC,aAAa,CAACC,uBAAO,EAAR,EAAY3E,QAAZ,KAAyB,UAA5C;AADkD,4BAG2ChB,KAH3C,CAE3C4F,YAF2C;AAAA,MAE3CA,YAF2C,uCAE5B,EAF4B;AAAA,yBAG2C5F,KAH3C,CAExB6F,SAFwB;AAAA,MAExBA,SAFwB,oCAEZ,EAFY;AAAA,MAERC,OAFQ,GAG2C9F,KAH3C,CAER8F,OAFQ;AAAA,MAECC,IAFD,GAG2C/F,KAH3C,CAEC+F,IAFD;AAAA,MAEO5E,aAFP,GAG2CnB,KAH3C,CAEOmB,aAFP;AAAA,qBAG2CnB,KAH3C,CAEsBgG,KAFtB;AAAA,MAEsBA,KAFtB,gCAE8B,EAF9B;AAAA,MAEkCC,OAFlC,GAG2CjG,KAH3C,CAEkCiG,OAFlC;AAAA,0BAG2CjG,KAH3C,CAGhDE,UAHgD;AAAA,MAGhDA,UAHgD,qCAGnCb,aAHmC;AAAA,MAGpB6G,IAHoB,GAG2ClG,KAH3C,CAGpBkG,IAHoB;AAAA,MAGdjG,IAHc,GAG2CD,KAH3C,CAGdC,IAHc;AAAA,MAGRkG,QAHQ,GAG2CnG,KAH3C,CAGRmG,QAHQ;AAAA,MAGEC,OAHF,GAG2CpG,KAH3C,CAGEoG,OAHF;AAAA,oBAG2CpG,KAH3C,CAGWqG,IAHX;AAAA,MAGWA,IAHX,+BAGkB,EAHlB;AAAA,MAGsBC,OAHtB,GAG2CtG,KAH3C,CAGsBsG,OAHtB;AAAA,MAG+BC,QAH/B,GAG2CvG,KAH3C,CAG+BuG,QAH/B;;AAAA,oBAIV,qBAAS,KAAT,CAJU;AAAA;AAAA,MAI3CC,YAJ2C;AAAA,MAI7BC,eAJ6B;;AAAA,oBAKc,qBAASC,OAAOH,QAAP,CAAgBI,IAAhB,CAAqBC,OAArB,CAA6BnH,gBAA7B,IAAiD,CAA1D,CALd;AAAA;AAAA,MAK3CwC,wBAL2C;AAAA,MAKjB4E,2BALiB;;AAAA,oBAMI,qBAASH,OAAOH,QAAP,CAAgBO,QAAhB,KAA6BpH,kBAAtC,CANJ;AAAA;AAAA,MAM3CwC,mBAN2C;AAAA,MAMtB6E,sBANsB;;AAAA,oBAOF,qBAASL,OAAOH,QAAP,CAAgBI,IAAhB,CAAqBC,OAArB,CAA6BjH,gBAA7B,IAAiD,CAA1D,CAPE;AAAA;AAAA,MAO3CyC,gBAP2C;AAAA,MAOzB4E,mBAPyB;;AAQlDhH,QAAMiG,OAAN,CAAcgB,MAAd,CAAqB,iBAAS;AAC5BF,2BAAuBG,MAAMJ,QAAN,KAAmBpH,kBAA1C;AACAmH,gCAA4BK,MAAMJ,QAAN,CAAeF,OAAf,CAAuBnH,gBAAvB,IAA2C,CAAvE;AACAuH,wBAAoBE,MAAMJ,QAAN,CAAeF,OAAf,CAAuBjH,gBAAvB,IAA2C,CAAC,CAAhE;AACD,GAJD;AAKA,MAAMwC,gBAAgB,gCAAY,eAAZ,MAAiC,GAAvD;AACA,MAAMgF,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,eAAK5E;AAAZ;AAFF,OADQ;AAAA,KAAT;AADH,GADF;;AAWA,MAAMgF,gBAAgB,CACpB,EAACC,MAAM,SAAP,EAAkBhG,OAAO,KAAzB,EADoB,EAEpB;AACEgG,UAAM,YADR;AAEEhG,WAAO,OAFT;AAGEiG,iBAAa,qBAACN,IAAD,EAAU;AACrB,aAAO9E,kCAAYC,OAAZ,CAAoB;AACzBoF,mBAAW,qBADc;AAEzBnF,eAAO,MAFkB;AAGzBC,iBAAS,YAHgB;AAInBC,YAJmB,kBAIZ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AACXkF,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;AAQAxC,4BAAQyC,UAAR,CAAmBC,YAAnB,CAAgC,WAAhC;AATW;AAAA;AAAA,2BAWHC,eAAKC,MAAL,CAAY,YAAM;AACtB1H,iCAAW,YAAM;AACf2H,iDAASC,QAAT,CAAkBjB,KAAK3F,KAAvB;AACD,uBAFD,EAEG,GAFH,EADsB,CAGb;AACV,qBAJK,CAXG;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAiBTyG,mCAAKI,KAAL;AACAC,+CAAWC,MAAX,CAAkB,MAAlB;AACA/H,+BAAW,YAAM;AACf2H,+CAASC,QAAT,CAAkBjB,KAAK3F,KAAvB;AACD,qBAFD,EAEG,GAFH;;AAnBS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBZ;AA3BwB,OAApB,CAAP;AA6BD;AAjCH,GAFoB,CAAtB;;AAuCA,MAAMgH,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,MAAM/H,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAP;AACD;AACD,WAAO+H,KAAP;AACD,GARD;;AAUA,MAAMK,oBAAoB,SAApBA,iBAAoB,GAAM;AAAA,gBACFjI,yBAAY,EADV;AAAA,QACtBkI,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,EAAW3I,WAAW,YAAM;AAAE,UAAIwI,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;AAC7BpD,oBAAgBoD,MAAhB;AACD,GAFD;;AAIA,MAAMC,WAAW,gCAAY,UAAZ,CAAjB;AACA,MAAMC,iDAA8C,CAAC5D,QAAD,GAAY,eAAZ,GAA8B,EAA5E,CAAN;AACA,MAAM6D,eAAe;AAAA;AAAA,MAAK,WAAU,yBAAf;AACnB;AAAA;AAAA,QAAI,WAAU,eAAd;AAA+BpE;AAA/B,KADmB;AAEnB;AAAA;AAAA,QAAI,WAAU,YAAd;AAA4BE;AAA5B;AAFmB,GAArB;;AAKA,MAAMmE,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,EAAEvI,KAApB;AACA,gBAAI,OAAOsH,iBAAP,IAA4B,UAAhC,EAA4C;AAC1CA;AACD;AACF;AACF;AAdqB,QAAL;AAAA,KAAlB;AADqB,GAAxB;;AAmBA,MAAIjI,sBAASC,eAAb,EAA8B,OAAO,wCAAoB,EAAE+E,YAAF,EAASV,8BAAT,EAAyBD,wBAAzB;AACvDpF,cADuD,EACjDC,sBADiD,EACrC6F,UADqC,EAC/BhG,kBAD+B,EACrBkK,gCADqB,EACJ1D,kBADI,EACMN,gBADN,EACe2D,sBADf,EAC2BpD,0BAD3B,EACyCL,kBADzC,EACmDC,gBADnD,EAApB,CAAP;;AAG9B,SAAQ;AAAA;AAAA,MAAK,gCAAQ5B,SAAS,cAAjB,EAAiC2F,OAAO,MAAxC,EAAgDC,QAAQ,MAAxD,IAAmEpE,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,oBAAQoE,OAAR,CAAgB,GAAhB;AAAqB,WAAlE;AAAqEtE;AAArE,OADb;AAEG,OAAC,CAACF,SAAF,IAAe;AAAC,qBAAD;AAAA,UAAS,SAAQ,OAAjB,EAAyB,WAAU,aAAnC,EAAiD,OAAOmE,YAAxD,EAAsE,OAAO,MAA7E,EAAqF,kBAAiB,mBAAtG;AACd;AAAA;AAAA,YAAK,WAAU,YAAf;AAA6BnE,mBAA7B;AAAuC,+CAAG,WAAU,sBAAb;AAAvC;AADc,OAFlB;AAME,oCAAC,kBAAD,IAAoB,0BAA0B5D,wBAA9C,EAAwE,qBAAqBC,mBAA7F,EAAkH,eAAeC,aAAjI,EAAgJ,kBAAkBC,gBAAlK,GANF;AAOGD,uBAAiBF,wBAAjB,IAA6C,8BAAC,YAAD,OAPhD;AAQGE,uBAAiBF,wBAAjB,IAA6C,8BAAC,cAAD;AARhD,KADM;AAWLyD,kBAAcuE,eAXT;AAYN;AAAA;AAAA,QAAK,WAAU,oBAAf;AACG,OAAC7D,OAAD,IAAY,8BAAC,2BAAD,IAAO,MAAK,QAAZ,EAAqB,4BAAyB,CAACD,QAAD,GAAY,UAAZ,GAAyB,EAAlD,CAArB,EAA8E,SAAS,mBAAM;AAACyD,qBAAW,IAAX;AAAiB,SAA/G,GADf;AAEG,OAACxD,OAAD,IAAY,CAAC,CAAC0D,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,qBAAKpC,EAAEsF,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,OAAC1D,OAAD,IAAY;AAAA;AAAA,UAAK,WAAU,iBAAf;AAAkCF;AAAlC,OAhBf;AAiBE,oCAAC,QAAD,IAAU,MAAMjG,IAAhB,EAAsB,YAAYC,UAAlC;AAjBF,KAZM;AA+BN,kCAAC,oBAAD;AACI,eAASsG,YADb;AAEI,kBAAYxF,sBAASC,eAFzB;AAGI,gBAAUkF,QAHd;AAII,eAAS,iBAAC0D,MAAD;AAAA,eAAYD,WAAWC,MAAX,CAAZ;AAAA;AAJb;AA/BM,GAAR;AAsCD;;AAED3K,YAAYqL,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\nconst PLACE_ORDER_PATH = \"/RE/RE01\";\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, isPlaceOrderPage } = props;\r\n  const { networkCheckStore , offlineSys, voucherStore } = 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          setOffLine(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(true);\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          setOffLine(isOnLine);\r\n        }\r\n    });\r\n  }\r\n  function setOffLine(status) {\r\n    if (isPlaceOrderPage) {\r\n      ModalWraper.confirm({\r\n        title: t('提示'),\r\n        content: t(`当前为开单页面,确定要切换为${status ? '离' : '在'}线环境吗?`),\r\n        onOk: () => {\r\n          playStatus(status);\r\n        }\r\n      });\r\n    } else {\r\n      playStatus(status);\r\n    }\r\n  }\r\n  function playStatus(status) {\r\n    // status 为 true 是在线切离线\r\n    if (status) {\r\n      if (!offlineSys.getDataIsOffline() || isRetailDownloading) {\r\n        Message.tip('数据还未下载完,无法切换为离线');\r\n        return;\r\n      }\r\n    }\r\n    offlineSys.setIsOffline(status);\r\n    if (isPlaceOrderPage) {\r\n      voucherStore.clearVoucherData();\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  const [isPlaceOrderPage, setIsPlaceOrderPage] = useState(window.location.href.indexOf(PLACE_ORDER_PATH) > 0);\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    setIsPlaceOrderPage(route.pathname.indexOf(PLACE_ORDER_PATH) > -1)\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} isPlaceOrderPage={isPlaceOrderPage}/>\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","PLACE_ORDER_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","isPlaceOrderPage","offlineSys","voucherStore","isOnLine","ModalWraper","confirm","title","content","onOk","setOffLine","getDataIsOffline","switchStatus","Message","tip","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","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\nconst PLACE_ORDER_PATH = \"/RE/RE01\";\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, isPlaceOrderPage } = props;\r\n  const { networkCheckStore , offlineSys, voucherStore } = 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          setOffLine(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(true);\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          setOffLine(isOnLine);\r\n        }\r\n    });\r\n  }\r\n  function setOffLine(status) {\r\n    if (isPlaceOrderPage) {\r\n      ModalWraper.confirm({\r\n        title: t('提示'),\r\n        content: t(`当前为开单界面,切换到${status ? '离' : '在'}线会清除当前数据,确定要切换吗?`),\r\n        onOk: () => {\r\n          playStatus(status);\r\n        }\r\n      });\r\n    } else {\r\n      playStatus(status);\r\n    }\r\n  }\r\n  function playStatus(status) {\r\n    // status 为 true 是在线切离线\r\n    if (status) {\r\n      if (!offlineSys.getDataIsOffline() || isRetailDownloading) {\r\n        Message.tip('数据还未下载完,无法切换为离线');\r\n        return;\r\n      }\r\n    }\r\n    offlineSys.setIsOffline(status);\r\n    if (isPlaceOrderPage) {\r\n      voucherStore.clearVoucherData();\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  const [isPlaceOrderPage, setIsPlaceOrderPage] = useState(window.location.href.indexOf(PLACE_ORDER_PATH) > 0);\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    setIsPlaceOrderPage(route.pathname.indexOf(PLACE_ORDER_PATH) > -1)\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} isPlaceOrderPage={isPlaceOrderPage}/>\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"]}
         
     |