tplus-portaltouch 3.22.1 → 3.22.2
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.
| 
         @@ -449,7 +449,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       449 
449 
     | 
    
         
             
                            }
         
     | 
| 
       450 
450 
     | 
    
         
             
                            //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。
         
     | 
| 
       451 
451 
     | 
    
         | 
| 
       452 
     | 
    
         
            -
                            if (!((postMessageUrl + '').indexOf('https') == -1 && (_this.new_retail_app == 'tczsy' || _this.new_retail_app == 'tcyzj'))) {
         
     | 
| 
      
 452 
     | 
    
         
            +
                            if (!((postMessageUrl + '').indexOf('https') == -1 && (_this.new_retail_app == 'tc' || _this.new_retail_app == 'tczsy' || _this.new_retail_app == 'tcyzj'))) {
         
     | 
| 
       453 
453 
     | 
    
         
             
                              _context.next = 16;
         
     | 
| 
       454 
454 
     | 
    
         
             
                              break;
         
     | 
| 
       455 
455 
     | 
    
         
             
                            }
         
     | 
| 
         @@ -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","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","setState","isHsyLoadFinish","HsyLoadFinish","clearTimeout","sunMiPresentationInit","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","Date","getTime","window","sunMi_PresentationManager","secondScreenLoadUrl","then","FuPingIsLoaded","setItem","localStore","get","store","storeName","console","log","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","context","stores","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","getScreenType","flag","isHorizontalSunMi","data","item","Name","shift","Value","saveLog","name","saveLogo","Request","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","state","operations","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","onOk","logout","portalStore","Message","warn","modalRouter","show","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","catch","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","params","sh","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","resolve","reject","fetch","response","json","ex","err","ret","dsearchPlanID","id","getSearchPlanId","indexOf","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","Math","round","random","closeFrameModal","showModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","isMobileEnvironment","Menus","leftMenuTC","rightMenuTC","getWebEntry","hsyBasicInfoInit","headHook","addClass","homeOperation","functionData","Loading","text","delay","set","hide","setStore","initSetParams","open","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: 2020-10-22 14:14:18\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      loadHsyPage: false,\r\n      loadHsyURL: '',\r\n      isHsyLoadFinish: false,\r\n      loadTcPage: false,\r\n      loadTcURL: '',\r\n      modalURL: '',\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n    this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n    this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n    this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n    this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n    this.hsy_domain = User && User.getWebEntry();\r\n    this.randomWord = this.randomWord.bind(this);\r\n    autorun(() => {\r\n      this.hsyBasicInfoInit();\r\n    });\r\n  }\r\n\r\n  componentWillMount() {\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', operations ? JSON.stringify(operations) : []);\r\n      this.setState({ operations: operations || [] });\r\n      Loading.hide();\r\n    }).catch((err) => {\r\n      console.log('homeOperation.error======', err);\r\n      Loading.hide();\r\n    });\r\n    functionData().then(data => {\r\n      // 加载权限数据  DR-29735 by majian\r\n      PosSetData(data);\r\n    });\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  componentDidMount() {\r\n    if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isHorizontalPad) {\r\n      this.initHsyPage();\r\n    }\r\n  }\r\n\r\n  // 初始化好生意页面\r\n  initHsyPage = () => {\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame && external_frame.contentWindow;\r\n    let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n    if (!win) return;\r\n    win.HsyLoadFinish = () => {\r\n      clearTimeout(timer);\r\n      this.setState({ isHsyLoadFinish: true });\r\n    }\r\n  }\r\n\r\n  // 初始化商米副屏\r\n  sunMiPresentationInit = (result) => {\r\n    //SunMi初始化参数设置。\r\n    //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令\r\n    // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n    const SunMi_fuping_url = sessionStorage.getItem(\"SunMi_fuping_url\");\r\n    // 如果存在缓存地址 使用缓存地址  否则使用新hash地址\r\n    if (!SunMi_fuping_url) {\r\n      let url = location.origin + location.pathname + '?ts=' + new Date().getTime() + '&vt=3&fuping=3';\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.secondScreenLoadUrl(url).then(() => {\r\n        this.FuPingIsLoaded = true;\r\n        // 加载副屏页面成功 缓存地址\r\n        sessionStorage.setItem(\"SunMi_fuping_url\", url);\r\n        setTimeout(() => {\r\n          // 进行主副屏数据交互 初始化\r\n          const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n          console.log(result);\r\n          const { RE_POSParamType } = enumController.getEnumOj();\r\n          const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n          const filterResult = result && result.filter ? result.filter((settingItem) => { return settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING) }) : [];\r\n          window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\", filterResult).then(() => {\r\n            console.log(\"缓存数据成功\")\r\n            window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n          });\r\n        }, 2000);\r\n      });\r\n    } else {\r\n      // 表示已经加载过页面只需要重置状态即可\r\n      const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n    }\r\n  }\r\n\r\n  // 初始化智+模块信息\r\n  hsyBasicInfoInit() {\r\n    const theme = stores.portalStore.themeStore;\r\n    let color = '#FF8C25';\r\n    switch (theme) {\r\n      case 'orange':\r\n        color = \"#FF8C25\";\r\n        break;\r\n      case 'blue':\r\n        color = \"#3491FF\";\r\n        break;\r\n      case 'dark':\r\n        color = \"#26A0DE\";\r\n        break;\r\n      case 'pink':\r\n        color = \"#FF6B8C\";\r\n        break;\r\n    }\r\n    const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n    const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n    this.setState({ loadHsyURL: cc_url });\r\n  }\r\n\r\n  //初始化tc、tcyzj、tczsy信息\r\n  getTcBasicInfoInit = () => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      )\r\n      return false;\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n      tplusUrl += '/';\r\n    }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let postMsgUrl = ossjumpUrl;\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n    const uid = this.tplusEncode(UserCode);\r\n    const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n    const accNum = this.tplusEncode(AccountNum)\r\n    const code = this.tplusEncode(posCode);\r\n    const store = this.tplusEncode(TplusStoreId + '');\r\n    ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n    return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n    const { operations, isHsyLoadFinish } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      })\r\n    }\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    // 支持页面内打开,减少再次加载页面的时间。\r\n    if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data) => {\r\n          console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${type}`);\r\n        break;\r\n    }\r\n  };\r\n\r\n  //跳转其他页面,以内嵌形式打开\r\n  toFramePage = (params) => {\r\n    const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n    switch (app) {\r\n      case 'cc':\r\n        let sh = '';\r\n        if (!isHsyLoadFinish) {\r\n          return Message.warn('正在加载资源中,请稍后。');\r\n        }\r\n        if (!search) {\r\n          return Message.warn('正在紧急研发中...');\r\n        } else if (search && search.length > 0) {\r\n          sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n          sh = sh || search[0];\r\n        }\r\n        if (!sh) {\r\n          return Message.warn('传递参数有误,请查证。');\r\n        }\r\n        this.toHsyPage({ ...style, ...sh });\r\n        break;\r\n      case 'tc':\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(tmenuCode, search);\r\n          }\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n\r\n  //跳转到T+\r\n  toTplusPage = async (tmenuCode, search) => {\r\n    let ret = this.getTcBasicInfoInit();\r\n    if (ret === false) return;\r\n    let { ossjumpUrl, postMessageUrl } = ret || {};\r\n    let dsearchPlanID = '';\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    let menu = this.tplusEncode(tmenuCode);\r\n    ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n     //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n     if ((postMessageUrl + '').indexOf('https') == -1 && (this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj')) {\r\n      nativeMs.useDefaultBrowser(ossjumpUrl);\r\n      return;\r\n    }\r\n    let external_frame_tc = document.getElementById('external-frame-tc');\r\n    let win = external_frame_tc.contentWindow;\r\n    const { loadTcURL } = this.state;\r\n    if (loadTcURL) {\r\n      win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n      this.setState({ loadTcPage: true });\r\n    } else {\r\n      this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n    }\r\n    rx$.changeHsy.next({\r\n      back: true, fn: () => {\r\n        win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n        this.setState({ loadTcPage: false });\r\n        rx$.changeHsy.next({ back: false });\r\n      }\r\n    })\r\n  }\r\n\r\n  //跳转CC\r\n  toHsyPage = (params) => {\r\n    let {\r\n      content_only,   //只加载内容区域\r\n      bar_bg,         //页签栏颜色\r\n      bar_active_bg,  //激活态的标签背景颜色\r\n      menu,\r\n      secondRouter,\r\n      activePrompt,\r\n      closePrompt,\r\n      closeable,\r\n      leavePrompt,\r\n      lock,\r\n      pageId,\r\n      pageParams,\r\n      path,\r\n      tabId,\r\n      tabLabel,\r\n      pageType,\r\n      _k\r\n    } = params;\r\n\r\n    let filter = {};\r\n    //对仓库参数的处理\r\n    const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n    const WarehouseName = PosInitData('WarehouseName') || '';\r\n    const IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\r\n    const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n    switch (pageType) {\r\n      case 'voucher':\r\n        filter = {\r\n          defaultValue: {\r\n            storeId: {\r\n              id: IdStore,\r\n              storeName\r\n            },\r\n            warehouseId: {\r\n              id: IdWarehouse,\r\n              name: WarehouseName\r\n            }\r\n          }\r\n        }\r\n        //要货单特殊处理\r\n        if (menu == 'require-goods-new') {\r\n          filter = {\r\n            defaultValue: {\r\n              storeId: {\r\n                id: IdStore,\r\n                storeName\r\n              },\r\n              requireWarehouseId: {\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n      case 'report':\r\n        filter = {\r\n          filterValue: {\r\n            storeId: {\r\n              value: {\r\n                id: IdStore,\r\n                storeName\r\n              }\r\n            },\r\n            warehouseId: {\r\n              value: [{\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }]\r\n            }\r\n          }\r\n        }\r\n        // 收银统计表\r\n        if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n          filter = {\r\n            filterValue: {\r\n              deliveryStoreId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              warehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        // 售后、配送\r\n        if (menu == 'return-order' || menu == 'order-manage') {\r\n          filter = {\r\n            filterValue: {\r\n              storeId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              deliveryWarehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n    }\r\n    bar_bg = encodeURIComponent(bar_bg);\r\n    bar_active_bg = encodeURIComponent(bar_active_bg);\r\n    menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n    pageId = menu;\r\n    pageParams = Object.assign(pageParams, filter);\r\n    path = encodeURIComponent(path);\r\n    _k = this.randomWord(false, 6);\r\n\r\n    const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n    const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n    let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n    console.log('web_hsy_url:', cc_url);\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame.contentWindow;\r\n    win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n    this.setState({ loadHsyPage: true });\r\n    rx$.changeHsy.next({\r\n      back: true, fn: () => {\r\n        this.setState({ loadHsyPage: false });\r\n        rx$.changeHsy.next({ back: false });\r\n        // 在打开页签之前,关闭之前的。\r\n        let external_frame_a = document.getElementById('external-frame-cc');\r\n        let wins = external_frame_a.contentWindow;\r\n        wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n      }\r\n    })\r\n  }\r\n\r\n  randomWord = (only, digits) => {\r\n    let str = \"\";\r\n    const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n    const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n    let arr = only ? [...number] : [...number, ...letter];\r\n    for (let i = 0; i < digits; i++) {\r\n      let pos = Math.round(Math.random() * (arr.length - 1));\r\n      str += arr[pos];\r\n    }\r\n    return str;\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              let item = vv;\r\n              if (vv.maybe === true) {\r\n                let status = !!PosInitData('ShowStorePrice');\r\n                item = status ? vv : vv.second;\r\n              }\r\n              return (<div\r\n                className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={item.className}\r\n                onClick={this.handelClick.bind(this, item)}\r\n              >\r\n                {!!item.title && <h1>{item.title}</h1>}\r\n                {!!item.label && <p>{item.label}</p>}\r\n                {!!item.icon && <Ticon icon={item.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const menuLeftNode = this.centerLeftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = this.centerRightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const node = this.rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n          {!!v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","HTTP_PROXY_URL","observer","props","initHsyPage","external_frame","document","getElementById","win","contentWindow","timer","setTimeout","setState","isHsyLoadFinish","HsyLoadFinish","clearTimeout","sunMiPresentationInit","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","Date","getTime","window","sunMi_PresentationManager","secondScreenLoadUrl","then","FuPingIsLoaded","setItem","localStore","get","store","storeName","console","log","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","user","context","stores","loginInfo","options","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","postMessageUrl","getScreenType","flag","isHorizontalSunMi","data","item","Name","shift","Value","saveLog","name","saveLogo","Request","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","state","operations","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","onOk","logout","portalStore","Message","warn","modalRouter","show","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","catch","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","params","sh","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","resolve","reject","fetch","response","json","ex","err","ret","dsearchPlanID","id","getSearchPlanId","indexOf","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","WarehouseName","IsPerformanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","HsyRouterJump","loadHsyPage","external_frame_a","wins","HsyRouterClean","only","digits","str","number","letter","arr","i","pos","Math","round","random","closeFrameModal","showModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","menuNode","map","container","className","maybe","status","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","isNewRetailBCPos","isNewRetailBCPosTC","isMobileEnvironment","Menus","leftMenuTC","rightMenuTC","getWebEntry","hsyBasicInfoInit","headHook","addClass","homeOperation","functionData","Loading","text","delay","set","hide","setStore","initSetParams","open","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: 2020-10-22 14:14:18\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      loadHsyPage: false,\r\n      loadHsyURL: '',\r\n      isHsyLoadFinish: false,\r\n      loadTcPage: false,\r\n      loadTcURL: '',\r\n      modalURL: '',\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPos, isNewRetailBCPosTC } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n    this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n    this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n    this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC } = Menus;\r\n    this.leftMenu = isNewRetailBCPosTC ? leftMenuTC : leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = isNewRetailBCPosTC ? rightMenuTC : rightMenu;\r\n    this.hsy_domain = User && User.getWebEntry();\r\n    this.randomWord = this.randomWord.bind(this);\r\n    autorun(() => {\r\n      this.hsyBasicInfoInit();\r\n    });\r\n  }\r\n\r\n  componentWillMount() {\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', operations ? JSON.stringify(operations) : []);\r\n      this.setState({ operations: operations || [] });\r\n      Loading.hide();\r\n    }).catch((err) => {\r\n      console.log('homeOperation.error======', err);\r\n      Loading.hide();\r\n    });\r\n    functionData().then(data => {\r\n      // 加载权限数据  DR-29735 by majian\r\n      PosSetData(data);\r\n    });\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  componentDidMount() {\r\n    if (this.isNewRetailBCPos && !this.isVerticalTouch && !this.isHorizontalPad) {\r\n      this.initHsyPage();\r\n    }\r\n  }\r\n\r\n  // 初始化好生意页面\r\n  initHsyPage = () => {\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame && external_frame.contentWindow;\r\n    let timer = setTimeout(() => { this.setState({ isHsyLoadFinish: true }) }, 15000);\r\n    if (!win) return;\r\n    win.HsyLoadFinish = () => {\r\n      clearTimeout(timer);\r\n      this.setState({ isHsyLoadFinish: true });\r\n    }\r\n  }\r\n\r\n  // 初始化商米副屏\r\n  sunMiPresentationInit = (result) => {\r\n    //SunMi初始化参数设置。\r\n    //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令\r\n    // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n    const SunMi_fuping_url = sessionStorage.getItem(\"SunMi_fuping_url\");\r\n    // 如果存在缓存地址 使用缓存地址  否则使用新hash地址\r\n    if (!SunMi_fuping_url) {\r\n      let url = location.origin + location.pathname + '?ts=' + new Date().getTime() + '&vt=3&fuping=3';\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.secondScreenLoadUrl(url).then(() => {\r\n        this.FuPingIsLoaded = true;\r\n        // 加载副屏页面成功 缓存地址\r\n        sessionStorage.setItem(\"SunMi_fuping_url\", url);\r\n        setTimeout(() => {\r\n          // 进行主副屏数据交互 初始化\r\n          const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n          console.log(result);\r\n          const { RE_POSParamType } = enumController.getEnumOj();\r\n          const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n          const filterResult = result && result.filter ? result.filter((settingItem) => { return settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING) }) : [];\r\n          window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\", filterResult).then(() => {\r\n            console.log(\"缓存数据成功\")\r\n            window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n          });\r\n        }, 2000);\r\n      });\r\n    } else {\r\n      // 表示已经加载过页面只需要重置状态即可\r\n      const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n      window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName });\r\n    }\r\n  }\r\n\r\n  // 初始化智+模块信息\r\n  hsyBasicInfoInit() {\r\n    const theme = stores.portalStore.themeStore;\r\n    let color = '#FF8C25';\r\n    switch (theme) {\r\n      case 'orange':\r\n        color = \"#FF8C25\";\r\n        break;\r\n      case 'blue':\r\n        color = \"#3491FF\";\r\n        break;\r\n      case 'dark':\r\n        color = \"#26A0DE\";\r\n        break;\r\n      case 'pink':\r\n        color = \"#FF6B8C\";\r\n        break;\r\n    }\r\n    const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n    const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n    this.setState({ loadHsyURL: cc_url });\r\n  }\r\n\r\n  //初始化tc、tcyzj、tczsy信息\r\n  getTcBasicInfoInit = () => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      )\r\n      return false;\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n      tplusUrl += '/';\r\n    }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let postMsgUrl = ossjumpUrl;\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n    const uid = this.tplusEncode(UserCode);\r\n    const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n    const accNum = this.tplusEncode(AccountNum)\r\n    const code = this.tplusEncode(posCode);\r\n    const store = this.tplusEncode(TplusStoreId + '');\r\n    ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n    return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n    const { operations, isHsyLoadFinish } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      })\r\n    }\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    // 支持页面内打开,减少再次加载页面的时间。\r\n    if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data) => {\r\n          console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        history.push(`/${type}`);\r\n        break;\r\n    }\r\n  };\r\n\r\n  //跳转其他页面,以内嵌形式打开\r\n  toFramePage = (params) => {\r\n    const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n    switch (app) {\r\n      case 'cc':\r\n        let sh = '';\r\n        if (!isHsyLoadFinish) {\r\n          return Message.warn('正在加载资源中,请稍后。');\r\n        }\r\n        if (!search) {\r\n          return Message.warn('正在紧急研发中...');\r\n        } else if (search && search.length > 0) {\r\n          sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n          sh = sh || search[0];\r\n        }\r\n        if (!sh) {\r\n          return Message.warn('传递参数有误,请查证。');\r\n        }\r\n        this.toHsyPage({ ...style, ...sh });\r\n        break;\r\n      case 'tc':\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(tmenuCode, search);\r\n          }\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n\r\n  //跳转到T+\r\n  toTplusPage = async (tmenuCode, search) => {\r\n    let ret = this.getTcBasicInfoInit();\r\n    if (ret === false) return;\r\n    let { ossjumpUrl, postMessageUrl } = ret || {};\r\n    let dsearchPlanID = '';\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    let menu = this.tplusEncode(tmenuCode);\r\n    ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n     //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n     if ((postMessageUrl + '').indexOf('https') == -1 && (this.new_retail_app == '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  //跳转CC\r\n  toHsyPage = (params) => {\r\n    let {\r\n      content_only,   //只加载内容区域\r\n      bar_bg,         //页签栏颜色\r\n      bar_active_bg,  //激活态的标签背景颜色\r\n      menu,\r\n      secondRouter,\r\n      activePrompt,\r\n      closePrompt,\r\n      closeable,\r\n      leavePrompt,\r\n      lock,\r\n      pageId,\r\n      pageParams,\r\n      path,\r\n      tabId,\r\n      tabLabel,\r\n      pageType,\r\n      _k\r\n    } = params;\r\n\r\n    let filter = {};\r\n    //对仓库参数的处理\r\n    const IdWarehouse = PosInitData('IdWarehouse') || '';\r\n    const WarehouseName = PosInitData('WarehouseName') || '';\r\n    const IsPerformanceDistribution = PosInitData('PerformanceDistribution') === 'SHIPPER_STORE' || false;\r\n    const { loginInfo: { IdStore = '', PosId = '' }, store: { storeName = '' } = {} } = localStore && localStore.get('user') || {};\r\n    switch (pageType) {\r\n      case 'voucher':\r\n        filter = {\r\n          defaultValue: {\r\n            storeId: {\r\n              id: IdStore,\r\n              storeName\r\n            },\r\n            warehouseId: {\r\n              id: IdWarehouse,\r\n              name: WarehouseName\r\n            }\r\n          }\r\n        }\r\n        //要货单特殊处理\r\n        if (menu == 'require-goods-new') {\r\n          filter = {\r\n            defaultValue: {\r\n              storeId: {\r\n                id: IdStore,\r\n                storeName\r\n              },\r\n              requireWarehouseId: {\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n      case 'report':\r\n        filter = {\r\n          filterValue: {\r\n            storeId: {\r\n              value: {\r\n                id: IdStore,\r\n                storeName\r\n              }\r\n            },\r\n            warehouseId: {\r\n              value: [{\r\n                id: IdWarehouse,\r\n                name: WarehouseName\r\n              }]\r\n            }\r\n          }\r\n        }\r\n        // 收银统计表\r\n        if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n          filter = {\r\n            filterValue: {\r\n              deliveryStoreId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              warehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        // 售后、配送\r\n        if (menu == 'return-order' || menu == 'order-manage') {\r\n          filter = {\r\n            filterValue: {\r\n              storeId: {\r\n                value: {\r\n                  id: IdStore,\r\n                  storeName\r\n                }\r\n              },\r\n              deliveryWarehouseId: {\r\n                value: [{\r\n                  id: IdWarehouse,\r\n                  name: WarehouseName\r\n                }]\r\n              }\r\n            }\r\n          }\r\n        }\r\n        break;\r\n    }\r\n    bar_bg = encodeURIComponent(bar_bg);\r\n    bar_active_bg = encodeURIComponent(bar_active_bg);\r\n    menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n    pageId = menu;\r\n    pageParams = Object.assign(pageParams, filter);\r\n    path = encodeURIComponent(path);\r\n    _k = this.randomWord(false, 6);\r\n\r\n    const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n    const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n    let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n    console.log('web_hsy_url:', cc_url);\r\n    let external_frame = document.getElementById('external-frame-cc');\r\n    let win = external_frame.contentWindow;\r\n    win && win.HsyRouterJump && win.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n    this.setState({ loadHsyPage: true });\r\n    rx$.changeHsy.next({\r\n      back: true, fn: () => {\r\n        this.setState({ loadHsyPage: false });\r\n        rx$.changeHsy.next({ back: false });\r\n        // 在打开页签之前,关闭之前的。\r\n        let external_frame_a = document.getElementById('external-frame-cc');\r\n        let wins = external_frame_a.contentWindow;\r\n        wins && wins.HsyRouterClean && win.HsyRouterClean();\r\n      }\r\n    })\r\n  }\r\n\r\n  randomWord = (only, digits) => {\r\n    let str = \"\";\r\n    const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n    const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n    let arr = only ? [...number] : [...number, ...letter];\r\n    for (let i = 0; i < digits; i++) {\r\n      let pos = Math.round(Math.random() * (arr.length - 1));\r\n      str += arr[pos];\r\n    }\r\n    return str;\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              let item = vv;\r\n              if (vv.maybe === true) {\r\n                let status = !!PosInitData('ShowStorePrice');\r\n                item = status ? vv : vv.second;\r\n              }\r\n              return (<div\r\n                className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={item.className}\r\n                onClick={this.handelClick.bind(this, item)}\r\n              >\r\n                {!!item.title && <h1>{item.title}</h1>}\r\n                {!!item.label && <p>{item.label}</p>}\r\n                {!!item.icon && <Ticon icon={item.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const menuLeftNode = this.centerLeftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = this.centerRightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const node = this.rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          style={v.style}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {!!v.title && <h1>{v.title}</h1>}\r\n          {!!v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-cc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n            <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n          </div>\r\n        }\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     |