tplus-portaltouch 3.22.9 → 3.22.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
| 
         @@ -606,10 +606,6 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio 
     | 
|
| 
       606 
606 
     | 
    
         
             
                  if (!_mutantsMicrofx.stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {
         
     | 
| 
       607 
607 
     | 
    
         
             
                    _mutantsMicrofx.stores.modalRouter.hideAll && _mutantsMicrofx.stores.modalRouter.hideAll();
         
     | 
| 
       608 
608 
     | 
    
         
             
                    return _react2.default.createElement(_reactRouter.Redirect, { to: '/login' });
         
     | 
| 
       609 
     | 
    
         
            -
                  } else {
         
     | 
| 
       610 
     | 
    
         
            -
             
     | 
| 
       611 
     | 
    
         
            -
                    // 如果刷新页面进来已经是登录状态 则直接初始化本地数据库及离线相关
         
     | 
| 
       612 
     | 
    
         
            -
                    _mutantsMicrofx.stores.offlineSys.initOfflineLocal(true);
         
     | 
| 
       613 
609 
     | 
    
         
             
                  }
         
     | 
| 
       614 
610 
     | 
    
         
             
                  var classNames = ['isPortal-layout', 'isRetailOrder-layout'];
         
     | 
| 
       615 
611 
     | 
    
         
             
                  var layoutClassName = [isPortal, isRetailOrder].map(function (v, i) {
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["tplus-portaltouch/containers/Main/index.js"],"names":["Main","hasElectron","env","platform","constant","electron","window","rx$","MainContainer","observer","props","currentFocus","initWebFrameZoom","webFrame","value","localStore","get","setZoomFactor","parseFloat","doDeeplinkingUrl","ipcRenderer","on","event","ret","params","console","log","orgId","userId","param","split","reduce","accumulator","current","key","cloudUserId","User","logout","changeLogoSubject","subject","Subject","changeLogo","subscribe","next","v","setLogo","changeHsySubject","changeHsy","setHsy","addHotKeyChangeLister","document","addEventListener","registerHotKey","removeHotKeyChangeLister","removeEventListener","back","fn","setState","hsy_s","hsy_f","store","logoUrl","logo","logoNode","url","isPortal","isLogin","state","isVerticalTouch","isNewRetailBCPos","bcParams","theme","stores","portalStore","themeStore","defualtImage","hotKeyInjectOrEject","type","hotKeyAction","registerKeys","allKeys","hotKey","hotKeyConfig","forEach","keyboard","index","nativeMs","onIpcRendererGlobalShortcut","hotKeyActionHandle","blurButton","target","nodeName","blur","isSetHotKey","hotKeyCreate","observerCallback","observerDom","pressed","clickBefore","activeElement","filter","srcElement","tagName","className","indexOf","undefined","attributes","childList","subtree","attributeFilter","register","operationKeys","esc","enter","visibleModal","modals","querySelectorAll","modal","display","style","visibleDrawer","drawers","drawer","$","clearFocus","setFocus","getFocusId","querySelector","find","handle","toggleKeyCode","message","bind","keys","i","unbind","Message","info","action","handleInfoRender","solt","onCollapse","collapsed","menuOnClick","selectedKeys","handleClose","Keyboard","close","handleOk","count","modifyPassStore","modifyPassWord","headMenuSelect","footer","text","closable","length","map","btn","loading","modalRouter","hide","offlineSys","shouldInOffline","show","title","width","modalType","onHide","destroyOnClose","history","push","portalStores","posLoginStore","savePosCode","isAutoTest","location","search","isShowFourTab","screen","isHorizontalPad","storeUtil","isHorizontalSunMi","isHorizontalSunMi_FuPing","isMobileEnvironment","infoRender","headHook","addClass","id","removeClass","currentId","actionHook","actionFrom","actionChange","body","classList","add","ModalWraper","confirm","content","cancelable","onOk","onCancel","unsubscribe","portalHead","loginHead","retailOrder","pathname","storeInfo","user","options","isRetailOrder","headProps","businessName","storeName","dateFormat","menu","icon","onClick","orgName","posCode","posIsLogin","hideAll","initOfflineLocal","classNames","layoutClassName","join","height","match","isExact","routes","Component","childContextTypes","PropTypes","func","object","React","cloneElement"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { observer } from 'mobx-react';\r\nimport { Button } from 'antd';\r\nimport { history, Switch, stores, env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, Keyboard, ModalWraper, Message, hotKey } from 'tplus-components-touch';\r\nimport { platform, localStore as storeUtil } from 'mutants-util';\r\nimport { User } from 'tplus-api';\r\nimport { Subject } from 'rxjs';\r\nimport { Redirect } from 'react-router';\r\nimport Header from '../../components/header';\r\nimport PortalPageBC from '../../pages/Portalbc';\r\nimport portalStores from '../../stores';\r\nimport { closeWebPage, getQueryString, operationKeys } from '../../utils/index';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nwindow.rx$ = {};\r\n\r\n@observer\r\nclass MainContainer extends Component {\r\n  currentFocus = null;\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      hsy_s: false,\r\n      hsy_f: null\r\n    };\r\n    portalStores.posLoginStore.savePosCode();\r\n    this.electron = nativeMs && nativeMs.get('electron');\r\n    this.isAutoTest = getQueryString(location.search, 'at');\r\n    this.isShowFourTab = this.hasElectron && window.screen.width < 1024 ? true : false;\r\n    //针对800*600分辨率下,页面显示不全的做一下处理。\r\n    if (this.isShowFourTab == true) this.initWebFrameZoom();\r\n\r\n    const isHorizontalPad =  storeUtil.get('isHorizontalPad')// 是否在PAD\r\n    const isHorizontalSunMi = storeUtil.get('isHorizontalSunMi'); //是否在商米(SunMi)\r\n    const isHorizontalSunMi_FuPing = storeUtil.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)\r\n\r\n    this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;\r\n  }\r\n  static childContextTypes = {\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object,\r\n    actionHook: PropTypes.object,\r\n  }\r\n\r\n  initWebFrameZoom = () => {\r\n    let webFrame = this.electron ? this.electron.webFrame : null;\r\n    let value = localStore.get('webFrameZoomValue') || '0.7';\r\n    if (webFrame) webFrame.setZoomFactor(parseFloat(value));\r\n  }\r\n  getChildContext() {\r\n    return {\r\n      infoRender: this.handleInfoRender,\r\n      headHook: {\r\n        addClass: (id, key) => {\r\n          this.setState(state => ({\r\n            [key]: [...(state[key] || []), id],\r\n          }));\r\n        },\r\n        removeClass: (id, key) => {\r\n          this.setState(state => ({\r\n            [key]: state[key].filter(currentId => currentId !== id),\r\n          }));\r\n        }\r\n      },\r\n      actionHook: {\r\n        actionFrom: this.actionFrom,\r\n        actionChange: (value) => {\r\n          this.actionFrom = value;\r\n        }\r\n      },\r\n    };\r\n  }\r\n\r\n  // 内置默认\r\n  // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];\r\n\r\n  // 解决从url地址唤醒exe,不同账号的处理问题。\r\n  doDeeplinkingUrl = () => {\r\n    if (this.hasElectron === false) return;\r\n    let { ipcRenderer } = this.electron || {ipcRenderer:null};\r\n    ipcRenderer && ipcRenderer.on(\"asynchronous-deeplinkingUrl\", (event, ret, params) => {\r\n      if (ret) {\r\n        console.log('deeplinkingUrl:' + ret)\r\n        const {orgId, userId} = localStore.get('user') || {};\r\n        if (!orgId || !userId) return;\r\n        const param = ret.split('&').reduce((accumulator, current) => {\r\n          if (!current) return accumulator;\r\n          const [key, value] = current.split('=') || [];\r\n          accumulator[key] = value;\r\n          return accumulator;\r\n        }, {});\r\n        console.log(orgId, userId, param)\r\n        if (param.orgId !== orgId || param.cloudUserId !== userId) {\r\n          User.logout();\r\n        }\r\n      }\r\n    })\r\n  }\r\n\r\n  componentWillMount() {\r\n    this.changeLogoSubject();\r\n    this.changeHsySubject();\r\n    const { isVerticalTouch } = platform || {};\r\n    if (isVerticalTouch === true) {\r\n      document.body.classList.add('vertical-touch-platform');\r\n    }\r\n  }\r\n\r\n  changeLogoSubject = () => {\r\n    const subject = new Subject();\r\n    rx$.changeLogo = subject;\r\n\r\n    subject\r\n      .subscribe({\r\n        next: (v) => this.setLogo(v)\r\n      });\r\n  }\r\n\r\n  changeHsySubject = () => {\r\n    const subject = new Subject();\r\n    rx$.changeHsy = subject;\r\n\r\n    subject\r\n      .subscribe({\r\n        next: (v) => this.setHsy(v)\r\n      });\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.registerHotKey();\r\n    this.addHotKeyChangeLister();\r\n    rx$.changeLogo.next();\r\n    document.body.addEventListener('focus', this.blurButton, true)\r\n    this.doDeeplinkingUrl();\r\n\r\n    if (this.hasElectron === true) {\r\n      document.body.classList.add('electron-env');\r\n    } else {\r\n      if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗\r\n      ModalWraper.confirm({\r\n        className: 'tplus-confirm-modal',\r\n        title: \"温馨提示\",\r\n        content: 'T+新零售POS端不允许浏览器直接访问,请从T+产品中下载安装客户端程序使用!',\r\n        cancelable:false,\r\n        onOk() {\r\n          closeWebPage();\r\n        },\r\n        onCancel(){\r\n          closeWebPage();\r\n        }\r\n      });\r\n    }\r\n  }\r\n  addHotKeyChangeLister = () => {\r\n    document.addEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n  }\r\n  removeHotKeyChangeLister = () => {\r\n    document.removeEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    rx$.changeLogo.unsubscribe();\r\n    rx$.changeHsy.unsubscribe();\r\n    document.body.removeEventListener('focus', this.blurButton, true)\r\n    // clearInterval(this.addObserverDomTimer);\r\n  }\r\n\r\n  setHsy = (v) => {\r\n    const { back, fn } = v || {};\r\n    if (back === true) {\r\n      this.setState({ hsy_s: true, hsy_f: fn })\r\n    } else {\r\n      this.setState({ hsy_s: false, hsy_f: null })\r\n    }\r\n  }\r\n\r\n  setLogo = (v) => {\r\n    const store = localStore.get('StoreKey') || {};\r\n    const { logo: logoUrl } = store;\r\n    logoUrl && this.setState({ logoUrl });\r\n  }\r\n\r\n  logoNode = (url, isPortal, isLogin) => {\r\n    const { hsy_s, hsy_f } = this.state;\r\n    const { isVerticalTouch, isNewRetailBCPos } = platform || {};\r\n    const bcParams = isNewRetailBCPos ? '-bc' : '';\r\n    const theme = stores.portalStore.themeStore;\r\n    const defualtImage = (isVerticalTouch === true) ? `https://newretail.static.chanjet.com/tinified/logo${bcParams}.png` : `https://newretail.static.chanjet.com/${((!hsy_s && isPortal) || (theme === 'dark' && !isLogin)) ? 'protal-chanjet' : 'chanjet'}-logo${bcParams}.png?v=1`;\r\n    if (hsy_s === true) {\r\n      return (<div className='business-logo-container'>\r\n        <Ticon type='zhiPOS-fanhuishouye2' className='back_i' onClick={() => { hsy_f && hsy_f() }} />\r\n        <img src={url || defualtImage} className=\"example-logo\" />\r\n      </div>);\r\n    }\r\n    return <img src={url || defualtImage} className=\"example-logo\" />\r\n  }\r\n\r\n  //未使用?\r\n  hotKeyInjectOrEject = (type, hotKeyAction) => {\r\n    const registerKeys = ['esc', 'enter'];\r\n    const allKeys = [...registerKeys, ...Object.keys(hotKey.hotKeyConfig)];\r\n    allKeys.forEach((keyboard, index) => {\r\n      nativeMs.onIpcRendererGlobalShortcut({ type, keyboard }, hotKeyActionHandle);\r\n    });\r\n  }\r\n\r\n  blurButton = ({ target }) => { //  焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键\r\n    if (target && target.nodeName === 'BUTTON') {\r\n      target.blur();\r\n    }\r\n  }\r\n\r\n  registerHotKey = () => {\r\n    this.isSetHotKey = true;\r\n\r\n    this.hotKeyCreate = hotKey({\r\n      observerCallback: this.observerDom,\r\n      log: true,\r\n      pressed: this.hotKeyAction,\r\n      clickBefore: () => {\r\n        const { activeElement } = document;\r\n        activeElement && activeElement.blur();\r\n      },\r\n      filter: event => {\r\n        const { tagName, className } = event.target || event.srcElement || {};\r\n\r\n        return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));\r\n      }\r\n    });\r\n\r\n    this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true ,attributeFilter: ['class', 'style'], });\r\n    this.hotKeyCreate.register('esc')('.hot-key-focus-container')(operationKeys.esc);\r\n    this.hotKeyCreate.register('enter')('.hot-key-focus-container')(operationKeys.enter);\r\n  }\r\n\r\n  observerDom = () => {\r\n      let visibleModal;\r\n      const modals = document.querySelectorAll('.ant-modal-wrap'); //ant-module\r\n      for(let modal of modals) {\r\n        const display = modal.style.display;\r\n        if(display != \"none\"){\r\n          visibleModal = modal\r\n        }\r\n      }\r\n\r\n      let visibleDrawer;\r\n      const drawers = document.querySelectorAll('.ant-drawer-open'); //ant-drawer\r\n      for(let drawer of drawers) {\r\n          visibleDrawer = drawer;\r\n          break;\r\n      }\r\n\r\n      if (visibleModal) {\r\n        if(this.currentFocus !== visibleModal){\r\n          $.clearFocus();\r\n          this.currentFocus = visibleModal\r\n          return $.setFocus(visibleModal);\r\n        }\r\n        return;\r\n      }\r\n\r\n      if (visibleDrawer) {\r\n        if(this.currentFocus !== visibleDrawer){\r\n          $.clearFocus();\r\n          this.currentFocus = visibleDrawer;\r\n          return $.setFocus(visibleDrawer);\r\n        }\r\n        return;\r\n      }\r\n\r\n\r\n      if ($.getFocusId() !== '1') {\r\n        if(this.currentFocus !== 'App' || !document.querySelector(\".hot-key-focus-container\")){\r\n          $.clearFocus();\r\n          this.currentFocus = 'App';\r\n          $.find('.app', true).setFocus();\r\n        }\r\n        return;\r\n      }\r\n  }\r\n\r\n  hotKeyAction = (event, handle) => {\r\n    const { key } = handle || {};\r\n    const toggleKeyCode = 'ctrl+f1';\r\n    if (key === toggleKeyCode) {\r\n      const isSetHotKey = this.isSetHotKey = !this.isSetHotKey;\r\n      const message = isSetHotKey ? '设置' : '取消';\r\n      if (isSetHotKey) {\r\n        $.bind(this.keys.filter(i => i !== toggleKeyCode), this.hotKeyAction);\r\n      } else {\r\n        $.unbind(this.keys.filter(i => i !== toggleKeyCode));\r\n      }\r\n      return Message.info(`已${message}快捷键`);\r\n    }\r\n\r\n    $.action(key);\r\n  }\r\n\r\n  handleInfoRender = (solt) => {\r\n    this.setState({solt})\r\n  }\r\n  onCollapse = () => {\r\n    const {collapsed} = this.state;\r\n    this.setState({collapsed: !collapsed});\r\n  }\r\n  menuOnClick = ({key}) => {\r\n    console.log(key)\r\n    this.setState({selectedKeys: key});\r\n  }\r\n\r\n  handleClose = () => {\r\n    Keyboard.close();\r\n  }\r\n\r\n  handleOk = (type, count) => {\r\n    stores.modifyPassStore.modifyPassWord();\r\n  }\r\n\r\n  headMenuSelect = ({key}) => {\r\n    var footer = [\r\n      {text: '取消', className: 'modifypass-cancal-button', closable: true, action: this.handleClose},\r\n      {text: '确定', className: 'modifypass-ok-button', action: this.handleOk, type: 'primary'}\r\n    ];\r\n    footer = !!footer.length && <div>\r\n      {footer.map((btn, i) =>\r\n        <Button\r\n          className={btn.className || ''}\r\n          key={i}\r\n          type={btn.type}\r\n          loading={btn.loading}\r\n          onClick={() => {\r\n            const {action} = btn || {};\r\n            if (typeof action === 'function') action();\r\n            if (btn.closable) {\r\n              stores.modalRouter.hide('/modifypass');\r\n            }\r\n          }}\r\n        >\r\n          {btn.text}\r\n        </Button>)}\r\n    </div>\r\n    switch (key) {\r\n      case 'logout':\r\n        User.logout();\r\n        break;\r\n      case 'modifypass':\r\n        {\r\n          if(!stores.offlineSys.shouldInOffline())  return;\r\n          stores.modalRouter.show({\r\n            url: '/modifypass',\r\n            title: '修改密码',\r\n            className: 'modify-password',\r\n            width: 402,\r\n            footer,modalType:'mid',\r\n            onHide: () => stores.modalRouter.hide('/modifypass'),\r\n            destroyOnClose: true,\r\n          });\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${key}`);\r\n        break;\r\n    }\r\n  }\r\n  render() {\r\n    const { collapsed, selectedKeys, solt, portalHead = [], loginHead = [], retailOrder = [], logoUrl, hsy_s } = this.state;\r\n    const pathname = history.location.pathname;\r\n    const storeInfo = stores.user.options.get('store');\r\n    const isPortal = !!portalHead.length;\r\n    const isLogin = !!loginHead.length;\r\n    const isRetailOrder = !!retailOrder.length;\r\n    const { isNewRetailBCPos } = platform || {};\r\n\r\n    const headProps = {\r\n      logo: this.logoNode(logoUrl, isPortal, isLogin),\r\n      businessName: '',\r\n      storeName: '',\r\n      dateFormat: 'yyyy年MM月dd日 hh:mm:ss',\r\n      menu: [\r\n        { title: '注销', key: 'logout', icon: 'zhuxiao' },\r\n        { title: '修改密码', key: 'modifypass', icon: 'suoping' }\r\n      ],\r\n      onClick: this.headMenuSelect\r\n    };\r\n    if (storeInfo) {\r\n      headProps.businessName = storeInfo.orgName;\r\n      headProps.storeName = storeInfo.storeName;\r\n      headProps.posCode = storeInfo.posCode;\r\n    }\r\n\r\n    // 如果存在商米副屏则优先加载商米副屏\r\n    if (this.isHorizontalSunMi_FuPing) {\r\n      return <Redirect to={'/vicescreen'} />\r\n    }\r\n    console.log('!stores.posLoginStore.posIsLogin=============', !stores.posLoginStore.posIsLogin);\r\n    if (!stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {\r\n      stores.modalRouter.hideAll && stores.modalRouter.hideAll();\r\n      return <Redirect to={'/login'} />\r\n    }else{\r\n\r\n      // 如果刷新页面进来已经是登录状态 则直接初始化本地数据库及离线相关\r\n      stores.offlineSys.initOfflineLocal(true);\r\n    }\r\n    const classNames = ['isPortal-layout', 'isRetailOrder-layout'];\r\n    const layoutClassName = [isPortal, isRetailOrder].map((v, i) => (v ? classNames[i] : '')).join(' ');\r\n    return (\r\n      <Layout\r\n        style={{ height: '100%' }}\r\n        className={layoutClassName}\r\n      >\r\n        <Layout>\r\n          <Header\r\n            {...headProps}\r\n            solt={solt}\r\n            isPortal={isPortal}\r\n            className={`${(!hsy_s && isPortal) ? 'isPortal-head' : ''} ${isLogin ? 'isLogin-head' : ''}`}\r\n            isLogin={isLogin}\r\n            location={this.props.location}\r\n            history={this.props.history}\r\n          />\r\n          <Layout.Content>\r\n            {this.props.match.isExact ? (<PortalPageBC />) : <Switch>{this.props.routes}</Switch>}\r\n          </Layout.Content>\r\n        </Layout>\r\n      </Layout>\r\n    )\r\n  }\r\n}\r\n\r\nexport default function Main(props) {\r\n  const { routes, modalRouter } = props;\r\n\r\n  if (modalRouter) {\r\n    return <Switch>{routes}</Switch>;\r\n  }\r\n\r\n  return React.cloneElement(<MainContainer />, props);\r\n}\r\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["tplus-portaltouch/containers/Main/index.js"],"names":["Main","hasElectron","env","platform","constant","electron","window","rx$","MainContainer","observer","props","currentFocus","initWebFrameZoom","webFrame","value","localStore","get","setZoomFactor","parseFloat","doDeeplinkingUrl","ipcRenderer","on","event","ret","params","console","log","orgId","userId","param","split","reduce","accumulator","current","key","cloudUserId","User","logout","changeLogoSubject","subject","Subject","changeLogo","subscribe","next","v","setLogo","changeHsySubject","changeHsy","setHsy","addHotKeyChangeLister","document","addEventListener","registerHotKey","removeHotKeyChangeLister","removeEventListener","back","fn","setState","hsy_s","hsy_f","store","logoUrl","logo","logoNode","url","isPortal","isLogin","state","isVerticalTouch","isNewRetailBCPos","bcParams","theme","stores","portalStore","themeStore","defualtImage","hotKeyInjectOrEject","type","hotKeyAction","registerKeys","allKeys","hotKey","hotKeyConfig","forEach","keyboard","index","nativeMs","onIpcRendererGlobalShortcut","hotKeyActionHandle","blurButton","target","nodeName","blur","isSetHotKey","hotKeyCreate","observerCallback","observerDom","pressed","clickBefore","activeElement","filter","srcElement","tagName","className","indexOf","undefined","attributes","childList","subtree","attributeFilter","register","operationKeys","esc","enter","visibleModal","modals","querySelectorAll","modal","display","style","visibleDrawer","drawers","drawer","$","clearFocus","setFocus","getFocusId","querySelector","find","handle","toggleKeyCode","message","bind","keys","i","unbind","Message","info","action","handleInfoRender","solt","onCollapse","collapsed","menuOnClick","selectedKeys","handleClose","Keyboard","close","handleOk","count","modifyPassStore","modifyPassWord","headMenuSelect","footer","text","closable","length","map","btn","loading","modalRouter","hide","offlineSys","shouldInOffline","show","title","width","modalType","onHide","destroyOnClose","history","push","portalStores","posLoginStore","savePosCode","isAutoTest","location","search","isShowFourTab","screen","isHorizontalPad","storeUtil","isHorizontalSunMi","isHorizontalSunMi_FuPing","isMobileEnvironment","infoRender","headHook","addClass","id","removeClass","currentId","actionHook","actionFrom","actionChange","body","classList","add","ModalWraper","confirm","content","cancelable","onOk","onCancel","unsubscribe","portalHead","loginHead","retailOrder","pathname","storeInfo","user","options","isRetailOrder","headProps","businessName","storeName","dateFormat","menu","icon","onClick","orgName","posCode","posIsLogin","hideAll","classNames","layoutClassName","join","height","match","isExact","routes","Component","childContextTypes","PropTypes","func","object","React","cloneElement"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { observer } from 'mobx-react';\r\nimport { Button } from 'antd';\r\nimport { history, Switch, stores, env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, Keyboard, ModalWraper, Message, hotKey } from 'tplus-components-touch';\r\nimport { platform, localStore as storeUtil } from 'mutants-util';\r\nimport { User } from 'tplus-api';\r\nimport { Subject } from 'rxjs';\r\nimport { Redirect } from 'react-router';\r\nimport Header from '../../components/header';\r\nimport PortalPageBC from '../../pages/Portalbc';\r\nimport portalStores from '../../stores';\r\nimport { closeWebPage, getQueryString, operationKeys } from '../../utils/index';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nwindow.rx$ = {};\r\n\r\n@observer\r\nclass MainContainer extends Component {\r\n  currentFocus = null;\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      hsy_s: false,\r\n      hsy_f: null\r\n    };\r\n    portalStores.posLoginStore.savePosCode();\r\n    this.electron = nativeMs && nativeMs.get('electron');\r\n    this.isAutoTest = getQueryString(location.search, 'at');\r\n    this.isShowFourTab = this.hasElectron && window.screen.width < 1024 ? true : false;\r\n    //针对800*600分辨率下,页面显示不全的做一下处理。\r\n    if (this.isShowFourTab == true) this.initWebFrameZoom();\r\n\r\n    const isHorizontalPad =  storeUtil.get('isHorizontalPad')// 是否在PAD\r\n    const isHorizontalSunMi = storeUtil.get('isHorizontalSunMi'); //是否在商米(SunMi)\r\n    const isHorizontalSunMi_FuPing = storeUtil.get('isHorizontalSunMi_FuPing'); //是否在商米(SunMi)\r\n\r\n    this.isHorizontalSunMi_FuPing = !!isHorizontalSunMi_FuPing;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi || !!isHorizontalSunMi_FuPing;\r\n  }\r\n  static childContextTypes = {\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object,\r\n    actionHook: PropTypes.object,\r\n  }\r\n\r\n  initWebFrameZoom = () => {\r\n    let webFrame = this.electron ? this.electron.webFrame : null;\r\n    let value = localStore.get('webFrameZoomValue') || '0.7';\r\n    if (webFrame) webFrame.setZoomFactor(parseFloat(value));\r\n  }\r\n  getChildContext() {\r\n    return {\r\n      infoRender: this.handleInfoRender,\r\n      headHook: {\r\n        addClass: (id, key) => {\r\n          this.setState(state => ({\r\n            [key]: [...(state[key] || []), id],\r\n          }));\r\n        },\r\n        removeClass: (id, key) => {\r\n          this.setState(state => ({\r\n            [key]: state[key].filter(currentId => currentId !== id),\r\n          }));\r\n        }\r\n      },\r\n      actionHook: {\r\n        actionFrom: this.actionFrom,\r\n        actionChange: (value) => {\r\n          this.actionFrom = value;\r\n        }\r\n      },\r\n    };\r\n  }\r\n\r\n  // 内置默认\r\n  // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKey.hotKeyConfig)];\r\n\r\n  // 解决从url地址唤醒exe,不同账号的处理问题。\r\n  doDeeplinkingUrl = () => {\r\n    if (this.hasElectron === false) return;\r\n    let { ipcRenderer } = this.electron || {ipcRenderer:null};\r\n    ipcRenderer && ipcRenderer.on(\"asynchronous-deeplinkingUrl\", (event, ret, params) => {\r\n      if (ret) {\r\n        console.log('deeplinkingUrl:' + ret)\r\n        const {orgId, userId} = localStore.get('user') || {};\r\n        if (!orgId || !userId) return;\r\n        const param = ret.split('&').reduce((accumulator, current) => {\r\n          if (!current) return accumulator;\r\n          const [key, value] = current.split('=') || [];\r\n          accumulator[key] = value;\r\n          return accumulator;\r\n        }, {});\r\n        console.log(orgId, userId, param)\r\n        if (param.orgId !== orgId || param.cloudUserId !== userId) {\r\n          User.logout();\r\n        }\r\n      }\r\n    })\r\n  }\r\n\r\n  componentWillMount() {\r\n    this.changeLogoSubject();\r\n    this.changeHsySubject();\r\n    const { isVerticalTouch } = platform || {};\r\n    if (isVerticalTouch === true) {\r\n      document.body.classList.add('vertical-touch-platform');\r\n    }\r\n  }\r\n\r\n  changeLogoSubject = () => {\r\n    const subject = new Subject();\r\n    rx$.changeLogo = subject;\r\n\r\n    subject\r\n      .subscribe({\r\n        next: (v) => this.setLogo(v)\r\n      });\r\n  }\r\n\r\n  changeHsySubject = () => {\r\n    const subject = new Subject();\r\n    rx$.changeHsy = subject;\r\n\r\n    subject\r\n      .subscribe({\r\n        next: (v) => this.setHsy(v)\r\n      });\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.registerHotKey();\r\n    this.addHotKeyChangeLister();\r\n    rx$.changeLogo.next();\r\n    document.body.addEventListener('focus', this.blurButton, true)\r\n    this.doDeeplinkingUrl();\r\n\r\n    if (this.hasElectron === true) {\r\n      document.body.classList.add('electron-env');\r\n    } else {\r\n      if (this.isAutoTest || this.isMobileEnvironment) return; //自动化测试不弹窗\r\n      ModalWraper.confirm({\r\n        className: 'tplus-confirm-modal',\r\n        title: \"温馨提示\",\r\n        content: 'T+新零售POS端不允许浏览器直接访问,请从T+产品中下载安装客户端程序使用!',\r\n        cancelable:false,\r\n        onOk() {\r\n          closeWebPage();\r\n        },\r\n        onCancel(){\r\n          closeWebPage();\r\n        }\r\n      });\r\n    }\r\n  }\r\n  addHotKeyChangeLister = () => {\r\n    document.addEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n  }\r\n  removeHotKeyChangeLister = () => {\r\n    document.removeEventListener(\"RESET_USER_STORE\",this.registerHotKey);\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    rx$.changeLogo.unsubscribe();\r\n    rx$.changeHsy.unsubscribe();\r\n    document.body.removeEventListener('focus', this.blurButton, true)\r\n    // clearInterval(this.addObserverDomTimer);\r\n  }\r\n\r\n  setHsy = (v) => {\r\n    const { back, fn } = v || {};\r\n    if (back === true) {\r\n      this.setState({ hsy_s: true, hsy_f: fn })\r\n    } else {\r\n      this.setState({ hsy_s: false, hsy_f: null })\r\n    }\r\n  }\r\n\r\n  setLogo = (v) => {\r\n    const store = localStore.get('StoreKey') || {};\r\n    const { logo: logoUrl } = store;\r\n    logoUrl && this.setState({ logoUrl });\r\n  }\r\n\r\n  logoNode = (url, isPortal, isLogin) => {\r\n    const { hsy_s, hsy_f } = this.state;\r\n    const { isVerticalTouch, isNewRetailBCPos } = platform || {};\r\n    const bcParams = isNewRetailBCPos ? '-bc' : '';\r\n    const theme = stores.portalStore.themeStore;\r\n    const defualtImage = (isVerticalTouch === true) ? `https://newretail.static.chanjet.com/tinified/logo${bcParams}.png` : `https://newretail.static.chanjet.com/${((!hsy_s && isPortal) || (theme === 'dark' && !isLogin)) ? 'protal-chanjet' : 'chanjet'}-logo${bcParams}.png?v=1`;\r\n    if (hsy_s === true) {\r\n      return (<div className='business-logo-container'>\r\n        <Ticon type='zhiPOS-fanhuishouye2' className='back_i' onClick={() => { hsy_f && hsy_f() }} />\r\n        <img src={url || defualtImage} className=\"example-logo\" />\r\n      </div>);\r\n    }\r\n    return <img src={url || defualtImage} className=\"example-logo\" />\r\n  }\r\n\r\n  //未使用?\r\n  hotKeyInjectOrEject = (type, hotKeyAction) => {\r\n    const registerKeys = ['esc', 'enter'];\r\n    const allKeys = [...registerKeys, ...Object.keys(hotKey.hotKeyConfig)];\r\n    allKeys.forEach((keyboard, index) => {\r\n      nativeMs.onIpcRendererGlobalShortcut({ type, keyboard }, hotKeyActionHandle);\r\n    });\r\n  }\r\n\r\n  blurButton = ({ target }) => { //  焦点为 button 时 移除焦点,防止触发 bee 组件enter快捷键\r\n    if (target && target.nodeName === 'BUTTON') {\r\n      target.blur();\r\n    }\r\n  }\r\n\r\n  registerHotKey = () => {\r\n    this.isSetHotKey = true;\r\n\r\n    this.hotKeyCreate = hotKey({\r\n      observerCallback: this.observerDom,\r\n      log: true,\r\n      pressed: this.hotKeyAction,\r\n      clickBefore: () => {\r\n        const { activeElement } = document;\r\n        activeElement && activeElement.blur();\r\n      },\r\n      filter: event => {\r\n        const { tagName, className } = event.target || event.srcElement || {};\r\n\r\n        return !(event.key === 'Enter' && tagName === 'INPUT' && !~className.indexOf('hot-key-not-filter'));\r\n      }\r\n    });\r\n\r\n    this.hotKeyCreate.observer(undefined, { attributes: true, childList: true, subtree: true ,attributeFilter: ['class', 'style'], });\r\n    this.hotKeyCreate.register('esc')('.hot-key-focus-container')(operationKeys.esc);\r\n    this.hotKeyCreate.register('enter')('.hot-key-focus-container')(operationKeys.enter);\r\n  }\r\n\r\n  observerDom = () => {\r\n      let visibleModal;\r\n      const modals = document.querySelectorAll('.ant-modal-wrap'); //ant-module\r\n      for(let modal of modals) {\r\n        const display = modal.style.display;\r\n        if(display != \"none\"){\r\n          visibleModal = modal\r\n        }\r\n      }\r\n\r\n      let visibleDrawer;\r\n      const drawers = document.querySelectorAll('.ant-drawer-open'); //ant-drawer\r\n      for(let drawer of drawers) {\r\n          visibleDrawer = drawer;\r\n          break;\r\n      }\r\n\r\n      if (visibleModal) {\r\n        if(this.currentFocus !== visibleModal){\r\n          $.clearFocus();\r\n          this.currentFocus = visibleModal\r\n          return $.setFocus(visibleModal);\r\n        }\r\n        return;\r\n      }\r\n\r\n      if (visibleDrawer) {\r\n        if(this.currentFocus !== visibleDrawer){\r\n          $.clearFocus();\r\n          this.currentFocus = visibleDrawer;\r\n          return $.setFocus(visibleDrawer);\r\n        }\r\n        return;\r\n      }\r\n\r\n\r\n      if ($.getFocusId() !== '1') {\r\n        if(this.currentFocus !== 'App' || !document.querySelector(\".hot-key-focus-container\")){\r\n          $.clearFocus();\r\n          this.currentFocus = 'App';\r\n          $.find('.app', true).setFocus();\r\n        }\r\n        return;\r\n      }\r\n  }\r\n\r\n  hotKeyAction = (event, handle) => {\r\n    const { key } = handle || {};\r\n    const toggleKeyCode = 'ctrl+f1';\r\n    if (key === toggleKeyCode) {\r\n      const isSetHotKey = this.isSetHotKey = !this.isSetHotKey;\r\n      const message = isSetHotKey ? '设置' : '取消';\r\n      if (isSetHotKey) {\r\n        $.bind(this.keys.filter(i => i !== toggleKeyCode), this.hotKeyAction);\r\n      } else {\r\n        $.unbind(this.keys.filter(i => i !== toggleKeyCode));\r\n      }\r\n      return Message.info(`已${message}快捷键`);\r\n    }\r\n\r\n    $.action(key);\r\n  }\r\n\r\n  handleInfoRender = (solt) => {\r\n    this.setState({solt})\r\n  }\r\n  onCollapse = () => {\r\n    const {collapsed} = this.state;\r\n    this.setState({collapsed: !collapsed});\r\n  }\r\n  menuOnClick = ({key}) => {\r\n    console.log(key)\r\n    this.setState({selectedKeys: key});\r\n  }\r\n\r\n  handleClose = () => {\r\n    Keyboard.close();\r\n  }\r\n\r\n  handleOk = (type, count) => {\r\n    stores.modifyPassStore.modifyPassWord();\r\n  }\r\n\r\n  headMenuSelect = ({key}) => {\r\n    var footer = [\r\n      {text: '取消', className: 'modifypass-cancal-button', closable: true, action: this.handleClose},\r\n      {text: '确定', className: 'modifypass-ok-button', action: this.handleOk, type: 'primary'}\r\n    ];\r\n    footer = !!footer.length && <div>\r\n      {footer.map((btn, i) =>\r\n        <Button\r\n          className={btn.className || ''}\r\n          key={i}\r\n          type={btn.type}\r\n          loading={btn.loading}\r\n          onClick={() => {\r\n            const {action} = btn || {};\r\n            if (typeof action === 'function') action();\r\n            if (btn.closable) {\r\n              stores.modalRouter.hide('/modifypass');\r\n            }\r\n          }}\r\n        >\r\n          {btn.text}\r\n        </Button>)}\r\n    </div>\r\n    switch (key) {\r\n      case 'logout':\r\n        User.logout();\r\n        break;\r\n      case 'modifypass':\r\n        {\r\n          if(!stores.offlineSys.shouldInOffline())  return;\r\n          stores.modalRouter.show({\r\n            url: '/modifypass',\r\n            title: '修改密码',\r\n            className: 'modify-password',\r\n            width: 402,\r\n            footer,modalType:'mid',\r\n            onHide: () => stores.modalRouter.hide('/modifypass'),\r\n            destroyOnClose: true,\r\n          });\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${key}`);\r\n        break;\r\n    }\r\n  }\r\n  render() {\r\n    const { collapsed, selectedKeys, solt, portalHead = [], loginHead = [], retailOrder = [], logoUrl, hsy_s } = this.state;\r\n    const pathname = history.location.pathname;\r\n    const storeInfo = stores.user.options.get('store');\r\n    const isPortal = !!portalHead.length;\r\n    const isLogin = !!loginHead.length;\r\n    const isRetailOrder = !!retailOrder.length;\r\n    const { isNewRetailBCPos } = platform || {};\r\n\r\n    const headProps = {\r\n      logo: this.logoNode(logoUrl, isPortal, isLogin),\r\n      businessName: '',\r\n      storeName: '',\r\n      dateFormat: 'yyyy年MM月dd日 hh:mm:ss',\r\n      menu: [\r\n        { title: '注销', key: 'logout', icon: 'zhuxiao' },\r\n        { title: '修改密码', key: 'modifypass', icon: 'suoping' }\r\n      ],\r\n      onClick: this.headMenuSelect\r\n    };\r\n    if (storeInfo) {\r\n      headProps.businessName = storeInfo.orgName;\r\n      headProps.storeName = storeInfo.storeName;\r\n      headProps.posCode = storeInfo.posCode;\r\n    }\r\n\r\n    // 如果存在商米副屏则优先加载商米副屏\r\n    if (this.isHorizontalSunMi_FuPing) {\r\n      return <Redirect to={'/vicescreen'} />\r\n    }\r\n    console.log('!stores.posLoginStore.posIsLogin=============', !stores.posLoginStore.posIsLogin);\r\n    if (!stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {\r\n      stores.modalRouter.hideAll && stores.modalRouter.hideAll();\r\n      return <Redirect to={'/login'} />\r\n    }\r\n    const classNames = ['isPortal-layout', 'isRetailOrder-layout'];\r\n    const layoutClassName = [isPortal, isRetailOrder].map((v, i) => (v ? classNames[i] : '')).join(' ');\r\n    return (\r\n      <Layout\r\n        style={{ height: '100%' }}\r\n        className={layoutClassName}\r\n      >\r\n        <Layout>\r\n          <Header\r\n            {...headProps}\r\n            solt={solt}\r\n            isPortal={isPortal}\r\n            className={`${(!hsy_s && isPortal) ? 'isPortal-head' : ''} ${isLogin ? 'isLogin-head' : ''}`}\r\n            isLogin={isLogin}\r\n            location={this.props.location}\r\n            history={this.props.history}\r\n          />\r\n          <Layout.Content>\r\n            {this.props.match.isExact ? (<PortalPageBC />) : <Switch>{this.props.routes}</Switch>}\r\n          </Layout.Content>\r\n        </Layout>\r\n      </Layout>\r\n    )\r\n  }\r\n}\r\n\r\nexport default function Main(props) {\r\n  const { routes, modalRouter } = props;\r\n\r\n  if (modalRouter) {\r\n    return <Switch>{routes}</Switch>;\r\n  }\r\n\r\n  return React.cloneElement(<MainContainer />, props);\r\n}\r\n"]}
         
     | 
| 
         @@ -102,6 +102,8 @@ var _horizontalPadPortal2 = _interopRequireDefault(_horizontalPadPortal); 
     | 
|
| 
       102 
102 
     | 
    
         | 
| 
       103 
103 
     | 
    
         
             
            require('./index.less');
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
      
 105 
     | 
    
         
            +
            var _rxjs = require('rxjs');
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
       105 
107 
     | 
    
         
             
            function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
         
     | 
| 
       106 
108 
     | 
    
         | 
| 
       107 
109 
     | 
    
         
             
            var hasElectron = _mutantsMicrofx.env.platform === _mutantsMicrofx.env.constant.platform.electron;
         
     | 
| 
         @@ -220,6 +222,34 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       220 
222 
     | 
    
         
             
                  });
         
     | 
| 
       221 
223 
     | 
    
         
             
                };
         
     | 
| 
       222 
224 
     | 
    
         | 
| 
      
 225 
     | 
    
         
            +
                _this.initPageData = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
         
     | 
| 
      
 226 
     | 
    
         
            +
                  var hasUseOffline;
         
     | 
| 
      
 227 
     | 
    
         
            +
                  return _regenerator2.default.wrap(function _callee2$(_context2) {
         
     | 
| 
      
 228 
     | 
    
         
            +
                    while (1) {
         
     | 
| 
      
 229 
     | 
    
         
            +
                      switch (_context2.prev = _context2.next) {
         
     | 
| 
      
 230 
     | 
    
         
            +
                        case 0:
         
     | 
| 
      
 231 
     | 
    
         
            +
                          hasUseOffline = (0, _tplusPoslogin.PosInitData)('IsOfflineCash') === "1" && !(_this.isMobileEnvironment || _this.isHorizontalSunMi); //是否允许离线
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
                          if (!(hasUseOffline == true)) {
         
     | 
| 
      
 234 
     | 
    
         
            +
                            _context2.next = 4;
         
     | 
| 
      
 235 
     | 
    
         
            +
                            break;
         
     | 
| 
      
 236 
     | 
    
         
            +
                          }
         
     | 
| 
      
 237 
     | 
    
         
            +
             
     | 
| 
      
 238 
     | 
    
         
            +
                          _context2.next = 4;
         
     | 
| 
      
 239 
     | 
    
         
            +
                          return _this.catchOfflineData();
         
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
                        case 4:
         
     | 
| 
      
 242 
     | 
    
         
            +
                          _context2.next = 6;
         
     | 
| 
      
 243 
     | 
    
         
            +
                          return _this.getOperation();
         
     | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
      
 245 
     | 
    
         
            +
                        case 6:
         
     | 
| 
      
 246 
     | 
    
         
            +
                        case 'end':
         
     | 
| 
      
 247 
     | 
    
         
            +
                          return _context2.stop();
         
     | 
| 
      
 248 
     | 
    
         
            +
                      }
         
     | 
| 
      
 249 
     | 
    
         
            +
                    }
         
     | 
| 
      
 250 
     | 
    
         
            +
                  }, _callee2, _this2);
         
     | 
| 
      
 251 
     | 
    
         
            +
                }));
         
     | 
| 
      
 252 
     | 
    
         
            +
             
     | 
| 
       223 
253 
     | 
    
         
             
                _this.initHsyPage = function () {
         
     | 
| 
       224 
254 
     | 
    
         
             
                  var external_frame = document.getElementById('external-frame-cc');
         
     | 
| 
       225 
255 
     | 
    
         
             
                  var win = external_frame && external_frame.contentWindow;
         
     | 
| 
         @@ -237,12 +267,12 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       237 
267 
     | 
    
         
             
                  //SunMi初始化参数设置。
         
     | 
| 
       238 
268 
     | 
    
         
             
                  //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令
         
     | 
| 
       239 
269 
     | 
    
         
             
                  // 进行主副屏数据交互 初始化
         
     | 
| 
       240 
     | 
    
         
            -
                  var  
     | 
| 
       241 
     | 
    
         
            -
                       
     | 
| 
      
 270 
     | 
    
         
            +
                  var _ref3 = _mutantsMicrofx.localStore.get('user') || {},
         
     | 
| 
      
 271 
     | 
    
         
            +
                      _ref3$store = _ref3.store;
         
     | 
| 
       242 
272 
     | 
    
         | 
| 
       243 
     | 
    
         
            -
                   
     | 
| 
       244 
     | 
    
         
            -
                  var  
     | 
| 
       245 
     | 
    
         
            -
                      storeName =  
     | 
| 
      
 273 
     | 
    
         
            +
                  _ref3$store = _ref3$store === undefined ? {} : _ref3$store;
         
     | 
| 
      
 274 
     | 
    
         
            +
                  var _ref3$store$storeName = _ref3$store.storeName,
         
     | 
| 
      
 275 
     | 
    
         
            +
                      storeName = _ref3$store$storeName === undefined ? '' : _ref3$store$storeName;
         
     | 
| 
       246 
276 
     | 
    
         | 
| 
       247 
277 
     | 
    
         
             
                  console.log(result);
         
     | 
| 
       248 
278 
     | 
    
         | 
| 
         @@ -286,11 +316,11 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       286 
316 
     | 
    
         | 
| 
       287 
317 
     | 
    
         
             
                  var loginInfo = user.options.get('loginInfo');
         
     | 
| 
       288 
318 
     | 
    
         | 
| 
       289 
     | 
    
         
            -
                  var  
     | 
| 
       290 
     | 
    
         
            -
                      UserCode =  
     | 
| 
       291 
     | 
    
         
            -
                      AccountNum =  
     | 
| 
       292 
     | 
    
         
            -
                      posCode =  
     | 
| 
       293 
     | 
    
         
            -
                      TplusStoreId =  
     | 
| 
      
 319 
     | 
    
         
            +
                  var _ref4 = loginInfo || {},
         
     | 
| 
      
 320 
     | 
    
         
            +
                      UserCode = _ref4.UserCode,
         
     | 
| 
      
 321 
     | 
    
         
            +
                      AccountNum = _ref4.AccountNum,
         
     | 
| 
      
 322 
     | 
    
         
            +
                      posCode = _ref4.posCode,
         
     | 
| 
      
 323 
     | 
    
         
            +
                      TplusStoreId = _ref4.TplusStoreId;
         
     | 
| 
       294 
324 
     | 
    
         | 
| 
       295 
325 
     | 
    
         
             
                  var uid = _this.tplusEncode(UserCode);
         
     | 
| 
       296 
326 
     | 
    
         
             
                  var pwd = _this.tplusEncode(user.options.get("password"));
         
     | 
| 
         @@ -342,11 +372,11 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       342 
372 
     | 
    
         
             
                    return vv.Name === Name;
         
     | 
| 
       343 
373 
     | 
    
         
             
                  });
         
     | 
| 
       344 
374 
     | 
    
         | 
| 
       345 
     | 
    
         
            -
                  var  
     | 
| 
       346 
     | 
    
         
            -
                      Visibility =  
     | 
| 
       347 
     | 
    
         
            -
                      HoldFunctionAuth =  
     | 
| 
       348 
     | 
    
         
            -
                      Title =  
     | 
| 
       349 
     | 
    
         
            -
                      MenuCode =  
     | 
| 
      
 375 
     | 
    
         
            +
                  var _ref5 = controllable || {},
         
     | 
| 
      
 376 
     | 
    
         
            +
                      Visibility = _ref5.Visibility,
         
     | 
| 
      
 377 
     | 
    
         
            +
                      HoldFunctionAuth = _ref5.HoldFunctionAuth,
         
     | 
| 
      
 378 
     | 
    
         
            +
                      Title = _ref5.Title,
         
     | 
| 
      
 379 
     | 
    
         
            +
                      MenuCode = _ref5.MenuCode;
         
     | 
| 
       350 
380 
     | 
    
         | 
| 
       351 
381 
     | 
    
         
             
                  var errorTip = void 0;
         
     | 
| 
       352 
382 
     | 
    
         
             
                  if (type == 'more') {
         
     | 
| 
         @@ -427,14 +457,14 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       427 
457 
     | 
    
         
             
                };
         
     | 
| 
       428 
458 
     | 
    
         | 
| 
       429 
459 
     | 
    
         
             
                _this.toFramePage = function (params) {
         
     | 
| 
       430 
     | 
    
         
            -
                  var  
     | 
| 
       431 
     | 
    
         
            -
                      app =  
     | 
| 
       432 
     | 
    
         
            -
                      title =  
     | 
| 
       433 
     | 
    
         
            -
                      style =  
     | 
| 
       434 
     | 
    
         
            -
                      search =  
     | 
| 
       435 
     | 
    
         
            -
                      tmenuCode =  
     | 
| 
       436 
     | 
    
         
            -
                      MenuCode =  
     | 
| 
       437 
     | 
    
         
            -
                      isHsyLoadFinish =  
     | 
| 
      
 460 
     | 
    
         
            +
                  var _ref6 = params || {},
         
     | 
| 
      
 461 
     | 
    
         
            +
                      app = _ref6.app,
         
     | 
| 
      
 462 
     | 
    
         
            +
                      title = _ref6.title,
         
     | 
| 
      
 463 
     | 
    
         
            +
                      style = _ref6.style,
         
     | 
| 
      
 464 
     | 
    
         
            +
                      search = _ref6.search,
         
     | 
| 
      
 465 
     | 
    
         
            +
                      tmenuCode = _ref6.tmenuCode,
         
     | 
| 
      
 466 
     | 
    
         
            +
                      MenuCode = _ref6.MenuCode,
         
     | 
| 
      
 467 
     | 
    
         
            +
                      isHsyLoadFinish = _ref6.isHsyLoadFinish;
         
     | 
| 
       438 
468 
     | 
    
         | 
| 
       439 
469 
     | 
    
         
             
                  switch (app) {
         
     | 
| 
       440 
470 
     | 
    
         
             
                    case 'cc':
         
     | 
| 
         @@ -497,37 +527,37 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       497 
527 
     | 
    
         
             
                };
         
     | 
| 
       498 
528 
     | 
    
         | 
| 
       499 
529 
     | 
    
         
             
                _this.toTplusPage = function () {
         
     | 
| 
       500 
     | 
    
         
            -
                  var  
     | 
| 
       501 
     | 
    
         
            -
                    var ret,  
     | 
| 
      
 530 
     | 
    
         
            +
                  var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(tmenuCode, search) {
         
     | 
| 
      
 531 
     | 
    
         
            +
                    var ret, _ref8, ossjumpUrl, postMessageUrl, dsearchPlanID, portalStore, menu, external_frame_tc, win, loadTcURL;
         
     | 
| 
       502 
532 
     | 
    
         | 
| 
       503 
     | 
    
         
            -
                    return _regenerator2.default.wrap(function  
     | 
| 
      
 533 
     | 
    
         
            +
                    return _regenerator2.default.wrap(function _callee3$(_context3) {
         
     | 
| 
       504 
534 
     | 
    
         
             
                      while (1) {
         
     | 
| 
       505 
     | 
    
         
            -
                        switch ( 
     | 
| 
      
 535 
     | 
    
         
            +
                        switch (_context3.prev = _context3.next) {
         
     | 
| 
       506 
536 
     | 
    
         
             
                          case 0:
         
     | 
| 
       507 
537 
     | 
    
         
             
                            ret = _this.getTcBasicInfoInit();
         
     | 
| 
       508 
538 
     | 
    
         | 
| 
       509 
539 
     | 
    
         
             
                            if (!(ret === false)) {
         
     | 
| 
       510 
     | 
    
         
            -
                               
     | 
| 
      
 540 
     | 
    
         
            +
                              _context3.next = 3;
         
     | 
| 
       511 
541 
     | 
    
         
             
                              break;
         
     | 
| 
       512 
542 
     | 
    
         
             
                            }
         
     | 
| 
       513 
543 
     | 
    
         | 
| 
       514 
     | 
    
         
            -
                            return  
     | 
| 
      
 544 
     | 
    
         
            +
                            return _context3.abrupt('return');
         
     | 
| 
       515 
545 
     | 
    
         | 
| 
       516 
546 
     | 
    
         
             
                          case 3:
         
     | 
| 
       517 
     | 
    
         
            -
                             
     | 
| 
      
 547 
     | 
    
         
            +
                            _ref8 = ret || {}, ossjumpUrl = _ref8.ossjumpUrl, postMessageUrl = _ref8.postMessageUrl;
         
     | 
| 
       518 
548 
     | 
    
         
             
                            dsearchPlanID = '';
         
     | 
| 
       519 
549 
     | 
    
         | 
| 
       520 
550 
     | 
    
         
             
                            if (!(search && search.id)) {
         
     | 
| 
       521 
     | 
    
         
            -
                               
     | 
| 
      
 551 
     | 
    
         
            +
                              _context3.next = 10;
         
     | 
| 
       522 
552 
     | 
    
         
             
                              break;
         
     | 
| 
       523 
553 
     | 
    
         
             
                            }
         
     | 
| 
       524 
554 
     | 
    
         | 
| 
       525 
555 
     | 
    
         
             
                            portalStore = _this.context.stores.portalStore;
         
     | 
| 
       526 
     | 
    
         
            -
                             
     | 
| 
      
 556 
     | 
    
         
            +
                            _context3.next = 9;
         
     | 
| 
       527 
557 
     | 
    
         
             
                            return portalStore.getSearchPlanId(search);
         
     | 
| 
       528 
558 
     | 
    
         | 
| 
       529 
559 
     | 
    
         
             
                          case 9:
         
     | 
| 
       530 
     | 
    
         
            -
                            dsearchPlanID =  
     | 
| 
      
 560 
     | 
    
         
            +
                            dsearchPlanID = _context3.sent;
         
     | 
| 
       531 
561 
     | 
    
         | 
| 
       532 
562 
     | 
    
         
             
                          case 10:
         
     | 
| 
       533 
563 
     | 
    
         
             
                            menu = _this.tplusEncode(tmenuCode);
         
     | 
| 
         @@ -538,22 +568,22 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       538 
568 
     | 
    
         
             
                            }
         
     | 
| 
       539 
569 
     | 
    
         | 
| 
       540 
570 
     | 
    
         
             
                            if (!_this.isHorizontalSunMi) {
         
     | 
| 
       541 
     | 
    
         
            -
                               
     | 
| 
      
 571 
     | 
    
         
            +
                              _context3.next = 17;
         
     | 
| 
       542 
572 
     | 
    
         
             
                              break;
         
     | 
| 
       543 
573 
     | 
    
         
             
                            }
         
     | 
| 
       544 
574 
     | 
    
         | 
| 
       545 
575 
     | 
    
         
             
                            window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);
         
     | 
| 
       546 
     | 
    
         
            -
                             
     | 
| 
      
 576 
     | 
    
         
            +
                            _context3.next = 25;
         
     | 
| 
       547 
577 
     | 
    
         
             
                            break;
         
     | 
| 
       548 
578 
     | 
    
         | 
| 
       549 
579 
     | 
    
         
             
                          case 17:
         
     | 
| 
       550 
580 
     | 
    
         
             
                            if (!(_this.new_retail_app == 'tc' || _this.new_retail_app == 'tczsy' || _this.new_retail_app == 'tcyzj')) {
         
     | 
| 
       551 
     | 
    
         
            -
                               
     | 
| 
      
 581 
     | 
    
         
            +
                              _context3.next = 20;
         
     | 
| 
       552 
582 
     | 
    
         
             
                              break;
         
     | 
| 
       553 
583 
     | 
    
         
             
                            }
         
     | 
| 
       554 
584 
     | 
    
         | 
| 
       555 
585 
     | 
    
         
             
                            _mutantsMicrofx.nativeMs.useDefaultBrowser(ossjumpUrl);
         
     | 
| 
       556 
     | 
    
         
            -
                            return  
     | 
| 
      
 586 
     | 
    
         
            +
                            return _context3.abrupt('return');
         
     | 
| 
       557 
587 
     | 
    
         | 
| 
       558 
588 
     | 
    
         
             
                          case 20:
         
     | 
| 
       559 
589 
     | 
    
         
             
                            external_frame_tc = document.getElementById('external-frame-tc');
         
     | 
| 
         @@ -576,24 +606,24 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       576 
606 
     | 
    
         | 
| 
       577 
607 
     | 
    
         
             
                          case 25:
         
     | 
| 
       578 
608 
     | 
    
         
             
                          case 'end':
         
     | 
| 
       579 
     | 
    
         
            -
                            return  
     | 
| 
      
 609 
     | 
    
         
            +
                            return _context3.stop();
         
     | 
| 
       580 
610 
     | 
    
         
             
                        }
         
     | 
| 
       581 
611 
     | 
    
         
             
                      }
         
     | 
| 
       582 
     | 
    
         
            -
                    },  
     | 
| 
      
 612 
     | 
    
         
            +
                    }, _callee3, _this2);
         
     | 
| 
       583 
613 
     | 
    
         
             
                  }));
         
     | 
| 
       584 
614 
     | 
    
         | 
| 
       585 
615 
     | 
    
         
             
                  return function (_x2, _x3) {
         
     | 
| 
       586 
     | 
    
         
            -
                    return  
     | 
| 
      
 616 
     | 
    
         
            +
                    return _ref7.apply(this, arguments);
         
     | 
| 
       587 
617 
     | 
    
         
             
                  };
         
     | 
| 
       588 
618 
     | 
    
         
             
                }();
         
     | 
| 
       589 
619 
     | 
    
         | 
| 
       590 
620 
     | 
    
         
             
                _this.toHsyPage = function () {
         
     | 
| 
       591 
     | 
    
         
            -
                  var  
     | 
| 
       592 
     | 
    
         
            -
                    var content_only, bar_bg, bar_active_bg, menu, secondRouter, activePrompt, closePrompt, closeable, leavePrompt, lock, pageId, pageParams, path, tabId, tabLabel, pageType, _k, filter, IdWarehouse, WarehouseName, IsPerformanceDistribution,  
     | 
| 
      
 621 
     | 
    
         
            +
                  var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(params) {
         
     | 
| 
      
 622 
     | 
    
         
            +
                    var content_only, bar_bg, bar_active_bg, menu, secondRouter, activePrompt, closePrompt, closeable, leavePrompt, lock, pageId, pageParams, path, tabId, tabLabel, pageType, _k, filter, IdWarehouse, WarehouseName, IsPerformanceDistribution, _ref10, _ref10$loginInfo, _ref10$loginInfo$IdSt, IdStore, _ref10$loginInfo$PosI, PosId, _ref10$store, _ref10$store$storeNam, storeName, commonArgs, actionUrl, cc_url, CC_WEB_URL, external_frame, win;
         
     | 
| 
       593 
623 
     | 
    
         | 
| 
       594 
     | 
    
         
            -
                    return _regenerator2.default.wrap(function  
     | 
| 
      
 624 
     | 
    
         
            +
                    return _regenerator2.default.wrap(function _callee4$(_context4) {
         
     | 
| 
       595 
625 
     | 
    
         
             
                      while (1) {
         
     | 
| 
       596 
     | 
    
         
            -
                        switch ( 
     | 
| 
      
 626 
     | 
    
         
            +
                        switch (_context4.prev = _context4.next) {
         
     | 
| 
       597 
627 
     | 
    
         
             
                          case 0:
         
     | 
| 
       598 
628 
     | 
    
         
             
                            content_only = params.content_only, bar_bg = params.bar_bg, bar_active_bg = params.bar_active_bg, menu = params.menu, secondRouter = params.secondRouter, activePrompt = params.activePrompt, closePrompt = params.closePrompt, closeable = params.closeable, leavePrompt = params.leavePrompt, lock = params.lock, pageId = params.pageId, pageParams = params.pageParams, path = params.path, tabId = params.tabId, tabLabel = params.tabLabel, pageType = params.pageType, _k = params._k;
         
     | 
| 
       599 
629 
     | 
    
         
             
                            filter = {};
         
     | 
| 
         @@ -602,11 +632,11 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       602 
632 
     | 
    
         
             
                            IdWarehouse = (0, _tplusPoslogin.PosInitData)('IdWarehouse') || '';
         
     | 
| 
       603 
633 
     | 
    
         
             
                            WarehouseName = (0, _tplusPoslogin.PosInitData)('WarehouseName') || '';
         
     | 
| 
       604 
634 
     | 
    
         
             
                            IsPerformanceDistribution = (0, _tplusPoslogin.PosInitData)('PerformanceDistribution') === 'SHIPPER_STORE' || false;
         
     | 
| 
       605 
     | 
    
         
            -
                             
     | 
| 
       606 
     | 
    
         
            -
                             
     | 
| 
       607 
     | 
    
         
            -
                             
     | 
| 
       608 
     | 
    
         
            -
                             
     | 
| 
       609 
     | 
    
         
            -
                             
     | 
| 
      
 635 
     | 
    
         
            +
                            _ref10 = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('user') || {}, _ref10$loginInfo = _ref10.loginInfo, _ref10$loginInfo$IdSt = _ref10$loginInfo.IdStore, IdStore = _ref10$loginInfo$IdSt === undefined ? '' : _ref10$loginInfo$IdSt, _ref10$loginInfo$PosI = _ref10$loginInfo.PosId, PosId = _ref10$loginInfo$PosI === undefined ? '' : _ref10$loginInfo$PosI, _ref10$store = _ref10.store;
         
     | 
| 
      
 636 
     | 
    
         
            +
                            _ref10$store = _ref10$store === undefined ? {} : _ref10$store;
         
     | 
| 
      
 637 
     | 
    
         
            +
                            _ref10$store$storeNam = _ref10$store.storeName, storeName = _ref10$store$storeNam === undefined ? '' : _ref10$store$storeNam;
         
     | 
| 
      
 638 
     | 
    
         
            +
                            _context4.t0 = pageType;
         
     | 
| 
      
 639 
     | 
    
         
            +
                            _context4.next = _context4.t0 === 'voucher' ? 11 : _context4.t0 === 'report' ? 14 : 18;
         
     | 
| 
       610 
640 
     | 
    
         
             
                            break;
         
     | 
| 
       611 
641 
     | 
    
         | 
| 
       612 
642 
     | 
    
         
             
                          case 11:
         
     | 
| 
         @@ -636,7 +666,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       636 
666 
     | 
    
         
             
                                }
         
     | 
| 
       637 
667 
     | 
    
         
             
                              };
         
     | 
| 
       638 
668 
     | 
    
         
             
                            }
         
     | 
| 
       639 
     | 
    
         
            -
                            return  
     | 
| 
      
 669 
     | 
    
         
            +
                            return _context4.abrupt('break', 18);
         
     | 
| 
       640 
670 
     | 
    
         | 
| 
       641 
671 
     | 
    
         
             
                          case 14:
         
     | 
| 
       642 
672 
     | 
    
         
             
                            filter = {
         
     | 
| 
         @@ -692,7 +722,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       692 
722 
     | 
    
         
             
                                }
         
     | 
| 
       693 
723 
     | 
    
         
             
                              };
         
     | 
| 
       694 
724 
     | 
    
         
             
                            }
         
     | 
| 
       695 
     | 
    
         
            -
                            return  
     | 
| 
      
 725 
     | 
    
         
            +
                            return _context4.abrupt('break', 18);
         
     | 
| 
       696 
726 
     | 
    
         | 
| 
       697 
727 
     | 
    
         
             
                          case 18:
         
     | 
| 
       698 
728 
     | 
    
         
             
                            bar_bg = encodeURIComponent(bar_bg);
         
     | 
| 
         @@ -710,19 +740,19 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       710 
740 
     | 
    
         
             
                            console.log('web_hsy_url:', cc_url);
         
     | 
| 
       711 
741 
     | 
    
         | 
| 
       712 
742 
     | 
    
         
             
                            if (!_this.isHorizontalSunMi) {
         
     | 
| 
       713 
     | 
    
         
            -
                               
     | 
| 
      
 743 
     | 
    
         
            +
                              _context4.next = 37;
         
     | 
| 
       714 
744 
     | 
    
         
             
                              break;
         
     | 
| 
       715 
745 
     | 
    
         
             
                            }
         
     | 
| 
       716 
746 
     | 
    
         | 
| 
       717 
     | 
    
         
            -
                             
     | 
| 
      
 747 
     | 
    
         
            +
                            _context4.next = 32;
         
     | 
| 
       718 
748 
     | 
    
         
             
                            return _tplusApi.User.getLoginCCMidWebUrl(cc_url);
         
     | 
| 
       719 
749 
     | 
    
         | 
| 
       720 
750 
     | 
    
         
             
                          case 32:
         
     | 
| 
       721 
     | 
    
         
            -
                            CC_WEB_URL =  
     | 
| 
      
 751 
     | 
    
         
            +
                            CC_WEB_URL = _context4.sent;
         
     | 
| 
       722 
752 
     | 
    
         | 
| 
       723 
753 
     | 
    
         
             
                            console.log('CC_WEB_URL:', CC_WEB_URL);
         
     | 
| 
       724 
754 
     | 
    
         
             
                            window.android_CommonFun.openWebUrlByOutBrowser(CC_WEB_URL);
         
     | 
| 
       725 
     | 
    
         
            -
                             
     | 
| 
      
 755 
     | 
    
         
            +
                            _context4.next = 42;
         
     | 
| 
       726 
756 
     | 
    
         
             
                            break;
         
     | 
| 
       727 
757 
     | 
    
         | 
| 
       728 
758 
     | 
    
         
             
                          case 37:
         
     | 
| 
         @@ -744,14 +774,14 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       744 
774 
     | 
    
         | 
| 
       745 
775 
     | 
    
         
             
                          case 42:
         
     | 
| 
       746 
776 
     | 
    
         
             
                          case 'end':
         
     | 
| 
       747 
     | 
    
         
            -
                            return  
     | 
| 
      
 777 
     | 
    
         
            +
                            return _context4.stop();
         
     | 
| 
       748 
778 
     | 
    
         
             
                        }
         
     | 
| 
       749 
779 
     | 
    
         
             
                      }
         
     | 
| 
       750 
     | 
    
         
            -
                    },  
     | 
| 
      
 780 
     | 
    
         
            +
                    }, _callee4, _this2);
         
     | 
| 
       751 
781 
     | 
    
         
             
                  }));
         
     | 
| 
       752 
782 
     | 
    
         | 
| 
       753 
783 
     | 
    
         
             
                  return function (_x4) {
         
     | 
| 
       754 
     | 
    
         
            -
                    return  
     | 
| 
      
 784 
     | 
    
         
            +
                    return _ref9.apply(this, arguments);
         
     | 
| 
       755 
785 
     | 
    
         
             
                  };
         
     | 
| 
       756 
786 
     | 
    
         
             
                }();
         
     | 
| 
       757 
787 
     | 
    
         | 
| 
         @@ -845,10 +875,10 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       845 
875 
     | 
    
         
             
                      return vv.Name === v.Name;
         
     | 
| 
       846 
876 
     | 
    
         
             
                    });
         
     | 
| 
       847 
877 
     | 
    
         | 
| 
       848 
     | 
    
         
            -
                    var  
     | 
| 
       849 
     | 
    
         
            -
                        Visibility =  
     | 
| 
       850 
     | 
    
         
            -
                        HoldFunctionAuth =  
     | 
| 
       851 
     | 
    
         
            -
                        Title =  
     | 
| 
      
 878 
     | 
    
         
            +
                    var _ref11 = controllable || {},
         
     | 
| 
      
 879 
     | 
    
         
            +
                        Visibility = _ref11.Visibility,
         
     | 
| 
      
 880 
     | 
    
         
            +
                        HoldFunctionAuth = _ref11.HoldFunctionAuth,
         
     | 
| 
      
 881 
     | 
    
         
            +
                        Title = _ref11.Title;
         
     | 
| 
       852 
882 
     | 
    
         | 
| 
       853 
883 
     | 
    
         
             
                    var errorTip = void 0;
         
     | 
| 
       854 
884 
     | 
    
         
             
                    if (!Visibility) {
         
     | 
| 
         @@ -1091,12 +1121,12 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       1091 
1121 
     | 
    
         
             
                  modalURL: ''
         
     | 
| 
       1092 
1122 
     | 
    
         
             
                };
         
     | 
| 
       1093 
1123 
     | 
    
         | 
| 
       1094 
     | 
    
         
            -
                var  
     | 
| 
       1095 
     | 
    
         
            -
                    isVerticalTouch =  
     | 
| 
       1096 
     | 
    
         
            -
                    isHorizontalPad =  
     | 
| 
       1097 
     | 
    
         
            -
                    isHorizontalSunMi =  
     | 
| 
       1098 
     | 
    
         
            -
                    isNewRetailBCPos =  
     | 
| 
       1099 
     | 
    
         
            -
                    isNewRetailBCPosTC =  
     | 
| 
      
 1124 
     | 
    
         
            +
                var _ref12 = _mutantsUtil.platform || {},
         
     | 
| 
      
 1125 
     | 
    
         
            +
                    isVerticalTouch = _ref12.isVerticalTouch,
         
     | 
| 
      
 1126 
     | 
    
         
            +
                    isHorizontalPad = _ref12.isHorizontalPad,
         
     | 
| 
      
 1127 
     | 
    
         
            +
                    isHorizontalSunMi = _ref12.isHorizontalSunMi,
         
     | 
| 
      
 1128 
     | 
    
         
            +
                    isNewRetailBCPos = _ref12.isNewRetailBCPos,
         
     | 
| 
      
 1129 
     | 
    
         
            +
                    isNewRetailBCPosTC = _ref12.isNewRetailBCPosTC;
         
     | 
| 
       1100 
1130 
     | 
    
         | 
| 
       1101 
1131 
     | 
    
         
             
                _this.isVerticalTouch = !!isVerticalTouch;
         
     | 
| 
       1102 
1132 
     | 
    
         
             
                _this.isHorizontalPad = !!isHorizontalPad;
         
     | 
| 
         @@ -1128,37 +1158,9 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       1128 
1158 
     | 
    
         
             
              }
         
     | 
| 
       1129 
1159 
     | 
    
         | 
| 
       1130 
1160 
     | 
    
         
             
              (0, _createClass3.default)(_default, [{
         
     | 
| 
       1131 
     | 
    
         
            -
                key: 'componentWillMount',
         
     | 
| 
       1132 
     | 
    
         
            -
                value: function () {
         
     | 
| 
       1133 
     | 
    
         
            -
                  var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {
         
     | 
| 
       1134 
     | 
    
         
            -
                    return _regenerator2.default.wrap(function _callee4$(_context4) {
         
     | 
| 
       1135 
     | 
    
         
            -
                      while (1) {
         
     | 
| 
       1136 
     | 
    
         
            -
                        switch (_context4.prev = _context4.next) {
         
     | 
| 
       1137 
     | 
    
         
            -
                          case 0:
         
     | 
| 
       1138 
     | 
    
         
            -
                            _context4.next = 2;
         
     | 
| 
       1139 
     | 
    
         
            -
                            return this.catchOfflineData();
         
     | 
| 
       1140 
     | 
    
         
            -
             
     | 
| 
       1141 
     | 
    
         
            -
                          case 2:
         
     | 
| 
       1142 
     | 
    
         
            -
                            _context4.next = 4;
         
     | 
| 
       1143 
     | 
    
         
            -
                            return this.getOperation();
         
     | 
| 
       1144 
     | 
    
         
            -
             
     | 
| 
       1145 
     | 
    
         
            -
                          case 4:
         
     | 
| 
       1146 
     | 
    
         
            -
                          case 'end':
         
     | 
| 
       1147 
     | 
    
         
            -
                            return _context4.stop();
         
     | 
| 
       1148 
     | 
    
         
            -
                        }
         
     | 
| 
       1149 
     | 
    
         
            -
                      }
         
     | 
| 
       1150 
     | 
    
         
            -
                    }, _callee4, this);
         
     | 
| 
       1151 
     | 
    
         
            -
                  }));
         
     | 
| 
       1152 
     | 
    
         
            -
             
     | 
| 
       1153 
     | 
    
         
            -
                  function componentWillMount() {
         
     | 
| 
       1154 
     | 
    
         
            -
                    return _ref12.apply(this, arguments);
         
     | 
| 
       1155 
     | 
    
         
            -
                  }
         
     | 
| 
       1156 
     | 
    
         
            -
             
     | 
| 
       1157 
     | 
    
         
            -
                  return componentWillMount;
         
     | 
| 
       1158 
     | 
    
         
            -
                }()
         
     | 
| 
       1159 
     | 
    
         
            -
              }, {
         
     | 
| 
       1160 
1161 
     | 
    
         
             
                key: 'componentDidMount',
         
     | 
| 
       1161 
1162 
     | 
    
         
             
                value: function componentDidMount() {
         
     | 
| 
      
 1163 
     | 
    
         
            +
                  this.initPageData();
         
     | 
| 
       1162 
1164 
     | 
    
         
             
                  if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isMobileEnvironment) {
         
     | 
| 
       1163 
1165 
     | 
    
         
             
                    this.initHsyPage();
         
     | 
| 
       1164 
1166 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","HTTP_PROXY_URL","observer","props","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downloadCatcherDay","currentDay","Math","ceil","Date","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","result","hide","set","getOperation","resolve","reject","portalStore","headHook","addClass","homeOperation","Request","functionData","then","operations","setState","catch","err","console","log","data","state","id","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","window","open","getTime","hsyBasicInfoInit","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","isHsyLoadFinish","HsyLoadFinish","clearTimeout","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","sunMi_PresentationManager","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","showMoreModal","onOk","logout","shouldOpenHomeOperation","Message","warn","modalRouter","url","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","isMobileEnvironment","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","location","origin","android_CommonFun","openWebUrlByOutBrowser","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","getLoginCCMidWebUrl","CC_WEB_URL","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","round","random","closeFrameModal","showModal","closeMoreModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","createMoreNode","arrs","items","sub_cc","sub_tc","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","FuPingIsLoaded","Menus","leftMenuTC","rightMenuTC","getWebEntry","theme","themeStore","color","removeClass","setIpcRendererMethod","e","screenHeight","screen","availHeight","htmlContent","height","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-09-27 19:05:04\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      showMoreModal: false,\r\n      loadHsyPage: false,\r\n      loadHsyURL: '',\r\n      isHsyLoadFinish: false,\r\n      loadTcPage: false,\r\n      loadTcURL: '',\r\n      modalURL: '',\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n    this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n    this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n    this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n    this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n    this.hsy_domain = User && User.getWebEntry();\r\n    this.randomWord = this.randomWord.bind(this);\r\n    autorun(() => {\r\n      this.hsyBasicInfoInit();\r\n    });\r\n  }\r\n\r\n  async componentWillMount() {\r\n    await this.catchOfflineData();\r\n    await this.getOperation();\r\n  }\r\n\r\n\r\n  catchOfflineData = async () => {\r\n    const { offlineSys } = this.context.stores;\r\n    const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n    const downloadCatcherDay = localStore.get(\"downloadCatcherDay\");\r\n    const currentDay = Math.ceil(new Date()/1000/60/60/24)\r\n    if (isLoginAfter == 1) {\r\n      // 增加每天第一次登陆下载数据\r\n      if (!downloadCatcherDay || currentDay > downloadCatcherDay) {\r\n        Loading.show({\r\n          text: '离线数据下载中',\r\n          delay: 0,\r\n          showProgress: true\r\n        });\r\n        function downProgress(params) {\r\n          Loading.transfer(params)\r\n        }\r\n        let result = await offlineSys.downloadCatcherData(downProgress);\r\n        Loading.hide();\r\n        if(result){\r\n          localStore.set(\"downloadCatcherDay\",currentDay);\r\n        }\r\n      }\r\n      localStore.set(\"isLoginAfter\", 0)\r\n    }\r\n  }\r\n\r\n\r\n  getOperation = () => {\r\n    return new Promise((resolve, reject) => {\r\n      const { stores: { portalStore } = {}, headHook: { addClass } = {} } = this.context;\r\n      const { homeOperation, functionData } = Request;\r\n      Loading.show({\r\n        text: '首页权限加载中...',\r\n        delay: 2500\r\n      });\r\n      homeOperation().then(operations => {\r\n        localStore.set('operationsAuth', JSON.stringify(operations));\r\n        this.setState({ operations: operations || [] });\r\n        Loading.hide();\r\n        resolve()\r\n      }).catch((err) => {\r\n        console.log('homeOperation.error======', err);\r\n        Loading.hide();\r\n        resolve()\r\n      });\r\n      functionData().then(data => {\r\n        // 加载权限数据  DR-29735 by majian\r\n        PosSetData(data);\r\n      });\r\n      // portalStore && portalStore.getPortalMenu();\r\n      addClass && addClass(this.state.id, 'portalHead');\r\n      // 初始化参数设置。\r\n      stores.setStore.initSetParams().then(ret => {\r\n        // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n        if (this.getScreenType() === true) {\r\n          if(this.isHorizontalSunMi){\r\n            this.sunMiPresentationInit(ret);\r\n            return;\r\n          }\r\n          window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n        }\r\n      })\r\n      this.hsyBasicInfoInit();\r\n    })\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isMobileEnvironment) {\r\n      this.initHsyPage();\r\n    }\r\n  }\r\n\r\n  // 初始化好生意页面\r\n  initHsyPage = () => {\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame && external_frame.contentWindow;\r\n    let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n    if (!win) return;\r\n    win.HsyLoadFinish = () => {\r\n      clearTimeout(timer);\r\n      this.setState({ isHsyLoadFinish: true });\r\n    }\r\n  }\r\n\r\n  // 初始化商米副屏\r\n  sunMiPresentationInit = (result) => {\r\n     //SunMi初始化参数设置。\r\n      //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令\r\n      // 进行主副屏数据交互 初始化\r\n      const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n      console.log(result);\r\n      const { RE_POSParamType } = enumController.getEnumOj();\r\n      const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n      const filterResult = result && result.filter?result.filter((settingItem)=>{return settingItem.ParamType === DUAL_SCREEN_SETTING}):[];\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\",filterResult).then(()=>{\r\n        console.log(\"缓存数据成功\")\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n      });\r\n  }\r\n\r\n  // 初始化智+模块信息\r\n  hsyBasicInfoInit() {\r\n    const theme = stores.portalStore.themeStore;\r\n    let color = '#FF8C25';\r\n    switch (theme) {\r\n      case 'orange':\r\n        color = \"#FF8C25\";\r\n        break;\r\n      case 'blue':\r\n        color = \"#3491FF\";\r\n        break;\r\n      case 'dark':\r\n        color = \"#26A0DE\";\r\n        break;\r\n      case 'pink':\r\n        color = \"#FF6B8C\";\r\n        break;\r\n    }\r\n    const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n    const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n    this.setState({ loadHsyURL: cc_url });\r\n  }\r\n\r\n  //初始化tc、tcyzj、tczsy信息\r\n  getTcBasicInfoInit = () => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      )\r\n      return false;\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n      tplusUrl += '/';\r\n    }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let postMsgUrl = ossjumpUrl;\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n    const uid = this.tplusEncode(UserCode);\r\n    const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n    const accNum = this.tplusEncode(AccountNum)\r\n    const code = this.tplusEncode(posCode);\r\n    const store = this.tplusEncode(TplusStoreId + '');\r\n    ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n    return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n    const { operations, isHsyLoadFinish } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (type == 'more') {\r\n      return this.setState({ showMoreModal: true })\r\n    }\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      })\r\n    }\r\n\r\n    if(!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n      Message.warn(\"离线模式下此操作不可用\")\r\n      return;\r\n    }\r\n\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    // 支持页面内打开,减少再次加载页面的时间。\r\n    if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data) => {\r\n          console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${type}`);\r\n        break;\r\n    }\r\n  };\r\n\r\n  //跳转其他页面,以内嵌形式打开\r\n  toFramePage = (params) => {\r\n    const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n    switch (app) {\r\n      case 'cc':\r\n        let sh = '';\r\n        if (this.isMobileEnvironment) { //暂时不支持android系统跳转\r\n          return Message.warn('新功能正在研发中,敬请期待。');\r\n        }\r\n        if (!isHsyLoadFinish) {\r\n          return Message.warn('正在加载资源中,请稍后。');\r\n        }\r\n        if (!search) {\r\n          return Message.warn('正在紧急研发中...');\r\n        } else if (search && search.length > 0) {\r\n          sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n          sh = sh || search[0];\r\n        }\r\n        if (!sh) {\r\n          return Message.warn('传递参数有误,请查证。');\r\n        }\r\n        this.toHsyPage({ ...style, ...sh });\r\n        break;\r\n      case 'tc':\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(tmenuCode, search);\r\n          }\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n\r\n  //跳转到T+\r\n  toTplusPage = async (tmenuCode, search) => {\r\n    let ret = this.getTcBasicInfoInit();\r\n    if (ret === false) return;\r\n    let { ossjumpUrl, postMessageUrl } = ret || {};\r\n    let dsearchPlanID = '';\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    let menu = this.tplusEncode(tmenuCode);\r\n    ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n    if (this.isHorizontalSunMi) {\r\n      window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n    } else {\r\n      //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n      //目前T+页面有很多进一步操作的界面,无法得到解决,特针对跳转T+页面的,都使用默认浏览器打开。2021-10-27\r\n      if (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj') {\r\n        nativeMs.useDefaultBrowser(ossjumpUrl);\r\n        return;\r\n      }\r\n      let external_frame_tc = document.getElementById('external-frame-tc');\r\n      let win = external_frame_tc.contentWindow;\r\n      const { loadTcURL } = this.state;\r\n      if (loadTcURL) {\r\n        win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n        this.setState({ loadTcPage: true });\r\n      } else {\r\n        this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n      }\r\n      rx$.changeHsy.next({\r\n        back: true, fn: () => {\r\n          win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n          this.setState({ loadTcPage: false });\r\n          rx$.changeHsy.next({ back: false });\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  //跳转CC\r\n  toHsyPage = async (params) => {\r\n    let {\r\n      content_only,   //只加载内容区域\r\n      bar_bg,         //页签栏颜色\r\n      bar_active_bg,  //激活态的标签背景颜色\r\n      menu,\r\n      secondRouter,\r\n      activePrompt,\r\n      closePrompt,\r\n      closeable,\r\n      leavePrompt,\r\n      lock,\r\n      pageId,\r\n      pageParams,\r\n      path,\r\n      tabId,\r\n      tabLabel,\r\n      pageType,\r\n      _k\r\n    } = params;\r\n\r\n    let filter = {};\r\n    //对仓库参数的处理\r\n    const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n    const WarehouseName = PosInitData('WarehouseName') || '';\r\n    const IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\r\n    const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n    switch (pageType) {\r\n      case 'voucher':\r\n        filter = {\r\n          defaultValue: {\r\n            storeId: {\r\n              id: IdStore,\r\n              storeName\r\n            },\r\n            warehouseId: {\r\n              id: IdWarehouse,\r\n              name: WarehouseName\r\n            }\r\n          }\r\n        }\r\n        //要货单特殊处理\r\n        if (menu == 'require-goods-new') {\r\n          filter = {\r\n            defaultValue: {\r\n              storeId: {\r\n                id: IdStore,\r\n                storeName\r\n              },\r\n              requireWarehouseId: {\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n      case 'report':\r\n        filter = {\r\n          filterValue: {\r\n            storeId: {\r\n              value: {\r\n                id: IdStore,\r\n                storeName\r\n              }\r\n            },\r\n            warehouseId: {\r\n              value: [{\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }]\r\n            }\r\n          }\r\n        }\r\n        // 收银统计表\r\n        if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n          filter = {\r\n            filterValue: {\r\n              deliveryStoreId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              warehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        // 售后、配送\r\n        if (menu == 'return-order' || menu == 'order-manage') {\r\n          filter = {\r\n            filterValue: {\r\n              storeId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              deliveryWarehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n    }\r\n    bar_bg = encodeURIComponent(bar_bg);\r\n    bar_active_bg = encodeURIComponent(bar_active_bg);\r\n    menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n    pageId = menu;\r\n    pageParams = Object.assign(pageParams, filter);\r\n    path = encodeURIComponent(path);\r\n    _k = this.randomWord(false, 6);\r\n\r\n    const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n    const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n    let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n    console.log('web_hsy_url:', cc_url);\r\n    if(this.isHorizontalSunMi){\r\n      const CC_WEB_URL = await User.getLoginCCMidWebUrl(cc_url)\r\n      console.log('CC_WEB_URL:', CC_WEB_URL);\r\n      window.android_CommonFun.openWebUrlByOutBrowser(CC_WEB_URL);\r\n    }else{\r\n      let external_frame = document.getElementById('external-frame-cc');\r\n      let win = external_frame.contentWindow;\r\n      win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n      this.setState({ loadHsyPage: true });\r\n      rx$.changeHsy.next({\r\n        back: true, fn: () => {\r\n          this.setState({ loadHsyPage: false });\r\n          rx$.changeHsy.next({ back: false });\r\n          // 在打开页签之前,关闭之前的。\r\n          let external_frame_a = document.getElementById('external-frame-cc');\r\n          let wins = external_frame_a.contentWindow;\r\n          wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  randomWord = (only, digits) => {\r\n    let str = \"\";\r\n    const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n    const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n    let arr = only ? [...number] : [...number, ...letter];\r\n    for (let i = 0; i < digits; i++) {\r\n      let pos = Math.round(Math.random() * (arr.length - 1));\r\n      str += arr[pos];\r\n    }\r\n    return str;\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  closeMoreModal = () => {\r\n    this.setState({ showMoreModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              let item = vv;\r\n              if (vv.maybe === true) {\r\n                let status = !!PosInitData('ShowStorePrice');\r\n                item = status ? vv : vv.second;\r\n              }\r\n              return (<div\r\n                className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={item.className}\r\n                onClick={this.handelClick.bind(this, item)}\r\n              >\r\n                {!!item.title && <h1>{item.title}</h1>}\r\n                {!!item.label && <p>{item.label}</p>}\r\n                {!!item.icon && <Ticon icon={item.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const menuLeftNode = this.centerLeftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = this.centerRightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const node = this.rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n          {!!v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return node;\r\n  }\r\n\r\n  createMoreNode = () => {\r\n    const arrs = this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1];\r\n    const items = (this.new_retail_app == 'cc') ? arrs.sub_cc : (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj' ? arrs.sub_tc : []);\r\n    const node = items.length > 0 && items.map(v => {\r\n      return (\r\n        <div\r\n          className={`modal-quick ${v.className}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.icon && <div className='quick'><Ticon icon={v.icon} /></div>}\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n        </div>\r\n      )\r\n    })\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal,showMoreModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal \r\n            visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n        {\r\n          <Modal\r\n            title={'更多'}\r\n            className={'portal-container-modal-more'}\r\n            visible={showMoreModal}\r\n            onCancel={this.closeMoreModal}\r\n            width={800}\r\n            height={375}\r\n            footer={null}\r\n            centered\r\n            maskClosable={false}\r\n            keyboard={false}\r\n          >\r\n            {\r\n              this.createMoreNode()\r\n            }\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","HTTP_PROXY_URL","observer","props","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downloadCatcherDay","currentDay","Math","ceil","Date","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","result","hide","set","getOperation","resolve","reject","portalStore","headHook","addClass","homeOperation","Request","functionData","then","operations","setState","catch","err","console","log","data","state","id","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","window","open","getTime","hsyBasicInfoInit","initPageData","hasUseOffline","isMobileEnvironment","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","isHsyLoadFinish","HsyLoadFinish","clearTimeout","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","sunMi_PresentationManager","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","showMoreModal","onOk","logout","shouldOpenHomeOperation","Message","warn","modalRouter","url","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","location","origin","android_CommonFun","openWebUrlByOutBrowser","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","getLoginCCMidWebUrl","CC_WEB_URL","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","round","random","closeFrameModal","showModal","closeMoreModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","createMoreNode","arrs","items","sub_cc","sub_tc","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","FuPingIsLoaded","Menus","leftMenuTC","rightMenuTC","getWebEntry","theme","themeStore","color","removeClass","setIpcRendererMethod","e","screenHeight","screen","availHeight","htmlContent","height","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-09-27 19:05:04\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\nimport { async } from 'rxjs';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      showMoreModal: false,\r\n      loadHsyPage: false,\r\n      loadHsyURL: '',\r\n      isHsyLoadFinish: false,\r\n      loadTcPage: false,\r\n      loadTcURL: '',\r\n      modalURL: '',\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n    this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n    this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n    this.new_retail_app = localStore && localStore.get('newRetailAppType'); \r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n    this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n    this.hsy_domain = User && User.getWebEntry();\r\n    this.randomWord = this.randomWord.bind(this);\r\n    autorun(() => {\r\n      this.hsyBasicInfoInit();\r\n    });\r\n  }\r\n\r\n  catchOfflineData = async () => {\r\n    const { offlineSys } = this.context.stores;\r\n    const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n    const downloadCatcherDay = localStore.get(\"downloadCatcherDay\");\r\n    const currentDay = Math.ceil(new Date()/1000/60/60/24)\r\n    if (isLoginAfter == 1) {\r\n      // 增加每天第一次登陆下载数据\r\n      if (!downloadCatcherDay || currentDay > downloadCatcherDay) {\r\n        Loading.show({\r\n          text: '离线数据下载中',\r\n          delay: 0,\r\n          showProgress: true\r\n        });\r\n        function downProgress(params) {\r\n          Loading.transfer(params)\r\n        }\r\n        let result = await offlineSys.downloadCatcherData(downProgress);\r\n        Loading.hide();\r\n        if(result){\r\n          localStore.set(\"downloadCatcherDay\",currentDay);\r\n        }\r\n      }\r\n      localStore.set(\"isLoginAfter\", 0)\r\n    }\r\n  }\r\n\r\n  getOperation = () => {\r\n    return new Promise((resolve, reject) => {\r\n      const { stores: { portalStore } = {}, headHook: { addClass } = {} } = this.context;\r\n      const { homeOperation, functionData } = Request;\r\n      Loading.show({\r\n        text: '首页权限加载中...',\r\n        delay: 2500\r\n      });\r\n      homeOperation().then(operations => {\r\n        localStore.set('operationsAuth', JSON.stringify(operations));\r\n        this.setState({ operations: operations || [] });\r\n        Loading.hide();\r\n        resolve()\r\n      }).catch((err) => {\r\n        console.log('homeOperation.error======', err);\r\n        Loading.hide();\r\n        resolve()\r\n      });\r\n      functionData().then(data => {\r\n        // 加载权限数据  DR-29735 by majian\r\n        PosSetData(data);\r\n      });\r\n      // portalStore && portalStore.getPortalMenu();\r\n      addClass && addClass(this.state.id, 'portalHead');\r\n      // 初始化参数设置。\r\n      stores.setStore.initSetParams().then(ret => {\r\n        // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n        if (this.getScreenType() === true) {\r\n          if(this.isHorizontalSunMi){\r\n            this.sunMiPresentationInit(ret);\r\n            return;\r\n          }\r\n          window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n        }\r\n      })\r\n      this.hsyBasicInfoInit();\r\n    })\r\n  }\r\n\r\n\r\n  initPageData = async () => {\r\n    const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !(this.isMobileEnvironment || this.isHorizontalSunMi); //是否允许离线\r\n    if (hasUseOffline == true) {\r\n      await this.catchOfflineData(); //离线数据下发\r\n    }\r\n    await this.getOperation();  //权限加载\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.initPageData();\r\n    if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isMobileEnvironment) {\r\n      this.initHsyPage();\r\n    }\r\n  }\r\n\r\n  // 初始化好生意页面\r\n  initHsyPage = () => {\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame && external_frame.contentWindow;\r\n    let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n    if (!win) return;\r\n    win.HsyLoadFinish = () => {\r\n      clearTimeout(timer);\r\n      this.setState({ isHsyLoadFinish: true });\r\n    }\r\n  }\r\n\r\n  // 初始化商米副屏\r\n  sunMiPresentationInit = (result) => {\r\n     //SunMi初始化参数设置。\r\n      //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令\r\n      // 进行主副屏数据交互 初始化\r\n      const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n      console.log(result);\r\n      const { RE_POSParamType } = enumController.getEnumOj();\r\n      const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n      const filterResult = result && result.filter?result.filter((settingItem)=>{return settingItem.ParamType === DUAL_SCREEN_SETTING}):[];\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\",filterResult).then(()=>{\r\n        console.log(\"缓存数据成功\")\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n      });\r\n  }\r\n\r\n  // 初始化智+模块信息\r\n  hsyBasicInfoInit() {\r\n    const theme = stores.portalStore.themeStore;\r\n    let color = '#FF8C25';\r\n    switch (theme) {\r\n      case 'orange':\r\n        color = \"#FF8C25\";\r\n        break;\r\n      case 'blue':\r\n        color = \"#3491FF\";\r\n        break;\r\n      case 'dark':\r\n        color = \"#26A0DE\";\r\n        break;\r\n      case 'pink':\r\n        color = \"#FF6B8C\";\r\n        break;\r\n    }\r\n    const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n    const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n    this.setState({ loadHsyURL: cc_url });\r\n  }\r\n\r\n  //初始化tc、tcyzj、tczsy信息\r\n  getTcBasicInfoInit = () => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      )\r\n      return false;\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n      tplusUrl += '/';\r\n    }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let postMsgUrl = ossjumpUrl;\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n    const uid = this.tplusEncode(UserCode);\r\n    const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n    const accNum = this.tplusEncode(AccountNum)\r\n    const code = this.tplusEncode(posCode);\r\n    const store = this.tplusEncode(TplusStoreId + '');\r\n    ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n    return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n    const { operations, isHsyLoadFinish } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (type == 'more') {\r\n      return this.setState({ showMoreModal: true })\r\n    }\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      })\r\n    }\r\n\r\n    if(!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n      Message.warn(\"离线模式下此操作不可用\")\r\n      return;\r\n    }\r\n\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    // 支持页面内打开,减少再次加载页面的时间。\r\n    if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data) => {\r\n          console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${type}`);\r\n        break;\r\n    }\r\n  };\r\n\r\n  //跳转其他页面,以内嵌形式打开\r\n  toFramePage = (params) => {\r\n    const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n    switch (app) {\r\n      case 'cc':\r\n        let sh = '';\r\n        if (this.isMobileEnvironment) { //暂时不支持android系统跳转\r\n          return Message.warn('新功能正在研发中,敬请期待。');\r\n        }\r\n        if (!isHsyLoadFinish) {\r\n          return Message.warn('正在加载资源中,请稍后。');\r\n        }\r\n        if (!search) {\r\n          return Message.warn('正在紧急研发中...');\r\n        } else if (search && search.length > 0) {\r\n          sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n          sh = sh || search[0];\r\n        }\r\n        if (!sh) {\r\n          return Message.warn('传递参数有误,请查证。');\r\n        }\r\n        this.toHsyPage({ ...style, ...sh });\r\n        break;\r\n      case 'tc':\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(tmenuCode, search);\r\n          }\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n\r\n  //跳转到T+\r\n  toTplusPage = async (tmenuCode, search) => {\r\n    let ret = this.getTcBasicInfoInit();\r\n    if (ret === false) return;\r\n    let { ossjumpUrl, postMessageUrl } = ret || {};\r\n    let dsearchPlanID = '';\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    let menu = this.tplusEncode(tmenuCode);\r\n    ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n    if (this.isHorizontalSunMi) {\r\n      window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n    } else {\r\n      //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n      //目前T+页面有很多进一步操作的界面,无法得到解决,特针对跳转T+页面的,都使用默认浏览器打开。2021-10-27\r\n      if (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj') {\r\n        nativeMs.useDefaultBrowser(ossjumpUrl);\r\n        return;\r\n      }\r\n      let external_frame_tc = document.getElementById('external-frame-tc');\r\n      let win = external_frame_tc.contentWindow;\r\n      const { loadTcURL } = this.state;\r\n      if (loadTcURL) {\r\n        win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n        this.setState({ loadTcPage: true });\r\n      } else {\r\n        this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n      }\r\n      rx$.changeHsy.next({\r\n        back: true, fn: () => {\r\n          win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n          this.setState({ loadTcPage: false });\r\n          rx$.changeHsy.next({ back: false });\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  //跳转CC\r\n  toHsyPage = async (params) => {\r\n    let {\r\n      content_only,   //只加载内容区域\r\n      bar_bg,         //页签栏颜色\r\n      bar_active_bg,  //激活态的标签背景颜色\r\n      menu,\r\n      secondRouter,\r\n      activePrompt,\r\n      closePrompt,\r\n      closeable,\r\n      leavePrompt,\r\n      lock,\r\n      pageId,\r\n      pageParams,\r\n      path,\r\n      tabId,\r\n      tabLabel,\r\n      pageType,\r\n      _k\r\n    } = params;\r\n\r\n    let filter = {};\r\n    //对仓库参数的处理\r\n    const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n    const WarehouseName = PosInitData('WarehouseName') || '';\r\n    const IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\r\n    const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n    switch (pageType) {\r\n      case 'voucher':\r\n        filter = {\r\n          defaultValue: {\r\n            storeId: {\r\n              id: IdStore,\r\n              storeName\r\n            },\r\n            warehouseId: {\r\n              id: IdWarehouse,\r\n              name: WarehouseName\r\n            }\r\n          }\r\n        }\r\n        //要货单特殊处理\r\n        if (menu == 'require-goods-new') {\r\n          filter = {\r\n            defaultValue: {\r\n              storeId: {\r\n                id: IdStore,\r\n                storeName\r\n              },\r\n              requireWarehouseId: {\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n      case 'report':\r\n        filter = {\r\n          filterValue: {\r\n            storeId: {\r\n              value: {\r\n                id: IdStore,\r\n                storeName\r\n              }\r\n            },\r\n            warehouseId: {\r\n              value: [{\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }]\r\n            }\r\n          }\r\n        }\r\n        // 收银统计表\r\n        if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n          filter = {\r\n            filterValue: {\r\n              deliveryStoreId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              warehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        // 售后、配送\r\n        if (menu == 'return-order' || menu == 'order-manage') {\r\n          filter = {\r\n            filterValue: {\r\n              storeId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              deliveryWarehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n    }\r\n    bar_bg = encodeURIComponent(bar_bg);\r\n    bar_active_bg = encodeURIComponent(bar_active_bg);\r\n    menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n    pageId = menu;\r\n    pageParams = Object.assign(pageParams, filter);\r\n    path = encodeURIComponent(path);\r\n    _k = this.randomWord(false, 6);\r\n\r\n    const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n    const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n    let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n    console.log('web_hsy_url:', cc_url);\r\n    if(this.isHorizontalSunMi){\r\n      const CC_WEB_URL = await User.getLoginCCMidWebUrl(cc_url)\r\n      console.log('CC_WEB_URL:', CC_WEB_URL);\r\n      window.android_CommonFun.openWebUrlByOutBrowser(CC_WEB_URL);\r\n    }else{\r\n      let external_frame = document.getElementById('external-frame-cc');\r\n      let win = external_frame.contentWindow;\r\n      win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n      this.setState({ loadHsyPage: true });\r\n      rx$.changeHsy.next({\r\n        back: true, fn: () => {\r\n          this.setState({ loadHsyPage: false });\r\n          rx$.changeHsy.next({ back: false });\r\n          // 在打开页签之前,关闭之前的。\r\n          let external_frame_a = document.getElementById('external-frame-cc');\r\n          let wins = external_frame_a.contentWindow;\r\n          wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  randomWord = (only, digits) => {\r\n    let str = \"\";\r\n    const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n    const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n    let arr = only ? [...number] : [...number, ...letter];\r\n    for (let i = 0; i < digits; i++) {\r\n      let pos = Math.round(Math.random() * (arr.length - 1));\r\n      str += arr[pos];\r\n    }\r\n    return str;\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  closeMoreModal = () => {\r\n    this.setState({ showMoreModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              let item = vv;\r\n              if (vv.maybe === true) {\r\n                let status = !!PosInitData('ShowStorePrice');\r\n                item = status ? vv : vv.second;\r\n              }\r\n              return (<div\r\n                className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={item.className}\r\n                onClick={this.handelClick.bind(this, item)}\r\n              >\r\n                {!!item.title && <h1>{item.title}</h1>}\r\n                {!!item.label && <p>{item.label}</p>}\r\n                {!!item.icon && <Ticon icon={item.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const menuLeftNode = this.centerLeftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = this.centerRightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const node = this.rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n          {!!v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return node;\r\n  }\r\n\r\n  createMoreNode = () => {\r\n    const arrs = this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1];\r\n    const items = (this.new_retail_app == 'cc') ? arrs.sub_cc : (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj' ? arrs.sub_tc : []);\r\n    const node = items.length > 0 && items.map(v => {\r\n      return (\r\n        <div\r\n          className={`modal-quick ${v.className}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.icon && <div className='quick'><Ticon icon={v.icon} /></div>}\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n        </div>\r\n      )\r\n    })\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal,showMoreModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal \r\n            visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n        {\r\n          <Modal\r\n            title={'更多'}\r\n            className={'portal-container-modal-more'}\r\n            visible={showMoreModal}\r\n            onCancel={this.closeMoreModal}\r\n            width={800}\r\n            height={375}\r\n            footer={null}\r\n            centered\r\n            maskClosable={false}\r\n            keyboard={false}\r\n          >\r\n            {\r\n              this.createMoreNode()\r\n            }\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     |