UNPKG

dareway-rui

Version:

960 lines (873 loc) 48 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = exports.AipForHeliosAPI = void 0; var _extends2 = _interopRequireDefault(require('@babel/runtime/helpers/extends')); var _regenerator = _interopRequireDefault(require('@babel/runtime/regenerator')); var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn')); var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _assertThisInitialized2 = _interopRequireDefault(require('@babel/runtime/helpers/assertThisInitialized')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty')); var _react = _interopRequireDefault(require('react')); var _reactRedux = require('react-redux'); var _ModelNamespaceContext = _interopRequireDefault(require('../../core/rui/ModelNamespaceContext')); var _core = require('./../../core'); var _qwebchannel = _interopRequireDefault(require('./qwebchannel')); ///////////////////////////////////////////////////////////////////////////// // Dependency // // React // RUI - core ///////////////////////////////////////////////////////////////////////////// // Tag // var AipForHelios = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(AipForHelios, _React$Component); function AipForHelios(props) { var _this; (0, _classCallCheck2.default)(this, AipForHelios); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(AipForHelios).call(this, props) ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'componentDidMount', function() { var thunk = _this.props.thunk; _this .initObjectX() .then(function() { return _this.showObjectX(); }) .then(thunk); }); (0, _defineProperty2.default)( (0, _assertThisInitialized2.default)(_this), 'componentWillUnmount', function() { _this.hideObjectX(); } ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'getElementLeft', function( element ) { var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null) { actualLeft += current.offsetLeft; current = current.offsetParent; } return actualLeft; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'getElementTop', function( element ) { //元素距顶部文档的距离 var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null) { actualTop += current.offsetTop; current = current.offsetParent; } return actualTop; }); _this.object_id = _this.props.__draco__tag__namespace__; return _this; } (0, _createClass2.default)(AipForHelios, [ { key: 'render', value: function render() { return _react.default.createElement( 'div', { style: { width: '100%', height: '99%' } }, _react.default.createElement('object', { classID: 'clsid:FF3FE7A0-0578-4FEE-A54E-FB21B277D567', codebase: 'http://10.28.21.149:7001/inc/seal_interface/#version=3,0,8,2', id: this.object_id, style: { width: '100%', height: '99%' }, type: 'application/x-qt-plugin' }) ); } }, { key: 'initObjectX', // 初始化组件 value: function initObjectX() { return new Promise(function(resolve, reject) { new _qwebchannel.default(qt.webChannelTransport, function(channel) { window.bridge = channel.objects.bridge; if (!window.AipChannelForHelios) { window.AipChannelForHelios = {}; } resolve(); }); }); } // 显示组件 }, { key: 'showObjectX', value: function showObjectX() { var _this2 = this; return new Promise(function(resolve, reject) { if (window.bridge) { var object_id = _this2.object_id; var offset = ((Math.random() * 10) % 5) + 2; var object = new Object(); object.classid = 'FF3FE7A0-0578-4FEE-A54E-FB21B277D567'; object.showflag = 'true'; object.x = _this2.getElementLeft(document.getElementById(object_id)); object.y = _this2.getElementTop(document.getElementById(object_id)); object.w = document.getElementById(object_id).clientWidth - offset; object.h = document.getElementById(object_id).clientHeight; object.objid = object_id; window.bridge.getDeviceProxy(object, function() { new _qwebchannel.default(qt.webChannelTransport, function(channel) { window[object_id] = channel.objects[object_id]; // 属性设置 window[object_id].ShowDefMenu(1); // 隐藏菜单栏 0为隐藏; 1为显示 window[object_id].ShowScrollBarButton(1); // 隐藏水平滚动条旁的工具条 window[object_id].ShowToolBar('1'); // 隐藏工具栏 0为隐藏; 1为显示 resolve(); }); }); } }); } // 隐藏组件 }, { key: 'hideObjectX', value: function hideObjectX() { var object_id = this.object_id; if (window[object_id]) { window[object_id].setObjectVisible(false); } } } ]); return AipForHelios; })(_react.default.Component); ///////////////////////////////////////////////////////////////////////////// // API Factory // var AipForHeliosAPI = /*#__PURE__*/ (function() { function AipForHeliosAPI(namespace, initObjectXThunk) { (0, _classCallCheck2.default)(this, AipForHeliosAPI); this.namespace = namespace; this.initObjectXThunk = initObjectXThunk; } // 登录 (0, _createClass2.default)(AipForHeliosAPI, [ { key: 'login', value: /*#__PURE__*/ _regenerator.default.mark(function login( StampAndPrint_Service_Url, StampAndPrint_Service_SessionId, StampAndPrint_Service_SessionIdLength ) { var namespace, thunk; return _regenerator.default.wrap( function login$(_context) { while (1) { switch ((_context.prev = _context.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_LoginEx') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_LoginEx') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].LoginEx( StampAndPrint_Service_Url, StampAndPrint_Service_SessionId, StampAndPrint_Service_SessionIdLength, 'window.AipChannelForHelios.'.concat(namespace, '_LoginEx') ); }); }); case 4: return _context.abrupt('return', _context.sent); case 5: case 'end': return _context.stop(); } } }, login, this ); }) // 加载文件 }, { key: 'loadFile', value: /*#__PURE__*/ _regenerator.default.mark(function loadFile(fileUrl, type) { var namespace, thunk, tp; return _regenerator.default.wrap( function loadFile$(_context2) { while (1) { switch ((_context2.prev = _context2.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; tp = type ? type : 'doc'; _context2.next = 5; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_LoadFileEx') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_LoadFileEx') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].LoadFileEx( fileUrl, tp, 0, 0, 'window.AipChannelForHelios.'.concat(namespace, '_LoadFileEx') ); }); }); case 5: return _context2.abrupt('return', _context2.sent); case 6: case 'end': return _context2.stop(); } } }, loadFile, this ); }) // 打印 }, { key: 'print', value: /*#__PURE__*/ _regenerator.default.mark(function print() { var namespace, thunk; return _regenerator.default.wrap( function print$(_context3) { while (1) { switch ((_context3.prev = _context3.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context3.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_PrintDoc') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_PrintDoc') ]; resolve(retValue); }; window[namespace].PrintDoc( 1, 1, 1, 'window.AipChannelForHelios.'.concat(namespace, '_PrintDoc') ); }); }); case 4: return _context3.abrupt('return', _context3.sent); case 5: case 'end': return _context3.stop(); } } }, print, this ); }) // 打印测试 }, { key: 'printDW', value: /*#__PURE__*/ _regenerator.default.mark(function printDW() { var blPrintNote, blShowDlg, printNumber, namespace, thunk, _args4 = arguments; return _regenerator.default.wrap( function printDW$(_context4) { while (1) { switch ((_context4.prev = _context4.next)) { case 0: blPrintNote = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : 1; blShowDlg = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : 1; printNumber = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : 1; namespace = this.namespace; thunk = this.initObjectXThunk; _context4.next = 7; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_PrintDoc') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_PrintDoc') ]; resolve(retValue); }; window[namespace].PrintDoc( blPrintNote, blShowDlg, printNumber, 'window.AipChannelForHelios.'.concat(namespace, '_PrintDoc') ); }); }); case 7: return _context4.abrupt('return', _context4.sent); case 8: case 'end': return _context4.stop(); } } }, printDW, this ); }) // 关闭 }, { key: 'close', value: /*#__PURE__*/ _regenerator.default.mark(function close() { var namespace, thunk; return _regenerator.default.wrap( function close$(_context5) { while (1) { switch ((_context5.prev = _context5.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context5.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_CloseDoc') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_CloseDoc') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].CloseDoc( 0, 'window.AipChannelForHelios.'.concat(namespace, '_CloseDoc') ); }); }); case 4: return _context5.abrupt('return', _context5.sent); case 5: case 'end': return _context5.stop(); } } }, close, this ); }) // 盖章 }, { key: 'setSeal', value: /*#__PURE__*/ _regenerator.default.mark(function setSeal( pcDocID, pcProvider, pcDocType, pcDocTitle, pcDocKeyWords, lPrnCpys, pcDocSaveURL, blToAddSeal ) { var namespace, thunk; return _regenerator.default.wrap( function setSeal$(_context6) { while (1) { switch ((_context6.prev = _context6.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context6.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_RegisterDocByProvider') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_RegisterDocByProvider') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].RegisterDocByProvider({ pcDocID: pcDocID, pcProvider: pcProvider, pcDocType: pcDocType, pcDocTitle: pcDocTitle, pcDocKeyWords: pcDocKeyWords, lPrnCpys: lPrnCpys, pcDocSaveURL: pcDocSaveURL, blToAddSeal: blToAddSeal, fun: 'window.AipChannelForHelios.'.concat( namespace, '_RegisterDocByProvider' ) }); }); }); case 4: return _context6.abrupt('return', _context6.sent); case 5: case 'end': return _context6.stop(); } } }, setSeal, this ); }) //获取当前文件的base64串 }, { key: 'getFileBase64', value: /*#__PURE__*/ _regenerator.default.mark(function getFileBase64() { var namespace, thunk; return _regenerator.default.wrap( function getFileBase64$(_context7) { while (1) { switch ((_context7.prev = _context7.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context7.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_GetCurrFileBase64') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_GetCurrFileBase64') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].GetCurrFileBase64( 'window.AipChannelForHelios.'.concat( namespace, '_GetCurrFileBase64' ) ); }); }); case 4: return _context7.abrupt('return', _context7.sent); case 5: case 'end': return _context7.stop(); } } }, getFileBase64, this ); }) //手动盖章 }, { key: 'manualSeal', value: /*#__PURE__*/ _regenerator.default.mark(function manualSeal() { var namespace, thunk; return _regenerator.default.wrap( function manualSeal$(_context8) { while (1) { switch ((_context8.prev = _context8.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context8.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_getCurrAction') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_getCurrAction') ]; retValue == 2568 ? window[namespace].CurrAction(0) : window[namespace].CurrAction(2568); }; // 调用浏览器接口 window[namespace].getCurrAction( 'window.AipChannelForHelios.'.concat( namespace, '_getCurrAction' ) ); }); }); case 4: return _context8.abrupt('return', _context8.sent); case 5: case 'end': return _context8.stop(); } } }, manualSeal, this ); }) // 获取当前控件中文件已盖章个数 }, { key: 'getNoteNum', value: /*#__PURE__*/ _regenerator.default.mark(function getNoteNum(type) { var namespace, thunk; return _regenerator.default.wrap( function getNoteNum$(_context9) { while (1) { switch ((_context9.prev = _context9.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context9.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_GetNoteNum') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_GetNoteNum') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].GetNoteNum( type, 'window.AipChannelForHelios.'.concat(namespace, '_GetNoteNum') ); }); }); case 4: return _context9.abrupt('return', _context9.sent); case 5: case 'end': return _context9.stop(); } } }, getNoteNum, this ); }) // 获取某业务类型已经打印份数 }, { key: 'getPrintedNum', value: /*#__PURE__*/ _regenerator.default.mark(function getPrintedNum(bussinessType, StampAndPrint_Service_SystemId) { var namespace, thunk; return _regenerator.default.wrap( function getPrintedNum$(_context10) { while (1) { switch ((_context10.prev = _context10.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context10.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_GetPrnNumByProvider') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_GetPrnNumByProvider') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].GetPrnNumByProvider( bussinessType, StampAndPrint_Service_SystemId, 'window.AipChannelForHelios.'.concat( namespace, '_GetPrnNumByProvider' ) ); }); }); case 4: return _context10.abrupt('return', _context10.sent); case 5: case 'end': return _context10.stop(); } } }, getPrintedNum, this ); }) // 获取某业务类型需要的盖章的数目 }, { key: 'getPrnNumByProvider', value: /*#__PURE__*/ _regenerator.default.mark(function getPrnNumByProvider( bussinessType, StampAndPrint_Service_SystemId ) { var namespace, thunk; return _regenerator.default.wrap( function getPrnNumByProvider$(_context11) { while (1) { switch ((_context11.prev = _context11.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context11.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_GetPrnNumByProvider') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_GetPrnNumByProvider') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].GetPrnNumByProvider( 'Serv::'.concat(bussinessType), StampAndPrint_Service_SystemId, 'window.AipChannelForHelios.'.concat( namespace, '_GetPrnNumByProvider' ) ); }); }); case 4: return _context11.abrupt('return', _context11.sent); case 5: case 'end': return _context11.stop(); } } }, getPrnNumByProvider, this ); }) // 设置打印份数 入参 pcUserID, ProvDocID, pcProvider, MaxNum 需要先登陆 }, { key: 'setPrnNumByProvider', value: /*#__PURE__*/ _regenerator.default.mark(function setPrnNumByProvider( pcUserID, docId, StampAndPrint_Service_SystemId, printNo ) { var namespace, thunk; return _regenerator.default.wrap( function setPrnNumByProvider$(_context12) { while (1) { switch ((_context12.prev = _context12.next)) { case 0: namespace = this.namespace; thunk = this.initObjectXThunk; _context12.next = 4; return new Promise(function(resolve, reject) { thunk.then(function() { // 定义回调函数 window.AipChannelForHelios[ ''.concat(namespace, '_SetPrnNumByProvider') ] = function(retValue) { delete window.AipChannelForHelios[ ''.concat(namespace, '_SetPrnNumByProvider') ]; resolve(retValue); }; // 调用浏览器接口 window[namespace].SetPrnNumByProvider( pcUserID, docId, StampAndPrint_Service_SystemId, printNo, 'window.AipChannelForHelios.'.concat( namespace, '_SetPrnNumByProvider' ) ); }); }); case 4: return _context12.abrupt('return', _context12.sent); case 5: case 'end': return _context12.stop(); } } }, setPrnNumByProvider, this ); }) } ]); return AipForHeliosAPI; })(); ///////////////////////////////////////////////////////////////////////////// // Model Factory // exports.AipForHeliosAPI = AipForHeliosAPI; function modelFactory(namespace, initObjectXThunk) { return { namespace: namespace, state: { __draco__tag__api__factory__: function __draco__tag__api__factory__(namespace) { return new AipForHeliosAPI(namespace, initObjectXThunk); } }, effects: {}, reducers: {} }; } ///////////////////////////////////////////////////////////////////////////// // Tag Wrapper // var AipForHeliosWarpper = /*#__PURE__*/ (function(_React$Component2) { (0, _inherits2.default)(AipForHeliosWarpper, _React$Component2); function AipForHeliosWarpper(props) { var _this3; (0, _classCallCheck2.default)(this, AipForHeliosWarpper); _this3 = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(AipForHeliosWarpper).call(this, props) ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), 'createThunk', function() { var done = false; var callbacks = []; var thunk = function thunk() { done = true; for (var i = 0; i < callbacks.length; i++) { callbacks[i](); } }; thunk.then = function(callback) { if (done) { callback(); return; } callbacks.push(callback); }; return thunk; }); _this3.initObjectXThunk = _this3.createThunk(); _this3.componentNamespace = ''.concat(_this3.props.modelNamespace, '_').concat(_this3.props.name); _this3.model = modelFactory(_this3.componentNamespace, _this3.initObjectXThunk); return _this3; } (0, _createClass2.default)(AipForHeliosWarpper, [ { key: 'componentWillMount', value: function componentWillMount() { var _this4 = this; _core.RUICore.registerModel(this.model); var connector = (0, _reactRedux.connect)(function(store) { return { __draco__tag__namespace__: _this4.componentNamespace }; }); this.ConnectedComponent = connector(AipForHelios); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { _core.RUICore.unregisterModel(this.componentNamespace); } }, { key: 'render', value: function render() { var ConnectedComponent = this.ConnectedComponent, initObjectXThunk = this.initObjectXThunk; return _react.default.createElement( ConnectedComponent, (0, _extends2.default)({}, this.props, { thunk: initObjectXThunk }) ); } } ]); return AipForHeliosWarpper; })(_react.default.Component); var _default = function _default(props) { return _react.default.createElement(_ModelNamespaceContext.default.Consumer, null, function(_ref) { var modelNamespace = _ref.modelNamespace; return _react.default.createElement( AipForHeliosWarpper, (0, _extends2.default)({}, props, { modelNamespace: modelNamespace }) ); }); }; exports.default = _default; //@ sourceMappingURL=AipForHelios.js.map