tplus-portaltouch 3.18.1 → 3.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/dutyandsettle/dutysettlehistory.js +45 -66
 - package/dist/components/dutyandsettle/dutysettlehistory.js.map +1 -1
 - package/dist/pages/Portal/index.js +27 -58
 - package/dist/pages/Portal/index.js.map +1 -1
 - package/dist/pages/Portalbc/index.js +61 -90
 - package/dist/pages/Portalbc/index.js.map +1 -1
 - package/dist/pages/dutyandsettle/offDuty.js +80 -97
 - package/dist/pages/dutyandsettle/offDuty.js.map +1 -1
 - package/dist/utils/networkCheck.js +8 -6
 - package/dist/utils/networkCheck.js.map +1 -1
 - package/package.json +4 -4
 
| 
         @@ -33,7 +33,15 @@ var _inherits2 = require('babel-runtime/helpers/inherits'); 
     | 
|
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
            var _inherits3 = _interopRequireDefault(_inherits2);
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
            var _class;
         
     | 
| 
      
 36 
     | 
    
         
            +
            var _class; /*
         
     | 
| 
      
 37 
     | 
    
         
            +
                         * @Descripttion: 
         
     | 
| 
      
 38 
     | 
    
         
            +
                         * @version: 
         
     | 
| 
      
 39 
     | 
    
         
            +
                         * @Author: chenlongad
         
     | 
| 
      
 40 
     | 
    
         
            +
                         * @Date: 2021-05-12 14:40:27
         
     | 
| 
      
 41 
     | 
    
         
            +
                         * @LastEditors: chenlongad
         
     | 
| 
      
 42 
     | 
    
         
            +
                         * @LastEditTime: 2021-06-10 16:37:51
         
     | 
| 
      
 43 
     | 
    
         
            +
                         */
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       37 
45 
     | 
    
         
             
            /**打印 */
         
     | 
| 
       38 
46 
     | 
    
         | 
| 
       39 
47 
     | 
    
         | 
| 
         @@ -92,12 +100,11 @@ var _default = (0, _mobxReact.observer)(_class = function (_Component) { 
     | 
|
| 
       92 
100 
     | 
    
         
             
            			_this.props.onAfterPrint && _this.props.onAfterPrint();
         
     | 
| 
       93 
101 
     | 
    
         
             
            		};
         
     | 
| 
       94 
102 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
            		_this.onPrint = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function  
     | 
| 
       96 
     | 
    
         
            -
            			var id, curIndex, isShift 
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
            			return _regenerator2.default.wrap(function _callee$(_context) {
         
     | 
| 
      
 103 
     | 
    
         
            +
            		_this.onPrint = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
         
     | 
| 
      
 104 
     | 
    
         
            +
            			var id, curIndex, isShift;
         
     | 
| 
      
 105 
     | 
    
         
            +
            			return _regenerator2.default.wrap(function _callee2$(_context2) {
         
     | 
| 
       99 
106 
     | 
    
         
             
            				while (1) {
         
     | 
| 
       100 
     | 
    
         
            -
            					switch ( 
     | 
| 
      
 107 
     | 
    
         
            +
            					switch (_context2.prev = _context2.next) {
         
     | 
| 
       101 
108 
     | 
    
         
             
            						case 0:
         
     | 
| 
       102 
109 
     | 
    
         
             
            							// 马坚 Add start
         
     | 
| 
       103 
110 
     | 
    
         
             
            							id = null;
         
     | 
| 
         @@ -110,71 +117,44 @@ var _default = (0, _mobxReact.observer)(_class = function (_Component) { 
     | 
|
| 
       110 
117 
     | 
    
         
             
            							// 打印
         
     | 
| 
       111 
118 
     | 
    
         | 
| 
       112 
119 
     | 
    
         
             
            							console.log("打印开始:ID:" + id);
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
       119 
     | 
    
         
            -
             
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
       124 
     | 
    
         
            -
             
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
             
     | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
       130 
     | 
    
         
            -
             
     | 
| 
       131 
     | 
    
         
            -
             
     | 
| 
       132 
     | 
    
         
            -
             
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
            							 
     | 
| 
       142 
     | 
    
         
            -
            							console.log("交班历史打印后事件开始执行");
         
     | 
| 
       143 
     | 
    
         
            -
            							_this.printUtil.doDutyPrint({ Key: Key, Sign: Sign, Name: Name, Card: Card }, id, function () {
         
     | 
| 
       144 
     | 
    
         
            -
            								console.log("交班历史打印后事件执行结束");
         
     | 
| 
      
 120 
     | 
    
         
            +
            							(0, _tplusComponentsTouch.printDispatch)(isShift ? _tplusComponentsTouch.DoNameList.DO_DUTY_PRINT : _tplusComponentsTouch.DoNameList.DO_DIALY_PRINT, id, {
         
     | 
| 
      
 121 
     | 
    
         
            +
            								electronPrint: function () {
         
     | 
| 
      
 122 
     | 
    
         
            +
            									var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
         
     | 
| 
      
 123 
     | 
    
         
            +
            										return _regenerator2.default.wrap(function _callee$(_context) {
         
     | 
| 
      
 124 
     | 
    
         
            +
            											while (1) {
         
     | 
| 
      
 125 
     | 
    
         
            +
            												switch (_context.prev = _context.next) {
         
     | 
| 
      
 126 
     | 
    
         
            +
            													case 0:
         
     | 
| 
      
 127 
     | 
    
         
            +
            														// 桌面端直接打印
         
     | 
| 
      
 128 
     | 
    
         
            +
            														console.log("桌面" + isShift + "历史打印后事件开始执行");
         
     | 
| 
      
 129 
     | 
    
         
            +
            														_context.next = 3;
         
     | 
| 
      
 130 
     | 
    
         
            +
            														return _PrintProcess.PrintProcess.execute(id, isShift);
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
            													case 3:
         
     | 
| 
      
 133 
     | 
    
         
            +
            														console.log("桌面" + isShift + "历史打印后事件执行结束");
         
     | 
| 
      
 134 
     | 
    
         
            +
            														_this.props.onAfterPrint && _this.props.onAfterPrint();
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            													case 5:
         
     | 
| 
      
 137 
     | 
    
         
            +
            													case 'end':
         
     | 
| 
      
 138 
     | 
    
         
            +
            														return _context.stop();
         
     | 
| 
      
 139 
     | 
    
         
            +
            												}
         
     | 
| 
      
 140 
     | 
    
         
            +
            											}
         
     | 
| 
      
 141 
     | 
    
         
            +
            										}, _callee, _this2);
         
     | 
| 
      
 142 
     | 
    
         
            +
            									}));
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            									return function electronPrint() {
         
     | 
| 
      
 145 
     | 
    
         
            +
            										return _ref2.apply(this, arguments);
         
     | 
| 
      
 146 
     | 
    
         
            +
            									};
         
     | 
| 
      
 147 
     | 
    
         
            +
            								}()
         
     | 
| 
      
 148 
     | 
    
         
            +
            							}).then(function () {
         
     | 
| 
       145 
149 
     | 
    
         
             
            								_this.props.onAfterPrint && _this.props.onAfterPrint();
         
     | 
| 
       146 
150 
     | 
    
         
             
            							});
         
     | 
| 
       147 
     | 
    
         
            -
            							return _context.abrupt('return');
         
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
            						case 17:
         
     | 
| 
       150 
     | 
    
         
            -
            							// 日结打印
         
     | 
| 
       151 
     | 
    
         
            -
            							console.log("日结历史打印后事件开始执行");
         
     | 
| 
       152 
     | 
    
         
            -
            							_this.printUtil.doDialyPrint({ Key: Key, Sign: Sign, Name: Name, Card: Card }, id, function () {
         
     | 
| 
       153 
     | 
    
         
            -
            								console.log("日结历史打印后事件执行结束");
         
     | 
| 
       154 
     | 
    
         
            -
            								_this.props.onAfterPrint && _this.props.onAfterPrint();
         
     | 
| 
       155 
     | 
    
         
            -
            							});
         
     | 
| 
       156 
     | 
    
         
            -
            							return _context.abrupt('return');
         
     | 
| 
       157 
     | 
    
         
            -
             
     | 
| 
       158 
     | 
    
         
            -
            						case 20:
         
     | 
| 
       159 
     | 
    
         
            -
            							_context.next = 27;
         
     | 
| 
       160 
     | 
    
         
            -
            							break;
         
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
            						case 22:
         
     | 
| 
       163 
     | 
    
         
            -
            							// 桌面端直接打印
         
     | 
| 
       164 
     | 
    
         
            -
            							console.log("桌面" + isShift + "历史打印后事件开始执行");
         
     | 
| 
       165 
     | 
    
         
            -
            							_context.next = 25;
         
     | 
| 
       166 
     | 
    
         
            -
            							return _PrintProcess.PrintProcess.execute(id, isShift);
         
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
            						case 25:
         
     | 
| 
       169 
     | 
    
         
            -
            							console.log("桌面" + isShift + "历史打印后事件执行结束");
         
     | 
| 
       170 
     | 
    
         
            -
            							_this.props.onAfterPrint && _this.props.onAfterPrint();
         
     | 
| 
       171 
151 
     | 
    
         | 
| 
       172 
     | 
    
         
            -
            						case  
     | 
| 
      
 152 
     | 
    
         
            +
            						case 6:
         
     | 
| 
       173 
153 
     | 
    
         
             
            						case 'end':
         
     | 
| 
       174 
     | 
    
         
            -
            							return  
     | 
| 
      
 154 
     | 
    
         
            +
            							return _context2.stop();
         
     | 
| 
       175 
155 
     | 
    
         
             
            					}
         
     | 
| 
       176 
156 
     | 
    
         
             
            				}
         
     | 
| 
       177 
     | 
    
         
            -
            			},  
     | 
| 
      
 157 
     | 
    
         
            +
            			}, _callee2, _this2);
         
     | 
| 
       178 
158 
     | 
    
         
             
            		}));
         
     | 
| 
       179 
159 
     | 
    
         | 
| 
       180 
160 
     | 
    
         
             
            		_this.store = new _billHistoryStore2.default();
         
     | 
| 
         @@ -186,7 +166,6 @@ var _default = (0, _mobxReact.observer)(_class = function (_Component) { 
     | 
|
| 
       186 
166 
     | 
    
         | 
| 
       187 
167 
     | 
    
         
             
            		_this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;
         
     | 
| 
       188 
168 
     | 
    
         
             
            		_this.isHorizontalPad = !!isHorizontalPad;
         
     | 
| 
       189 
     | 
    
         
            -
            		_this.printUtil = new _tplusComponentsTouch.PrintUtil();
         
     | 
| 
       190 
169 
     | 
    
         
             
            		return _this;
         
     | 
| 
       191 
170 
     | 
    
         
             
            	}
         
     | 
| 
       192 
171 
     | 
    
         | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["tplus-portaltouch/components/dutyandsettle/dutysettlehistory.js"],"names":["observer","props","onChange","date","dataString","setTimeout","store","getVouchers","format","DateFormat","type","setState","onCancel","onAfterPrint","onPrint","id","curIndex","vouchers","ID","isShift","console","log"," 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["tplus-portaltouch/components/dutyandsettle/dutysettlehistory.js"],"names":["observer","props","onChange","date","dataString","setTimeout","store","getVouchers","format","DateFormat","type","setState","onCancel","onAfterPrint","onPrint","id","curIndex","vouchers","ID","isShift","console","log","DoNameList","DO_DUTY_PRINT","DO_DIALY_PRINT","electronPrint","PrintProcess","execute","then","BillHistoryStore","state","platform","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","map","voucher","index","setCurIndex","Code","getVoucher","voucherInfo","Component"],"mappings":"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","file":"dutysettlehistory.js","sourcesContent":["/*\r\n * @Descripttion: \r\n * @version: \r\n * @Author: chenlongad\r\n * @Date: 2021-05-12 14:40:27\r\n * @LastEditors: chenlongad\r\n * @LastEditTime: 2021-06-10 16:37:51\r\n */\r\nimport React, { Component } from 'react';\r\nimport { DatePicker, Button } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport moment from \"moment\";\r\nimport classnames from 'classnames'\r\nimport DutySettleBill from './dutysettlebill';\r\nimport { Ticon, printDispatch,DoNameList } from 'tplus-components-touch';\r\nimport { platform } from 'mutants-util';\r\nimport BillHistoryStore from '../../stores/billHistoryStore';\r\nimport { DateFormat2 as DateFormat } from '../../dutyService';\r\n/**打印 */\r\nimport { PrintProcess } from '../../utils/PrintProcess';\r\n\r\n@observer\r\nexport default class extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.store = new BillHistoryStore();\r\n\t\tthis.state = { date: moment() };\r\n\t\tconst { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n\t\tthis.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n\t\tthis.isHorizontalPad = !!isHorizontalPad;\r\n\t}\r\n\tcomponentDidMount(){\r\n\t\tthis.onChange(moment());\r\n\t}\r\n\tonChange = (date, dataString) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.store.getVouchers(date && date.format ? date.format(DateFormat) : \"\", this.props.type);\r\n\t\t\tif(dataString) this.setState({ date: date })\r\n\t\t}, 100);\r\n\t}\r\n\r\n\tonCancel = ()=>{\r\n\t\tthis.props.onAfterPrint && this.props.onAfterPrint();\r\n\t}\r\n\r\n\tonPrint = async ()=>{\r\n\t\t// 马坚 Add start\r\n\t\tlet id=null;\r\n\t\tlet curIndex=this.store.curIndex;\r\n\t\tif (this.store.vouchers && curIndex>=0) {\r\n\t\t\tid=this.store.vouchers[curIndex].ID;\r\n\t\t}\r\n\t\tlet isShift= this.props.type=='offDuty';\r\n\t\t// 打印\r\n\t\tconsole.log(\"打印开始:ID:\"+id);\r\n\t\tprintDispatch(isShift ? DoNameList.DO_DUTY_PRINT : DoNameList.DO_DIALY_PRINT, id, {\r\n\t\t\telectronPrint: async () => {\r\n\t\t\t\t// 桌面端直接打印\r\n\t\t\t\tconsole.log(\"桌面\" + isShift + \"历史打印后事件开始执行\");\r\n\t\t\t\tawait PrintProcess.execute(id, isShift);\r\n\t\t\t\tconsole.log(\"桌面\" + isShift + \"历史打印后事件执行结束\");\r\n\t\t\t\tthis.props.onAfterPrint && this.props.onAfterPrint();\r\n\t\t\t}\r\n\t\t}).then(() => {\r\n\t\t\tthis.props.onAfterPrint && this.props.onAfterPrint();\r\n\t\t});\r\n\t}\r\n\r\n\r\n\trender() {\r\n\t\tconst vouchers = (this.store.curIndex>-1?this.store.vouchers:[]).map((voucher,index)=>{\r\n\t\t\treturn <div className={classnames({'selected':index==this.store.curIndex})} key={index+''} onClick={()=>{this.store.setCurIndex(index)}}>{voucher.Code}</div>\r\n\t\t});\r\n\t\treturn (\r\n\t\t<div className=\"history\">\r\n\t\t\t<div className='historybody'>\r\n\t\t\t\t<div className=\"historyleft\">\r\n\t\t\t\t\t\t<div className=\"datepicker\">\r\n\t\t\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\t\t\tformat={DateFormat}\r\n\t\t\t\t\t\t\t\tonChange={this.onChange}\r\n\t\t\t\t\t\t\t\tvalue={this.state.date}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className=\"vouchers\">{vouchers}</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className=\"historyright\">\r\n\t\t\t\t\t{this.store.curIndex==-1 &&<div className={classnames({\"emptydata\":true, \"historyempty\":true})}>暂无数据</div>}\r\n\t\t\t\t\t{this.store.curIndex>-1 &&<DutySettleBill type={this.props.type} bhistory={true} bill={this.store.getVoucher(this.store.curIndex)} voucherInfo={this.store.voucherInfo} />}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div className='historyfooter'>\r\n\t\t\t\t<Button onClick={ this.onCancel } >取消</Button>\r\n\t\t\t\t<Button type='primary' onClick={this.onPrint}>打印</Button>\r\n\t\t\t</div>\r\n\t\t</div>);\r\n\t}\r\n}\r\n"]}
         
     | 
| 
         @@ -44,7 +44,7 @@ var _inherits3 = _interopRequireDefault(_inherits2); 
     | 
|
| 
       44 
44 
     | 
    
         
             
            var _class, _class2, _temp, _initialiseProps; /*
         
     | 
| 
       45 
45 
     | 
    
         
             
                                                           * @Description:
         
     | 
| 
       46 
46 
     | 
    
         
             
                                                           * @Date: 2019-08-13 08:42:18
         
     | 
| 
       47 
     | 
    
         
            -
                                                           * @LastEditTime:  
     | 
| 
      
 47 
     | 
    
         
            +
                                                           * @LastEditTime: 2021-03-18 11:02:04
         
     | 
| 
       48 
48 
     | 
    
         
             
                                                           * @LastEditors: chenlongad
         
     | 
| 
       49 
49 
     | 
    
         
             
                                                           * @modify:修改跳转到T+的查询方案方式
         
     | 
| 
       50 
50 
     | 
    
         
             
                                                           */
         
     | 
| 
         @@ -304,53 +304,22 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       304 
304 
     | 
    
         
             
              this.sunMiPresentationInit = function (result) {
         
     | 
| 
       305 
305 
     | 
    
         
             
                //SunMi初始化参数设置。
         
     | 
| 
       306 
306 
     | 
    
         
             
                //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令
         
     | 
| 
       307 
     | 
    
         
            -
                //  
     | 
| 
       308 
     | 
    
         
            -
             
     | 
| 
       309 
     | 
    
         
            -
             
     | 
| 
       310 
     | 
    
         
            -
             
     | 
| 
       311 
     | 
    
         
            -
                 
     | 
| 
       312 
     | 
    
         
            -
                 
     | 
| 
       313 
     | 
    
         
            -
             
     | 
| 
       314 
     | 
    
         
            -
             
     | 
| 
       315 
     | 
    
         
            -
             
     | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
             
     | 
| 
       318 
     | 
    
         
            -
             
     | 
| 
       319 
     | 
    
         
            -
             
     | 
| 
       320 
     | 
    
         
            -
             
     | 
| 
       321 
     | 
    
         
            -
                          _ref2$store = _ref2.store;
         
     | 
| 
       322 
     | 
    
         
            -
             
     | 
| 
       323 
     | 
    
         
            -
                      _ref2$store = _ref2$store === undefined ? {} : _ref2$store;
         
     | 
| 
       324 
     | 
    
         
            -
                      var _ref2$store$storeName = _ref2$store.storeName,
         
     | 
| 
       325 
     | 
    
         
            -
                          storeName = _ref2$store$storeName === undefined ? '' : _ref2$store$storeName;
         
     | 
| 
       326 
     | 
    
         
            -
             
     | 
| 
       327 
     | 
    
         
            -
                      console.log(result);
         
     | 
| 
       328 
     | 
    
         
            -
             
     | 
| 
       329 
     | 
    
         
            -
                      var _enumController$getEn = _mutantsUtil.enumController.getEnumOj(),
         
     | 
| 
       330 
     | 
    
         
            -
                          RE_POSParamType = _enumController$getEn.RE_POSParamType;
         
     | 
| 
       331 
     | 
    
         
            -
             
     | 
| 
       332 
     | 
    
         
            -
                      var DUAL_SCREEN_SETTING = RE_POSParamType.DUAL_SCREEN_SETTING;
         
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
       334 
     | 
    
         
            -
                      var filterResult = result && result.filter ? result.filter(function (settingItem) {
         
     | 
| 
       335 
     | 
    
         
            -
                        return settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING);
         
     | 
| 
       336 
     | 
    
         
            -
                      }) : [];
         
     | 
| 
       337 
     | 
    
         
            -
                      window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet("setting_setData", filterResult).then(function () {
         
     | 
| 
       338 
     | 
    
         
            -
                        console.log("缓存数据成功");
         
     | 
| 
       339 
     | 
    
         
            -
                        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName: storeName });
         
     | 
| 
       340 
     | 
    
         
            -
                      });
         
     | 
| 
       341 
     | 
    
         
            -
                    }, 2000);
         
     | 
| 
       342 
     | 
    
         
            -
                  });
         
     | 
| 
       343 
     | 
    
         
            -
                } else {
         
     | 
| 
       344 
     | 
    
         
            -
                  // 表示已经加载过页面只需要重置状态即可
         
     | 
| 
       345 
     | 
    
         
            -
                  var _ref3 = _mutantsMicrofx.localStore.get('user') || {},
         
     | 
| 
       346 
     | 
    
         
            -
                      _ref3$store = _ref3.store;
         
     | 
| 
       347 
     | 
    
         
            -
             
     | 
| 
       348 
     | 
    
         
            -
                  _ref3$store = _ref3$store === undefined ? {} : _ref3$store;
         
     | 
| 
       349 
     | 
    
         
            -
                  var _ref3$store$storeName = _ref3$store.storeName,
         
     | 
| 
       350 
     | 
    
         
            -
                      storeName = _ref3$store$storeName === undefined ? '' : _ref3$store$storeName;
         
     | 
| 
       351 
     | 
    
         
            -
             
     | 
| 
      
 307 
     | 
    
         
            +
                // 进行主副屏数据交互 初始化
         
     | 
| 
      
 308 
     | 
    
         
            +
                var _ref2 = _mutantsMicrofx.localStore.get('user') || {},
         
     | 
| 
      
 309 
     | 
    
         
            +
                    _ref2$store = _ref2.store;
         
     | 
| 
      
 310 
     | 
    
         
            +
             
     | 
| 
      
 311 
     | 
    
         
            +
                _ref2$store = _ref2$store === undefined ? {} : _ref2$store;
         
     | 
| 
      
 312 
     | 
    
         
            +
                var _ref2$store$storeName = _ref2$store.storeName,
         
     | 
| 
      
 313 
     | 
    
         
            +
                    storeName = _ref2$store$storeName === undefined ? '' : _ref2$store$storeName;
         
     | 
| 
      
 314 
     | 
    
         
            +
             
     | 
| 
      
 315 
     | 
    
         
            +
                console.log(result);
         
     | 
| 
      
 316 
     | 
    
         
            +
                var filterResult = result && result.filter ? result.filter(function (settingItem) {
         
     | 
| 
      
 317 
     | 
    
         
            +
                  return settingItem.ParamType.Id === "56181";
         
     | 
| 
      
 318 
     | 
    
         
            +
                }) : [];
         
     | 
| 
      
 319 
     | 
    
         
            +
                window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet("setting_setData", filterResult).then(function () {
         
     | 
| 
      
 320 
     | 
    
         
            +
                  console.log("缓存数据成功");
         
     | 
| 
       352 
321 
     | 
    
         
             
                  window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0, storeName: storeName });
         
     | 
| 
       353 
     | 
    
         
            -
                }
         
     | 
| 
      
 322 
     | 
    
         
            +
                });
         
     | 
| 
       354 
323 
     | 
    
         
             
              };
         
     | 
| 
       355 
324 
     | 
    
         | 
| 
       356 
325 
     | 
    
         
             
              this.getScreenType = function () {
         
     | 
| 
         @@ -389,11 +358,11 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       389 
358 
     | 
    
         
             
                  return vv.Name === Name;
         
     | 
| 
       390 
359 
     | 
    
         
             
                });
         
     | 
| 
       391 
360 
     | 
    
         | 
| 
       392 
     | 
    
         
            -
                var  
     | 
| 
       393 
     | 
    
         
            -
                    Visibility =  
     | 
| 
       394 
     | 
    
         
            -
                    HoldFunctionAuth =  
     | 
| 
       395 
     | 
    
         
            -
                    Title =  
     | 
| 
       396 
     | 
    
         
            -
                    MenuCode =  
     | 
| 
      
 361 
     | 
    
         
            +
                var _ref3 = controllable || {},
         
     | 
| 
      
 362 
     | 
    
         
            +
                    Visibility = _ref3.Visibility,
         
     | 
| 
      
 363 
     | 
    
         
            +
                    HoldFunctionAuth = _ref3.HoldFunctionAuth,
         
     | 
| 
      
 364 
     | 
    
         
            +
                    Title = _ref3.Title,
         
     | 
| 
      
 365 
     | 
    
         
            +
                    MenuCode = _ref3.MenuCode;
         
     | 
| 
       397 
366 
     | 
    
         | 
| 
       398 
367 
     | 
    
         
             
                var errorTip = void 0;
         
     | 
| 
       399 
368 
     | 
    
         
             
                if (!Title) {
         
     | 
| 
         @@ -498,7 +467,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       498 
467 
     | 
    
         
             
              };
         
     | 
| 
       499 
468 
     | 
    
         | 
| 
       500 
469 
     | 
    
         
             
              this.toTplusPage = function () {
         
     | 
| 
       501 
     | 
    
         
            -
                var  
     | 
| 
      
 470 
     | 
    
         
            +
                var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(type, tmenuCode, search) {
         
     | 
| 
       502 
471 
     | 
    
         
             
                  var userStore, sid, tplusUrl, tplusinnersite, msg, dsearchPlanID, portalStore, baseUrl, ossjumpUrl, user, loginInfo, pwd, userName, accNum, menu, posCode, storeID, fromUrl;
         
     | 
| 
       503 
472 
     | 
    
         
             
                  return _regenerator2.default.wrap(function _callee$(_context2) {
         
     | 
| 
       504 
473 
     | 
    
         
             
                    while (1) {
         
     | 
| 
         @@ -597,7 +566,7 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       597 
566 
     | 
    
         
             
                }));
         
     | 
| 
       598 
567 
     | 
    
         | 
| 
       599 
568 
     | 
    
         
             
                return function (_x2, _x3, _x4) {
         
     | 
| 
       600 
     | 
    
         
            -
                  return  
     | 
| 
      
 569 
     | 
    
         
            +
                  return _ref4.apply(this, arguments);
         
     | 
| 
       601 
570 
     | 
    
         
             
                };
         
     | 
| 
       602 
571 
     | 
    
         
             
              }();
         
     | 
| 
       603 
572 
     | 
    
         | 
| 
         @@ -676,10 +645,10 @@ var _default = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_C 
     | 
|
| 
       676 
645 
     | 
    
         
             
                    return vv.Name === v.Name;
         
     | 
| 
       677 
646 
     | 
    
         
             
                  });
         
     | 
| 
       678 
647 
     | 
    
         | 
| 
       679 
     | 
    
         
            -
                  var  
     | 
| 
       680 
     | 
    
         
            -
                      Visibility =  
     | 
| 
       681 
     | 
    
         
            -
                      HoldFunctionAuth =  
     | 
| 
       682 
     | 
    
         
            -
                      Title =  
     | 
| 
      
 648 
     | 
    
         
            +
                  var _ref5 = controllable || {},
         
     | 
| 
      
 649 
     | 
    
         
            +
                      Visibility = _ref5.Visibility,
         
     | 
| 
      
 650 
     | 
    
         
            +
                      HoldFunctionAuth = _ref5.HoldFunctionAuth,
         
     | 
| 
      
 651 
     | 
    
         
            +
                      Title = _ref5.Title;
         
     | 
| 
       683 
652 
     | 
    
         | 
| 
       684 
653 
     | 
    
         
             
                  var errorTip = void 0;
         
     | 
| 
       685 
654 
     | 
    
         
             
                  if (!Visibility) {
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["tplus-portaltouch/pages/Portal/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","observer","props","state","id","Date","now","operations","showModal","frameUrl","isVerticalTouch","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","FuPingIsLoaded","leftMenu","Menus","centerLeftMenu","centerRightMenu","rightMenu","context","stores","portalStore","headHook","addClass","homeOperation","Request","functionData","Loading","show","text","delay","then","localStore","set","setState","hide","catch","err","console","log","data","setStore","initSetParams","getScreenType","sunMiPresentationInit","ret","window","open","getTime","removeClass","sunMi_PresentationManager","sendMessageToSecondScreen","step","nativeMs","setIpcRendererMethod","item","e","history","push","path","screenHeight","screen","availHeight","htmlContent","handelClick","height","paddingLeft","paddingRight","createLeftNode","createCenterNode","createRightNode","closeFrameModal","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func","result","SunMi_fuping_url","sessionStorage","getItem","url","location","origin","pathname","secondScreenLoadUrl","setItem","setTimeout","get","store","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","flag","Name","length","shift","Value","saveLog","name","saveLogo","undefined","values","type","key","isModal","title","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","ModalWraper","warning","content","onOk","User","logout","okType","Message","warn","modalRouter","width","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","toTplusPage","getTplusUrlFromCloudServer","userStore","restore","cloudUrl","accessToken","orgId","encodeURIComponent","fetchHeader","headers","resolve","reject","fetch","response","json","ex","sid","tplusUrl","tplusinnersite","msg","okText","dsearchPlanID","getSearchPlanId","substring","baseUrl","ossjumpUrl","user","loginInfo","options","pwd","userName","tplusEncode","UserCode","accNum","AccountNum","menu","posCode","storeID","fromUrl","android_CommonFun","openWebUrlByOutBrowser","useDefaultBrowser","closed","postMessage","searchPlanID","code","c","String","fromCharCode","charCodeAt","i","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","replace","utftext","n","operationControl","forEach","v","sub","menuNode","map","container","style","className","disabled","bind","label","icon","menuLeftNode","menuRightNode","node"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2020-10-22 14:19:17\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      frameUrl: ''\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu } = Menus;\r\n    this.leftMenu = leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = rightMenu;\r\n  }\r\n\r\n  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', JSON.stringify(operations));\r\n      this.setState({ 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    // portalStore && portalStore.getPortalMenu();\r\n    addClass && addClass(this.state.id, 'portalHead');\r\n    // 初始化参数设置。\r\n    stores.setStore.initSetParams().then(ret => {\r\n      // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n      if (this.getScreenType() === true) {\r\n        if(this.isHorizontalSunMi){\r\n          this.sunMiPresentationInit(ret);\r\n          return;\r\n        }\r\n        window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n      }\r\n    })\r\n  }\r\n  // 初始化商米副屏\r\n  sunMiPresentationInit = (result) =>{\r\n      //SunMi初始化参数设置。\r\n      //副屏幕交互。硬件改动20200428   需要在商米页面加载成功后才能发送 初始化命令\r\n      // 获取是否缓存副屏地址 只在app打开的生命周期缓存 读取 关闭重新缓存\r\n\r\n\r\n      const SunMi_fuping_url = sessionStorage.getItem(\"SunMi_fuping_url\");\r\n      // 如果存在缓存地址 使用缓存地址  否则使用新hash地址\r\n      if(!SunMi_fuping_url){\r\n        let url = location.origin+ location.pathname +'?ts='+new Date().getTime()+'&vt=3&fuping=3';\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.secondScreenLoadUrl(url).then(()=>{\r\n          this.FuPingIsLoaded = true;\r\n          // 加载副屏页面成功 缓存地址\r\n          sessionStorage.setItem(\"SunMi_fuping_url\",url);\r\n          setTimeout(() => {\r\n              // 进行主副屏数据交互 初始化\r\n            const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n            console.log(result);\r\n            const { RE_POSParamType } = enumController.getEnumOj();\r\n            const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n            const filterResult = result && result.filter?result.filter((settingItem)=>{ return  settingItem.ParamType && (settingItem.ParamType.Id === DUAL_SCREEN_SETTING || settingItem.ParamType === DUAL_SCREEN_SETTING)}):[];\r\n            window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\",filterResult).then(()=>{\r\n              console.log(\"缓存数据成功\")\r\n              window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n            });\r\n          }, 2000);\r\n        });\r\n      }else{\r\n          // 表示已经加载过页面只需要重置状态即可\r\n          const { store: { storeName = '' } = {} } = localStore.get('user') || {};\r\n\t\t\t\t\twindow.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n      }\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      //副屏幕交互。硬件改动20200428\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, title, Name, search } = values;\r\n    let { tmenuCode } = values;\r\n    const { operations } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      });\r\n    }\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data)=>{\r\n          console.log(\"进入前台收银检查是否当班返回错误\");\r\n          console.log(data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(type, MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(type, tmenuCode, search);\r\n          }\r\n        } else {\r\n          history.push(`/${type}`);\r\n        }\r\n        break;\r\n    }\r\n  };\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let cloudUrl = 'http://tfproxy.chanjet.com/?url=';\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${cloudUrl}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n  //跳转到T+\r\n  toTplusPage = async (type, tmenuCode, search) => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\");\r\n    let tplusinnersite = PosInitData(\"tplusinnersite\");\r\n    tplusUrl = tplusUrl ? tplusUrl : tplusinnersite;\r\n    if (!tplusUrl && !sid && this.hasElectron === true) {//软件包,并且electron读取electron配置的地址\r\n      tplusUrl = location.origin + \"/tplus\";\r\n    }\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      );\r\n      return;\r\n    }\r\n    let dsearchPlanID;\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/')\r\n      tplusUrl += '/';\r\n    let baseUrl = tplusUrl;\r\n    // if(!isProxy){\r\n    //   tplusUrl = targetUrl;\r\n    // }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    let pwd = user.options.get(\"password\");\r\n    let userName = this.tplusEncode(loginInfo.UserCode);\r\n    let accNum = this.tplusEncode(loginInfo.AccountNum);\r\n    let menu = this.tplusEncode(tmenuCode)\r\n    let posCode = this.tplusEncode(loginInfo.posCode);\r\n    let storeID = this.tplusEncode(loginInfo.storeID + \"\");\r\n    pwd = this.tplusEncode(pwd);\r\n    let fromUrl = this.tplusEncode(location.origin);\r\n    ossjumpUrl += `&fromApp=nretail&user=${userName}&pwd=${pwd}&accNum=${accNum}&menu=${menu}&posCode=${posCode}&storeID=${storeID}&fromUrl=${fromUrl}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n    if(this.isHorizontalSunMi){\r\n      window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n    }else if (this.hasElectron === true) {\r\n      nativeMs.useDefaultBrowser(ossjumpUrl);\r\n    }\r\n    else if (this.isMobileEnvironment) {\r\n      this.setState({ showModal: true, frameUrl: ossjumpUrl })\r\n    }\r\n    else {\r\n      if (!tplusWindow || tplusWindow.closed) {\r\n        tplusWindow = window.open(ossjumpUrl, \"tplus\", \"location=no\");\r\n      } else {\r\n        tplusWindow.postMessage({ tmenuCode, searchPlanID: dsearchPlanID, ossjumpUrl }, baseUrl);\r\n        window.open(\"\", \"tplus\", \"location=no\");\r\n      }\r\n    }\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    console.log(operations, 11111)\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`member-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {!!vv.title && <h1>{vv.title}</h1>}\r\n                {!!vv.label && <p>{vv.label}</p>}\r\n                {!!vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const leftMenu = this.centerLeftMenu;\r\n    const rightMenu = this.centerRightMenu;\r\n    const menuLeftNode = leftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const menu = this.rightMenu;\r\n    const node = menu.map((v, i) => {\r\n      return (<div\r\n        className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {!!v.title && <h1>{v.title}</h1>}\r\n        {!!v.icon && <Ticon icon={v.icon} />}\r\n      </div>)\r\n    })\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal, frameUrl } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    //  else if (this.isHorizontalSunMi) {\r\n    //   htmlContent = <HorizontalSunMiPortal handelClick={this.handelClick} />\r\n    //  }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={frameUrl} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["tplus-portaltouch/pages/Portal/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","Footer","tplusWindow","observer","props","state","id","Date","now","operations","showModal","frameUrl","isVerticalTouch","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","FuPingIsLoaded","leftMenu","Menus","centerLeftMenu","centerRightMenu","rightMenu","context","stores","portalStore","headHook","addClass","homeOperation","Request","functionData","Loading","show","text","delay","then","localStore","set","setState","hide","catch","err","console","log","data","setStore","initSetParams","getScreenType","sunMiPresentationInit","ret","window","open","getTime","removeClass","sunMi_PresentationManager","sendMessageToSecondScreen","step","nativeMs","setIpcRendererMethod","item","e","history","push","path","screenHeight","screen","availHeight","htmlContent","handelClick","height","paddingLeft","paddingRight","createLeftNode","createCenterNode","createRightNode","closeFrameModal","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func","result","get","store","storeName","filterResult","filter","settingItem","ParamType","Id","sharedPreferencesSet","flag","Name","length","shift","Value","saveLog","name","saveLogo","undefined","values","type","key","isModal","title","search","tmenuCode","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","ModalWraper","warning","content","onOk","User","logout","okType","Message","warn","modalRouter","url","width","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","toTplusPage","getTplusUrlFromCloudServer","userStore","restore","cloudUrl","accessToken","orgId","encodeURIComponent","fetchHeader","headers","resolve","reject","fetch","response","json","ex","sid","tplusUrl","tplusinnersite","location","origin","msg","okText","dsearchPlanID","getSearchPlanId","substring","baseUrl","ossjumpUrl","user","loginInfo","options","pwd","userName","tplusEncode","UserCode","accNum","AccountNum","menu","posCode","storeID","fromUrl","android_CommonFun","openWebUrlByOutBrowser","useDefaultBrowser","closed","postMessage","searchPlanID","code","c","String","fromCharCode","charCodeAt","i","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","replace","utftext","n","operationControl","forEach","v","sub","menuNode","map","container","style","className","disabled","bind","label","icon","menuLeftNode","menuRightNode","node"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2021-03-18 11:02: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 { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content, Footer } = Layout;\r\nlet tplusWindow = null;\r\n\r\n@observer\r\nexport default class extends Component {\r\n  static propTypes = {\r\n    routes: PropTypes.array,\r\n  };\r\n  static contextTypes = {\r\n    stores: PropTypes.object,\r\n    infoRender: PropTypes.func,\r\n    headHook: PropTypes.object\r\n  };\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.hasElectron = hasElectron;\r\n    this.state = {\r\n      id: Date.now(),\r\n      operations: [],\r\n      showModal: false,\r\n      frameUrl: ''\r\n    }\r\n    const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n    this.isVerticalTouch = !!isVerticalTouch;\r\n    this.isHorizontalPad = !!isHorizontalPad;\r\n    this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n    this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n    this.FuPingIsLoaded = false;\r\n\r\n    //首页布局\r\n    const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu } = Menus;\r\n    this.leftMenu = leftMenu;\r\n    this.centerLeftMenu = centerLeftMenu;\r\n    this.centerRightMenu = centerRightMenu;\r\n    this.rightMenu = rightMenu;\r\n  }\r\n\r\n  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', JSON.stringify(operations));\r\n      this.setState({ 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    // portalStore && portalStore.getPortalMenu();\r\n    addClass && addClass(this.state.id, 'portalHead');\r\n    // 初始化参数设置。\r\n    stores.setStore.initSetParams().then(ret => {\r\n      // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n      if (this.getScreenType() === true) {\r\n        if(this.isHorizontalSunMi){\r\n          this.sunMiPresentationInit(ret);\r\n          return;\r\n        }\r\n        window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n      }\r\n    })\r\n  }\r\n  // 初始化商米副屏\r\n  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 filterResult = result && result.filter?result.filter((settingItem)=>{return settingItem.ParamType.Id === \"56181\"}):[];\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  componentWillUnmount() {\r\n    const { headHook: { removeClass } = {} } = this.context\r\n    removeClass && removeClass(this.state.id, 'portalHead');\r\n  }\r\n\r\n  componentWillReceiveProps() {\r\n    if (this.getScreenType() === true) {\r\n      //副屏幕交互。硬件改动20200428\r\n      if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n        window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n      } else {\r\n        nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n      }\r\n    }\r\n  }\r\n\r\n  // 获取副屏的状态\r\n  getScreenType = () => {\r\n    let flag = false;\r\n    if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n      let data = localStore.get('setting_setData') || [];\r\n      data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n      data = data && data.length > 0 ? data.shift() : null;\r\n      if (data && data.Value === '1') {\r\n        flag = true;\r\n      }\r\n    }\r\n    return flag;\r\n  }\r\n\r\n  menuClick(item, e) {\r\n    history.push(item.path);\r\n  }\r\n  saveLog = (name) => {\r\n    const { saveLogo } = Request;\r\n    name = \"进入模块:\" + name;\r\n    saveLogo('进入模块', undefined, name);\r\n  }\r\n\r\n  handelClick = (values = {}) => {\r\n    const { key: type, isModal, title, Name, search } = values;\r\n    let { tmenuCode } = values;\r\n    const { operations } = this.state;\r\n    const controllable = operations.find(vv => vv.Name === Name);\r\n    const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n    let errorTip;\r\n    if (!Title) {\r\n      return ModalWraper.warning({\r\n        title: '提示',\r\n        content: '您的权限配置请求失败,请重新登录',\r\n        onOk() {\r\n          User.logout();\r\n        },\r\n        okType: 'primary',\r\n      });\r\n    }\r\n    if (!Visibility) {\r\n      errorTip = `您的 ${Title} 模块没有启用`;\r\n    } else if (!HoldFunctionAuth) {\r\n      errorTip = `您没有操作 ${Title} 的权限`;\r\n    }\r\n    const { portalStore } = this.context.stores;\r\n    if (errorTip) {\r\n      return Message.warn(errorTip);\r\n    }\r\n    if (isModal) {\r\n      return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n    }\r\n    switch (type) {\r\n      case 'cashier':\r\n        portalStore.checkDuty().then((onDutyMessage) => {\r\n          if (!!onDutyMessage) {\r\n            const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n            PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n            console.log('onDutyMessage======', onDutyMessage);\r\n            this.saveLog(title);\r\n            history.push('/RE/RE01');\r\n          }\r\n        }).catch((data)=>{\r\n          console.log(\"进入前台收银检查是否当班返回错误\");\r\n          console.log(data);\r\n        });\r\n        break;\r\n      case 'onDuty':\r\n        portalStore.onDuty().then((onDutyMessage) => {\r\n          if (onDutyMessage && onDutyMessage.shift) {\r\n            MiddleWare.execute('onDuty')\r\n          }\r\n        });\r\n        break;\r\n      case 'offDuty':\r\n        history.push('/offDuty?type=offDuty');\r\n        break;\r\n      case 'settleDialy':\r\n        if (portalStore.bPosDaily()) {\r\n          history.push('/offDuty?type=settleDaily');\r\n        } else {\r\n          portalStore.onMakerDaily();\r\n        }\r\n        break;\r\n      default:\r\n        if (tmenuCode || MenuCode) {\r\n          this.saveLog(title);\r\n          if (MenuCode) {\r\n            this.toTplusPage(type, MenuCode, search);\r\n          } else {\r\n            this.toTplusPage(type, tmenuCode, search);\r\n          }\r\n        } else {\r\n          history.push(`/${type}`);\r\n        }\r\n        break;\r\n    }\r\n  };\r\n  getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n    let userStore = User.restore();\r\n    let cloudUrl = 'http://tfproxy.chanjet.com/?url=';\r\n    let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n    let url = `${cloudUrl}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n    console.log(url);\r\n    let fetchHeader = {\r\n      headers: {\r\n        'Content-Type': 'application/x-www-form-urlencoded'\r\n      }\r\n    };\r\n    return new Promise((resolve, reject) => {\r\n      fetch(url, fetchHeader)\r\n        .then(function (response) {\r\n          return response.json();\r\n        }).then(json => {\r\n          console.log(json);\r\n          resolve(json);\r\n        }).catch(ex => {\r\n          console.log(ex);\r\n          reject(err);\r\n        })\r\n    })\r\n  }\r\n  //跳转到T+\r\n  toTplusPage = async (type, tmenuCode, search) => {\r\n    let userStore = User.restore();\r\n    let sid = userStore.sid;\r\n    let tplusUrl = PosInitData(\"TplusSite\");\r\n    let tplusinnersite = PosInitData(\"tplusinnersite\");\r\n    tplusUrl = tplusUrl ? tplusUrl : tplusinnersite;\r\n    if (!tplusUrl && !sid && this.hasElectron === true) {//软件包,并且electron读取electron配置的地址\r\n      tplusUrl = location.origin + \"/tplus\";\r\n    }\r\n    if (!tplusUrl) {\r\n      let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n      ModalWraper.warning(\r\n        {\r\n          title: '温馨提示',\r\n          content: msg,\r\n          okText: '确定',\r\n          okType: 'primary',\r\n        }\r\n      );\r\n      return;\r\n    }\r\n    let dsearchPlanID;\r\n    if (search && search.id) {\r\n      const { portalStore } = this.context.stores;\r\n      dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n    }\r\n    if (tplusUrl.substring(tplusUrl.length - 1) !== '/')\r\n      tplusUrl += '/';\r\n    let baseUrl = tplusUrl;\r\n    // if(!isProxy){\r\n    //   tplusUrl = targetUrl;\r\n    // }\r\n    let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n    if (sid) {\r\n      ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n    }\r\n    let { user } = this.context.stores;\r\n    let loginInfo = user.options.get('loginInfo');\r\n    let pwd = user.options.get(\"password\");\r\n    let userName = this.tplusEncode(loginInfo.UserCode);\r\n    let accNum = this.tplusEncode(loginInfo.AccountNum);\r\n    let menu = this.tplusEncode(tmenuCode)\r\n    let posCode = this.tplusEncode(loginInfo.posCode);\r\n    let storeID = this.tplusEncode(loginInfo.storeID + \"\");\r\n    pwd = this.tplusEncode(pwd);\r\n    let fromUrl = this.tplusEncode(location.origin);\r\n    ossjumpUrl += `&fromApp=nretail&user=${userName}&pwd=${pwd}&accNum=${accNum}&menu=${menu}&posCode=${posCode}&storeID=${storeID}&fromUrl=${fromUrl}`;\r\n    if (dsearchPlanID) {\r\n      ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n    }\r\n    if(this.isHorizontalSunMi){\r\n      window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n    }else if (this.hasElectron === true) {\r\n      nativeMs.useDefaultBrowser(ossjumpUrl);\r\n    }\r\n    else if (this.isMobileEnvironment) {\r\n      this.setState({ showModal: true, frameUrl: ossjumpUrl })\r\n    }\r\n    else {\r\n      if (!tplusWindow || tplusWindow.closed) {\r\n        tplusWindow = window.open(ossjumpUrl, \"tplus\", \"location=no\");\r\n      } else {\r\n        tplusWindow.postMessage({ tmenuCode, searchPlanID: dsearchPlanID, ossjumpUrl }, baseUrl);\r\n        window.open(\"\", \"tplus\", \"location=no\");\r\n      }\r\n    }\r\n  }\r\n\r\n  closeFrameModal = () => {\r\n    this.setState({ showModal: false })\r\n  }\r\n\r\n  tplusEncode = (code) => {\r\n    let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n    for (let i = 1; i < code.length; i++) {\r\n      c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n    }\r\n    let ret = this.TplusBase64Encode(c);\r\n    return ret;\r\n  }\r\n\r\n  TplusBase64Encode = (input) => {\r\n    const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n    let output = \"\";\r\n    let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n    let i = 0;\r\n    input = this._utf8_encode(input);\r\n    while (i < input.length) {\r\n      chr1 = input.charCodeAt(i++);\r\n      chr2 = input.charCodeAt(i++);\r\n      chr3 = input.charCodeAt(i++);\r\n      enc1 = chr1 >> 2;\r\n      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n      enc4 = chr3 & 63;\r\n      if (isNaN(chr2)) {\r\n        enc3 = enc4 = 64;\r\n      } else if (isNaN(chr3)) {\r\n        enc4 = 64;\r\n      }\r\n      output = output +\r\n        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n    }\r\n    return output;\r\n  }\r\n  _utf8_encode = (string) => {\r\n    string = string.replace(/\\r\\n/g, \"\\n\");\r\n    let utftext = \"\";\r\n    for (let n = 0; n < string.length; n++) {\r\n      let c = string.charCodeAt(n);\r\n      if (c < 128) {\r\n        utftext += String.fromCharCode(c);\r\n      } else if ((c > 127) && (c < 2048)) {\r\n        utftext += String.fromCharCode((c >> 6) | 192);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      } else {\r\n        utftext += String.fromCharCode((c >> 12) | 224);\r\n        utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n        utftext += String.fromCharCode((c & 63) | 128);\r\n      }\r\n    }\r\n    return utftext;\r\n  }\r\n\r\n  operationControl = (menu = []) => {\r\n    const { operations } = this.state;\r\n    console.log(operations, 11111)\r\n    menu.forEach(v => {\r\n      if (v.sub) {\r\n        return this.operationControl(v.sub);\r\n      }\r\n      const controllable = operations.find(vv => vv.Name === v.Name);\r\n      const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n      let errorTip;\r\n      if (!Visibility) {\r\n        errorTip = `您的 ${Title} 模块没有启用`;\r\n      } else if (!HoldFunctionAuth) {\r\n        errorTip = `您没有操作 ${Title} 的权限`;\r\n      }\r\n      v.errorTip = errorTip;\r\n    });\r\n    return menu;\r\n  }\r\n\r\n  createLeftNode = () => {\r\n    const menu = this.leftMenu;\r\n    const menuNode = menu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`member-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {!!vv.title && <h1>{vv.title}</h1>}\r\n                {!!vv.label && <p>{vv.label}</p>}\r\n                {!!vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    })\r\n    return menuNode;\r\n  }\r\n  createCenterNode = () => {\r\n    const leftMenu = this.centerLeftMenu;\r\n    const rightMenu = this.centerRightMenu;\r\n    const menuLeftNode = leftMenu.map(v => {\r\n      return (<div\r\n        className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {v.title && <h1>{v.title}</h1>}\r\n        {v.label && <p>{v.label}</p>}\r\n        {v.icon && <Ticon icon={v.icon} />}\r\n        {v.disabled && <div className='item-disabled-placeholder' />}\r\n      </div>)\r\n    });\r\n    const menuRightNode = rightMenu.map(v => {\r\n      return (v.container ?\r\n        <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n          {\r\n            v.sub.map(vv => {\r\n              return (<div\r\n                className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n                key={vv.className}\r\n                onClick={this.handelClick.bind(this, vv)}\r\n              >\r\n                {vv.title && <h1>{vv.title}</h1>}\r\n                {vv.label && <p>{vv.label}</p>}\r\n                {vv.icon && <Ticon icon={vv.icon} />}\r\n              </div>)\r\n            })\r\n          }\r\n        </div>\r\n        :\r\n        <div\r\n          className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n          key={v.className}\r\n          onClick={this.handelClick.bind(this, v)}\r\n        >\r\n          {v.title && <h1>{v.title}</h1>}\r\n          {v.label && <p>{v.label}</p>}\r\n          {v.icon && <Ticon icon={v.icon} />}\r\n        </div>)\r\n    });\r\n    return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n  }\r\n  createRightNode = () => {\r\n    const menu = this.rightMenu;\r\n    const node = menu.map((v, i) => {\r\n      return (<div\r\n        className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n        style={v.style}\r\n        key={v.className}\r\n        onClick={this.handelClick.bind(this, v)}\r\n      >\r\n        {!!v.title && <h1>{v.title}</h1>}\r\n        {!!v.icon && <Ticon icon={v.icon} />}\r\n      </div>)\r\n    })\r\n    return node;\r\n  }\r\n\r\n  render() {\r\n    const { showModal, frameUrl } = this.state;\r\n    const screenHeight = window.screen.availHeight - 100;\r\n    let htmlContent = null;\r\n    if (this.isVerticalTouch) {\r\n      htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n    } else if (this.isHorizontalPad) {\r\n      htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n    }\r\n    //  else if (this.isHorizontalSunMi) {\r\n    //   htmlContent = <HorizontalSunMiPortal handelClick={this.handelClick} />\r\n    //  }\r\n    else {\r\n      htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n        <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container'>\r\n          <Row>\r\n            <Col xl={7} md={7} className='portal-left-col' key='left'>\r\n              <div className='portal-left-content'>{this.createLeftNode()}</div>\r\n            </Col>\r\n            <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n              <div className='portal-center-content'>\r\n                {this.createCenterNode()}\r\n              </div>\r\n            </Col>\r\n            <Col xl={7} md={7} className='portal-right-col' key='right'>\r\n              <div className='portal-right-content'>{this.createRightNode()}</div>\r\n            </Col>\r\n          </Row>\r\n        </Content>\r\n        {\r\n          this.isMobileEnvironment &&\r\n          <Modal visible={showModal}\r\n            onCancel={this.closeFrameModal}\r\n            width={'99%'}\r\n            height={'99%'}\r\n            footer={null}\r\n          >\r\n              <iframe src={frameUrl} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n          </Modal>\r\n        }\r\n      </Layout>)\r\n    }\r\n    return htmlContent;\r\n  }\r\n}"]}
         
     |