dareway-rui
Version:
960 lines (873 loc) • 48 kB
JavaScript
;
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